`
mysfzj_web
  • 浏览: 14567 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

根据公司项目~搭建开发的框架(二)

阅读更多

 

 


创建数据库工具类
  • SharedPreferences 以XML格式存储数据,存数格式是键值对
  • Sqlite Android内置的数据库,一般使用的时候继承SQLiteOpenHelper,CRUD的常规操作一般写在里面
public class DbHelper extends SQLiteOpenHelper { 


       private static final String DB_NAME = "mydb"; 
       public static final String TB_PERSON = "person"; 
       private static final int VERSION = 1; 
       private static final String CREATE_TABLE_PERSON = "create table  person (_id integer primary key           autoincrement, name text,age integer)"; 
       private Context mContext; 
       private SQLiteDatabase database; 


       public DbHelper(Context context) { 
              //固定版本号,创建数据库
              super(context, DB_NAME, null, VERSION); 
              //获取一个用于操作数据库的SQLiteDatabase实例,有读写的权限
              this.database = getWritableDatabase(); 
              this.mContext = context; 
       }


       @Override 
       public void onCreate(SQLiteDatabase db) { 
              // TODO Auto-generated method stub 


       }


       @Override 
       public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
              // TODO Auto-generated method stub 


       }


       private void createTable(String str, SQLiteDatabase db) { 
              StringBuffer sqlStr = new StringBuffer(); 
              sqlStr.append(str);
              db.execSQL(sqlStr.toString());
       }


       public void open() { 
              //存储一个值用于判断表是否已经创建
              SharedPreferences prefer = ((Activity)mContext).getSharedPreferences("setting", 0); 
              boolean isCreateTable = prefer.getBoolean("iscreatetable", false); 
              if(!isCreateTable){   
               //调用创建表的方法      
                     createTable(CREATE_TABLE_PERSON, database);                           
                     Editor editor = prefer.edit();
                     editor.putBoolean("iscreatetable", true); 
                     editor.commit();
              }
       }


       public void insert(String tableName, ContentValues cv) { 
              database.insert(tableName, null, cv); 
       }


       public void delete(String tableName, String id) { 
              StringBuffer sqlStr = new StringBuffer(); 
              sqlStr.append("delete from "); 
              sqlStr.append(tableName);
              sqlStr.append(" where id=" + id); 
              database.execSQL(sqlStr.toString()); 
       }


       public void delete(String tableName, String columnName, String columnValue) { 
              StringBuffer sqlStr = new StringBuffer(); 
              sqlStr.append("delete from "); 
              sqlStr.append(tableName);
              sqlStr.append(" where " + columnName + "=" + columnValue); 
              database.execSQL(sqlStr.toString()); 
       }


       public void updateById(String tableName, String id, ContentValues cv) { 
              database.update(tableName, cv, "id = ?", new String[] { id }); 
       }


       public Cursor query(String table, String[] columns, String selection, 
                     String[] selectionArgs, String groupBy, String having,
                     String orderBy, String limit) {
              return database.query(table, columns, selection, selectionArgs, 
                           groupBy, having, orderBy);
       }


       public void closeDataBase() { 
              database.close(); 
       }


       public Context getmContext() { 
              return mContext; 
       }
}

 

  • 大小: 17.6 KB
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics