免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1109 | 回复: 1
打印 上一主题 下一主题

Android SQLiteDatabase的使用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-01-05 20:04 |只看该作者 |倒序浏览
Android SQLiteDatabase的使用







Java代码
  1. package com.shawn.test;   
  2.   
  3. import android.content.ContentValues;   
  4. import android.content.Context;   
  5. import android.database.Cursor;   
  6. import android.database.sqlite.SQLiteDatabase;   
  7. import android.database.sqlite.SQLiteOpenHelper;   
  8. import android.util.Log;   
  9.   
  10. public class DatabaseAdapter{   
  11.   
  12.     private static final String DB_NAME = "Test.db";    //数据库名   
  13.     private static final int    DB_VERSION = 1;         //数据库版本   
  14.       
  15.     private static final String DB_TABLE = "my_order";  //表名   
  16.     private static final String KEY_ID = "_id";         //id   
  17.     private static final String KEY_ORDER_ID = "order_id";  //订单号   
  18.     private static final String KEY_TYPE = "_type";         //订单类型   
  19.     private static final String KEY_STATE = "_state";       //订单状态   
  20.       
  21.     private Context context;   
  22.     private DatabaseHelper mDatabaseHelper;   
  23.     private SQLiteDatabase mSQLiteDatabase;   
  24.       
  25.     private static class DatabaseHelper extends SQLiteOpenHelper{   
  26.         //创建数据库语句   
  27.         private static final String DB_CREAT = "CREATE TABLE "  
  28.                 + DB_TABLE   
  29.                 + " (" + KEY_ID + " INTEGER PRIMARY KEY,"  
  30.                 + KEY_ORDER_ID + " TEXT,"  
  31.                 + KEY_TYPE + " INTEGER,"  
  32.                 + KEY_STATE + " INTEGER)";   
  33.            
  34.         public DatabaseHelper(Context context) {   
  35.             super(context, DB_NAME,  null , DB_VERSION);   
  36.         }   
  37.         @Override  
  38.         public void onCreate(SQLiteDatabase db) {   
  39.             // TODO Auto-generated method stub   
  40.             db.execSQL(DB_CREAT);   
  41.         }   
  42.         @Override  
  43.         public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {   
  44.             // TODO Auto-generated method stub   
  45.             db.execSQL("DROP TABLE IF EXISTS "+DB_TABLE);   
  46.             onCreate(db);   
  47.         }   
  48.     }   
  49.   
  50.     public DatabaseAdapter(Context context) {   
  51.         this.context = context;   
  52.     }   
  53.     //开启   
  54.     public void open() {   
  55.         mDatabaseHelper = new DatabaseHelper(context);     
  56.         mSQLiteDatabase = mDatabaseHelper.getWritableDatabase();   
  57.     }   
  58.     //关闭   
  59.     public void close() {   
  60.         mSQLiteDatabase.close();   
  61.         mDatabaseHelper.close();   
  62.     }   
  63.       
  64.     //增   
  65.     public long insertData(String orderId, int type) {     
  66.         ContentValues values = new  ContentValues();      
  67.         values.put(KEY_ORDER_ID, orderId);   
  68.         values.put(KEY_TYPE, type);   
  69.         values.put(KEY_STATE, Config.STATE_APPLY);   
  70.         long id = mSQLiteDatabase.insert(DB_TABLE, KEY_ID, values);   
  71.         return id;   
  72.     }   
  73.     //删   
  74.     public boolean deleteData(Context context, long id) {   
  75.         boolean delete = mSQLiteDatabase.delete(DB_TABLE, KEY_ID + "=" +id, null)>0;   
  76.         return delete;   
  77.     }   
  78.     //改   
  79.     public boolean updateData(long id, int state) {   
  80.         ContentValues values = new  ContentValues();     
  81.         values.put(KEY_STATE, ""+state);   
  82.         boolean update = mSQLiteDatabase.update(DB_TABLE, values, KEY_ID + "=" +id, null)>0;   
  83.         return update;   
  84.     }   
  85.     //查   
  86.     public Cursor fetchData(String selection) {   
  87.         Cursor mCursor = mSQLiteDatabase.query(DB_TABLE, new String[]{KEY_ID, KEY_ORDER_ID, KEY_TYPE, KEY_STATE}, selection, null, null, null, null);   
  88.         if(mCursor != null)   
  89.             mCursor.moveToFirst();   
  90.         return mCursor;   
  91.     }   
  92. }
复制代码

论坛徽章:
0
2 [报告]
发表于 2012-01-05 20:04 |只看该作者
谢谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP