AndroidStudio 制作一个超简易记账本App(1.0)【含详细步骤】 | 您所在的位置:网站首页 › 简单的个人记账软件下载 › AndroidStudio 制作一个超简易记账本App(1.0)【含详细步骤】 |
先看最终效果: android:background="#00FF0000"这行代码的意思是让imageButton的背景为透明。如果不设置这行代码,背景就是默认的灰色;也可以设置为白色,但是自带的app底色并不是纯白的,仔细看会发现色差:
效果: 5.搭建数据库 Sqlite的运用是重难点 首先创建一个DBHelper类:按第四步的方法新建类,命名为:DBHelper package com.example.myaccountapp; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import androidx.annotation.Nullable; public class DBHelper extends SQLiteOpenHelper { private static int DB_VERSION = 1; private static String DB_NAME = "account_daily.db"; public DBHelper(Context context) { super(context, DB_NAME ,null, DB_VERSION); } @Override public void onCreate(SQLiteDatabase db) { String sql="create table account(_id integer primary key autoincrement," +//主键 "Title varchar(20)," +//Title "Date varchar(20)," +//Date "Money vaechar(20))";//Money db.execSQL(sql); } @Override public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) { } }然后我们写一个类专门存放赋值和取出这些数据的方法,命名为costList package com.example.myaccountapp; public class costList { private String _id; private String Title; private String Date; private String Money; public String getMoney() { return Money; } public void setMoney(String money) { Money = money; } public String getDate() { return Date; } public void setDate(String date) { Date = date; } public String getTitle() { return Title; } public void setTitle(String title) { Title = title; } public String get_id() { return _id; } public void set_id(String _id) { this._id = _id; } }6.来到MainActivity开始写方法: package com.example.myaccountapp; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.view.View; import android.widget.ArrayAdapter; import android.widget.BaseAdapter; import android.widget.ImageButton; import android.widget.ListView; import java.util.ArrayList; import java.util.HashMap; import java.util.List; public class MainActivity extends AppCompatActivity { private DBHelper helper; private ListView listView; private ImageButton Add; private Listlist; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); initData(); } //初始化 private void initData() { list=new ArrayList(); SQLiteDatabase db=helper.getReadableDatabase(); Cursor cursor=db.query("account",null,null,null,null, null,null); while (cursor.moveToNext()){ costList clist=new costList();//构造实例 clist.set_id(cursor.getString(cursor.getColumnIndex("_id"))); clist.setTitle(cursor.getString(cursor.getColumnIndex("Title"))); clist.setDate(cursor.getString(cursor.getColumnIndex("Date"))); clist.setMoney(cursor.getString(cursor.getColumnIndex("Money"))); list.add(clist); } //绑定适配器 listView.setAdapter(new ListAdapter(this,list)); db.close(); } private void initView() { helper=new DBHelper(MainActivity.this); listView = findViewById(R.id.list_view); Add=findViewById(R.id.add); } //事件:添加 public void addAccount(View view){//跳转 Intent intent=new Intent(MainActivity.this,new_cost.class); startActivityForResult(intent,1); } @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if(requestCode==1&&resultCode==1) { this.initData(); } } }7.可以看到我们必须给之前的Onclick事件写一个方法(addAccount)。即点击+号按钮跳转到一个新页面,在这个新页面,我们要完成输入Title、Date、Money的操作。 这就需要新建一个Activity,命名为new_cost
toast.setGravity(Gravity.CENTER, 0, 0);这行代码是设置小提示框显示的位置,如果不设置的话,默认是显示在底部的 完成! 接下来还可以优化一下ui,比如把题头栏状态栏换成黄色(默认是绿色的),光标也是可以换色的。还比如把按钮换成圆角样式。大家自己研究吧。 1.0版本只有非常简单的记账功能,也许还会更新2.0,就是增加一些衣食住行分类查看,按月份查看的功能之类的 有什么问题的话可以在评论区问我哦,我有能力的话会尽量解答的。不过我也是新手,总之大家共同进步吧 CSDN突然把我上传的源码调高了积分,贵得离谱,这边提供网盘,有需要自取: 链接:https://pan.baidu.com/s/1-LEyhXZRWzz0hTHJvC8sLg 提取码:f59z |
CopyRight 2018-2019 实验室设备网 版权所有 |