Quantcast
Channel: CSDN博客移动开发推荐文章
Viewing all articles
Browse latest Browse all 5930

[Android新手学习笔记35]-Storage-SQLite

$
0
0

目录:/data/data/<packagename>/databases/

简单增删改查,创建表,升级表例子:

  1. public class MainActivity extends AppCompatActivity {
  2.    private MyDatabaseHelper dbHelper;
  3.    @Override
  4.    protected void onCreate(Bundle savedInstanceState) {
  5.        super.onCreate(savedInstanceState);
  6.        setContentView(R.layout.activity_main);
  7.        dbHelper = new MyDatabaseHelper(this, "BookStore.db", null, 1);
  8.        // 将1变为2,升级,比之前的大就行,1,2,3,...,n
  9. //      dbHelper = new MyDatabaseHelper(this, "BookStore.db", null, 2);
  10.        Button createButton = (Button) findViewById(R.id.create_button);
  11.        createButton.setOnClickListener(new View.OnClickListener() {
  12.            @Override
  13.            public void onClick(View v) {
  14.                dbHelper.getWritableDatabase(); // 存储空间满,会异常
  15. //              dbHelper.getReadableDatabase(); // 不会异常,只读数据库
  16.            }
  17.        });
  18.        Button insertButton = (Button) findViewById(R.id.insert_button);
  19.        insertButton.setOnClickListener(new View.OnClickListener() {
  20.            @Override
  21.            public void onClick(View v) {
  22.                SQLiteDatabase db = dbHelper.getWritableDatabase();
  23.                ContentValues values = new ContentValues();
  24.                // 开始组装第一条数据
  25.                values.put("name", "张3自传");
  26.                values.put("author", "张3");
  27.                values.put("pages", 454);
  28.                values.put("price", 16.44);
  29.                db.insert("Book", null, values); // 插入第一条数据
  30.                values.clear();
  31.                // 开始组装第二条数据
  32.                values.put("name", "李4自传");
  33.                values.put("author", "李4");
  34.                values.put("pages", 399);
  35.                values.put("price", 15.44);
  36.                db.insert("Book", null, values); // 插入第一条数据
  37.            }
  38.        });
  39.        Button updateButton = (Button) findViewById(R.id.update_button);
  40.        updateButton.setOnClickListener(new View.OnClickListener() {
  41.            @Override
  42.            public void onClick(View v) {
  43.                SQLiteDatabase db = dbHelper.getWritableDatabase();
  44.                ContentValues values = new ContentValues();
  45.                values.put("price", 10.11);
  46.                db.update("Book", values, "name = ?", new String[] {
  47.                        "张3"
  48.                });
  49.            }
  50.        });
  51.        Button deleteButton = (Button) findViewById(R.id.delete_button);
  52.        deleteButton.setOnClickListener(new View.OnClickListener() {
  53.            @Override
  54.            public void onClick(View v) {
  55.                SQLiteDatabase db = dbHelper.getWritableDatabase();
  56.                db.delete("Book", "pages > ?", new String[] {
  57.                        "500"
  58.                });
  59.            }
  60.        });
  61.        Button selectButton = (Button) findViewById(R.id.select_button);
  62.        selectButton.setOnClickListener(new View.OnClickListener() {
  63.            @Override
  64.            public void onClick(View v) {
  65.                SQLiteDatabase db = dbHelper.getWritableDatabase();
  66.                Cursor cursor = db.query("Book", null, null, null, null, null, null, null);
  67.                if (cursor.moveToFirst()) {
  68.                    do {
  69.                        // 遍历Cursor对象,取出数据并打印
  70.                        String name = cursor.getString(cursor.getColumnIndex("name"));
  71.                        String author = cursor.getString(cursor.getColumnIndex("author"));
  72.                        int pages = cursor.getInt(cursor.getColumnIndex("pages"));
  73.                        double price = cursor.getDouble(cursor.getColumnIndex("price"));
  74.                        Log.d("xxd", name + author + pages + price);
  75.                    } while (cursor.moveToNext());
  76.                }
  77.            }
  78.        });
  79.    }
  80. }

以上提供的方法,可以用SQL语句代替:

  • insert:

    db.execSQL("insert into Book (name, author, pages, price) values(?, ?, ?, ?)", new String[] {"title", "author", "453", "13.33"});

  • update:

    db.execSQL("update Book set price = ? where name = ?", new String[] {"11.22", "author"});

  • delete:

    db.execSQL("delete from Book where pages > ?", new String[] {"133"});

  • select:;

    db.rawQuery("select * from Book", null);

作者:a191030148 发表于2017/2/18 23:43:54 原文链接
阅读:31 评论:0 查看评论

Viewing all articles
Browse latest Browse all 5930

Trending Articles