• 5.5


    使用Android提供的API操作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 = ?",newString[]{"3"});break;}}}
  • 相关阅读:
    【转】海量数据处理算法-Bloom Filter
    【c++】【转】结构体字节对齐
    【APUE】信号量、互斥体和自旋锁
    【python】Python的字典get方法:从字典中获取一个值
    【python】Python中*args 和**kwargs的用法
    【python】super()
    【algorithm】尾递归
    什么时候必须使用初始化列表
    【APUE】wait与waitpid函数
    【APUE】孤儿进程与僵死进程
  • 原文地址:https://www.cnblogs.com/20193898liufa/p/14909869.html
Copyright © 2020-2023  润新知