ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码
当前位置:首页 >> 数据库 >> SQLite >> android开发中Sqllite数据库的动态存储数据

android开发中Sqllite数据库的动态存储数据

来源:网络整理     时间:2014-12-11     关键词:

本篇文章主要介绍了"android开发中Sqllite数据库的动态存储数据",对于SQLite感兴趣的同学可以参考一下: 公司刚分配的任务说需要用内置sqllite数据库开发一个app,这两天找了一下资料,终于成功。下面贴一下代码。第一步,首先,在你的项目中res文件夹下,新建一个...

公司刚分配的任务说需要用内置sqllite数据库开发一个app,这两天找了一下资料,终于成功。下面贴一下代码。

第一步,首先,在你的项目中res文件夹下,新建一个raw文件夹,然后把你建好的sqllite数据库放在这个文件夹下面。



第二部,新建一个DatabaseHelper类,继承自带的SQLiteOpenHelper


public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_PATH = "/storage/sdcard0/";   //你想把sqllite放在手机中的位置
private static final String DATABASE_NAME = "dhxj.db";   //sqllite数据库名称
private static final int DATABASE_VERSION = 3;

private SQLiteDatabase database ;

public  Context context;
public DatabaseHelper(Context context) {

super(context, DATABASE_PATH+"/"+DATABASE_NAME, null, DATABASE_VERSION);
setContext(context);
//openDatabase();
}
public void setContext(Context context){
this.context = context;
}
public Context getContext(){
return context;
}

public SQLiteDatabase getDatabase() {
return database;
}

@Override 
public void onCreate(SQLiteDatabase db){

}

public SQLiteDatabase openDatabase() { 
       try { 
           // dhxj.db文件的绝对路径 
           String databaseFilename = DATABASE_PATH + "/" + DATABASE_NAME; 
           File dir = new File(DATABASE_PATH); 
           // 如果/storage/sdcard0/路径不存在,则创建这个路径 
           if (!dir.exists()) 
               dir.mkdir();  


         
           // 如果/
storage/sdcard0/路径下存在dhxj.db这个数据库,把这个数据库删除

//

   /*    if((new File(databaseFilename)).exists())
           {
           new File(databaseFilename).delete();
           }*/


            //如果/storage/sdcard0/路径下不存在dhxj.db这个数据库,则将项目raw文件夹下的dhxj.db复制到你设置的绝对路径中
           if (!(new File(databaseFilename)).exists()) { 
               // 获得封装dictionary.db文件的InputStream对象 
           
               InputStream is = getContext().getResources().openRawResource( 
                       R.raw.dhxj); 
               FileOutputStream fos = new FileOutputStream(databaseFilename); 
               byte[] buffer = new byte[8192]; 
               int count = 0; 
               // 开始复制dhxj.db文件 
               while ((count = is.read(buffer)) > 0) { 
                   fos.write(buffer, 0, count); 
               } 


               fos.close(); 
               is.close(); 
           } 
           // 打开/storage/sdcard0/目录中的dhxj.db文件 
           database = SQLiteDatabase.openOrCreateDatabase( 
                   databaseFilename, null); 
          
           
       } catch (Exception e) { 
       } 
       finally{
       
       }
       return database; 
   } 

第三步,在需要调用数据库的时候加上下面的代码

DatabaseHelper mOpenHelper = new DatabaseHelper(this); 
     SQLiteDatabase db = mOpenHelper.openDatabase();


现在你就可以通过db对内置的sqllite数据库进行操作了







以上就介绍了android开发中Sqllite数据库的动态存储数据,包括了方面的内容,希望对SQLite有兴趣的朋友有所帮助。

本文网址链接:http://www.codes51.com/article/detail_97799.html

相关图片

相关文章