いろいろ備忘録

雑記です。

Android

AndroidのDataBindingでBRに追加されないとき確認すること

1.getterに@Bindableアノテーションを追加していること 2.getterの名前がget + フィールド名であること

PicassoとRoundedImageViewを使って丸で枠付きのImageViewを表示する(MVVM)

build.gradle //Picassocompile 'com.squareup.picasso:picasso:2.5.2'//ImageViewを丸にしたり枠つけたりcompile 'com.makeramen:roundedimageview:2.3.0' ビューモデル @BindingAdapter ( { "picturePath", "gender" })public static void loadImage ( Ima…

PocketSphinxをAndroidで使う

親切なチュートリアルがあります。 cmusphinx.github.io 自分がやった手順を書きます。 1.サンプルプロジェクトからAARファイル、en-us-ptm(音響モデル)、cmudict-en-us.dict(辞書ファイル)などを取り出しておきます。 2. AARファイルを読み込みます。 Andro…

PocketSphinxを「無理やり」日本語で使う

やりたかったこと Androidアプリをスマートスピーカーのように「こんにちは」という音声を認識したら何か処理を始めるようにする。 音声認識にPocketSphinxを選んだ理由 トリガーとなる音声を認識するために連続音声認識をする必要がありますが、Android組込…

okhttp3のwebsocketでのサブプロトコル定義

クライアントは、WebSocketコネクション確立時に、対応可能なサブプロトコル一覧をSec-WebSocket-Protocolヘッダで提示します。 OkHttpではRequestクラスでヘッダを追加出来ます。 そのClientが送るリクエスト全てまたは条件を満たすものに追加したいならInt…

onClosed vs onClosing in OkHttp3のWebSocketクラス

【結論】 onClosing()は成功でも失敗でもとりあえず実行される。 onClosed()は切断が成功した場合実行される。向こう側から一方的に閉じられた場合は実行されない。 順序はonClosing()の後にonClosed()

データバインディングでOrmaとRecyclerView

Ormaの公式のexampleを再現する形でやっていきます。 Ormaは入っていて、モデルを作ってビルドした後という前提です。 exampleではTodoモデルなので、適宜使用するモデルに変更しましょう。 1.build.gradleにバインディング設定を追記。CardViewとRecyclerVi…

MVVMのプロジェクトを読む アクティビティのonCreate()編

@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //レイアウトをセットしbindingを得る binding = DataBindingUtil.setContentView(this, R.layout.main_activity); // ビューモデルを生成する // Cont…

インテント先のアクティビティにstart(Object data)を実装することのメリット

AアクティビティからBアクティビティにインテントする際、 AアクティビティではなくBアクティビティのstaticメソッドでIntentを生成すると、 putExtra()のキーが散らからない。 public static void start(Context context, String fullRepositoryName) { fin…

フラグメントのコメントの訳

package com.example.apitestapp;import android.content.Context;import android.net.Uri;import android.os.Bundle;import android.support.v4.app.Fragment;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;…

Android雑記

@VisibleForTesting テストのために、必要以上にスコープを広げていることを示すアノテーション ・MVPではActivityがプレゼンタを生成する ・IntentFilterとは受信したブロードキャストをタグ(アクションと言う)でフィルタリングするもの ・テックノート – J…