2012-02-27 15 views
0

基本的に、私はアンドロイドアプリのためにいくつかのデータ(〜300行、〜10列)を保存しようとしています。このデータはアプリによって変更されることはなく、計算や物事にのみ使用されます。アンドロイドアプリの独立したデータベースを使用

しかし、私がオンラインで見つけたもの(example)は、実行時に作成されたデータベースの使用について話しています。私はこれを望んでいない、データは、アプリケーションが実行されるたびに同じになります。

このように、データベースを使用する方法はありますか? (またはテーブルのような形式でデータを格納する他の方法ですか?)

+1

これは、HTTPの重複ことがあります:あなたは、データは常に変化したい場合は、SDカード内の一時ファイルを作成することができ、でいくつかのパスの下に新しいファイルにアクセスして作成することにより、

// /image/gif/paws/8409126/android-pre-populated-database – k3b

+0

ありがとうございます。その質問には、助けになったブログへのリンクを持つ別の質問へのリンクがありました。 – ACarter

+0

(私の前のコメントを見ても、私はそれを編集しようとしていましたが、一見できませんでした)。 – ACarter

答えて

1

プロジェクトルートのassetsフォルダにカスタムファイルを配置します。

だけで行う、ファイルからInputStreamを取得するには:このように

context.getAssets().open(file); 

をあなたはconma分離またはあなたが好きなモデルであなたの静的データを格納することができます。

Environment.getExternalStorageDirectory() 
+0

基本的に、私はプレーンテキストファイルを持っています。このファイルでは、データを何かに分けて、何らかの検索と置換を使ってそのデータを取得することができます。素晴らしい、ありがとう。 – ACarter

+1

あなたは単純に文字列にデータをロードし、string.split( "\ n")... (String行:行){String [] cols = row.split( "、")} おそらくあなたのニーズに適しています。 –

2

SQLiteデータベースをビルドの一部として生成し、アプリケーションのrawリソースに保持します。あなたが必要とするのはファイルのパスとファイル名を開くだけなので、それでも問題なく読むことができます。 Androidのテーブルを独自の簿記に含める場合を除き、開いているヘルパーはまだonCreate()になりますが、それは問題ありません。

読書用に開いていることを確認してください。

1

このデータをRawファイルのAssetsまたはRes/rawフォルダに保存する方法はありますか。このデータをデータベースに即座にダンプするか、それを読み込んで処理します[コストがかかるかもしれません]。動的な処理はコストがかかり、テストしてパフォーマンスを比較することがあります。

+0

resの代わりにassetsフォルダを使うことをお勧めします。このようにして、Java File APIを使用してファイルに直接アクセスできます。 –

関連する問題