android 将db文件放入sdcard 下面的访问

這篇文章會介紹

如何新增資料到sqllite database,並在database作查詢等動作

上一篇已經介紹如何在sd card新增資料庫

這裡就只略過如何新增資料庫,直接說明新增and查詢的動作

public class db_sample {
 public static final String STR_TABLE_NAME    = "table_name"; //table名稱
 public static final String STR_FIELD_ID     = "field_id";  //欄位名稱 
 public static final String STR_FIELD_NAME    = "field_name"; //欄位名稱
 private static Context context;         
 
 public db_sample(Context context) {
  this.context = context; //new這個class時,一定要傳入context,因為openOrCreateDatabase是由context底下的method
 }
 
 //建立table的method
 public static final void fnCreateDB(){
  //MODE_WORLD_WRITEABLE,只能有寫的權限
  SQLiteDatabase dbwrite 
      = context.openOrCreateDatabase("/sdcard/hi_test.db", context.MODE_WORLD_WRITEABLE, null);
  
  //建立table
  String sql = 
    String.format("CREATE TABLE %s (%s INTEGER primary key autoincrement, %s text )"
        , STR_TABLE_NAME  
        , STR_FIELD_ID    
        , STR_FIELD_NAME   
    ); 
  dbwrite.execSQL(sql);
 }
 
 //新增資料的method
 public static final long fnInsert(String strText){
  SQLiteDatabase dbwrite 
      = context.openOrCreateDatabase("/sdcard/hi_test.db", context.MODE_WORLD_WRITEABLE, null);
  ContentValues cv = new ContentValues();
  cv.put(STR_FIELD_NAME, strText);
  return dbwrite.insert(STR_TABLE_NAME, null, cv);//如果return -1代表有錯誤,否則會return該筆資料在第幾列
 }
 
 //撈資料的method
 public  static final int fnRead(String strText){
  //MODE_WORLD_WRITEABLE,只能有讀取的權限
  SQLiteDatabase dbread 
      = context.openOrCreateDatabase("/sdcard/hi_test.db",context. MODE_WORLD_READABLE, null);
  
  
  Cursor cursor 
    = dbread.rawQuery( 
      "select "+STR_FIELD_ID+" from "+STR_TABLE_NAME+" where "+STR_FIELD_NAME+"=?", 
      new String[] {strText}
    );
  
  if (cursor.moveToFirst()) { 
   return cursor.getInt(0);
  }
  return -1;
 }
 
}




呼叫方法就如下: 

public class test extends Activity{
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 db_sample db = new db_sample(this);
 db.fnCreateDB();
 db.fnInsert("HI");
 int iID = db.fnRead("HI");
 }

}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值