私はアンドロイドアプリを静的データベースにバンドルする必要があります。これは、アプリをインストール/更新するたびに置き換えなければなりません。私は最初の活動のたびにそれを置き換えることは望ましくありません。アセットにデータベースを配置することは実現可能ではないようです。 AndroidStudioを使用する方法はありますか?アンドロイドアプリ付きのSQLiteデータベースを束ねる
あなたがコーディングのビットでそれを行うことができます
1
A
答えて
1
:
import java.io.*;
import android.content.Context;
import android.content.res.AssetManager;
...
String dbName = /* db name */
Context context = /* read android context from somewhere */
File dbFile = context.getDatabasePath(dbName);
// Test if DB file has been previously deployed.
if(!dbFile.exists()) {
// Deploy the DB file.
AssetManager assets = context.getAssets();
// Open an input stream on the source db file in assets.
// (Production code will need try/catch/finally around this block)
InputStream in = assets.open("dbname.sqlite");
// Open an output stream on the target location.
OutputStream out = new FileOutputStream(dbFile);
// Copy the contents. (In actual code you would want to
// use a buffer).
int byte;
while((byte = in.read()) != -1) {
out.write(byte);
}
in.close();
out.close();
}
0
資産にデータベースを配置すると、それが実現可能な
確かではないようです。 Use SQLiteAssetHelper
。
関連する問題
- 1. アンドロイドアプリにSqliteデータベースを接続する
- 2. クライアントにFlexを束ねるPHP MySqlを束ねる
- 3. NumPyでlibgfortranを束ねる
- 4. py2exeでPyQwtを束ねる
- 5. 束ねるパイソン「バックエンド」コード
- 6. sqlite添付データベースの問題
- 7. データベースの問題を添付するsqlite
- 8. コンソール入力を読み取る約束を束ねる
- 9. sqliteデータベースからアンドロイドアプリに特殊文字を表示
- 10. MVC 3 System.Web.Optimization単一ファイルを束ねる
- 11. jspmでangular2 appを束ねる
- 12. tsifyでtypescriptとprotobuf.jsを束ねる
- 13. 戻るボタン付きアンドロイドアプリを離れる
- 14. sqlite添付データベースの名前を取得
- 15. jsを束ねることができません
- 16. リスト付きSQLite
- 17. 実行前の初期データ付きのプリフィルSQLiteデータベース
- 18. Android App Restrictions - テストDPCをテストするときに空のパッケージを束ねる
- 19. 私のアンドロイドアプリでsqliteにオブジェクトを保存できません
- 20. gplv2の音楽付き有償アンドロイドアプリ
- 21. スペース付きSQLiteワイルドカード%
- 22. アンドロイドアプリのアップデート時にSQLiteの更新
- 23. アンドロイドアプリでデータベースに書き込む
- 24. GulpとNodemanで見るためのjavascriptファイルを束ねる
- 25. SQLiteの条件付きクエリ
- 26. android webviewのローカルのhtmlファイルを束ねる
- 27. オンラインデータベースから同期した後にアンドロイドアプリからsqliteデータベースを取得
- 28. SQLiteデータをアンドロイドアプリに表示できません
- 29. Bullet Physicsでばねの拘束を設定するには?
- 30. 問題vuejs 2つのコンポーネントをwebpackで束ねる
READMEはbuild.gardleに1行追加することを提案しています。プロジェクト用とモジュール用の2つのbuild.gardleファイルがあります。どちらを更新する必要がありますか?私が推測する限り、それはプロジェクトの1つでなければなりません。それが正しいか? –
@VipulKumar: "どちらを更新するか" - ランタイムの依存関係は、 'SQLiteAssetHelper'ライブラリのように、モジュールの' build.gradle'ファイルにあります。 Gradleプラグインはプロジェクトの 'build.gradle'ファイルにあります。 – CommonsWare