主要功能:可以实现数据存储(登录页面);可以实现对数据的添加(添加流水);可以实现删除操作
Java代码部分
1.account_listview.java部分的代码
package com.example.currentaccount;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.ImageButton;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import static android.widget.Toast.LENGTH_LONG;
public class account_listview extends AppCompatActivity {
private DBHelper helper;
private ListView listView;
private ImageButton Add;
private List<costList> list;
private ListView list_view;
private int count = 0;
private new_cost new_cost = new new_cost();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_account_listview);
initView();
initData();
list_view = findViewById(R.id.list_view);
list_view.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
//parent 代表listView View 代表 被点击的列表项 position 代表第几个 id 代表列表编号
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(account_listview.this, id+"", Toast.LENGTH_SHORT).show();
Intent intent = new Intent();
Bundle bundle = new Bundle();
bundle.putLong("id",id);
System.out.println(id);
intent.putExtras(bundle);
intent.setClass(account_listview.this,BundleActivity.class);
startActivity(intent);
}
});
// public void onItemClick(AdapterView<?> arg0, View view, int position,
// long arg3)
// 4个参数分别对应如下:
// AdapterView 当前的AdapterView对象,你这里就是ListView
// View AdapterView所绑定的Adapter的getView方法返回的View
// int 当前被点击的条目的索引号
// long AdapterView所绑定的Adapter的getItemId返回的值
//实现长按删除
//
// list_view.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
// @Override
// public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
// int arg2, long arg3) {
TODO Auto-generated method stub
System.out.println(arg0.getItemAtPosition(arg2).toString());
// new_cost.delete("account_daily",arg2,null);
// return false;
// }
// });
}
//初始化
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(account_listview.this);
listView = findViewById(R.id.list_view);
Add = findViewById(R.id.add);
}
//事件:添加
public void addAccount(View view) {//跳转
Intent intent = new Intent(account_listview.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();
}
}
}
2. BundleActivity.java 部分的代码
package com.example.currentaccount;
import androidx.appcompat.app.AppCompatActivity;
import com.example.currentaccount.DBHelper;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
public class BundleActivity extends AppCompatActivity {
DBHelper db = null;
SQLiteDatabase sd = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
db = new DBHelper(getApplicationContext());
sd = db.getReadableDatabase();
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bundle);
}
public void delete(View v){
Bundle bundle = new Bundle();
Long id = bundle.getLong("id");
id+=1;
String sql = "delete from account where _id='"+id+"'";
sd.execSQL(sql);
Toast.makeText(this,"删除成功",Toast.LENGTH_SHORT).show();
Intent intent = new Intent();
intent.setClass(BundleActivity.this,account_listview.class);
startActivity(intent);
}
public void update(View view) {
Bundle bundle = new Bundle();
Long id = bundle.getLong("id");
id+=1;
String sql = "delete from account where _id='"+id+"'";
sd.execSQL(sql);
Toast.makeText(this,"删除成功",Toast.LENGTH_SHORT).show();
Intent intent = new Intent();
intent.setClass(BundleActivity.this,new_cost.class);
startActivity(intent);
}
}
3.costList.java部分的代码
package com.example.currentaccount;
public class costList {
private String _id;
private String Title;
private String Date;
private String Money;
public String getM