2013-05-20 91 views
0

我是新來的Android編程和尋找使用SQLite數據庫的最佳方式。我需要能夠將數據庫加載到應用程序中,然後輸入數據然後導出。我需要能夠在沒有互聯網連接的情況下做到這一點。我一直在看例子,以及如何和閱讀我能做的一切。Android SQLITE數據庫無互聯網

我看到很多關於加載數據庫並將應用程序複製到系統數據庫中留下2個數據庫的信息。

http://www.reigndesign.com/blog/using-your-own-sqlite-database-in-android-applications/

,但是我覺得我所尋找的是直接與可能安裝到SD卡數據庫的工作方式。一旦輸入數據,用戶可以通過USB連接並複製和發送數據庫。 *請記住沒有互聯網連接。另一方面,數據庫可以複製到SD卡上,應用程序可以讀取和寫入數據。 也許這不是最好的方法?還是我必須使用2個數據庫?

我不是在尋找任何人來一步一步我,但更好的是,但指導我在正確的方向。也許鏈接到一些嘖嘖或文章將是非常有益的。感謝大家!!

+1

你想要做什麼?忘記沒有互聯網連接的事實,這是無關緊要的。沒有互聯網連接,SQLite將工作得很好;你爲什麼認爲它需要一個? –

+0

我有一個團隊將在一天出發前往現場並收集數據樣本。這些將被輸入到數據庫中,並在發送給我自己的一天結束時更新我們的系統。這些信息需要在夜間進行編輯,現在他們必須手動完成所有的工作,然後付錢給別人做大量數據輸入或每晚輸入。我想用一個應用程序簡化這個過程。順便說一句,我有一個爆炸學習機器人! :) – user1017425

+0

我會在應用程序每天晚上將數據推送到內部網絡上的Web服務。 –

回答

0

當您創建數據庫時,您需要指定一個路徑,而不是允許應用程序在其通常駐留的位置創建數據庫。

修改你的數據庫的輔助類,以反映這些變化:

private final static DB_PATH = Environment.getExternalStorageDirectory(); 
private final static DB_NAME = "my_database"; 

public DBHelper(Context ctx) 
{ 
    database = SQLiteDatabase.openDatabase(DB_PATH + "/" + DB_NAME, null, SQLiteDatabase.OPEN_READWRITE); 
} 

現在你在傳統的位置,你的SD卡並沒有什麼上有一個數據庫。如果工作數據庫不是太大,你可能希望考慮簡單地將工作數據庫保留在傳統位置中以求冗餘。 SD卡故障,設備故障等,因此將數據庫複製到SD卡將爲您提供一定程度的保險。

+0

我正在閱讀的另一個問題是,主要必須是_id是否正確?在我的數據庫中,我的初選設置給其他人。我能夠使用這些或DB助手必須有_id嗎? – user1017425

+1

Stack Overflow阻礙擴展討論。嘗試將每個問題保留在自己單獨的問答環節中,以便搜索答案的人得到他們所需要的東西,沒有什麼比這更重要的了。 – MarsAtomic