Retrofit

Retrofitは、型安全なAndroid向けHTTPクライアント。 REST APIとのやり取りに使う。Retrofitbuild.gradleは、を追加。 最新の2.8.1で揃えたが、途中でメソッド内部に入ったままSEGVしたみたいなので、バージョン下げたらこれで動いた。 AndroidManifest.xml…

Gson.toJson(Android)

今度はAndroidでGsonを使う。GitHub - google/gson: A Java serialization/deserialization library to convert Java Objects into JSON and backbuild.gradleで、を追加。 activity_main.xmlは、毎回のこれを追加。 Profile.javaを、用意し、 MainActivity.…

Gson.toJson

GsonはJSONをJavaオブジェクトに変換するライブラリ。GitHub - google/gson: A Java serialization/deserialization library to convert Java Objects into JSON and back Javaオブジェクト⇔JSONの変換はGSONを使おう | ITでExit Gson (Gson 2.8.6 API)Gson.…

指定されたユーザのレポジトリ一覧

GitHubのAPIを使って、GitHubの様々な情報を取得できる。GitHub API v3 | GitHub Developer Guide今回は、指定されたユーザのレポジトリ一覧を取得する。 (認証無しなのでpublicのみ)Repositories | GitHub Developer Guidelibcurlを使って、 /* ヘッダファ…

curl_easy_perform

libcurlは、cURLにあるcurlコマンドをライブラリとして使えるようにしたもの。C/C++のlibcurl利用サンプル - Qiita [C言語] curl libを使ってみる - Qiita libcurl - curl_easy_perform()curl_easy_performでリクエストを実行する。 まず、libcurlのインスト…

curl

cURLは、いろいろなプロトコルで通信できるネットワークコマンドツール。GitHub - curl/curl: A command line tool and library for transferring data with URL syntax, supporting HTTP, HTTPS, FTP, FTPS, GOPHER, TFTP, SCP, SFTP, SMB, TELNET, DICT, L…

git

Git

Gitは、分散型ソースコード管理ツール。GitWindowsなら、Git - Downloading PackageここからDLしてインストールする。 Linuxなどの場合は、yumやaptでインストールする。レポジトリディレクトリの外で、"git"とただそれだけ打つと、 $ pwd /home/bg1/project…

OkHttpClient(Android)

今度は、AndroidでOkHttpしてみる。OkHttpを初めて使ってみた話 - Qiitaプロジェクトを作成プロジェクトを作成。implementation 'com.squareup.okhttp3:okhttp:4.6.0'だけでいいのか。android.permission.INTERNETを追加。idとしてtextview1を追加。メインス…

Volley.newRequestQueue

GoogleのネットワークライブラリVolleyを扱う。GitHub - google/volley Volley overview | Android Developers ネットワーク通信用ライブラリVolleyを使いこなす | TechBooster androidで、通信ライブラリのvolleyを使うことになったので、個人的メモ - Qiit…

OkHttpClient

サードパーティーでは定評のある、Square社のOkHttpを扱う。OkHttp v3.8.0 jar( と okio 1.13.0.jar ) を Eclipse のプロジェクトに追加して一般的な POST 送信を行う : logical errorここを見ると、OkHttpここからjarをダウンロードできるらしいが、現在はj…

AndroidHttpClient

Androidの場合、かつてはAndroidHttpClientを使って、HTTP処理を行う場合もあった。AndroidHttpClientのサンプルを書いた - Android/iPhoneたわむれ日々strings.xmlで、"textview1_text"を追加。 activity_main.xmlで、LinearLayoutにした上で、中のTextView…

CloseableHttpClient

Javaでは、標準でHttpURLConnectionが用意されているが、それ以外でよく使われるHttpClientライブラリというと、Apache HttpComponentsがある。Apache HttpComponents – Apache HttpComponentsCloseableHttpClientでGETリクエストを投げてみる。CloseableHtt…

AndroidSchedulers.mainThread

AndroidでRxJavaを使う場合、通知処理などUIを触る処理はAndroidのUIスレッド(メインスレッド)で行わないと、落ちてしまう。 そういう場合はobserveOnに、RxAndroidのAndroidSchedulers.mainThreadをセットする。AndroidSchedulers - rxandroid 1.2.1 javado…

Schedulers.newThread

Schedulers.newThreadは、新しいスレッドで実行する。Schedulers (RxJava Javadoc 1.3.8)実行すると、 [1]:id = 1, name = main [3]:id = 1, name = main [2]:id = 11, name = RxNewThreadScheduler-1 [4]:id = 11, name = RxNewThreadScheduler-1 1 [4]:id …

Schedulers.io

Schedulers.ioは、キャッシュされたスレッドで入出力する場合に使う。Schedulers (RxJava Javadoc 1.3.8)実行すると、 [1]:id = 1, name = main [3]:id = 1, name = main [2]:id = 11, name = RxIoScheduler-2 [4]:id = 11, name = RxIoScheduler-2 1 [4]:id…

Schedulers.computation

Schedulers.computationは、キャッシュされたスレッドで実行を意味する。 (ただし、入出力の場合はioの方がいい。)Schedulers (RxJava Javadoc 1.3.8)実行すると、 [1]:id = 1, name = main [3]:id = 1, name = main [2]:id = 14, name = RxComputationSched…

Schedulers.immediate

Schedulers.immediateは、現在のスレッドで即座に実行を意味する。Schedulers (RxJava Javadoc 1.3.8)実行すると、 [1]:id = 1, name = main [3]:id = 1, name = main [2]:id = 1, name = main [4]:id = 1, name = main 1 [4]:id = 1, name = main 2 [4]:id …

Observable<T>.observeOn

Observable<T>.observeOnで、Observable<T>.subscribeに渡した通知処理スレッドのスケジューラをセットできる。Observable (RxJava Javadoc 1.3.8)発行は現在のスレッド、通知は新しいスレッド。 [1]:id = 1, name = main [3]:id = 1, name = main [2]:id = 1, nam</t></t>…

Observable<T>.subscribeOn

Observable<T>.subscribeOnで、Observable<T>.createに渡した発行処理スレッドのスケジューラをセットできる。Observable (RxJava Javadoc 1.3.8)キャッシュされたスレッド(I/O以外)で実行する場合は、Schedulers.computation()をセット。 [1]:id = 1, name = main</t></t>…

Thread.getName

Thread.getNameで、スレッド名を取得する。Thread (Java Platform SE 6)スレッドIDの取得からスレッド名の取得に差し替え。こちらも。 CustomThread before. [1]:Thread.currentThread.getName() = main [2]:Thread.currentThread.getName() = main [3]:Thre…

Thread.currentThread

Thread.currentThreadで、現在のスレッドの参照を取得できる。Thread (Java Platform SE 6)スレッドの内側と、スレッドの外側で、スレッドIDが違うことを確認する。run内に2箇所。生成前、生成後、実行後の3箇所。 CustomThread before. [1]:Thread.currentT…

Thread.getId

Thread.getIdで、スレッドIDを取得できる。Thread (Java Platform SE 6)CustomThreadの生成、実行、CustomThreadのrun内で、スレッドIDを取得してみる。CustomThreadの中はこれだけ。MainClassは、ctの生成と、ct.startの実行時。 CustomThread before. [1]:…

Runnable

Runnableを匿名クラスで実装する場合もある。Runnable (Java Platform SE 6)こんな感じでrunの中にThread.sleep。 CustomThread before. CustomThread after. Thread.sleep before.の3秒後に、 Thread.sleep after.が出る。Sample/java/Runnable/Runnable/sr…

Thread

Threadを新しく生成して実行する方法はいくつかあるが、今回はThreadを継承した派生クラスを作る。Thread (Java Platform SE 6)runで3秒休止。こうすると、 CustomThread before. CustomThread after. Thread.sleep before最初こうだが、3秒経つと、 Thread.…

Thread.sleep

Thread.sleepで、スレッドを休止させる。Thread (Java Platform SE 6)カレントスレッドを休止させることで、ただただ処理を3秒止める。tryで囲まなきゃいけない。 Thread.sleep beforeと出て3秒経つと、 Thread.sleep afterと出る。Sample/java/Thread/sleep…

Observable<T>.create

Observable<T>.createでは、指定された動作をするオブザーバブルを作成できる。 from, just, rangeより複雑な発行動作をさせたいという場合が一般的らしいので、大抵はこれを使うらしい。 Reactive ExtensionsのObservable.Createと同じ。 (1.2.7でdeprecated。</t>…

Observable<T>.map

Observable<T>.mapで、さらなる加工を加える。Observable (RxJava Javadoc 1.3.8)偶数で絞り込んだら、さらにその値を2倍する。こうすると、 4 8 12 16 20 Completed!2倍になった。Sample/rxjava/Observable_T/map/src/Observable_T at master · bg1bgst333/Sam</t>…

Observable<T>.filter

Observable<T>.filterで、発行する値を絞り込む。Observable (RxJava Javadoc 1.3.8)C#のLINQのWhereと同じ。ラムダ式で2で割った余りが0と条件を付ける。 つまり偶数。 2 4 6 8 10 Completed!偶数に絞れた。Sample/rxjava/Observable_T/filter/src/Observable_</t>…

Observable<T>.range

Observable<T>.rangeは、1つ目に指定した値から、2つ目に指定した値、までの範囲で生成。Observable (RxJava Javadoc 1.3.8)まあ、1から10の範囲でやってみる。で、 1 2 3 4 5 6 7 8 9 10 Completed!こうなる。Sample/rxjava/Observable_T/range/src/Observable</t>…

Observable<T>.just

Observable<T>.justで、今回はちょうど10個の引数を持つオーバーロードメソッドに10個の値を指定して生成する。Observable (RxJava Javadoc 1.3.8)まあこれ、1個だけのバージョンから、10個のバージョンまであるので、そこまでは自由に作れる。とすると、 1 2 3</t>…