本文转自: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 idtitle & 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
  1. addBook(Book book)
  2. getBook(int id)
  3. getAllBooks()
  4. update(Book book)
  5. 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 androidcrudsqlsqliteSQLiteDatabase on September 21, 2013.

[转]Android | Simple SQLite Database Tutorial的更多相关文章

  1. [转]Android Studio SQLite Database Multiple Tables Example

    本文转自:http://instinctcoder.com/android-studio-sqlite-database-multiple-tables-example/ BY TAN WOON HO ...

  2. [转]Android Studio SQLite Database Example

    本文转自:http://instinctcoder.com/android-studio-sqlite-database-example/ BY TAN WOON HOW · PUBLISHED AP ...

  3. Android SQLite Database Tutorial

    表名: 列(字段): 联系人实体类:构造方法,setters .getters方法 File:   Contact.java package com.example.sqlitetest; publi ...

  4. android 对sqlite数据库的增删改查等各种操作

    转载:http://blog.csdn.net/vrix/article/details/6717090 package com.sqlite.main; import java.io.File; i ...

  5. Android学习---SQLite数据库的增删改查和事务(transaction)调用

    上一篇文章中介绍了手工拼写sql语句进行数据库的CRUD操作,本文将介绍调用sqlite内置的方法实现CRUD操作,其实质也是通过拼写sql语句. 首先,创建一个新的android项目: 其次,查看代 ...

  6. Android中SQLite的使用

    SQLite是Android中内置的数据库,SQLite是轻量级数据库,支持标准的SQL语法,并且支持ACID事物. 在Android中提供了SQLIteOPenHelper类,帮助我们使用SQLit ...

  7. 一起学Android之Sqlite

    概述 Android对Sqlite提供了完全友好的支持,在应用程序内部,都可以通过名称访问任何的数据库.建议通过SQLiteOpenHelpe的子类并通过重写onCreate() 方法进行创建数据表. ...

  8. Using SQLite database in your Windows 10 apps

    MVP可以在channel 9上传视频了,所以准备做个英文视频传上去分享给大家,本文做稿子. Hello everyone, As we all know, SQLite is a great and ...

  9. android基础---->SQLite数据库的使用

    SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PHP, Python)都使 ...

随机推荐

  1. sprintf用法

    函数简介 函数功能:把格式化的数据写入某个字符串 头文件:stdio.h 函数原型:int sprintf( char *buffer, const char *format [, argument] ...

  2. 关于markdown(typora)的操作指南,以及导出为word格式文件插件(pandoc-2.6-windows-x86_64)的下载

    Markdown简介 插件链接文章结尾处 目录 Markdown简介1. Markdown是什么?2. 谁创造了它?3. 为什么要使用它?4. 怎么使用?4.1 标题4.2 段落4.3 区块引用4.4 ...

  3. Ural 1091 Tmutarakan Exams

    Tmutarakan Exams Time Limit: 1000ms Memory Limit: 16384KB This problem will be judged on Ural. Origi ...

  4. HDU 4598 Difference

    Difference Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others)Total ...

  5. hammerjs & Swiper & touch & gesture

    hammerjs https://hammerjs.github.io/getting-started/ http://hammerjs.github.io/recognizer-swipe/ Swi ...

  6. hdu 1185 状压dp 好题 (当前状态与上两行有关系)

    /* 状压dp 刚开始&写成&&看了好长时间T0T. 状态转移方程 dp[i][k][j]=Max(dp[i][k][j],dp[i-1][l][k]+num[i][j]);( ...

  7. [bzoj5301][Cqoi2018]异或序列_莫队

    异或序列 bzoj-5301 Cqoi-2018 题目大意:题目链接. 注释:略. 想法: 由于a^a=0这个性质,我们将所有的数变成异或前缀和. 所求就变成了求所有的$l_i\le x<y\l ...

  8. NOIP2014 提高组合集

    NOIP 2014 提高组 合集 D1 T1 生活大爆炸版石头剪刀布 首先,先将两个人的猜拳序列都变得不小于n.然后逐个模拟.胜败什么的看表就行了. #include <iostream> ...

  9. 分享一个灰常好的 dapper 扩展插件: Rainbow

    dapper 是一个效率非常高的orm  框架 ,效率要远远大于 我们大微软的EF .    它只有一个类文件,非常之小.(在 EF 5.0 后 微软已经做了 改进) ps; 由于之前我也没测试过,只 ...

  10. 23、Java并发性和多线程-重入锁死

    以下内容转自http://ifeve.com/reentrance-lockout/: 重入锁死与死锁和嵌套管程锁死非常相似.锁和读写锁两篇文章中都有涉及到重入锁死的问题. 当一个线程重新获取锁,读写 ...