今天学习了SQLite数据库。
主要代码为:
public class MainActivity extends AppCompatActivity implements View.OnClickListener { private Context mContext; private Button btn_insert; private Button btn_query; private Button btn_update; private Button btn_delete; private SQLiteDatabase db; private MyDBOpenHelper myDBHelper; private StringBuilder sb; private int i = 1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mContext = MainActivity.this; myDBHelper = new MyDBOpenHelper(mContext, "my.db", null, 1); bindViews(); } private void bindViews() { btn_insert = (Button) findViewById(R.id.btn_insert); btn_query = (Button) findViewById(R.id.btn_query); btn_update = (Button) findViewById(R.id.btn_update); btn_delete = (Button) findViewById(R.id.btn_delete); btn_query.setOnClickListener(this); btn_insert.setOnClickListener(this); btn_update.setOnClickListener(this); btn_delete.setOnClickListener(this); } @Override public void onClick(View v) { db = myDBHelper.getWritableDatabase(); switch (v.getId()) { case R.id.btn_insert: ContentValues values1 = new ContentValues(); values1.put("name", "呵呵~" + i); i++; //参数依次是:表名,强行插入null值得数据列的列名,一行记录的数据 db.insert("person", null, values1); Toast.makeText(mContext, "插入完毕~", Toast.LENGTH_SHORT).show(); break; case R.id.btn_query: sb = new StringBuilder(); //参数依次是:表名,列名,where约束条件,where中占位符提供具体的值,指定group by的列,进一步约束 //指定查询结果的排序方式 Cursor cursor = db.query("person", null, null, null, null, null, null); if (cursor.moveToFirst()) { do { int pid = cursor.getInt(cursor.getColumnIndex("personid")); String name = cursor.getString(cursor.getColumnIndex("name")); sb.append("id:" + pid + ":" + name + " "); } while (cursor.moveToNext()); } cursor.close(); Toast.makeText(mContext, sb.toString(), Toast.LENGTH_SHORT).show(); break; case R.id.btn_update: ContentValues values2 = new ContentValues(); values2.put("name", "嘻嘻~"); //参数依次是表名,修改后的值,where条件,以及约束,如果不指定三四两个参数,会更改所有行 db.update("person", values2, "name = ?", new String[]{"呵呵~2"}); break; case R.id.btn_delete: //参数依次是表名,以及where条件与约束 db.delete("person", "personid = ?", new String[]{"3"}); break; } } }