2011-09-21 3 views
6

Androidで最初に投稿して初めて作業しているので、ルールを破っていれば簡単に行くことができます:)大規模なデータをAndroidアプリ用にローカルまたはオンラインで保存していますか?

とにかくAndroidアプリを作って、簡単なトリビアゲームを作成しようとしています。私はたくさんの質問をする予定です(うまくいけば約5000以上の質問)。データの操作は行わず、質問を一読してユーザーに提示するだけです。私は今質問をどのように記憶するのかジレンマに直面しています。アプリで

1)バンドル質問:はおそらくSQLiteの中の情報を保存

は、私は2つの選択肢があります。もともと、デモ目的では、質問をXMLファイルに入れましたが、質問が積み重なると効率が悪くなることはすぐにわかりました。まず、巨大なXMLファイルを開くとAndroidのメモリが奪われてしまうのではないかと心配しています。第2に、5000以上の質問が含まれているとアプリの大きさが心配です。私はread hereのXML対SQLiteの賛否について。この例では、ユーザーに70,000件のエントリがあるので、5,000件の質問で十分でしょうか?

OR

2)ホストサーバー上の質問:私は逆さまにアプリが質問の膨大な量にバンドルする必要はないだろうし、心配する必要はありません信じています質問を開き、組み立てる論理。それはちょうどPHPページをヒットし、送信されたパラメータに応じて、PHPページは質問をXML形式で返します。欠点は、ゲームをプレイするためにユーザがオンラインで(質問を検索するために)オンラインにする必要があり、サーバが24時間稼働する必要があることです。

膨大な量のデータをAndroidアプリにどのように保存するのか、このデザイン上の問題が発生したことはありますか?

ありがとうございました。ご協力いただければ幸いです。

+4

私は反対にも言及する必要があります:任意のルール(特にあなたの最初の質問)を破ることはありません。 +1は、研究の努力と思考を示す明確で、よく書かれ、フォーマットされた質問です。 StackOverflowへようこそ。 :) –

答えて

7

マーケティングの観点からは、適切なアプローチは#1だと思います。一番上のアプリリストを見るだけで、オフラインで動作するアプリでいっぱいです。なぜ多くの人がデータプランを持っていないAndroidの場合、特にマーケティングアプリについて話すとき、ほとんどの人がこの1つの重要な基準に言及していないのか分かりません。さらに、オンラインのときに使うFacebookチャットのようなものとは対照的に、トライアスアプリは電車内の通勤中におそらく使用するもののように聞こえる。

技術的な観点からは、5000個以上の質問を格納することは、実際には膨大なスペースを必要としません。このアプリは "MyFitnessPal"と呼ばれています。それはSQliteデータベースに30,000種類以上の食品を貯蔵しており、栄養情報を持っています。したがって、どれくらいのスペースを取るかを過大評価しないでください。

#2の利点は、質問や回答が頻繁に変更された場合、その方法にしたがうことです。

+0

ええ、それはまさに私が考えていたことです - ユーザーがゲームをオンラインでプレイできないということです。 千の質問でXMLのサイズをチェックしていて、あなたが正しいと思っていましたが、それはかなり小さいです。私は実際にAndroidがXMLファイルを(少なくとも1000のエントリで)開いて、それを不平をつけることなく情報を解析するのは良い仕事をしていると思われているので、データベースアプローチ全体を捨てることを考えています。 – RaKku

2

質問をSQLiteに保存することをお勧めします。ヒソカが言及したように、ユーザーがオフラインであってもゲームにアクセスできます。だから私はあなたが使用しようとすると思うと思うSQLite.

関連する問題