sql >> Databáze >  >> RDS >> SQLite

Je opravdu nutné vytvářet SQLite tabulky při každém spuštění aplikace?

Myslím, že tady nerozumíte. Když je vytvořen objekt SQLiteOpenHelper, zkontroluje, zda databáze SQLite existuje nebo ne, pokud ne, zavolá svou onCreate() metoda (kde běžně vývojáři implementují vytvoření databáze SQL)

Aktualizace:
@Clay Shannon:Vysvětlím vám mechanismus fungování Eclipse a Androidu. Řekněme, že používáte Eclipse k programování projektu Android. Nový projekt vytvoří složku projektu v pracovním prostoru (ve vašem případě je to C:\aXX3&Space\Android\workspace a složka projektu je OnDemandAndAutomatic_Project ). Tato složka bude obsahovat několik podsložek jako:src, bin, assets, res,... Každá složka má svou vlastní roli a vás zajímá složka aktiv, že? Složka Assets se používá k tomu, aby obsahovala referenční soubory (které nelze nebo nechcete vložit do složky res), jako jsou:soubor html, zvukový soubor, soubor obrázků, textový soubor... Když Eclipse sestaví apk z projektu, tyto soubory jsou také součástí apk. Když nainstalujete apk do zařízení Android, apk se zkopíruje do systémové složky Android a také se vytvoří složka obsahující data aplikace, jak zmínil Dharmendra:/data/data/{packagename}/ (název balíčku, jako je com.google.app atd., a tato cesta je pro operační systém Android vašeho zařízení, nikoli pro Windows).

Váš případ je, že chcete použít svou již existující databázi, takže musíte implementovat funkci, která zkontroluje, zda vaše databáze existuje nebo ne, pokud ne zkopírujte vaši db do cesty k databázi /data/data/ {packagename}/databases/ a zavolejte tuto funkci při spuštění aplikace. A jak to udělat, je již zodpovězeno zde Jak zkopírovat existující databázi z jedné aplikace do druhé. Zde je také odkaz na přístup k souborům aktiv, v případě, že neznáte http://www.wiseandroid.com/post/2010/06/14/Android-Beginners-Intro-to-Resources-and-Assets.aspx

Doufám, že nyní můžete svůj problém vyřešit. Poznámka :vaše již existující databáze musí být databáze SQLite, jinak ji aplikace nerozpozná, i když ji zkopírujete do správné cesty.



  1. Změny v zapisovatelném oddílu mohou neočekávaně selhat

  2. Simple Encrypted Arithmetic Library (SEAL) a proměnná seal::Ciphertext

  3. Duplikovat řádky v tabulce primárního klíče.

  4. Jak předat pole do uložené procedury serveru SQL Server