質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Q&A

解決済

1回答

2701閲覧

milkcocoa androidSDKのonSendedメソッドの使用方法について

utoka

総合スコア56

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

0グッド

1クリップ

投稿2015/08/24 14:39

お世話になっております。加藤と申します。
milkcocoa androidSDKのベータ版を使用させていただいていおります。
以下のチャットアプリのコードを拝見させていただいておりますが、onSendedメソッドの使い方がわからず、ご教授いただければと思い、質問させていただきました。
https://github.com/milk-cocoa/android-examples/tree/master/MilkChat2

JSの※send()と同じメソッドをイメージしています。
https://mlkcca.com/document/api-js.html

java

1//送信 2public void sendEvent(View view) throws JSONException { 3 if (editText.getText().toString().length() == 0) { 4 return; 5 } 6 7 DataElementValue params = new DataElementValue(); 8 params.put("content", editText.getText().toString()); 9 Date date = new Date(); 10 params.put("date", date.getTime()); 11 this.messagesDataStore.push(params); 12//以下onSendedメソッド 13 JSONObject obj = new JSONObject(); 14 obj.put("name", "mkyong.com"); 15 obj.put("age", new Integer(100)); 16 this.messagesDataStore.send(obj); 17 editText.setText(""); 18 }

java

1//受信 2@Override 3 public void onSended(final DataElement dataElement) { 4 final DataElement sended = dataElement; 5 new Thread(new Runnable() { 6 public void run() { 7 handler.post(new Runnable() { 8 public void run() { 9 //上記「name」「age」の送信をここで受けたい 10 //Log.i("sended", "//受け方"); 11 12 } 13 }); 14 } 15 }).start(); 16 17 }

上記の「Log.i("sended", "//受け方");」の部分でどのように取得すれば良いかお教えいただければ幸いです。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

部谷です。

Android SDKに修正を加えましたので、お答えいたします。

基本的にはpush同じように使用できます。その際にsendをonメソッドで監視してください。

java

1this.messagesDataStore.on("send");

受け取り方は上記の例ですと、以下取得できると思います。

java

1//受信 2@Override 3 public void onSended(final DataElement dataElement) { 4 final DataElement sended = dataElement; 5 new Thread(new Runnable() { 6 public void run() { 7 handler.post(new Runnable() { 8 public void run() { 9 //上記「name」「age」の送信をここで受けたい 10 Log.i("sended", sended.getValue().getString("name")); 11 Log.i("sended", sended.getValue().getInt("age")); 12 } 13 }); 14 } 15 }).start(); 16 17 } 18

以上宜しくお願い致します。

投稿2015/08/25 06:43

ShuheiHiya

総合スコア110

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ShuheiHiya

2015/08/25 11:28

基本的にはドキュメントにから飛べる以下のリンクが最新です。 http://cdn.mlkcca.com/java/milkcocoa-dev.jar 今回は上記のサンプルチャットのリポジトリも同時に更新したので、両方新しいバージョンになっています。
utoka

2015/08/25 14:16

迅速に対応していただき、ありがとうございます。 注意点としては、this.messagesDataStore.send(sendObj);の引数の型がDataElementValueに変更になったようです。 try/catchをいれろとandroid Studioに言われて以下のような形になりました。 ------ public void sendEvent(View view) throws JSONException { if (editText.getText().toString().length() == 0) { return; } DataElementValue params = new DataElementValue(); params.put("content", editText.getText().toString()); Date date = new Date(); params.put("date", date.getTime()); this.messagesDataStore.push(params); editText.setText(""); //以下onSendedメソッド DataElementValue sendObj = new DataElementValue(); sendObj.put("name", "Milk Taro"); sendObj.put("age", new Integer(100)); this.messagesDataStore.send(sendObj); } @Override public void onSended(DataElement dataElement) { final DataElement sended = dataElement; new Thread(new Runnable() { public void run() { handler.post(new Runnable() { public void run() { //上記「name」「age」の送信をここで受けたい try { Log.i("sended", sended.getValue().getString("name")); } catch (JSONException e) { e.printStackTrace(); } try { Log.i("sended", String.valueOf(sended.getValue().getInt("age"))); } catch (JSONException e) { e.printStackTrace(); } } }); } }).start(); }
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問