首页 > 叽歪生活 > 《android视频教程》第一季 第16集 SQLite的使用

《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"});
 
 }
 
 }
 
}

转载请标明出处:萝卜根

原文地址请标明:原文地址

  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.
*

:yund: :yun: :yes: :xiaxia: :xiaom: :xiaohan: :wuyu: :wuxiao: :woshou: :woquan: :wink: :tiaodou: :tiaod: :sikao: :pa: :oops: :ok: :no: :mad: :lihai: :leihua: :lei: :ku: :konghe: :kbu: :jiwai: :jiong: :jiay: :huo: :huaixiao: :hanxiao: :han: :haha: :guolai: :guan: :guai: :ganga: :eek: :dou: :diao: :deng: :buli: :bizui: :bishi: :biggrin: :arrow: