如何进行Android数据库操作

强烈建议,在自己Android数据库接收或发出一个系统action的时候,要名副其实。比如你响应一个view动作,做的确实edit的勾当,你发送一个pick消息,其实你想让别人做edit的事,这样都会造成混乱。

为乐亭等地区用户提供了全套网页设计制作服务,及乐亭网站建设行业解决方案。主营业务为网站制作、成都网站设计、乐亭网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

一个好的习惯是创建一个辅助类来简化你的Android数据库交互。考虑创建一个数据库适配器,来添加一个与数据库交互的包装层。它应该提供直观的、强类型的方法,如添加、删除和更新项目。数据库适配器还应该处理查询和对创建、打开和关闭数据库的包装。

它还常用静态的Android数据库常量来定义表的名字、列的名字和列的索引。下面的代码片段显示了一个标准数据库适配器类的框架。它包括一个SQLiteOpenHelper类的扩展类,用于简化打开、创建和更新数据库。

 
 
 
  1. import android.content.Context;  
  2.  
  3. import android.database.*;  
  4.  
  5. import android.database.sqlite.*;  
  6.  
  7. import android.database.sqlite.SQLiteDatabase.CursorFactory;  
  8.  
  9. import android.util.Log;  
  10.  
  11. public class MyDBAdapter   
  12.  
  13. {  // The name and column index of each column in your database.  
  14.  
  15. public static final String KEY_NAME=”name”;  
  16.  
  17. public static final int NAME_COLUMN = 1;  
  18.  
  19.    
  20.  
  21. // TODO: Create public field for each column in your table.  
  22.  
  23. // SQL Statement to create a new database.  
  24.  
  25. private static final String DATABASE_CREATE = “create table “ +  
  26.  
  27. DATABASE_TABLE + “ (“ + KEY_ID + “ integer primary key autoincrement, “ +  
  28.  
  29. KEY_NAME + “ text not null);”;  
  30.  
  31.    
  32.  
  33. // Variable to hold the database instance  
  34.  
  35. private SQLiteDatabase db;  
  36.  
  37.    
  38.  
  39. // Context of the application using the database.  
  40.  
  41. private final Context context;  
  42.  
  43.    
  44.  
  45. // Database open/upgrade helper  
  46.  
  47. private myDbHelper dbHelper;  
  48.  
  49.    
  50.  
  51. public MyDBAdapter(Context _context) {  
  52.  
  53. context = _context;  
  54.  
  55. dbHelper = new myDbHelper(context, DATABASE_NAME, null, DATABASE_VERSION);  
  56.  
  57. }  
  58.  
  59.    
  60.  
  61. public MyDBAdapter open() throws SQLException {  
  62.  
  63. db = dbHelper.getWritableDatabase();  
  64.  
  65. return this;  
  66.  
  67. }  
  68.  
  69.    
  70.  
  71. public void close() {  
  72.  
  73. db.close();  
  74.  
  75. }  
  76.  
  77.    
  78.  
  79. public long insertEntry(MyObject _myObject) {  
  80.  
  81. ContentValues contentValues = new ContentValues();  
  82.  
  83. // TODO fill in ContentValues to represent the new row  
  84.  
  85. return db.insert(DATABASE_TABLE, null, contentValues);  
  86.  
  87. }  
  88.  
  89.    
  90.  
  91. public boolean removeEntry(long _rowIndex) {  
  92.  
  93. return db.delete(DATABASE_TABLE, KEY_ID + “=” + _rowIndex, null) > 0;  
  94.  
  95. }  
  96.  
  97. public Cursor getAllEntries () {  
  98.  
  99. return db.query(DATABASE_TABLE, new String[] {KEY_ID, KEY_NAME},  
  100.  
  101. null, null, null, null, null);  
  102.  
  103. }  
  104.  
  105. public MyObject getEntry(long _rowIndex) {  
  106.  
  107. MyObject objectInstance = new MyObject();  
  108.  
  109. // TODO Return a cursor to a row from the database and  
  110.  
  111. // use the values to populate an instance of MyObject  
  112.  
  113. return objectInstance;  
  114.  
  115. }  
  116.  
  117. public int updateEntry(long _rowIndex, MyObject _myObject) {  
  118.  
  119. String where = KEY_ID + “=” + _rowIndex;  
  120.  
  121. ContentValues contentValues = new ContentValues();  
  122.  
  123. // TODO fill in the ContentValue based on the new object  
  124.  
  125. return db.update(DATABASE_TABLE, contentValues, where, null);  
  126.  
  127. }  
  128.  
  129.    
  130.  
  131. private static class myDbHelper extends SQLiteOpenHelper   
  132.  
  133. {  
  134.  
  135. public myDbHelper(Context context, String name, CursorFactory factory, int version) {  
  136.  
  137. super(context, name, factory, version);  
  138.  
  139. }  
  140.  
  141.    
  142.  
  143. // Called when no database exists in  
  144.  
  145. // disk and the helper class needs  
  146.  
  147. // to create a new one.  
  148.  
  149. @Override  
  150.  
  151. public void onCreate(SQLiteDatabase _db) {  
  152.  
  153. _db.execSQL(DATABASE_CREATE);  
  154.  
  155. }  

【编辑推荐】

  1. Android应用程序组建原理深入剖析 
  2. Android SMS短信服务相关概念简述 
  3. PythonAndroid数据库相关代码解读 
  4. PythonAndroid安装卸载程序具体操作方法解析 
  5. Android应用程序的四个关键点 

文章标题:如何进行Android数据库操作
浏览地址:http://www.shufengxianlan.com/qtweb/news28/230628.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联