将自己的SQLite数据库添加到Android应用程序

将自己的SQLite数据库添加到Android应用程序,第1张

概述我们如何将自己的SQLite数据库添加到 android项目? 尝试这段代码: public class DataBaseHelper extends SQLiteOpenHelper { private Context mycontext; //private String DB_PATH = mycontext.getApplicationContext().getPac 我们如何将自己的sqlite数据库添加到 android项目? 尝试这段代码:
public class DataBaseHelper extends sqliteOpenHelper {     private Context mycontext;     //private String DB_PATH = mycontext.getApplicationContext().getPackagename()+"/databases/";     private static String DB_name = "(datbasename).sqlite"; //the extension may be .sqlite or .db     public sqliteDatabase myDataBase;     /*private String DB_PATH = "/data/data/"                             + mycontext.getApplicationContext().getPackagename()                             + "/databases/";*/     public DataBaseHelper(Context context) throws IOException {         super(context,DB_name,null,1);         this.mycontext = context;         boolean dbexist = checkdatabase();         if (dbexist) {             //System.out.println("Database exists");             opendatabase();         } else {             System.out.println("Database doesn't exist");             createdatabase();         }     }     public voID createdatabase() throws IOException {         boolean dbexist = checkdatabase();         if (dbexist) {             //System.out.println(" Database exists.");         } else {             this.getReadableDatabase();             try {                 copydatabase();             } catch (IOException e) {                 throw new Error("Error copying database");             }         }     }     private boolean checkdatabase() {         //sqliteDatabase checkdb = null;         boolean checkdb = false;         try {             String myPath = DB_PATH + DB_name;             file dbfile = new file(myPath);             //checkdb = sqliteDatabase.openDatabase(myPath,sqliteDatabase.OPEN_READWRITE);             checkdb = dbfile.exists();         } catch (sqliteException e) {             System.out.println("Database doesn't exist");         }         return checkdb;     }     private voID copydatabase() throws IOException {         //Open your local db as the input stream         inputStream myinput = mycontext.getAssets().open(DB_name);         // Path to the just created empty db         String outfilename = DB_PATH + DB_name;         //Open the empty db as the output stream         OutputStream myoutput = new fileOutputStream("/data/data/(packagename)/databases/(datbasename).sqlite");         // transfer byte to inputfile to outputfile         byte[] buffer = new byte[1024];         int length;         while ((length = myinput.read(buffer)) > 0) {             myoutput.write(buffer,length);         }         //Close the streams         myoutput.flush();         myoutput.close();         myinput.close();     }     public voID opendatabase() throws sqlException {         //Open the database         String mypath = DB_PATH + DB_name;         myDataBase = sqliteDatabase.openDatabase(mypath,sqliteDatabase.OPEN_READWRITE);     }     public synchronized voID close() {         if (myDataBase != null) {             myDataBase.close();         }         super.close();     }
总结

以上是内存溢出为你收集整理的将自己的SQLite数据库添加到Android应用程序全部内容,希望文章能够帮你解决将自己的SQLite数据库添加到Android应用程序所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1160002.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存