表名:

列(字段):

Android SQLite Database Tutorial_第1张图片



联系人实体类:构造方法,setters 、getters方法

File: Contact.java

package com.example.sqlitetest;public class Contact {int _id;String _name;String _phone_number;//空的构造方法public Contact() {}//构造方法public Contact(int id, String name, String phone_number) {this._id = id;this._name = name;this._phone_number = phone_number;}//构造方法public Contact(String name, String phone_number) {this._name = name;this._phone_number = phone_number;}public int getID() {return this._id;}public void setID(int id) {this._id = id;}public String getName() {return this._name;}public void setName(String name) {this._name = name;}public String getPhoneNumber() {return this._phone_number;}public void setPhoneNumber(String phone_number) {this._phone_number = phone_number;}}




数据库的创建,表的创建,增删改查操作:

DatabaseHandler.java

package com.example.sqlitetest;import java.util.ArrayList;import java.util.List;import android.content.ContentValues;import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteDatabase.CursorFactory;import android.database.sqlite.SQLiteOpenHelper;public class DatabaseHandler extends SQLiteOpenHelper {//Database Version 数据版本private static final int DATABASE_VERSION = 1;//Database Name 数据库名private static final String DATABASE_NAME = "contactsManager";//Contacts table name 表名private static final String TABLE_CONTACTS = "contacts";//Contacts Table Columns names 字段名private static final String KEY_ID = "id";private static final String KEY_NAME = "name";private static final String KEY_PH_NUM = "phone_number";public DatabaseHandler(Context context) {super(context, DATABASE_NAME, null, DATABASE_VERSION);}// Creating Tables 创建表: CREATE TABLE table_name (column_name column_type);@Overridepublic void onCreate(SQLiteDatabase db) {String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_CONTACTS + "("                + KEY_ID + " INTEGER PRIMARY KEY," + KEY_NAME + " TEXT,"                + KEY_PH_NUM + " TEXT" + ")";db.execSQL(CREATE_CONTACTS_TABLE);}// Upgrading database@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {// Drop older table if existed 如果表存在,则删除db.execSQL("DROP TABLE IF EXISTS " + TABLE_CONTACTS);// Create tables again。删除完表后,要再次创建表onCreate(db);}/* * CRUD操作。增删改查操作 *///Adding new contact 增加    void addContact(Contact contact) {        SQLiteDatabase db = this.getWritableDatabase();         ContentValues values = new ContentValues();        values.put(KEY_NAME, contact.getName()); // Contact Name        values.put(KEY_PH_NUM, contact.getPhoneNumber()); // Contact Phone         // Inserting Row        db.insert(TABLE_CONTACTS, null, values);        db.close(); // Closing database connection    }     // Getting single contact 获取单条记录    Contact getContact(int id) {        SQLiteDatabase db = this.getReadableDatabase();         Cursor cursor = db.query(TABLE_CONTACTS, new String[] { KEY_ID,                KEY_NAME, KEY_PH_NUM }, KEY_ID + "=?",                new String[] { String.valueOf(id) }, null, null, null, null);        if (cursor != null)            cursor.moveToFirst();         Contact contact = new Contact(Integer.parseInt(cursor.getString(0)),                cursor.getString(1), cursor.getString(2));                return contact;    }         // Getting All Contacts 获取所有的联系人信息    public List<Contact> getAllContacts() {        List<Contact> contactList = new ArrayList<Contact>();        // Select All Query 查询:SELECT * FROM tableName WHERE criteria        String selectQuery = "SELECT  * FROM " + TABLE_CONTACTS;         SQLiteDatabase db = this.getWritableDatabase();        Cursor cursor = db.rawQuery(selectQuery, null);         // looping through all rows and adding to list        if (cursor.moveToFirst()) {            do {                Contact contact = new Contact();                contact.setID(Integer.parseInt(cursor.getString(0)));                contact.setName(cursor.getString(1));                contact.setPhoneNumber(cursor.getString(2));                // Adding contact to list                contactList.add(contact);            } while (cursor.moveToNext());        }         return contactList;    }     // Updating single contact    public int updateContact(Contact contact) {        SQLiteDatabase db = this.getWritableDatabase();         ContentValues values = new ContentValues();        values.put(KEY_NAME, contact.getName());        values.put(KEY_PH_NUM, contact.getPhoneNumber());         // updating row        return db.update(TABLE_CONTACTS, values, KEY_ID + " = ?",                new String[] { String.valueOf(contact.getID()) });    }     // Deleting single contact    public void deleteContact(Contact contact) {        SQLiteDatabase db = this.getWritableDatabase();        db.delete(TABLE_CONTACTS, KEY_ID + " = ?",                new String[] { String.valueOf(contact.getID()) });        db.close();    }      // Getting contacts Count    public int getContactsCount() {        String countQuery = "SELECT  * FROM " + TABLE_CONTACTS;        SQLiteDatabase db = this.getReadableDatabase();        Cursor cursor = db.rawQuery(countQuery, null);        cursor.close();         // return count        return cursor.getCount();    } }



Activity:

package com.example.sqlitetest;import java.util.List;import android.os.Bundle;import android.app.Activity;import android.util.Log;import android.view.Menu;public class SQLiteActivity extends Activity {    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_sqlite);                 DatabaseHandler db = new DatabaseHandler(this);                 /**         * CRUD Operations 增删改查         * */        // Inserting Contacts        Log.d("Insert: ", "Inserting ..");         db.addContact(new Contact("yixiaohan", "9111111111"));                db.addContact(new Contact("jiangge", "9122222222"));        db.addContact(new Contact("xiaokai", "9533333333"));        db.addContact(new Contact("xiaoweiwei", "9544444444"));                 // Reading all contacts        Log.d("Reading: ", "Reading all contacts..");         List<Contact> contacts = db.getAllContacts();                        for (Contact cn : contacts) {            String log = "Id: "+cn.getID()+" ,Name: " + cn.getName() + " ,Phone: " + cn.getPhoneNumber();        Log.d("Name: ", log);// Writing Contacts to log    }    }}



LogCat:

Android SQLite Database Tutorial_第2张图片

更多相关文章

  1. Android:禁止滚动的解决方法
  2. Android AlertDialog包含EditText,软键盘不能弹出的解决方法
  3. Android 将一个数据对象保存到本地以及读取的方法
  4. GPS开发常用方法和Criteria确定android location providerGPS
  5. 通过ddmlib杀死某个android进程的方法
  6. Android之 inflate() 方法总结
  7. android手势操作滑动效果触摸屏事件处理、GestureDetector用法

随机推荐

  1. Android(安卓)studio禁用启动时自动更新S
  2. Android Widget 中ListView加载网络图片
  3. android ClipDrawable 使用
  4. 关于Android的post,get、cookie网络获取的
  5. windows10 环境下编译 Android(安卓)Pjsi
  6. Android模拟器访问Tomcat和IIS7
  7. [Android]获取其他应用的logcat
  8. Android 手势的识别和控制 GestureDeteco
  9. 4.0后configChanges失效的解决
  10. Android(安卓)上成功实现了蓝牙的一些Pro