新建DBHeler.JAVA

  1. package com.hixin.db;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5.  
  6. import com.hixin.contact.User;
  7.  
  8. import android.content.ContentValues;
  9. import android.content.Context;
  10. import android.database.Cursor;
  11. import android.database.sqlite.SQLiteDatabase;
  12. import android.database.sqlite.SQLiteOpenHelper;
  13.  
  14. public class DBHelper extends SQLiteOpenHelper{
  15. public final static String DB_NAME = "contact";
  16. public final static int VERSION = 1;
  17. private static DBHelper instance = null;
  18. private SQLiteDatabase db;
  19.  
  20. //单例模式
  21. private DBHelper(Context context) {
  22. super(context,DB_NAME,null,VERSION);
  23. }
  24.  
  25. public static DBHelper getInstance(Context context) {
  26. if(instance == null) {
  27. instance = new DBHelper(context);
  28. }
  29. return instance;
  30. }
  31. private void openDatabase() {
  32. if(db == null) {
  33. db = this.getReadableDatabase();
  34. }
  35. }
  36.  
  37. @Override
  38. public void onCreate(SQLiteDatabase db) {
  39. // TODO Auto-generated method stub
  40. StringBuffer tableCreate = new StringBuffer();
  41. tableCreate.append("create table user (_id integer primary key autoincrement,")
  42. .append("name text,")
  43. .append("mobilephone text,")
  44. .append("familyphone text,")
  45. .append("officephone text,")
  46. .append("position text,")
  47. .append("company text,")
  48. .append("address text,")
  49. .append("email text,")
  50. .append("othercontact text,")
  51. .append("zipcode text,")
  52. .append("remark text,")
  53. .append("imageid int)");
  54.  
  55. db.execSQL(tableCreate.toString());
  56. }
  57.  
  58. @Override
  59. public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  60. // TODO Auto-generated method stub
  61. String sql = "drop table if exists user";
  62. db.execSQL(sql);
  63. onCreate(db);
  64. }
  65.  
  66. public long save(User user) {
  67. openDatabase();
  68. ContentValues value = new ContentValues();
  69. value.put("name", user.username);
  70. value.put("mobilephone", user.mobilePhone);
  71. value.put("familyphone", user.familyPhone);
  72. value.put("officephone", user.officePhone);
  73. value.put("position", user.position);
  74. value.put("address", user.address);
  75. value.put("email", user.email);
  76. value.put("othercontact", user.otherContact);
  77. value.put("zipcode", user.zipCode);
  78. value.put("remark", user.remark);
  79. value.put("imageid", user.imageId);
  80.  
  81. return db.insert("user", null, value);
  82. }
  83.  
  84. public ArrayList getUserList() {
  85. openDatabase();
  86. Cursor cursor = db.query("user", null, null, null, null, null, null);
  87. ArrayList list = new ArrayList();
  88. while (cursor.moveToNext()) {
  89. HashMap map = new HashMap();
  90. map.put("imageid", cursor.getInt(cursor.getColumnIndex("imageid")));
  91. map.put("name", cursor.getString(cursor.getColumnIndex("name")));
  92. map.put("mobilephone", cursor.getString(cursor.getColumnIndex("mobilephone")));
  93. list.add(map);
  94. }
  95. return list;
  96. }
  97.  
  98. }

主函数中调用 
    //save user to database
    DBHelper.getInstance(MainActivity.this).save(user);

save()调用openDatabase(),如果数据库不存在,则自动调用数据库的onCreate()

//检索数据库

ArrayList data = DBHelper.getInstance(this).getUserList();

tv_name.setText((CharSequence) ((HashMap) data.get(position)).get("name"));

另外一种版本

  1. package com.example.healthembed;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5. import java.util.Map;
  6.  
  7. import com.example.healthembed.dummy.BloodPre;
  8.  
  9. import android.content.ContentValues;
  10. import android.content.Context;
  11. import android.database.Cursor;
  12. import android.database.sqlite.SQLiteDatabase;
  13. import android.database.sqlite.SQLiteOpenHelper;
  14. import android.widget.Toast;
  15.  
  16. public class DatabaseHelper extends SQLiteOpenHelper {
  17.  
  18. private static final String DB_NAME = "person.db"; //数据库名称
  19. private static final int version = 1; //数据库版本
  20. private static DatabaseHelper instance = null;
  21. private SQLiteDatabase db;
  22.  
  23. //单例模式
  24.  
  25. public static DatabaseHelper getInstance(Context context) {
  26. if(instance == null) {
  27. instance = new DatabaseHelper(context);
  28. }
  29. return instance;
  30. }
  31. private void openDatabase() {
  32. if(db == null) {
  33. db = this.getReadableDatabase();
  34. }
  35. }
  36. public DatabaseHelper(Context context) {
  37. super(context, DB_NAME, null, version);
  38. }
  39.  
  40. @Override
  41. public void onCreate(SQLiteDatabase db) {
  42. // TODO Auto-generated method stub
  43. /* StringBuffer tableCreate = new StringBuffer();
  44. tableCreate.append("create table user (_id integer primary key autoincrement,")
  45. .append("hp int,")
  46. .append("lp int)");
  47. db.execSQL(tableCreate.toString());
  48. */
  49. String tableCreate = new String();
  50. tableCreate="create table user (_id integer primary key autoincrement,name varchar(16),pdate text,hp int,lp int)";
  51. db.execSQL(tableCreate);
  52.  
  53. // Toast.makeText(MyApplication.getContext(), "数据保存成功", Toast.LENGTH_SHORT).show();
  54. }
  55.  
  56. @Override
  57. public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  58. // TODO Auto-generated method stub
  59. String sql = "drop table if exists user";
  60. db.execSQL(sql);
  61. onCreate(db);
  62. }
  63.  
  64. public long save(BloodPre user) {
  65. openDatabase();
  66. ContentValues value = new ContentValues();
  67. value.put("name", user.name);
  68. value.put("pdate",user.time);
  69. value.put("hp", user.highp);
  70. value.put("lp", user.lowp);
  71. return db.insert("user", null, value);
  72. }
  73.  
  74. public ArrayList getUserList() {
  75. openDatabase();
  76. Cursor cursor = db.query("user", null, null, null, null, null, null);
  77. ArrayList<Map> list = new ArrayList();
  78. while (cursor.moveToNext()) {
  79. HashMap map = new HashMap();
  80. map.put("name", cursor.getInt(cursor.getColumnIndex("name")));
  81. map.put("pdate", cursor.getString(cursor.getColumnIndex("pdate")));
  82. map.put("hp", cursor.getInt(cursor.getColumnIndex("hp")));
  83. map.put("lp", cursor.getInt(cursor.getColumnIndex("lp")));
  84. list.add(map);
  85. }
  86. return list;
  87. }
  88. }

封装性更好的,适合建立多个表!

  1. package com.example.health.util;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5. import java.util.List;
  6. import java.util.Map;
  7.  
  8. import com.example.health.bp.DatabaseHelper;
  9.  
  10. import android.content.ContentValues;
  11. import android.content.Context;
  12. import android.database.Cursor;
  13. import android.database.sqlite.SQLiteDatabase;
  14. import android.database.sqlite.SQLiteDatabase.CursorFactory;
  15. import android.database.sqlite.SQLiteOpenHelper;
  16.  
  17. /**
  18. * @author wuzhixin
  19. * 有if语句的地方添加 else if代码就行
  20. * 目的在于用一个SQLiteOpenHelper子类创建多个表,并且表之间是独立的,不会一下在创建多个表
  21. */
  22. public class GeneralDbHelper extends SQLiteOpenHelper{
  23.  
  24. private static final String DB_NAME = "person.db"; //数据库名称
  25. private static final int version = 1; //数据库版本
  26. private static GeneralDbHelper instance = null;
  27. private SQLiteDatabase db;
  28. private Object bean;
  29.  
  30. //单例模式
  31.  
  32. public static GeneralDbHelper getInstance(Context context,Object userType) {
  33. if(instance == null) {
  34. instance = new GeneralDbHelper(context,userType);
  35. }
  36. return instance;
  37. }
  38. private void openDatabase() {
  39. if(db == null) {
  40. db = this.getReadableDatabase();
  41. }
  42. }
  43. public GeneralDbHelper (Context context,Object userType) {
  44. super(context, DB_NAME, null, version);
  45. this.bean = userType;
  46. }
  47.  
  48. /* (non-Javadoc)
  49. * @see android.database.sqlite.SQLiteOpenHelper#onCreate(android.database.sqlite.SQLiteDatabase)
  50. */
  51. @Override
  52. public void onCreate(SQLiteDatabase db) {
  53. // TODO Auto-generated method stub
  54. /* StringBuffer tableCreate = new StringBuffer();
  55. tableCreate.append("create table user (_id integer primary key autoincrement,")
  56. .append("hp int,")
  57. .append("lp int)");
  58. db.execSQL(tableCreate.toString());
  59. */
  60. String tableCreate = new String();
  61. if(bean instanceof User) {
  62. tableCreate = "CREATE TABLE zhongduanuser (shenfennum varchar(255) primary key,name varchar(64),regtime varchar(255),address varchar(255), birthdate varchar(255))";
  63. db.execSQL(tableCreate);
  64. }
  65.  
  66. // Toast.makeText(MyApplication.getContext(), "数据保存成功", Toast.LENGTH_SHORT).show();
  67. }
  68.  
  69. @Override
  70. public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  71. // TODO Auto-generated method stub
  72. if(bean instanceof User) {
  73. String sql = "drop table if exists zhongduanuser";
  74. db.execSQL(sql);
  75. }
  76. onCreate(db);
  77. }
  78.  
  79. public long save(Object obj) {
  80. openDatabase();
  81. ContentValues value = new ContentValues();
  82. if(obj instanceof User) {
  83. /*private String shenfennum;
  84. private String name;
  85. private String regtime;
  86. private String address;
  87. private String birthdate;*/
  88.  
  89. value.put("shenfennum", ((User)obj).getShenfennum());
  90. value.put("name", ((User)obj).getName());
  91. value.put("regtime", ((User)obj).getRegtime());
  92. value.put("address", ((User)obj).getAddress());
  93. value.put("birthdate", ((User)obj).getBirthdate());
  94. return db.insert("zhongduanuser", null, value);
  95. }else{
  96. return 0;
  97. }
  98.  
  99. }
  100.  
  101. public List<?> getBeanList() {
  102. openDatabase();
  103. if(bean instanceof User) {
  104. Cursor cursor = db.query("zhongduanuser", null, null, null, null, null, null);
  105. List<User> list = new ArrayList<User>();
  106. while (cursor.moveToNext()) {
  107. User user = new User();
  108. user.setShenfennum(cursor.getString(cursor.getColumnIndex("shenfennum")));
  109. user.setName(cursor.getString(cursor.getColumnIndex("name")));
  110. user.setRegtime(cursor.getString(cursor.getColumnIndex("regtime")));
  111. user.setAddress(cursor.getString(cursor.getColumnIndex("address")));
  112. user.setBirthdate(cursor.getString(cursor.getColumnIndex("birthdate")));
  113. list.add(user);
  114. }
  115. return list;
  116. }
  117. else {
  118. return null;
  119. }
  120.  
  121. }
  122. }

保存数据:

//创建数据库,保存用户信息到本地 
for (User suser : app.userList) { 
GeneralDbHelper.getInstance(MyApplication.getContext(), suser).save(suser);
}

使用数据:

User user = new User();
app.userList = GeneralDbHelper.getInstance(MyApplication.getContext(), user).getBeanList();

上面的不能正确使用,下面的这个可以

  1. package com.example.health.util;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5. import java.util.List;
  6. import java.util.Map;
  7. import android.content.ContentValues;
  8. import android.content.Context;
  9. import android.database.Cursor;
  10. import android.database.sqlite.SQLiteDatabase;
  11. import android.database.sqlite.SQLiteDatabase.CursorFactory;
  12. import android.database.sqlite.SQLiteOpenHelper;
  13.  
  14. /**
  15. * @author wuzhixin
  16. * 有if语句的地方添加 else if代码就行
  17. * 目的在于用一个SQLiteOpenHelper子类创建多个表,并且表之间是独立的,不会一下在创建多个表
  18. */
  19. public class GeneralDbHelper extends SQLiteOpenHelper{
  20.  
  21. private static final String DB_NAME = "person.db"; //数据库名称
  22. private static final int version = 1; //数据库版本
  23. private static GeneralDbHelper instance = null;
  24. private SQLiteDatabase db;
  25.  
  26. //单例模式
  27.  
  28. public static GeneralDbHelper getInstance(Context context) {
  29. if(instance == null) {
  30. instance = new GeneralDbHelper(context);
  31. }
  32. return instance;
  33. }
  34. private void openDatabase() {
  35. if(db == null) {
  36. db = this.getReadableDatabase();
  37. }
  38. }
  39. public GeneralDbHelper (Context context) {
  40. super(context, DB_NAME, null, version);
  41. }
  42.  
  43. /* (non-Javadoc)
  44. * @see android.database.sqlite.SQLiteOpenHelper#onCreate(android.database.sqlite.SQLiteDatabase)
  45. */
  46. @Override
  47. public void onCreate(SQLiteDatabase db) {
  48. // TODO Auto-generated method stub
  49. /* StringBuffer tableCreate = new StringBuffer();
  50. tableCreate.append("create table user (_id integer primary key autoincrement,")
  51. .append("hp int,")
  52. .append("lp int)");
  53. db.execSQL(tableCreate.toString());
  54. */
  55.  
  56. String tableCreate1 = "CREATE TABLE zhongduanuser (shenfennum varchar(255) primary key,name varchar(64),regtime varchar(255),address varchar(255), birthdate varchar(255))";
  57. db.execSQL(tableCreate1);
  58. String tableCreate2="create table xueya2 (_id integer primary key autoincrement,userid varchar(255),regdate varchar(64),shousuo int(11),shuzhang int(11),maibo int(11))";
  59. db.execSQL(tableCreate2);
  60.  
  61. // Toast.makeText(MyApplication.getContext(), "数据保存成功", Toast.LENGTH_SHORT).show();
  62. }
  63.  
  64. @Override
  65. public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  66. // TODO Auto-generated method stub
  67.  
  68. String sql1 = "drop table if exists zhongduanuser";
  69. db.execSQL(sql1);
  70.  
  71. String sql2 = "drop table if exists xueya2";
  72. db.execSQL(sql2);
  73. onCreate(db);
  74. }
  75.  
  76. public long save(Object obj) {
  77. openDatabase();
  78. ContentValues value = new ContentValues();
  79. if(obj instanceof User) {
  80. /*private String shenfennum;
  81. private String name;
  82. private String regtime;
  83. private String address;
  84. private String birthdate;*/
  85.  
  86. value.put("shenfennum", ((User)obj).getShenfennum());
  87. value.put("name", ((User)obj).getName());
  88. value.put("regtime", ((User)obj).getRegtime());
  89. value.put("address", ((User)obj).getAddress());
  90. value.put("birthdate", ((User)obj).getBirthdate());
  91. return db.insert("zhongduanuser", null, value);
  92. }else if(obj instanceof BloodPre){
  93. /*private String userid;
  94. private String time;
  95. private int highp;
  96. private int lowp;
  97. private int pulse;*/
  98. value.put("userid", ((BloodPre)obj).getUserid());
  99. value.put("regdate", ((BloodPre)obj).getTime());
  100. value.put("shousuo", ((BloodPre)obj).getHighp());
  101. value.put("shuzhang", ((BloodPre)obj).getLowp());
  102. value.put("maibo", ((BloodPre)obj).getPulse());
  103. return db.insert("xueya2", null, value);
  104. }else{
  105. return 0;
  106. }
  107.  
  108. }
  109.  
  110. public List<?> getBeanList(Object obj) {
  111. openDatabase();
  112. if(obj instanceof User) {
  113. Cursor cursor = db.query("zhongduanuser", null, null, null, null, null, null);
  114. List<User> list = new ArrayList<User>();
  115. while (cursor.moveToNext()) {
  116. User user = new User();
  117. user.setShenfennum(cursor.getString(cursor.getColumnIndex("shenfennum")));
  118. user.setName(cursor.getString(cursor.getColumnIndex("name")));
  119. user.setRegtime(cursor.getString(cursor.getColumnIndex("regtime")));
  120. user.setAddress(cursor.getString(cursor.getColumnIndex("address")));
  121. user.setBirthdate(cursor.getString(cursor.getColumnIndex("birthdate")));
  122. list.add(user);
  123. }
  124. return list;
  125. }else if(obj instanceof BloodPre){
  126. Cursor cursor = db.query("xueya2", null, null, null, null, null, null);
  127. List<BloodPre> list = new ArrayList<BloodPre>();
  128. while (cursor.moveToNext()) {
  129. BloodPre bloodpre = new BloodPre();
  130. bloodpre.setUserid(cursor.getString(cursor.getColumnIndex("userid")));
  131. bloodpre.setTime(cursor.getString(cursor.getColumnIndex("regdate")));
  132. bloodpre.setHighp(cursor.getInt(cursor.getColumnIndex("shousuo")));
  133. bloodpre.setLowp(cursor.getInt(cursor.getColumnIndex("shuzhang")));
  134. bloodpre.setPulse(cursor.getInt(cursor.getColumnIndex("maibo")));
  135.  
  136. list.add(bloodpre);
  137. }
  138. return list;
  139. }
  140. else {
  141. return null;
  142. }
  143.  
  144. }
  145. }

更新的版本:

  1. package com.example.health.util;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5. import java.util.List;
  6. import java.util.Map;
  7. import android.content.ContentValues;
  8. import android.content.Context;
  9. import android.database.Cursor;
  10. import android.database.sqlite.SQLiteDatabase;
  11. import android.database.sqlite.SQLiteDatabase.CursorFactory;
  12. import android.database.sqlite.SQLiteOpenHelper;
  13.  
  14. /**
  15. * @author wuzhixin
  16. *
  17. * 目的在于用一个SQLiteOpenHelper子类创建多个表
  18. */
  19. public class GeneralDbHelper extends SQLiteOpenHelper{
  20.  
  21. private static final String DB_NAME = "person.db"; //数据库名称
  22. private static final int version = 1; //数据库版本
  23. private static GeneralDbHelper instance = null;
  24. private SQLiteDatabase db;
  25.  
  26. //单例模式
  27.  
  28. public static GeneralDbHelper getInstance(Context context) {
  29. if(instance == null) {
  30. instance = new GeneralDbHelper(context);
  31. }
  32. return instance;
  33. }
  34. private void openDatabase() {
  35. if(db == null) {
  36. db = this.getReadableDatabase();
  37. }
  38. }
  39. public GeneralDbHelper (Context context) {
  40. super(context, DB_NAME, null, version);
  41. }
  42.  
  43. /* (non-Javadoc)
  44. * @see android.database.sqlite.SQLiteOpenHelper#onCreate(android.database.sqlite.SQLiteDatabase)
  45. */
  46. @Override
  47. public void onCreate(SQLiteDatabase db) {
  48. // TODO Auto-generated method stub
  49. /* StringBuffer tableCreate = new StringBuffer();
  50. tableCreate.append("create table user (_id integer primary key autoincrement,")
  51. .append("hp int,")
  52. .append("lp int)");
  53. db.execSQL(tableCreate.toString());
  54. */
  55.  
  56. String tableCreate1 = "CREATE TABLE zhongduanuser (shenfennum varchar(255) primary key,name varchar(64),regtime varchar(255),address varchar(255), birthdate varchar(255))";
  57. db.execSQL(tableCreate1);
  58. String tableCreate2="create table xueya2 (_id integer primary key autoincrement,userid varchar(255),regdate varchar(64),shousuo int(11),shuzhang int(11),maibo int(11))";
  59. db.execSQL(tableCreate2);
  60.  
  61. // Toast.makeText(MyApplication.getContext(), "数据保存成功", Toast.LENGTH_SHORT).show();
  62. }
  63.  
  64. @Override
  65. public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  66. // TODO Auto-generated method stub
  67.  
  68. String sql1 = "drop table if exists zhongduanuser";
  69. db.execSQL(sql1);
  70.  
  71. String sql2 = "drop table if exists xueya2";
  72. db.execSQL(sql2);
  73. onCreate(db);
  74. }
  75.  
  76. public long save(Object obj) {
  77. openDatabase();
  78. ContentValues value = new ContentValues();
  79. if(obj instanceof User) {
  80. /*private String shenfennum;
  81. private String name;
  82. private String regtime;
  83. private String address;
  84. private String birthdate;*/
  85.  
  86. value.put("shenfennum", ((User)obj).getShenfennum());
  87. value.put("name", ((User)obj).getName());
  88. value.put("regtime", ((User)obj).getRegtime());
  89. value.put("address", ((User)obj).getAddress());
  90. value.put("birthdate", ((User)obj).getBirthdate());
  91. return db.insert("zhongduanuser", null, value);
  92. }else if(obj instanceof BloodPre){
  93. /*private String userid;
  94. private String time;
  95. private int highp;
  96. private int lowp;
  97. private int pulse;*/
  98. value.put("userid", ((BloodPre)obj).getUserid());
  99. value.put("regdate", ((BloodPre)obj).getTime());
  100. value.put("shousuo", ((BloodPre)obj).getHighp());
  101. value.put("shuzhang", ((BloodPre)obj).getLowp());
  102. value.put("maibo", ((BloodPre)obj).getPulse());
  103. return db.insert("xueya2", null, value);
  104. }else{
  105. return 0;
  106. }
  107.  
  108. }
  109.  
  110. public List<?> getBeanList(Object obj) {
  111. openDatabase();
  112. if(obj instanceof User) {
  113. Cursor cursor = db.query("zhongduanuser", null, null, null, null, null, null);
  114. List<User> list = new ArrayList<User>();
  115. while (cursor.moveToNext()) {
  116. User user = new User();
  117. user.setShenfennum(cursor.getString(cursor.getColumnIndex("shenfennum")));
  118. user.setName(cursor.getString(cursor.getColumnIndex("name")));
  119. user.setRegtime(cursor.getString(cursor.getColumnIndex("regtime")));
  120. user.setAddress(cursor.getString(cursor.getColumnIndex("address")));
  121. user.setBirthdate(cursor.getString(cursor.getColumnIndex("birthdate")));
  122. list.add(user);
  123. }
  124. return list;
  125. }else if(obj instanceof BloodPre){
  126. Cursor cursor = db.query("xueya2", null, null, null, null, null, null);
  127. List<BloodPre> list = new ArrayList<BloodPre>();
  128. while (cursor.moveToNext()) {
  129. BloodPre bloodpre = new BloodPre();
  130. bloodpre.setUserid(cursor.getString(cursor.getColumnIndex("userid")));
  131. bloodpre.setTime(cursor.getString(cursor.getColumnIndex("regdate")));
  132. bloodpre.setHighp(cursor.getInt(cursor.getColumnIndex("shousuo")));
  133. bloodpre.setLowp(cursor.getInt(cursor.getColumnIndex("shuzhang")));
  134. bloodpre.setPulse(cursor.getInt(cursor.getColumnIndex("maibo")));
  135.  
  136. list.add(bloodpre);
  137. }
  138. return list;
  139. }
  140. else {
  141. return null;
  142. }
  143.  
  144. }
  145.  
  146. public List<?> getBeanList(Object obj,String userID) {
  147. openDatabase();
  148. if(obj instanceof BloodPre){
  149.  
  150. String query = "select regdate,shousuo,shuzhang,maibo from xueya2 where userid = "+userID;
  151. Cursor cursor = db.query("xueya2", new String[]{"regdate,shousuo,shuzhang,maibo"},"userid=?", new String[]{userID}, null, null, null);
  152. List<BloodPre> list = new ArrayList<BloodPre>();
  153. while (cursor.moveToNext()) {
  154. BloodPre bloodpre = new BloodPre();
  155. bloodpre.setTime(cursor.getString(cursor.getColumnIndex("regdate")));
  156. bloodpre.setHighp(cursor.getInt(cursor.getColumnIndex("shousuo")));
  157. bloodpre.setLowp(cursor.getInt(cursor.getColumnIndex("shuzhang")));
  158. bloodpre.setPulse(cursor.getInt(cursor.getColumnIndex("maibo")));
  159. list.add(bloodpre);
  160. }
  161. return list;
  162. }
  163. else {
  164. return null;
  165. }
  166.  
  167. }
  168. }

存数据:

//创建数据库,保存用户信息到本地
for (User suser : app.userList) {
GeneralDbHelper.getInstance(MyApplication.getContext()).save(suser);
}

取数据:

User user = new User();
app.userList = (List<User>) GeneralDbHelper.getInstance(MyApplication.getContext()).getBeanList(user);

已有数据库时:

  1. private final String DATABASE_PATH = android.os.Environment
  2. .getExternalStorageDirectory().getAbsolutePath()
  3. + "/dictionary";
  4. //定义数据库的名字
  5. private final String DATABASE_FILENAME = "dictionary.db";
  6.  
  7. private SQLiteDatabase openDatabase()
  8. {
  9. try
  10. {
  11. // 获得dictionary.db文件的绝对路径
  12. String databaseFilename = DATABASE_PATH + "/" + DATABASE_FILENAME;
  13. File dir = new File(DATABASE_PATH);
  14. // 如果/sdcard/dictionary目录中存在,创建这个目录
  15. if (!dir.exists())
  16. dir.mkdir();
  17. // 如果在/sdcard/dictionary目录中不存在
  18. // dictionary.db文件,则从res\raw目录中复制这个文件到
  19. // SD卡的目录(/sdcard/dictionary)
  20. if (!(new File(databaseFilename)).exists())
  21. {
  22. // 获得封装dictionary.db文件的InputStream对象
  23. InputStream is = getResources().openRawResource(
  24. R.raw.dictionary);
  25. FileOutputStream fos = new FileOutputStream(databaseFilename);
  26. byte[] buffer = new byte[8192];
  27. int count = 0;
  28. // 开始复制dictionary.db文件
  29. while ((count = is.read(buffer)) > 0)
  30. {
  31. fos.write(buffer, 0, count);
  32. }
  33. //关闭文件流
  34. fos.close();
  35. is.close();
  36. }
  37. // 打开/sdcard/dictionary目录中的dictionary.db文件
  38. SQLiteDatabase database = SQLiteDatabase.openOrCreateDatabase(
  39. databaseFilename, null);
  40. return database;
  41. }
  42. catch (Exception e)
  43. {
  44. }
  45. //如果打开出错,则返回null
  46. return null;
  47. }

SQLiteDatabase的使用的更多相关文章

  1. Androide SQLiteDatabase数据库操作(转)

    SQLite可以解析大部分的标准SQL语句:建表语句:create table 表名(主键名 integer primary key autoincrement(设置为自增列),其他列名及属性)或(主 ...

  2. SQLiteDatabase 基本操作

    一.SQLiteOpenHelper类 android 提供类SQLiteOpenHelper帮助用户简化对SQLite数据库的操作.该类是一个抽象类,必须用户自己实现并重写oncreate()和on ...

  3. Android本地数据存储之SQLite关系型数据库 ——SQLiteDatabase

    数据库的创建,获取,执行sql语句: 框架搭建:dao 思考: 1.数据库保存在哪里? 2.如何创建数据库?如何创建表? 3.如何更新数据库?如何更改表的列数据? 4.如何获取数据库? 5.如何修改数 ...

  4. SQLiteDatabase浅谈

    (一).简介: Android通过 SQLite 数据库引擎来实现结构化数据的存储.在一个数据库应用程序中,任何类都可以通过名字对已经创建的数据库进行访问,但是在应用程序之外就不可以. SQLite  ...

  5. Android——使用SQLiteDatabase操作SQLite数据库

    除了可以使用文件或SharedPreferences存储数据,还可以选择使用SQLite数据库存储数据. 在Android平台上,集成了一个嵌入式关系型数据库-SQLite,SQLite3支持 NUL ...

  6. 数据库SQLiteDatabase

    package com.baclock.entity; import android.provider.BaseColumns; /** * Created by Jack on 5/4/2016. ...

  7. SQLiteDatabase中的事务

    beginTransaction():开始事务endTransaction():结束事务SQLiteDatabase还提供了如下方法来判断当前上下文是否处于事物环境中.inTransaction(): ...

  8. SQLiteDatabase里面的简单操作数据库的方法

    1.使用insert方法插入记录SQLiteDatabase的insert方法的签名为long insert(String table,String nullColumnHack,ContentVal ...

  9. 使用SQLiteDatabase进行数据库操作的步骤

    1.获取SQLiteDatabase对象,它代表了与数据库的连接.2.调用SQLiteDatabase的方法来执行SQL语句.3.操作SQL语句的执行结果,比如用SimpleCursorAdapter ...

  10. 关于android的SQLiteDatabase和Cursor的一些疑问

    android数据库操作的基础有三个类:SQLiteOpenHelper,SQLiteDatabase和Cursor.其中,SQLiteOpenHelper会建立一个数据库连接,它虽然可以调用多次ge ...

随机推荐

  1. TensorFlow 安装详解

    摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! 『不要把手段当成目标 — <一个瑜伽行者的自传>』   本文提纲 1. 机器学习 2 ...

  2. 老李分享:性能测试你不应该只知道loadrunner(1)

    老李分享:性能测试你不应该只知道loadrunner(1)   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.poptest测试 ...

  3. android开发用无线网络进行Android开发中的调试

    1.手机具有root权限 2.安装adbWireless1.5.4.apk (下面有下载地址) 3.敲入命令:adb connect 192.168.1.127  后面是手机的IP地址 打开eclip ...

  4. 腾讯IVWEB团队:WebRTC 点对点直播

    作者:villainthr 摘自:villainhr WebRTC 全称为:Web Real-Time Communication.它是为了解决 Web 端无法捕获音视频的能力,并且提供了 peer- ...

  5. js正则表达式匹配字符串与优化过程

    前言 有时候需要实现对js源文件中的url字符串做拦截预处理,或者前端js语法高亮,或者需要对动态加载的关键源码做混淆保护,在某些步骤实现之前,有一个步骤是需要提炼出所有的合法字符串. 目标:检测源文 ...

  6. PHP初学者如何搭建环境,并在本地服务器(or云端服务器)运行自己的第一个PHP样例

    页面底部有PHP代码样例供测试使用. 1.PHP开发,你需要什么? 1)开发代码的工具,可以用IDE名字叫做phpDesigner.当然也可以临时用记事本代替,记得文件扩展名为.php 2)服务器(本 ...

  7. get方式提交中文乱码(两次编码,一次解码)

    1.编码XMLHttpRequest //建立连接 xmlhttp.open("get","${pageContext.request.contextPath}/serv ...

  8. Java高级特性(基础)

    1.StringBuffer.StringBuilder和String一样,也用来代表字符串.String类是不可变类,任何对String的改变都 会引发新的String对象的生成:StringBuf ...

  9. 从Chrome源码看JS Array的实现

    .aligncenter { clear: both; display: block; margin-left: auto; margin-right: auto } .crayon-line spa ...

  10. oracle表空间扩容

    oracle在使用中会发现,表空间不足的情况:以下介绍了如何1.查询表空间使用率.剩余量:2.如何扩展表空间容量: 1.表空间容量指标查询 SELECT TABLESPACE_NAME "表 ...