2011-01-23 19 views
0

レストランメニューを表示してユーザーがアイテムを注文できるようにするアプリを書いています。私はそれをRestaurantMenuAppと呼ぶことにする。私はこの主なアプリケーションを私の会社名の下にブランド化したいと思っています。ユーザーは、複数の異なるレストランを見たり、いずれかのレストランに注文したりすることができます。購入は、私の会社の商人アカウントを使用してWebサービスへのAPI呼び出しによって行われます。同じiPhoneやAndroidアプリの複数のバージョンで共有コードやライブラリを使用できますか?

ここで、このアプリのカスタマイズバージョンを個々のレストランに販売したいとします。カスタマイズされたバージョンは、そのレストランだけのテーマになり、メニュー、場所、プロモーションなどを表示します。それは彼ら自身のカスタムアプリを構築したようにレストランを見せるだろう。購入はまだWebサービスへのAPI呼び出しによって行われますが、各ブランド版では独自の販売アカウントを使用できます。

各アプリケーション(メインRestaurantMenuAppと個別にカスタマイズされたレストランアプリ)にアプリケーション全体のコピーが含まれているかどうかは疑問です。すべてのアプリで使用する共有ライブラリを各アプリにインストールすることは可能ですか?いずれかのアプリがすでにこの共有ライブラリをインストールしている場合、他のアプリもそれをインストールする必要はありませんか?

私はモバイルアプリの開発には新しく、回答を検索しましたが、同じアプリのライト版とフルバージョンの作成方法の解決方法しか見つかりませんでした。これらのアプリが各インストールを小さくするためにコードを共有できるかどうかは不明でした。

答えて

0

iPhoneの場合、アプリ間通信はほとんど制限されていません。おそらく、セキュリティとユーザーエクスペリエンスの利益のために、AppleはiOSをこのように設計しました。

Androidでは、アプリ間通信にははるかに柔軟性があります。あなたが望むものを達成するにはいくつかの方法があります。

まず、サービスを利用できます。 Androidのサービスプロセスは、Windowsのサービスプロセスとよく似ています。彼らは常にバックグラウンドで実行されています。コードサンプルがあります。

http://marakana.com/forums/android/examples/60.html

それとも、インテントを使用することができます。インテントレシーバはAndroid OSに登録して、処理するアクションとデータフォーマットを指定します。たとえば、以下のようなインテントフィルタは、受信者がmndタイプのvnd.android.cursor.dir/vnd.google.noteを表示、編集、および選択できることをAndroid OSに通知します。したがって、インテントレシーバとしてコンポーネントを作成して、特別なデータフォーマットを処理することができます。別のAndroidアプリでは、データをプッシュアウトすると、インテントレシーバーがそこから引き継ぎます。

インテントフィルタの詳細については、このドキュメントを参照してください。

http://developer.android.com/guide/topics/intents/intents-filters.html

+0

詳細なAndroid情報をお寄せいただきありがとうございます。しかし、アプリケーションがサービスやインテントのレシーバーをインストールできるかどうかは不明ですが、別のアプリがそれを使用できるかどうかは不明です。RestaurantAアプリがインストールされていて、そのアプリケーションとアプリをインストールしてからRestaurantBアプリがインストールされている場合は、アプリがインストールされ、インテントは既にシステム上にあるため、インストールされません。または、ユーザーはインテントまたはサービスアプリと、それぞれの「テーマ」アプリを別々にインストールする必要がありますか? – Tauren

1

iPhone/iOS App Storeアプリケーションの場合、OS強制セキュリティサンドボックスは、アプリがコードを共有することを禁止します。

+0

ありがとう、それは私が恐れていたものです。つまり、ユーザーはカスタマイズしたアプリごとにデバイス上のスペースを使い切ることになります。残念な。 – Tauren

+0

@ジョー - もしそうなら、私には無駄に見えます。私は、iOSの開発者はちょうどこれに慣れていて、それについて二度考えないと思う。私はWebアプリケーションの開発から来ているので、私は常にダウンロードサイズの最適化、javascriptの縮小などについて考えています。私は別の考え方が必要だと思う。 – Tauren

関連する問題