android记账app开发全过程,android开发实战-记账本
APP(⼀)
记账本开发流程:
对于⼀个记账本的初步开发⽽⾔,我实现的功能有:
①实现⼀个记账本的页⾯
②可以添加数据并更新到页⾯中
③可以将数据信息以图表的形式展现
(⼀)⾸先,制作⼀个记账本的页⾯。
①在系统⾃动创建的l⽂件中添加listview
②创建⼀个l来实现见记账本的页⾯布局,⼀共需要三个组件,⼀个是记账信息,记账时间,记账⾦额
页⾯截图:
③编写适配器并进⾏测试,因此我们需要建⽴⼀个CostListAdapter.java,还需要建⽴我们的bean对象,因此需要在建⽴⼀个CostBean
来存储我们的
记账信息。
mlayoutInflater;public CostListAdapter(Context context,Listlist){
mContext=context;
mlist=list;
mlayoutInflater=LayoutInflater.from(context);
}
@Overridepublic intgetCount() {returnmlist.size();
}
@Overridepublic Object getItem(intposition) {(position);
}
@Overridepublic long getItemId(intposition) {returnposition;
}
@Overridepublic View getView(intposition, View convertView, ViewGroup parent) {
ViewHolder viewHolder;if(convertView==null)
{
viewHolder=newViewHolder();
convertView=mlayoutInflater.inflate(R.layout.list_item,null);
viewHolder.mTvCostTitle=convertView.findViewById(R.id.tv_title);
viewHolder.mTvCostDate=convertView.findViewById(R.id.tv_date);
viewHolder.mTvCostMoney=convertView.findViewById(R.id.tv_cost);
convertView.setTag(viewHolder);
}else{
viewHolder=(ViewHolder) Tag();
}
CostBean (position);
viewHolder.mTvCostTitle.stTitle);
viewHolder.mTvCostDate.stDate);
viewHolder.mTvCostMoney.stMoney);returnconvertView;
}private static classViewHolder{publicTextView mTvCostTitle;publicTextView mTvCostDate;publicTextView mTvCostMoney;
}
}
CostBean,这⾥implements的意义是为了⼀会的intent数据传递。
@OverridepublicString toString() {return "CostBean{"
"costTitle=‘" costTitle ‘‘‘
", costDate=‘" costDate ‘‘‘
", costMoney=‘" costMoney ‘‘‘
‘}‘;
}publicString getCostDate() {returncostDate;
}public voidsetCostDate(String costDate) {stDate =costDate;
}publicString getCostMoney() {returncostMoney;
}public voidsetCostMoney(String costMoney) {stMoney =costMoney;
}publicString getCostTitle() {returncostTitle;
}public voidsetCostTitle(String costTitle) {stTitle =costTitle;
}
}
④再然后在主程序中获取ListView并设置adapter,并进⾏适配器的测试。
(⼆)进⾏数据库的操作
制作android软件流程
①建⽴数据库实现增/删/查的⽅法实现。
}
@Overridepublic voidonCreate(SQLiteDatabase db) {
"id integer primary key, "
"cost_title varchar, "
"cost_date varchar, "
"cost_money varchar)");
}public voidinsertCost(CostBean costBean)
{
SQLiteDatabase database=getWritableDatabase();
ContentValues cv=newContentValues();
cv.put(COST_stTitle);
cv.put(COST_stDate);
cv.put(COST_stMoney);
database.insert(IMOOC_COST,null,cv);
}publicCursor getAllCostData(){
SQLiteDatabase database=getWritableDatabase();return database.query("IMOOC_COST",null,null,null,null,null,"COST_DATE " " ASC");
}public voiddeleteAllData(){
SQLiteDatabase database=getWritableDatabase();
database.delete("IMOOC_COST",null,null);
}
@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, intnewVersion) {
}
}
在这⾥新建了⼀个“imooc_daily”的数据库和“imooc_cost”表,并对他们以及数据信息(cost_title,cost_date,cost_money)进⾏了常量定义,以便其他程序的使⽤,并写了简单的增加、删除和查询数据的功能。
今天开发就到这⾥,明天继续开发实现“添加页⾯的显⽰与更新”以及“图表的实现”,最后会发布到github⾥。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论