2017-11-29 20 views
-3

DESKTOPアプリとAndroidアプリの間でデータを共有するシステムを開発したいと考えています。 検索後、私はそれらの間にサーバーが必要であることがわかりました。しかし、私はサーバーが何であるか把握できません。どのように私はそれを作成するのですか?そして、私は2つのプラットフォームデバイスをどのように接続するのに役立ちますか?Androidアプリとデスクトップアプリを接続する最善の方法は?

デスクトップアプリはアンドロイドアプリからデータを受信します。データを管理します。アンドロイドアプリに通知/メッセージを送信するためにも使用されます。

Android Appは、データを入力してデスクトップアプリに送信するために使用されます。それは、デスクトップアプリケーションから更新/通知を受信します。

ここでどのようにこれら2つを接続しますか?私は基本的にリアルタイムのデータ共有と通知のための共通のデータベースが必要です。

編集:Javaを使用してC#およびAndroidアプリケーションを使用してデスクトップアプリケーションを構築しています。

Edit2:おそらく、PHPを使用してCPANELまたは000webhostでデータベースをホストすることができます。そしてそれをアンドロイドとC#の両方に接続します。これは正しい方法ですか? C#と接続することは可能ですか?私はそれがAndroidと、C#については確かに接続することができます知っている。あなたはhtmlコードを開発し、デスクトップアプリケーションに統合することができるように

+0

「リアルタイムデータベース」を検索したとき、どのような結果が戻ってきましたか?ヒント:データベースサーバの設定方法がわからない場合は、公開されているホスト型のものを使用してください –

+0

だから、Firebaseを使うべきですか?そしてそれをデスクトップとアンドロイドの両方のアプリに接続しますか?私はちょうど混乱しています。 – NiaziBro

+0

いくつかのバックグラウンドスレッドを介して通知を使用できますが、C#クライアントについてはわかりませんが、確認できます。独自のサーバーを稼働させたい場合、RethinkdbまたはCouchbaseにはC#クライアントがあります –

答えて

0

を形成し、Webインタフェースをサポートしています。 2つのアプリケーション間で共通のネットワークプロトコルが必要です。

すべてのネットワーク通信はソケット経由で行われます。ソケットにデータを送信できるライブラリが必要です。たとえば、here's an Android guide that is about socketsです。

ソケットは、コンピュータの特定のポートにバインドされ、本質的に「サーバー」になります。 Webサーバーがポート80をどのように公開しているかとよく似ており、HTTPというプロトコルで通信します。ソケットがバイトを送信するだけなので、アプリケーション間でどのプロトコルが通信するのかはあなたのアプリケーションによって決まるため、重要です。つまり、あなたが送信するものや方法について気にしません。特定のサーバー。また、あなたのためにデータを解析することはありません。それは処理するアプリケーションに依存します。たとえば、Android搭載端末からテキストメッセージや表示する画像、マップを表示するアドレスなどをデスクトップアプリがどのように知っているとしますか?

ウェブアプリケーションではなくデスクトップアプリケーションを使用する理由は完全には明らかではありません。異なるメソッド(通常はREST APIと呼ばれます)にマップされた異なるHTTPパスからのHTTPペイロードの本体だけを解析することは、独自のプロトコルを構築するよりはるかに簡単です。 Webサーバーの上にデスクトップGUIを構築することもできます。

双方向ソケットアーキテクチャを使用すると、デスクトップアプリケーションがモバイルアプリケーションにアップデートを送信することは、基本的に不可能です。あなたのAndroidは、アプリケーションのためだけに開いているサーバソケットを継続的に稼働させるべきではありません。その理由は、バッテリーの消耗が原因ですが、ネットワークアドレスが頻繁に変更されるためです。このようなサービスはFirebase Cloud Messagingとして存在し、Googleが開発したGCM技術のブランド化であり、デバイスにプッシュ通知を送信するために使用できますが、小さなデータペイロードでのみ可能です。

通知のためにAndroid搭載端末で行われるアクティビティについては、こちらをご覧ください。 How does push notification technology work on Android?

データベースについての質問に戻る。使用することを提案することは広すぎます。 のいずれかのクエリを実行するか、データセットに登録したい場合は、そのうちの1つのみが必要です。デスクトップアプリケーションを実行している同じコンピュータは、リレーショナルデータベースであれ、noSQLデータベースであれ、好きなようなデータベースをインストールして実行することができます。私が知っている唯一のリアルタイムのデータベースはRethinkDBとFirebaseです。
小規模なデータベースと同じくらい良いSQLiteファイルを保持することもできます(SQLiteドキュメントでも、トラフィックの少ないWebサイト用に推奨されています)。

0

はFirebaseは、ウィンドウ内のWeb統合のようなものは、あなたが必ずしもデータベースを必要としないアプリケーション

関連する問題