本文共 5827 字,大约阅读时间需要 19 分钟。
SQLite的简单操作,没有用ListView,直接用的TextView显示,效果图
package henu.soft.saveindatabasedemo;import androidx.appcompat.app.AppCompatActivity;import android.content.ContentValues;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.os.Bundle;import android.view.View;import android.widget.EditText;import android.widget.LinearLayout;import android.widget.TextView;import android.widget.Toast;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity implements View.OnClickListener { private String name = ""; private String age = ""; private Listusers = new ArrayList<>(); private MyDBHelper myDBHelper; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 创建数据库 myDBHelper = new MyDBHelper(MainActivity.this, "db", null, 2); // 查询数据 findAll(); findViewById(R.id.btn_save).setOnClickListener(this); findViewById(R.id.btn_clear).setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.btn_save: EditText et_name = (EditText) findViewById(R.id.et_name); EditText et_age = (EditText) findViewById(R.id.et_age); name = et_name.getText().toString(); age = et_age.getText().toString(); if ("".equals(name) && "".equals(age)) { Toast.makeText(this, "名字和年龄都为空,请重新填写!xs", Toast.LENGTH_SHORT).show(); } else { insert(name, age); } break; case R.id.btn_clear: clear(); break; } } // 1. 增加一条数据 public void insert(String name, String age) { SQLiteDatabase db = myDBHelper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("name", name); values.put("age", age); long result = db.insert("user_info", null, values); Toast.makeText(MainActivity.this, "插入一条数据成功!xs", Toast.LENGTH_SHORT).show(); findAll(); db.close(); } // 2. 查询所有数据 public void findAll() { LinearLayout linearLayout = (LinearLayout) findViewById(R.id.ll_show); linearLayout.removeAllViewsInLayout(); SQLiteDatabase db = myDBHelper.getWritableDatabase(); Cursor cursor = db.query("user_info", null, null, null, null, null, null); while (cursor.moveToNext()) { // 移动游标,获取所有记录// String _id = cursor.getString(cursor.getColumnIndex("_id"));// String name = cursor.getString(cursor.getColumnIndex("name"));// String age = cursor.getString(cursor.getColumnIndex("age")); String _id = cursor.getString(0); String name = cursor.getString(1); String age = cursor.getString(2);// String _id = cursor.getColumnName(0);// String name = cursor.getColumnName(1);// String age = cursor.getColumnName(2); // 放入list中 users.add(new User(_id, name, age)); } for (User user : users) { //1.集合中每有一条数据,就new一个TextView TextView tv = new TextView(MainActivity.this); //2.把人物的信息设置为文本的内容 tv.setText(user.toString()); tv.setTextSize(18); //3.把TextView设置成线性布局的子节点 linearLayout.addView(tv); } db.close(); } // 3. 删除表,清空数据 public void clear() { SQLiteDatabase db = myDBHelper.getWritableDatabase(); db.delete("user_info", null, null); //db.execSQL("drop table user_info"); db.close(); Toast.makeText(MainActivity.this, "表删除成功!", Toast.LENGTH_SHORT).show(); LinearLayout linearLayout = (LinearLayout) findViewById(R.id.ll_show); linearLayout.removeAllViewsInLayout(); }}
package henu.soft.saveindatabasedemo;public class User { private String id; private String name; private String age; public User(String id, String name, String age) { this.id = id; this.name = name; this.age = age; } public String getId() { return id; } public String getName() { return name; } public String getAge() { return age; } public void setId(String id) { this.id = id; } public void setName(String name) { this.name = name; } public void setAge(String age) { this.age = age; } @Override public String toString() { return "User{" + "id='" + id + '\'' + ", name='" + name + '\'' + ", age='" + age + '\'' + '}'; }}
package henu.soft.saveindatabasedemo;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import androidx.annotation.Nullable;public class MyDBHelper extends SQLiteOpenHelper { // 构造器 public MyDBHelper(@Nullable Context context, @Nullable String name, @Nullable SQLiteDatabase.CursorFactory factory, int version) { super(context, "db", null, 2); } // 启动创建数据库 @Override public void onCreate(SQLiteDatabase db) { db.execSQL("create table user_info (_id integer primary key autoincrement, name varchar(20),age varchar(20)) "); } // 更新数据库调用 @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } // 删除数据库}
转载地址:http://nwmr.baihongyu.com/