2017-03-18 3 views
-1

私はAndroidの開発にかなり新たなんだと私はハウツーに関する一般的な質問だ:私のアプリは、工程 - からのセンサ・データを取得アンドロイド:長い時間をかけてセンサー件のデータを大量に保存するための最良の方法

を検出器(検出されたステップが追加されます)。 これらの手順を保存する必要があります(これは多くのデータになります)。今日
ステップは時間ごとに格納されている場合は


の手順は、次のように格納する必要があります。
エルス
ステップは

SharedPreferencesはそれだけKeyValuesはを保存するように、この外に落ちる日ごとに保存されます。

しかし、SQLiteはこれを処理できますか?それとも他の方法がありますか? 将来の機能として、これらのデータをサーバーと同期させることができます。 これは何千ものエントリーで終わる可能性があり、アプリは同様の方法で保存する必要がある他の大きなデータセットもサポートします。

答えて

0

Realm noSqlデータベースを使用してみてください。ポイントは、データベース全体を毎日別のファイルとしてsdカードに保存して後で処理できることです。これはネイティブであり、大量のデータで非常に高速に動作します。後ですべての読み取り値を処理することができます。つまり、データベースを開き、読み取り値を変換します(データのサイズをより細かくするために古い値を補間した後にクラウドにアップロードしてデータベースファイルを削除します)。 しかし、とにかく、データベースは実装の詳細なので、後でdbを置き換えることができるようにすべての操作を抽象化することを検討してください。 私が知る限り、sqLiteはすべてのテーブルを1つのファイルに格納するので、日付の列が必要になり、すべてのレコードが単一のテーブルに格納されます。レルムはこのタスクの方が柔軟性があります。

0

アプリケーションがデバイスに存在する限り、SQL Liteを使用することができますが、クラウドサービスを使用できるようにするには、簡単で使いやすいApp Serviceを提供します。このAPIは直接APIを呼び出すことができ、内部的には接続を作成してテーブルにデータを挿入します。Free Tier of App Serviceを使用して概念をテストできます。

+0

私はこれを検討します。有難うございます。私の考えは、現在の時間の行を変更し、時間が経過したかどうかをチェックし、それがあった場合は次の行に移動することでした。一日が合格したかどうかをチェックし、日テーブルに保存します。 –

関連する問題