[转]Android | Simple SQLite Database Tutorial
本文转自:http://hmkcode.com/android-simple-sqlite-database-tutorial/
Android SQLite database is an integral part “built-in” component. Any databases you create will be accessible by name to any class in the application, but not outside the application. Here we will see how to use SQLite API to perform database common operations.
Objectives:
- How to start using SQLite API?
- How to create new database & database tables?
- How to perform CRUD “Create, Read, Update and Delete” operations?
Environment & Tools:
- Android Developer Tools (ADT) (or Eclipse + ADT plugin)
- AVD Nexus S Android 4.3 “emulator”
- Min SDK 8
What we are building here?
We will build an App that can store & retrieve books title and author name.
( 1 ) Create Android Application
- File >> New >> Android Application
- Enter App name: SQLite App
- Enter Project name: android-sqlite
- Pakcage: com.hmkcode.android
- Keep other defualt selections, click Next until you reach Finish
( 2 ) Data Model Design “Table Structure”
We want to create the following:
- One Database instance: “BookDB“.
- One Table: “books” with three columns id, title & author
( 3 ) Object Model “Book.java”
- Create one Java bean class: Book.java
- /src/com/hmkcode/android/model/Book.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
|
package com.hmkcode.android.model; public class Book { private int id; private String title; private String author; public Book(){} public Book(String title, String author) { super (); this .title = title; this .author = author; } //getters & setters @Override public String toString() { return "Book [id=" + id + ", title=" + title + ", author=" + author + "]" ; } } |
( 4 ) extends SQLiteOpenHelper
The recommended method to create a new SQLite database is to create a subclass ofSQLiteOpenHelper
and override the onCreate()
method, in which you can execute a SQLite command to create tables in the database.
This is the main step.
- Create a new class MySQLiteHelper extends SQLiteOpenHelper.
- MySQLiteHelper constructor must call the super class constructor.
- Override onCreate() method to create the table(s)
- Override onUpgrade() to drop old tables and create new ones.
- /src/com/hmkcode/android/sqlite/MySQLiteHelper.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
|
package com.hmkcode.android.sqlite; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class MySQLiteHelper extends SQLiteOpenHelper { // Database Version private static final int DATABASE_VERSION = 1 ; // Database Name private static final String DATABASE_NAME = "BookDB" ; public MySQLiteHelper(Context context) { super (context, DATABASE_NAME, null , DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { // SQL statement to create book table String CREATE_BOOK_TABLE = "CREATE TABLE books ( " + "id INTEGER PRIMARY KEY AUTOINCREMENT, " + "title TEXT, " + "author TEXT )" ; // create books table db.execSQL(CREATE_BOOK_TABLE); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // Drop older books table if existed db.execSQL( "DROP TABLE IF EXISTS books" ); // create fresh books table this .onCreate(db); } } |
- This class MySQLiteHelper will just create for us Database “BookDB” with one empty table “books“.
- Next, we will create methods to help us populate “insert”, read “select”, update and delete book(s) from this table.
( 5 ) Add, Get, Update & Delete a Book
- In the same file “MySQLiteHelper.java” we will add 5 methods
- addBook(Book book)
- getBook(int id)
- getAllBooks()
- update(Book book)
- delete(Book book)
Some static constants
Define static constants for table & columns names;
// Books table name
private static final String TABLE_BOOKS = "books"; // Books Table Columns names
private static final String KEY_ID = "id";
private static final String KEY_TITLE = "title";
private static final String KEY_AUTHOR = "author"; private static final String[] COLUMNS = {KEY_ID,KEY_TITLE,KEY_AUTHOR};
1. addBook(Book book)
Notice:
- ConentValues this class is used to store a set of values.
- Log.d() just for logging, so we can see the result later on LogCat when we run the App.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
public void addBook(Book book){ //for logging Log.d( "addBook" , book.toString()); // 1. get reference to writable DB SQLiteDatabase db = this .getWritableDatabase(); // 2. create ContentValues to add key "column"/value ContentValues values = new ContentValues(); values.put(KEY_TITLE, book.getTitle()); // get title values.put(KEY_AUTHOR, book.getAuthor()); // get author // 3. insert db.insert(TABLE_BOOKS, // table null , //nullColumnHack values); // key/value -> keys = column names/ values = column values // 4. close db.close(); } |
2. getBook(int id)
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
|
public Book getBook( int id){ // 1. get reference to readable DB SQLiteDatabase db = this .getReadableDatabase(); // 2. build query Cursor cursor = db.query(TABLE_BOOKS, // a. table COLUMNS, // b. column names " id = ?" , // c. selections new String[] { String.valueOf(id) }, // d. selections args null , // e. group by null , // f. having null , // g. order by null ); // h. limit // 3. if we got results get the first one if (cursor != null ) cursor.moveToFirst(); // 4. build book object Book book = new Book(); book.setId(Integer.parseInt(cursor.getString( 0 ))); book.setTitle(cursor.getString( 1 )); book.setAuthor(cursor.getString( 2 )); //log Log.d( "getBook(" +id+ ")" , book.toString()); // 5. return book return book; } |
3. getAllBooks()
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
|
public List<Book> getAllBooks() { List<Book> books = new LinkedList<Book>(); // 1. build the query String query = "SELECT * FROM " + TABLE_BOOKS; // 2. get reference to writable DB SQLiteDatabase db = this .getWritableDatabase(); Cursor cursor = db.rawQuery(query, null ); // 3. go over each row, build book and add it to list Book book = null ; if (cursor.moveToFirst()) { do { book = new Book(); book.setId(Integer.parseInt(cursor.getString( 0 ))); book.setTitle(cursor.getString( 1 )); book.setAuthor(cursor.getString( 2 )); // Add book to books books.add(book); } while (cursor.moveToNext()); } Log.d( "getAllBooks()" , books.toString()); // return books return books; } |
4. update(Book book)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
public int updateBook(Book book) { // 1. get reference to writable DB SQLiteDatabase db = this .getWritableDatabase(); // 2. create ContentValues to add key "column"/value ContentValues values = new ContentValues(); values.put( "title" , book.getTitle()); // get title values.put( "author" , book.getAuthor()); // get author // 3. updating row int i = db.update(TABLE_BOOKS, //table values, // column/value KEY_ID+ " = ?" , // selections new String[] { String.valueOf(book.getId()) }); //selection args // 4. close db.close(); return i; } |
5. delete(Book book)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
public void deleteBook(Book book) { // 1. get reference to writable DB SQLiteDatabase db = this .getWritableDatabase(); // 2. delete db.delete(TABLE_BOOKS, //table name KEY_ID+ " = ?" , // selections new String[] { String.valueOf(book.getId()) }); //selections args // 3. close db.close(); //log Log.d( "deleteBook" , book.toString()); } |
Complete MySQLiteHelper.java Code:
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
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
|
package com.hmkcode.android.sqlite; import java.util.LinkedList; import java.util.List; import com.hmkcode.android.model.Book; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.util.Log; public class MySQLiteHelper extends SQLiteOpenHelper { // Database Version private static final int DATABASE_VERSION = 1 ; // Database Name private static final String DATABASE_NAME = "BookDB" ; public MySQLiteHelper(Context context) { super (context, DATABASE_NAME, null , DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { // SQL statement to create book table String CREATE_BOOK_TABLE = "CREATE TABLE books ( " + "id INTEGER PRIMARY KEY AUTOINCREMENT, " + "title TEXT, " + "author TEXT )" ; // create books table db.execSQL(CREATE_BOOK_TABLE); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // Drop older books table if existed db.execSQL( "DROP TABLE IF EXISTS books" ); // create fresh books table this .onCreate(db); } //--------------------------------------------------------------------- /** * CRUD operations (create "add", read "get", update, delete) book + get all books + delete all books */ // Books table name private static final String TABLE_BOOKS = "books" ; // Books Table Columns names private static final String KEY_ID = "id" ; private static final String KEY_TITLE = "title" ; private static final String KEY_AUTHOR = "author" ; private static final String[] COLUMNS = {KEY_ID,KEY_TITLE,KEY_AUTHOR}; public void addBook(Book book){ Log.d( "addBook" , book.toString()); // 1. get reference to writable DB SQLiteDatabase db = this .getWritableDatabase(); // 2. create ContentValues to add key "column"/value ContentValues values = new ContentValues(); values.put(KEY_TITLE, book.getTitle()); // get title values.put(KEY_AUTHOR, book.getAuthor()); // get author // 3. insert db.insert(TABLE_BOOKS, // table null , //nullColumnHack values); // key/value -> keys = column names/ values = column values // 4. close db.close(); } public Book getBook( int id){ // 1. get reference to readable DB SQLiteDatabase db = this .getReadableDatabase(); // 2. build query Cursor cursor = db.query(TABLE_BOOKS, // a. table COLUMNS, // b. column names " id = ?" , // c. selections new String[] { String.valueOf(id) }, // d. selections args null , // e. group by null , // f. having null , // g. order by null ); // h. limit // 3. if we got results get the first one if (cursor != null ) cursor.moveToFirst(); // 4. build book object Book book = new Book(); book.setId(Integer.parseInt(cursor.getString( 0 ))); book.setTitle(cursor.getString( 1 )); book.setAuthor(cursor.getString( 2 )); Log.d( "getBook(" +id+ ")" , book.toString()); // 5. return book return book; } // Get All Books public List<Book> getAllBooks() { List<Book> books = new LinkedList<Book>(); // 1. build the query String query = "SELECT * FROM " + TABLE_BOOKS; // 2. get reference to writable DB SQLiteDatabase db = this .getWritableDatabase(); Cursor cursor = db.rawQuery(query, null ); // 3. go over each row, build book and add it to list Book book = null ; if (cursor.moveToFirst()) { do { book = new Book(); book.setId(Integer.parseInt(cursor.getString( 0 ))); book.setTitle(cursor.getString( 1 )); book.setAuthor(cursor.getString( 2 )); // Add book to books books.add(book); } while (cursor.moveToNext()); } Log.d( "getAllBooks()" , books.toString()); // return books return books; } // Updating single book public int updateBook(Book book) { // 1. get reference to writable DB SQLiteDatabase db = this .getWritableDatabase(); // 2. create ContentValues to add key "column"/value ContentValues values = new ContentValues(); values.put( "title" , book.getTitle()); // get title values.put( "author" , book.getAuthor()); // get author // 3. updating row int i = db.update(TABLE_BOOKS, //table values, // column/value KEY_ID+ " = ?" , // selections new String[] { String.valueOf(book.getId()) }); //selection args // 4. close db.close(); return i; } // Deleting single book public void deleteBook(Book book) { // 1. get reference to writable DB SQLiteDatabase db = this .getWritableDatabase(); // 2. delete db.delete(TABLE_BOOKS, KEY_ID+ " = ?" , new String[] { String.valueOf(book.getId()) }); // 3. close db.close(); Log.d( "deleteBook" , book.toString()); } } |
( 6 ) Using MySQLiteHelper in Activity
- /src/com/hmkcode/android/MainActivity.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
|
package com.hmkcode.android; import java.util.List; import com.hmkcode.android.model.Book; import com.hmkcode.android.sqlite.MySQLiteHelper; import android.os.Bundle; import android.app.Activity; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.activity_main); MySQLiteHelper db = new MySQLiteHelper( this ); /** * CRUD Operations * */ // add Books db.addBook( new Book( "Android Application Development Cookbook" , "Wei Meng Lee" )); db.addBook( new Book( "Android Programming: The Big Nerd Ranch Guide" , "Bill Phillips and Brian Hardy" )); db.addBook( new Book( "Learn Android App Development" , "Wallace Jackson" )); // get all books List<Book> list = db.getAllBooks(); // delete one book db.deleteBook(list.get( 0 )); // get all books db.getAllBooks(); } } |
- Deploy the App on the emulator and run it.
- Look for the results in LogCat!
( 7 ) Where to See the Results? LogCat!
- Log function Log.d() used within the addBook(), getBook()…etc. will log database operations on LogCat Eclipse (ADT) window.
- If you don’t see LogCat window, you need to add it.
- go to Window >> Show View >> Others… (on Show View window) Android >> LogCat
LogCat view
aaarticlea/png;base64,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" alt="" />
Source Code @ GitHub
Related posts from Android Tutorial
This entry was posted in Android and tagged android, crud, sql, sqlite, SQLiteDatabase on September 21, 2013.
[转]Android | Simple SQLite Database Tutorial的更多相关文章
- [转]Android Studio SQLite Database Multiple Tables Example
本文转自:http://instinctcoder.com/android-studio-sqlite-database-multiple-tables-example/ BY TAN WOON HO ...
- [转]Android Studio SQLite Database Example
本文转自:http://instinctcoder.com/android-studio-sqlite-database-example/ BY TAN WOON HOW · PUBLISHED AP ...
- Android SQLite Database Tutorial
表名: 列(字段): 联系人实体类:构造方法,setters .getters方法 File: Contact.java package com.example.sqlitetest; publi ...
- android 对sqlite数据库的增删改查等各种操作
转载:http://blog.csdn.net/vrix/article/details/6717090 package com.sqlite.main; import java.io.File; i ...
- Android学习---SQLite数据库的增删改查和事务(transaction)调用
上一篇文章中介绍了手工拼写sql语句进行数据库的CRUD操作,本文将介绍调用sqlite内置的方法实现CRUD操作,其实质也是通过拼写sql语句. 首先,创建一个新的android项目: 其次,查看代 ...
- Android中SQLite的使用
SQLite是Android中内置的数据库,SQLite是轻量级数据库,支持标准的SQL语法,并且支持ACID事物. 在Android中提供了SQLIteOPenHelper类,帮助我们使用SQLit ...
- 一起学Android之Sqlite
概述 Android对Sqlite提供了完全友好的支持,在应用程序内部,都可以通过名称访问任何的数据库.建议通过SQLiteOpenHelpe的子类并通过重写onCreate() 方法进行创建数据表. ...
- Using SQLite database in your Windows 10 apps
MVP可以在channel 9上传视频了,所以准备做个英文视频传上去分享给大家,本文做稿子. Hello everyone, As we all know, SQLite is a great and ...
- android基础---->SQLite数据库的使用
SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PHP, Python)都使 ...
随机推荐
- CodeForcesGym 100753K Upside down primes
Upside down primes Time Limit: 2000ms Memory Limit: 262144KB This problem will be judged on CodeForc ...
- HDU 1210
感觉就是乱搞找规律 自己写几组数据 本来开始是想着把 n 个数字每次回到原来位置各需要多少次,然后取它们的最小公倍数就好了 但是数据写着写着发现每一个数回到原来位置次数都是一样的,那么就简单了,直接第 ...
- noip模拟赛 铺瓷砖
[问题描述]有一面很长很长的墙. 你需要在这面墙上贴上两行瓷砖. 你的手头有两种不同尺寸的瓷砖, 你希望用这两种瓷砖各贴一行.瓷砖的长可以用分数表示,贴在第一行的每块瓷砖长度为A/B贴在第二行的每块瓷 ...
- [K/3Cloud] 如何在k3Cloud主页实现自定义页面的开发
过自定义页签动态添加一些内容,比如网页链接.图片等. 如果是动态的增加链接,可以参考一下代码,然后在ButtonClick事件里面对链接进行处理. public override void After ...
- Linux command2
. CentOS 想查看哪个port开了,却提示命令无效 # yum -y install net-tools 2. How to install "wget" command i ...
- kendo grid Hierarchy
Hierarchy grid中不能使用下面的这段代码,会造成传值传不过来,把下面的代码注释,不用models,直接用form表单传值就行,暂时没搞明白为什么 //parameterMap: funct ...
- JavaScript设计模式 Item9 --适配器模式Adapter
适配器模式(转换器面模式),通常是为要使用的接口,不符本应用或本系统使用,而需引入的中间适配层类或对象的情况. 适配器模式的作用是解决两个软件实体间的接口不兼容的问题. 一.定义 适配器模式(Adap ...
- iOS 文字属性字典
iOS开发过程中相信大家常常遇到当须要给字体,颜色,下划线等属性的时候參数是一个NSDictionary 字典 可是字典里面究竟有哪些键值对了 我们把经常使用的总结一下 首先我们创建一个最简单的.设置 ...
- Javascript中双等号(==)隐性转换机制 JS里charCodeAt()和fromCharCode()方法拓展应用:加密与解密
Javascript中双等号(==)隐性转换机制 在Javascript中判断相等关系有双等号(==)和三等号(===)两种.其中双等号(==)是值相等,而三等号(===)是严格相等(值及类型是否 ...
- Robot Framework 搭建和RIDE(GUI) 的环境
在windows x64的环境上进行安装,集成Selenium2和AutoIt的libraries,以下安装步骤在win 7,win 8.1,win 10, win 2012 R2上测试通过 1. 下 ...