Paging DataSourceFactory toLiveData() toObservable() が見つからない。

Javaのこのコードが、


public class ConcertViewModel extends ViewModel {
  private ConcertDao concertDao;
  public final Observable<PagedList<Concert>> concertList;

  public ConcertViewModel(ConcertDao concertDao) {
    this.concertDao = concertDao;
    concertList = new RxPagedListBuilder<>(
          concertDao.concertsByDate(), 50)
                  .buildObservable();
  }
}

Kotlinでこう書けるはずなのに!


class ConcertViewModel(concertDao: ConcertDao) : ViewModel() {
  val concertList: Observable<PagedList<Concert>> =
        concertDao.concertsByDate().toObservable(pageSize = 50)
}

Paging library overview  |  Android Developers

見つからない toObservable()。

- Added DataSourceFactory.toLiveData() as a Kotlin alternative for LivePagedListBuilder
- Added DataSourceFactory.toObservable() and toFlowable() as Kotlin alternatives for RxPagedListBuilder

Paging  |  Android Developers

どうやら -ktx のようです。


implementation "androidx.paging:paging-runtime-ktx:2.1.0"
implementation "androidx.paging:paging-rxjava2-ktx:2.1.0"

Maven Repository: androidx.paging

最近は、同じ処理でも複数の書き方があることが多くなって最初混乱したりします。


Gboard でユーザー辞書が変換候補に反映されない場合

端末のユーザー辞書(単語リスト)に文字を登録したのに、

Gboard の変換候補に全く反映されない場合。

以下のどちらかでいける。

A. Gboardの設定 から「学習した単語を削除」


「あa」を長押し

↓

「歯車」をタップ

↓

単語リスト

↓

学習した単語を削除

B. アプリ情報 から「ストレージを消去(キャッシュを削除)」


設定

↓

アプリと通知

↓

Gboard

↓

ストレージ

↓

ストレージを消去
(キャッシュを削除)

まとめ?



「ユーザー辞書」が反映されない話が多いので調べてみたらこんな。

どれくらい「学習」してるのか、

何を保存してるのか、

何のために、と

見えるようにしておいてくれたらわかりやすいのにな。

と思ったり。



👉 顔文字パック 辞書ツール - Google Play のアプリ
👉 顔文字/絵文字辞書 単語リスト - Google Play のアプリ 

👉 「単語リスト(ユーザー辞書)」が変換候補に表示されない場合 


RunCat - Mac メニューバーでCPU利用率を表示できる

こんな便利でかわいいアプリが無料です。



‎「RunCat」をMac App Storeで

さらに、アプリ内課金で購入すれば、いろいろなキャラが走ってくれます。

RunCat

画像を用意すれば自分でキャラも作成できるようです。

ぜひ、お試しあれ!!


「単語リスト(ユーザー辞書)」が変換候補に表示されない場合

Gboardで単語を登録しても変換候補に反映されないときは、

キーボードの設定
↓
単語リスト(ユーザー辞書)
↓
学習した単語を削除

です。

どうやらキーボードアプリによっては(Gboardなど) これまでの入力内容によって自動作成された候補文字列が優先的に変換候補に表示されるようです。

自動作成される変換候補は今現在では意外と使えないので削除してもいいと思いますけども。

それでもダメな場合は、Gboardのキャッシュを削除すると良いです。


「設定」

  ↓

「アプリ」

  ↓

「Gboard」

  ↓

「ストレージ」

  ↓

「キャッシュを削除」

Android OS デフォルトの単語リスト登録画面よりは、「顔文字/絵文字辞書 単語リスト」が便利です。

顔文字や絵文字もガツガツ登録できます。

👉 顔文字/絵文字辞書 単語リスト - Google Play のアプリ 

👉 Gboard でユーザー辞書が変換候補に反映されない場合 


いまさらAndroid端末にすばやくWiFiで接続する

なんとなく面倒なのでスクリプトで。

USBで接続のあと #5555 で待たせて再起動する。

「restart」なので、kill-server → start-server は不要。


adb tcpip 5555

IPアドレスをコマンドラインから取得。


ip="$(adb shell ip route | awk '{print $9}')"

そのIPにWiFi接続。


adb connect $ip



 

まとめ

ついでに、開発時には邪魔なスリープもOFFに。


adb shell svc power stayon true

How to prevent an android device from entering sleep (via adb command shell) - Stack Overflow

connect_via_wifi.sh


#!/bin/sh

adb tcpip 5555

sleep 1

ip="$(adb shell ip route | awk '{print $9}')"

adb connect $ip

adb shell svc power stayon true

adb devices -l

端末内 adbd の TCPモード(#5555)が起動している限り再接続が可能。

なので、USB接続なしの状態でも

IPの目処つけて 「adb connect」 でどうぞ。


~ $ adb devices
List of devices attached

~ $ get-oui -v
Renaming ieee-oui.txt to ieee-oui.txt.bak
Fetching OUI data from http://standards-oui.ieee.org/oui/oui.txt
Fetched 4084734 bytes
Opening output file ieee-oui.txt
25968 OUI entries written to file ieee-oui.txt

~ $ sudo arp-scan -l
Interface: en0, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.9.5 with 256 hosts (https://github.com/royhills/arp-scan)
192.168.0.1	8a:af:ec:9c:91:08	BUFFALO.INC
192.168.0.2	dc:23:76:3d:9b:75	HTC Corporation
192.168.0.3	d0:27:82:f5:e8:2a	AzureWave Technology Inc.
192.168.0.8	8c:85:00:14:89:d1	Murata Manufacturing Co., Ltd.
192.168.0.4	a2:37:e3:12:9a:88	HTC Corporation
192.168.0.6	33:28:6d:29:7b:72	Google, Inc.

~ $ adb connect 192.168.0.4
connected to 192.168.0.4:5555

~ $ adb devices
List of devices attached
192.168.0.4:5555	device

初回の、USBケーブルなしでTCPモードを起動できないのはセキュリティ絡みでか。

ADBオーバーネットワークでWiFiで複数端末を一括接続する

Android Devices Being Shipped with TCP Port 5555 Enabled - DEV Community 👩‍💻👨‍💻