2016-04-17 9 views
0

私は、アプリケーションの起動時にCSVファイルからデータを取得してSQLiteに挿入していますが、アプリケーションを開くたびにこれを行います。アプリの最初の使用時にのみアプリがCSVを繰り返し処理するため、後続のアプリの起動が早くなるという方法はありますか?CSVからSQLiteに一度Androidデータを読み込む方法は?

は、事前にありがとう:)

+0

あらかじめ設定されたデータベースをアプリに含めるだけではどうですか。 –

+0

Mike M. suggestionを使うことができます。あるいは、データベースに問い合わせて、 'CSV'からいくつかの値が入っているかどうかを調べることができます。' SELECT'がレコードを返さない場合は 'CSV'をインポートできます。両方とも動作します –

+0

事前に入力されたデータベースを含めるにはどうすればよいですか?私のCSVファイルには約800行が含まれています。申し訳ありません、私はAndroidを学び始めました。 – Yeol

答えて

0

を理解してほしいです。

SharedPreferences sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE); 

Editor editor = sharedpreferences.edit(); 
editor.putString("someKey", "1"); 
editor.commit(); 

そして、あなたはあなたのタスクを実行する前に、あなたがあれば、「someKey」exsitをチェックすることで、すでにあなたのcsvファイルを操作していたかどうかをチェックする必要があります。

0

は、各時点でのCSVファイルを呼び出すために回避することができますいくつかの方法があります。

SharedPrefernceを使用して、小さなデータ(キー値セットの保存)をアプリ設定に保存できます。

すでにCSVファイルを呼び出したかどうかを示す共有設定に小さなint値を保存できます。

共有pererence値が0のuを持っている場合sharedpreference値が1または0

を持っているかどうかをチェック伝導が関数に入る場合は、中にCSVロード機能のために呼び出す必要があり初めとデータベースに挿入します。それ以降のif条件では、共有の設定値を1に変更します。

したがって、次回にアプリケーションを開くと、条件が満足されない場合、共有設定値は1になります。関数が呼び出されることはありません...

は、すでにあなたのCSVファイルを解析されたかどうかを判断するためにSharedPreferencesを使用することができますuは

+1

はい。共有された環境設定がトリックでした。ありがとうございました。 – Yeol

関連する問題