🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Java

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

Android

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

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

2回答

1423閲覧

APIリファレンスの見方と解釈の仕方

kfsuuh384

総合スコア0

Java

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

Android

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

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2021/02/15 06:35

編集2021/02/15 13:48

アンドロイドからのWebSocket通信に関するご質問です。
現在下記のコードを、使えてはいるのですが、内容を理解しようとしてコードとリファレンスを見比べても、APIリファレンスの見方を含めて、コードがどのように動いているのかよく理解できません。
分からないのは、コメントアウトの「ここから」「ここまで」の2行です。
その辺を教えて頂けないでしょうか。
(アンドロイドはUIスレッドからの通信を禁止していることは理解しています)

私の考察としては、サーバーとのやり取りをトリガーとしてonOpenが非同期処理を実行しているのではないかと思っています。
宜しくお願い致します。

Java

1import androidx.appcompat.app.AppCompatActivity; 2import org.java_websocket.client.WebSocketClient; 3import org.java_websocket.handshake.ServerHandshake; 4 5public class MainActivity extends AppCompatActivity { 6 7 private class MyWsClientListener extends WebSocketClient { 8 9 @Override 10 public void onOpen(ServerHandshake handshakedata) {  // ここから 11 12 runOnUiThread(new Runnable() { // ここまで 13 @Override 14 public void run() { 15 wsStateTextView.setText("Conneted!!"); 16 } 17 }); 18 }

APIリファレンスのリンク
onOpen
ServerHandshake
runOnUiThread
Runnable

わかったようなことを書いていますが、当方初心者です(汗)
初心者向けのご回答を頂けると幸いです。

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

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

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

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

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

m.ts10806

2021/02/15 06:46 編集

ご自身の解釈もある程度(もう少し具体的に)考察として書かれたほうが丸投げ感も薄まると思います。 例えば、ドキュメントから該当しそうな箇所を抜粋してくるとか
kfsuuh384

2021/02/15 09:02

ご指摘ありがとうございます。 自分なりの考察を追加致しました。 宜しくお願い致します。
guest

回答2

0

私の考察としては、サーバーとのやり取りをトリガーとしてonOpenが非同期処理を実行しているのではないかと思っています。

わからない箇所をもっと明確にするために、もっと平易で具体的な言葉に置き換えてみると良いかもしれません。

例えば、次の問いに答えてみてください。

  • サーバーとのやり取りとは?
  • トリガーとは?
  • 非同期処理とは?

例えば、コードから平易な質問に置き換えると、次のような問いが考えられます。

  • onOpen が実行される条件は?
  • ServerHandshake として受け取る情報は何か?
  • runOnUiThread は何をしているのか?
  • Runnable とは何を表現したものなのか?

このように疑問に対して言語化できると検索できるので考え方の糸口が拡がっていきます。

投稿2021/02/15 14:33

ykws

総合スコア1242

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

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

0

APIリファレンスのリンク

最初のonOpenのリンクは正しくありません

org.java_websocket.client.WebSocketClientは、java.net.http.WebSocket.Listenerを実装していませんので、当該のonOpenは、このコードで使われているonOpenとは無関係です。

投稿2021/02/15 06:46

maisumakun

総合スコア145970

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

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

kfsuuh384

2021/02/15 08:26

ご指摘ありがとうございます。 onOpenは、org.java_websocket.client.WebSocketClientのメソッドでした。 修正致しましたので、宜しくお願い致します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問