3

私は現在、最初の Android アプリケーションを開発していますが、まだ設計段階にあり、しっかりしたモデルを考え出そうとしています。

私のアプリケーションは、ユーザーの Google カレンダーの GCal データを使用し、それを 1 人以上の他のユーザーと同期して、メールでスケジューリングする面倒なやり取りをせずに、全員の共通の会議時間を決定します。

私は、毎日更新されるデータベースに各ユーザーとそのカレンダー データを保存することで、これが機能することを想像しています。グループ間の最適な集合時間を求めるクエリが発行されたとき、データベースから各ユーザーのカレンダー データを選択し、最適な時間を計算して、クエリを実行したユーザーに結果を表示したい。

AWS SDK for Android は Amazon SimpleDB と S3 をサポートしています。その場合、データベースには SimpleDB を使用します。私が迷子になっているのは、SimpleDB と連携して Amazon EC2 Web サービスを使用して計算を実行することです。

まず、私のアプローチやデザインに関するフィードバックをお待ちしております。

第二に、Android 以外の Java ベースの API/SDK を使用すると、アプリケーションにどのような影響がありますか。

Java 用の API typicaは、たとえば Android で使用できる場合、興味深く便利に見えます。

ありがとう!

4

2 に答える 2

4

したがって、いくつかのことに注意することが重要だと思います。

  1. あなたが説明しているのは「Androidアプリケーション」ではありません。Android クライアントを使用した Web サービス アプリケーションです。私が衒学的である理由は、あなたが行う必要がある設計上の決定の多くは、あなたのプライマリ クライアントが Android で実行されるという事実以外にあるからです。

  2. ユーザーの予定表を非リレーション データベースに保存することの可能性について懸念しています。あなたがすでにこれを調べたかどうかはわかりませんが、あなたが解決しようとしている問題 (カレンダー作成) は、リレーショナル データベースのリレーショナルの利点から恩恵を受けているようです。たとえば、過去、現在、および将来のイベント/会議のデータを非リレーショナルに保存するためにどのように構造化するかわかりません。おそらく可能ですが、最適かどうかはわかりません。データ量によっては、最大レコード サイズも考慮する必要がある場合があります。

  3. AWS SDK for android が S3 または SimpleDB への書き込みをサポートしているのは事実ですが、考慮すべきことがたくさんあると思います。EC2 との対話について混乱している理由は、通常、EC2 Web サービスが S3 または SimpleDB と対話するためです。AWS SDK を使用することで、理論的には、Web サービスの要件を取り除くことができます。これに関する私の主な問題は、共通のアクセス パターンがないため、各クライアントでさらに多くのことを行う必要があることです。iOSクライアントまたはWebクライアントには、Androidクライアントがs3と単純なdbデータへのアクセスを同じにする必要があるのと同じロジックがすべて必要です。それが意味をなさない場合は、詳しく説明できます。

  4. Android 以外の API と SDK の使用は混合バッグです。クラスが Davlik にコンパイルされると、正常に動作することがあります。そうしないとうまくいきません。

1 つ指摘しておきたいことがあります。Google のテクノロジーにすでに結び付けられている可能性があるのは、Google App Engine です。それの良いところは、アプリを無料で起動して実行できる無料レベルのサービスがあることです. あなたが提案している技術に基づいて、それはあなたが調べるべきものかもしれません. それ以外に、私のもう 1 つの強力な提案は、Android クライアントとは別に、最初に Web サービスを構築することに集中することです。クライアントとサーバーの相互作用がどのようなものになるかをモデル化し、可能な限り多くの「ロジック」をサーバーに移動するために時間をかけてください。それがあなたの最初の説明に欠けているように感じました。クランチがどこにあるでしょう。

于 2011-03-07T23:29:37.523 に答える
0

私の解決策は、オブジェクト指向の原則を使用することです。データベースを amazon dynamoDB に保存してから、ユーザー データをモバイル アプリと同期します。次に、結果を表示する前に、デバイスでデータ/計算の処理を行います

于 2015-05-16T01:41:45.403 に答える