2012-02-03 14 views
0

私のプロジェクトは、基本的に場所やイベントを地図上に表示する大学の訪問者アプリであり、ユーザーがアドバイス/おすすめ/質問などを投稿して相互にやりとりすることを可能にします。Androidプロジェクトのアーキテクチャ:データベースと地図?

これまでのところ、私はコードのビットを別々に試していました(リスト、タブ、基本)、アンドロイドのチュートリアルに続いて自分自身で試してみました。私の問題は、コードのすべてのビットを1つのプロジェクトに結合する方法がわかりません。

私はデータベースとGoogleマップを使用する必要があることを知っています(googleではなくOSMを使用しています)。 データベースには、ユーザーが行った場所、イベント、投稿に関する情報が格納されます。地図上を移動する必要があるため、情報を調整してください。この情報は別のタブにも表示されます。場所のリスト。

私の問題は、これがどのように一緒に収まるかわかりません。 データベースに別のクラスが必要で、リストに値を設定してマップに表示する必要がありますか?あるいは、彼らはすべて1つのクラスに入ることができますか?

私は、クラスとアクティビティがどのようにコミュニケーションをとるのかについて少し曇っています。現時点では、データベースオブジェクトがlistviewsとmapviewに渡されると考えています。リストビューとmapviewは、情報の一部を取得して表示しますか?

これらの要素を一緒にまとめる方法についてのアドバイスは、非常に高く評価されます。 :D

データベースのSQLiteOpenHelperをサブクラス化する必要があると思いますので、独自のクラスにする必要がありますか? OSMdroidをマップに使用することを考えていますが、これはまだやり方がわかりません。 そして、すべてがタブビュー内にある必要があります。

答えて

2

はStackOverflowのへようこそ!

あなたの質問は非常にあいまいと幅広い、そして「ではない本当の問題」として、閉じますする可能性がある - 私はあなたが問題を一つずつ取ると、あなたが一緒に行くと問題に実行すると、特定の質問を示唆しています。これらの点であなたの問題について考えてみてください。私が望むことをするために必要なものは何ですか?何かしたいことが可能であることを覚えておいてください。あなた自身に尋ねる主な質問は、アプリケーションで正確に何をしたいのですか? (YYYにあなたを導く、というようにすることを、あなたはXXXをクリックしたときに)異なる画面(活動)の数について考え、どのように彼らはお互いに通信します。 1つのアドバイス:シンプルに始めましょう、それはあなたの最初のプロジェクトであるため、特に複雑すぎることはとても簡単です。シンプルなコンセプトでも、すぐに非常に複雑になることがあります。

コーディングの専門知識レベルを指定していないので、正確なアドバイスをするのは難しいですが、アンドロイドアプリケーションをコーディングすることは、WebアプリケーションやSwingやC#ユーザーインターフェイスを使用する「通常の」アプリケーションとあまり変わりません。だから私は、あなたが構図継承カプセル化依存性注入、のように、一般的なオブジェクト指向プログラミングについての事を学ぶために助言するユニット・テストなど、

次にベースActivityを書き始めますあなたのメインビューのために、そのレイアウトを書き、それにビューとグラフィカルな要素を追加します。その後、Intentsを他のActivityに生成するウィジェットのリスナーコードを追加します。

次に、データをデータベースに保存したいときは、これを追加します(これは後で始めることができます)。データベースに保存する内容を書き込むことで、対話をデータベースに「スタブ」することができます。トーストなど)。

すべてのオブジェクトは、構築時または設定時に参照を渡すことによって、他のオブジェクトに注入できます。

私はそれが非常に曖昧な質問だと言ったように、より正確には申し訳ありません。

+1

ありがとう、ええ、私はそれが曖昧だと分かります。私が欲しかったのはあなたのような答えでした。 おそらく、私はtabviewの中にmapviewを置く方法を尋ねた方がいいでしょう。 :) – Ephemeros

+0

ああ、私はそれを含めるとは思わなかった。/facepalm 私は大学でコンピュータサイエンスを学ぶ3年目ですが、私は様々な言語を簡単に見てきましたが(C++、haskell)、私はJavaを最も重視しました。 :) OOとTDDでモジュールをやったこともあります。 – Ephemeros

+0

TabViewの中にMapViewを置く方法は、Stack Overflowのためのはるかに良い質問です - あなたはたくさんの答えを得るでしょう(最初に検索することを忘れないでください、すでに類似の質問があるかもしれません)。 – Guillaume