Android の android.graphics.Paint にはテキストサイズ計測用のメソッドが2つ用意されています。
Paint#measureText(String)
と Paint#getTextBounds(String, int, int, Rect)
ですが、これらの違いを調べてみました。
measureText と getTextBounds の違い

信頼できない ZIP ファイルは ZipInputStream で開いてはいけない

@Java 1.8.0
ZipInputStream
から取得した ZipEntry
の getSize()
は -1
になることがあります。
1 2 3 4 5 6 7 8 | private void read(InputStream is) throws IOException { ZipInputStream zis = new ZipInputStream(is); ZipEntry entry; while ((entry = zis.getNextEntry()) != null ) { // getSize() が -1 になることがある Log.d(TAG, entry.getName() + "'s size is " + entry.getSize()); } } |
BitmapDescriptorFactory.fromResource() で "IBitmapDescriptorFactory is not initialized" が起こる場合の対処方法
@play-services-maps:11.8.0
モニタをつないでいない Ubuntu の Vino に接続する
@Ubuntu 16.04 LTS
Vino はそもそも画面をミラーリングするアプリケーションなので、画面出力をしていないマシンにつなぐことは出来ません。
しかし、バックグラウンドで GUI アプリケーションを動かしておきたい場合、モニタ無しで VNC 接続したいこともあります。 そんな時は、ダミーのグラフィックドライバをインストールすることで接続出来るようになります。
参考
Windows 10 上の Ubuntu から COM ポートにアクセスする方法

このご時世にシリアル通信というのも何ですが、組み込み関係等では現役だったりします1。
私は Linux 上の screen
をよく使います。ただ、諸事情により Windows で開発しなければならない場合もあります。
そんな時は、Tera Term を使っていたのですが、Windows 10 では Linux が動くようになったので、Windows 10 上でも screen
が動くか試してみました。
コマンドラインで gradle を実行すると com.android.tools.build:gradle が見つからないエラー
既存の Android プロジェクトを Android Studio 3.0.1 で読み込んだところ、 Android Studio ではビルド出来るのに、コマンドラインでは以下のようなエラーが出るようになってしまいました。
$ ./gradlew tasks FAILURE: Build failed with an exception. * What went wrong: A problem occurred configuring root project 'MyApplication' . > Could not resolve all files for configuration ':classpath'. > Could not find com.android.tools.build:gradle:3.0.1. Searched in the following locations: Required by: project : * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. * Get more help at https://help.gradle.org BUILD FAILED in 0s |
Raw Disk Image file を Ubuntu でマウントする方法
Ubuntu 16.04 LTS 上で VDI を Raw Disk Image に変換したもので確認。
参考
Android Emulator で公式に Google Play が使えるようになっていた

いつの間にか1、公式に Google Play がインストールされた Emulator が出ていたようです。
参考
その国にいるのに「お住まいの国でご利用いただけません」と出てしまう場合の解決方法(Google Play Store)

なお、新しいプロファイルが反映されたかどうかは、ブラウザで [Google Play](https://play.google.com/store) を開き該当のアプリを検索してみると、検索に出てくるかどうかでわかります。
Google Play Store の国情報を変えるには Google ペイメントセンター で新しいプロファイルを作成すれば良い。 という情報は各所で見られます。 ただ、私がその設定をして丸2日待っても情報が反映される様子がありませんでした。
何度アプリを起動しても、「このアイテムはお住まいの国でご利用いただけません」と表示されてしまいます。
.desktop ファイルの Exec に環境変数を含める方法

参考: [.desktop ファイルを作ったのに Unity のランチャに表示されない場合の対処方法 | 穀風](https://kokufu.blogspot.com/2018/08/desktop-unity.html)
.desktop
ファイルを desktop-file-install
でインストールすると、Unity の検索に出てくるようになります。
参考
1 2 3 4 5 6 | [Desktop Entry] Type=Application Name=My Application Exec=/home/username/bin/myapp Icon=face-angel Terminal=false |
インストール
$ desktop-file-install --dir="${HOME}/.local/share/applications" myapp.desktop |