android如何添加数据库文件夹,android – 如何将数据插入assets文件夹中的数据库文件...

您不应该在assets文件夹中创建数据库,因为我们只能从assets文件夹中读取数据.

实际上你应该在默认的内部文件夹中创建数据库,即data / data / [package-name] / databases或者你也可以在sdcard中创建你的数据库,并且可以执行读写操作,但当然如果有的话它将无法运行没有SD卡.

以下是在SD卡中创建数据库的代码: –

private SQLiteDatabase db;

private static Context cntxt;

public static File filename = null;

public static String DATABASE_FILE_PATH_EXTERNAL = null;

public DBHelper(Context context) {

super(context, DATABASE_NAME, null,1);

cntxt = context;

try{

try{

filename = Environment.getExternalStorageDirectory();

}catch(Exception e){

Toast.makeText(DbHelper.cntxt, "Please Insert SD card To create Database", Toast.LENGTH_LONG).show();

Log.e("Log",e.getMessage(),e.fillInStackTrace());

}

DATABASE_FILE_PATH_EXTERNAL = filename.getAbsolutePath()+File.separator+DATABASE_NAME;

// db = SQLiteDatabase.openDatabase(DATABASE_FILE_PATH_EXTERNAL, null, SQLiteDatabase.OPEN_READWRITE + SQLiteDatabase.CREATE_IF_NECESSARY);

}catch(Exception e){

Log.e("Log",e.getMessage(),e.fillInStackTrace());

}

}

@Override

public synchronized SQLiteDatabase getWritableDatabase() {

// TODO Auto-generated method stub

try{

db = SQLiteDatabase.openDatabase(DATABASE_FILE_PATH_EXTERNAL, null, SQLiteDatabase.OPEN_READWRITE + SQLiteDatabase.CREATE_IF_NECESSARY);

try{

onCreate(db);

}catch(Exception e){

Log.e("Log",e.getMessage(),e.fillInStackTrace());

}

return db;

}catch(Exception e){

Log.e("Log",e.getMessage(),e.fillInStackTrace());

if(db!=null)

db.close();

}

return db;

}// End of getWritableDatabase()

**Inserting and Retrieving data from database:-**

public void insertIntoTable(String[] userName,int[] score)

{

SQLiteDatabase db = this.getWritableDatabase();

ContentValues cv = new ContentValues();

try {

db.beginTransaction();

for (int i = 0; i < beatID.length; i++) {

cv.put("UserName",userName[i]);

cv.put("Score",score[i]);

db.insert("TableName", "UserName",

cv);

}

db.setTransactionSuccessful();

} catch (Exception ex) {

} finally {

db.endTransaction();

db.close();

}

}

public void getUserNamePswd(){

Cursor c = null;

SQLiteDatabase db = null;

try{

db = this.getReadableDatabase();

c = db.rawQuery("Select UserName,Score from TableName",null);

c.moveToFirst();

String[] username = new String[c.getCount()];

int[] score = new int[c.getCount()];

int counter = 0;

c.moveToFirst();

while(!c.isAfterLast()){

username[counter] = c.getString(0);

score[counter] = c.getInt(1);

c.moveToNext();

counter++;

}

}catch(Exception e){

Log.e("Log", e.getMessage(), e.fillInStackTrace());

return null;

}finally{

c.close();

db.close();

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值