《android视频教程》第一季 第16集 SQLite的使用
视频主要内容:
1、SQLite简单介绍
2、SQLiteOpenHelper使用方法
3、使用adb访问android sqlite
4、基本的增、删、改、查。
代码(省去main.xml 和strings.xml):
1、sqliteHelper.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | package com.cxybase.sqliteTest.db; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.database.sqlite.SQLiteDatabase.CursorFactory; import android.util.Log; public class sqliteHelper extends SQLiteOpenHelper{ private final static int VERSION = 1; private final static String TAG = "cxybase"; public sqliteHelper(Context context, String name, CursorFactory factory, int version) { //必须通过super调用父类中的构造函数 super(context, name, factory, version); // TODO Auto-generated constructor stub } public sqliteHelper(Context context, String name) { this(context, name, VERSION); } public sqliteHelper(Context context, String name, int version) { this(context,name, null,version); } @Override public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub Log.i(TAG, "create a Database"); String sql = "create table user(id int, name varchar(20))"; db.execSQL(sql); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub Log.i(TAG, "update a Database"); } } |
2、sqliteTest.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | package com.cxybase.sqliteTest; import android.app.Activity; import android.content.ContentValues; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import com.cxybase.sqliteTest.db.sqliteHelper; public class sqliteTest extends Activity { private final static String TAG = "cxyabse"; //声明控件对象 private Button createDatabase = null; //创建数据苦 private Button updateDatabase = null; //更新数据库 private Button insert = null; private Button update = null; //更新数据库中的数据 private Button query = null; private Button delete = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //根据控件ID获得控件对象,并设置相关的监听器 createDatabase = (Button)findViewById(R.id.createDatabase); createDatabase.setOnClickListener(new createDatabaseListener()); updateDatabase = (Button)findViewById(R.id.updateDatabase); updateDatabase.setOnClickListener(new updateDatabaseListener()); insert = (Button)findViewById(R.id.insert); insert.setOnClickListener(new insertListener()); update = (Button)findViewById(R.id.update); update.setOnClickListener(new updateRecordListener()); query = (Button)findViewById(R.id.query); query.setOnClickListener(new queryListener()); delete = (Button)findViewById(R.id.delete); delete.setOnClickListener(new deleteListener()); } class createDatabaseListener implements OnClickListener { public void onClick(View v) { // TODO Auto-generated method stub sqliteHelper dbHelper = new sqliteHelper(sqliteTest.this, "test_cxybase_db"); SQLiteDatabase db = dbHelper.getReadableDatabase(); } } class updateDatabaseListener implements OnClickListener { public void onClick(View v) { // TODO Auto-generated method stub sqliteHelper dbHelper = new sqliteHelper(sqliteTest.this, "test_cxybase_db", 2); SQLiteDatabase db = dbHelper.getReadableDatabase(); } } class insertListener implements OnClickListener { public void onClick(View v) { // TODO Auto-generated method stub ContentValues values = new ContentValues(); values.put("id", 2); values.put("name", "zhangsan"); sqliteHelper dbHelper = new sqliteHelper(sqliteTest.this, "test_cxybase.db",2); SQLiteDatabase db = dbHelper.getWritableDatabase(); db.insert("user", null, values); // Log.i(TAG, "插入数据完成"); } } class updateRecordListener implements OnClickListener { public void onClick(View v) { // TODO Auto-generated method stub sqliteHelper dbHelper = new sqliteHelper(sqliteTest.this, "test_cxybase.db",2); SQLiteDatabase db = dbHelper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("name", "lisi"); //?为占位符 //有几个占位符,最后一个参数就应该有几个值 db.update("user", values, "id=?", new String[]{"1"}); } } class queryListener implements OnClickListener { public void onClick(View v) { // TODO Auto-generated method stub sqliteHelper dbHelper = new sqliteHelper(sqliteTest.this, "test_cxybase.db",2); SQLiteDatabase db = dbHelper.getReadableDatabase(); Cursor cur = db.query("user", new String[]{"id","name"}, "id=?", new String[]{"1"}, null, null, null); while(cur.moveToNext()) { //cur.getColumnIndex("name")得到记录的编号 String name = cur.getString(cur.getColumnIndex("name")); Log.i(TAG, "query--->" + name); } } } class deleteListener implements OnClickListener { public void onClick(View v) { // TODO Auto-generated method stub sqliteHelper dbHelper = new sqliteHelper(sqliteTest.this, "test_cxybase.db",2); SQLiteDatabase db = dbHelper.getWritableDatabase(); db.delete("user", "id=?", new String[]{"1"}); } } } |
转载请标明出处:萝卜根
原文地址请标明:原文地址