2011-03-19 82 views
1

我已經使用Sqlite Browser創建了數據庫AddressBookMaster.db,並在所提到的數據庫中創建了表AddressBook。但現在問題是我想在我的應用程序中使用這個.db文件,所以我應該在哪裏放這個數據庫文件,以及如何在應用程序中獲取?在android中使用外部數據庫

有沒有可以幫助我的任何示例或教程?

回答

0

「在Android應用程序中使用自己的SQLite數據庫」中包含的信息對於U來說是非常有用的,並且如果U具有超過1024字節大小的db,則首先將db拆分成小部分,然後將應用程序中的所有小dbs dirrectory。

+0

謝謝您的回答,但問題是我如何拆分數據庫? Nandlal virani形式S. K. Patel研究所我對不對? – Nirav 2011-03-19 06:58:54

4

您也可以將您的數據庫文件放入SDcard中。使用以下代碼從SDCard使用數據庫。

File dbfile = new File("/sdcard/Your_db_File.db"); 
SQLiteDatabase db = SQLiteDatabase.openOrCreateDatabase(dbfile, null); 
+0

請注意,您需要包含寫入/讀取外部存儲的''!我花了幾個小時來調試未知錯誤以發現這一點。 – 2015-08-12 06:45:33

0

使用android-sqlite-asset-helper,如果你想更改數據庫的默認文件夾到SD卡,以填補(初始化)上安裝

您的應用程序的數據庫:

public class MyApplication extends Application { 

    @Override 
    public void onCreate() { 

     SQLiteOpenHelper helper = .. 
     SQLiteDatabase db = helper.getWritableDatabase() 
    } 


    @Override 
    public File getDatabasePath(String name) { 
     return new File(getDatabasePathString(name)); 
    } 

    @Override 
    public SQLiteDatabase openOrCreateDatabase(String name, int mode, SQLiteDatabase.CursorFactory factory) { 
     return super.openOrCreateDatabase(getDatabasePathString(name), mode, factory); 
    } 

    @Override 
    public SQLiteDatabase openOrCreateDatabase(String name, int mode, SQLiteDatabase.CursorFactory factory, DatabaseErrorHandler errorHandler) { 
     return super.openOrCreateDatabase(getDatabasePathString(name), mode, factory, errorHandler); 
    } 

    /*Put the default folder to store database of your application/or activity here */ 
    public String getDatabasePathString(String name) { 
     return getExternalCacheDir()+ "/" + name+".db"; /* /storage/emulated/0/Android/data/com.my.app/cache */ 
    } 

}