2017-03-18 8 views
-2

私は作成する必要があるAPPの支援を求めています。アンドロイドアプリの開発経験はありませんが、私は勉強して練習しています。arraryまたはsqliteデータベースを使用する必要がありますか?

私は、顧客リストから支払いを記録し、支払い時に領収書を印刷するためのアプリを構築しようとしています。保留中の顧客のリストをダウンロードし、アンドロイドにjsonアレイを使用します。今、私は混乱している、私は後でサーバーに更新(アップロード)する必要があるので、私は配列やデータベースを使用してリストを格納する必要があるかわからない。 SQLiteはオプションのようだが、ユーザがWiFiに接続するたびにリストをダウンロードしなければならない。

私は配列に支払いを保存し、アップロードしたら一度フラッシュする必要があると思います。

私が達成しようとしているタスクに最適なオプションは何か教えてください。

+0

値を格納して取得する必要がある場合は、データベースが必要です。配列は固定されています - ファイルに直列化する方法を実装していない限り、配列は固定されています。さらに、配列はいくつかの項目(たとえば100項目)でのみ使用できます。データベーステーブルには、詳細を示すためにいくつかのフィールドを保持することができます。検索可能、ソート可能、集約関数などを使用できます。 –

答えて

1

ご使用のケースによって異なります。配列とsqliteは、独立してまたは一緒に動作できます。

同じセッション内でダウンロードした後すぐにデータをアップロードする場合は、アレイに保存しておいてから、アップロードしてください。配列はメモリ内に保持され、配列オブジェクトを保持している場所によっては、アクティビティのライフサイクルまたはアプリケーションのライフサイクルを通じて持続する可能性があることに注意してください。

ハンドヘルド上のSQLiteは、データをディスクに書き込むため、ユーザーがアプリケーションをバックアウトした後でも永続化することができます。

私は上記に基づき、後でサーバー

に(アップロード)を更新する必要があるため、ディスク上のデータを永続化する必要がありように...、それはそうです。 SQLiteはデータを永続化するためのオプションの1つです。 hereを見て、データを永続化するために利用可能なその他の情報を確認してください。

永続化されたデータをアレイにロードし、処理した後にアップロードすることができます。

これが役に立ちます。

+0

返信いただきありがとうございます。一度サーバーにアップロードすると、ローカルのsqliteデータベースを更新したり、新しい情報で再作成する必要があります。 –

+0

ダウンロードされたデータは、支払いがアップロードされるまで一時的に使用されます。アップロードしたら、私はDBを削除し、新しい情報で保存する必要がありますね。それが最善の方法であるかどうかは分かりませんが、それはそのように聞こえます。 –

+0

現在のデータベースのデータを更新し、新しいデータで置き換えることができます。 – Naveed

関連する問題