2018/02/28
wxPython の SetBackgroundColour に RGB を指定する方法
`SetBackgroundColour`
の引数に文字列や `Colour` オブジェクトを指定している例はよく見かけるのですが、RGB でしたい時はどうするのだろうと思っていました。
```python
panel.SetBackgroundColour('blue')
panel.SetBackgroundColour(wx.Blue)
```
プログラム全般、無節操に手を出しまくってみる
`SetBackgroundColour`Colour とイギリスのスペルなので注意 の引数に文字列や `Colour` オブジェクトを指定している例はよく見かけるのですが、RGB でしたい時はどうするのだろうと思っていました。
```python
panel.SetBackgroundColour('blue')
panel.SetBackgroundColour(wx.Blue)
```
Android の [android.graphics.Paint](https://developer.android.com/reference/android/graphics/Paint.html) にはテキストサイズ計測用のメソッドが2つ用意されています。 `Paint#measureText(String)` と `Paint#getTextBounds(String, int, int, Rect)` ですが、これらの違いを調べてみました。
@Java 1.8.0 `ZipInputStream` から取得した `ZipEntry` の `getSize()` は `-1` になることがあります。 ```java `highlight: 6; 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()); } } ```
@play-services-maps:11.8.0
@Ubuntu 16.04 LTS [Vino](https://github.com/GNOME/vino) はそもそも画面をミラーリングするアプリケーションなので、画面出力をしていないマシンにつなぐことは出来ません。 しかし、バックグラウンドで GUI アプリケーションを動かしておきたい場合、モニタ無しで VNC 接続したいこともあります。 そんな時は、ダミーのグラフィックドライバをインストールすることで接続出来るようになります。 > 参考 > > [Vino - ArchWiki](https://wiki.archlinux.jp/index.php/Vino#.E3.83.98.E3.83.83.E3.83.89.E3.83.AC.E3.82.B9.E3.82.B5.E3.83.BC.E3.83.90.E3.83.BC.E3.81.A7.E5.AE.9F.E8.A1.8C)
このご時世にシリアル通信というのも何ですが、組み込み関係等では現役だったりしますとはいえ、シリアル通信ケーブルを使うのではなく、USB がほとんどですが。
私は Linux 上の `screen` をよく使います。ただ、諸事情により Windows で開発しなければならない場合もあります。
そんな時は、[Tera Term](https://ja.osdn.net/projects/ttssh2/) を使っていたのですが、[Windows 10 では Linux が動くようになった](https://ja.wikipedia.org/wiki/Windows_Subsystem_for_Linux)ので、Windows 10 上でも `screen` が動くか試してみました。
Android Studio を使っていると Gradle plugin のアップデートを勧められることがあります。その際、"Don't remind me again for this project" を押してしまうと、2度とこのダイアログが出なくなってしまいます。
既存の Android プロジェクトを Android Studio 3.0.1 で読み込んだところ、 Android Studio ではビルド出来るのに、コマンドラインでは以下のようなエラーが出るようになってしまいました。 ```console `gutter: false; $ ./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: https://jcenter.bintray.com/com/android/tools/build/gradle/3.0.1/gradle-3.0.1.pom https://jcenter.bintray.com/com/android/tools/build/gradle/3.0.1/gradle-3.0.1.jar 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 ```
Ubuntu 16.04 LTS 上で VDI を Raw Disk Image に変換したもので確認。 > 参考 > > - [filesystems - how to find the type of img file and mount it - Unix & Linux Stack Exchange](https://unix.stackexchange.com/questions/82314/how-to-find-the-type-of-img-file-and-mount-it/156480#156480) > - [Convert .vdi to .img · GitHub](https://gist.github.com/hightemp/11196851)
いつの間にか2017年4月なので、もう1年近くも前だ…、公式に Google Play がインストールされた Emulator が出ていたようです。
> 参考
>
> [Android Studio Release Updates: Google Play System Images: Android Studio 2.3.2 and Emulator 26.0.2 are now available in the Beta Channel](https://androidstudio.googleblog.com/2017/04/google-play-system-images-android.html)
2019/4/15 追記コメントで、Android の Google Play アプリから設定する方法を教えていただき、追記しました。[Google Play Store](https://play.google.com/store) の国情報を変えるには [Google ペイメントセンター](https://payments.google.com/payments/home) で新しいプロファイルを作成すれば良い。 という情報は各所で見られます。 ただ、私がその設定をして丸2日待っても情報が反映される様子がありませんでした。 何度アプリを起動しても、「このアイテムはお住まいの国でご利用いただけません」と表示されてしまいます。2018/10/02 追記知人のアカウントで再度試したところ、Google ペイメントセンターの新しいプロファイルが反映されるまで数日かかるようです。 それまでは、以下の方法でも解決出来ませんでした。
なお、新しいプロファイルが反映されたかどうかは、ブラウザで [Google Play](https://play.google.com/store) を開き該当のアプリを検索してみると、検索に出てくるかどうかでわかります。
`.desktop` ファイルを `desktop-file-install` でインストールすると、Unity の検索に出てくるようになります。 > 参考 > > [Unity のランチャにカスタムアプリを登録する(コマンドラインで) | 穀風](https://kokufu.blogspot.com/2018/01/unity.html) ```text `title: "myapp.desktop"; [Desktop Entry] Type=Application Name=My Application Exec=/home/username/bin/myapp Icon=face-angel Terminal=false ``` インストール ```console `gutter: false; $ desktop-file-install --dir="${HOME}/.local/share/applications" myapp.desktop ```2018/8/3 追記`desktop-file-install` を使う方法に書き換えました。
参考: [.desktop ファイルを作ったのに Unity のランチャに表示されない場合の対処方法 | 穀風](https://kokufu.blogspot.com/2018/08/desktop-unity.html)
アプリケーション開発から組み込みまで手を出しているフリーランスのエンジニア
何故か C,C++ の仕事をすることが多いけど、本当は Java や C# が好き
最近は Android がらみ多し