2020年4月28日火曜日

Androidフレームワークの改修を進める

この手の単調な修正は、すぐ飽きるのだが、今回はなかなか続いている。

あまりに複雑すぎた部分について、ようやく目途がつく。
SDKのAPIレベルが15と非常に古かったので、API21(Android5相当)に引き上げたわけだが。

文字化けしていたビルドメッセージの問題を解決したら出てきた、
「非推奨のAPIを使用しています」
という警告。

警告なんで無視してもいいが、目途がついて来たので、確認してみる。
非推奨APIを使ってるぜ、という警告の詳細を見るには、ビルドオプションんを指定しなければならない。

はて、AndroidStudioでビルドオプションはどう指定するんだ?
どうやら、これまた、build.gradle に付け加えるようだ。

build.gradle 万能過ぎるだろ!

というわけで、追加するのは、以下のブロック。
allprojects {
    gradle.projectsEvaluated {
        tasks.withType(JavaCompile) {
            options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
        }
    }
}


で、今回表示された警告が…。

android.hardware.camera は非推奨になりました。

なんだとぉ!
じゃあ一体何になったのか検索してみると…

android.hardware.camera2


なめとんのか(笑)
しかし、実装が刷新されているようで、このフレームワークのカメラ部分は使い物にならなくなったようだ。

中華タブレットのクソ仕様にも対応したカメラクラスだったのに…。
まあ、作り直すとしよう。




2020年4月23日木曜日

AndroidStudioのBuildタブで文字化け

在宅勤務で時間ができたので、新しくアプリを作る…前に、過去のフレームワークと格闘中。

AndroidStudioもいつのまにか3.6になり、importしたプロジェクトも問題なくビルドできるのに、なぜか赤いログがBuildタブに出力される。

警告(warning)であるらしいのだが、文字化けして読めない。
なんでここだけピンポイントに文字化けするんだよ…!

ってことで調べた。

Android Studio 3.6でコンソールの文字化け
http://www.globefish.jp/wp/2020/03/android-studio-3-6.html

3.6から文字化けしているようで、
ヘルプファイルに1行追加するだけで良いらしい。

早速追加してビルドするも、文字化け解消せず…。

どうやら、AndroidStudioを再起動する必要があったようだ。

2020年4月22日水曜日

LANケーブルを見直す?

うち、1Gbps契約してると思ったら、200Mbpsだったんだよなぁ、確か。

それでも、今後を踏まえてケーブルを見直した方が良さそう。
早く、NTTの10Gbpsのサービス範囲広がらないかなぁ…。

で、色々見ていて、参考になったサイト。


LANケーブルはカテゴリ6Aで十分、むしろ7以上は買うな

こういう投稿してくれる人が増えると良いよね。

2020年4月21日火曜日

在宅勤務で時間ができたので、Androidアプリを作ってみる

ここ数年触っていないが、以前はAndroid Studioで、いくつかアプリを作っていた。
リリースはしていないが、子供向けアプリなどをいくつか作ったり、
各種APIの実験という目的のアプリばかりではあったが。

というわけで、久しぶりに起動すると、当然AndroidStudioのUpdateが実行され。
3.6になったら、ガラリとレイアウトが変わってしまった。
(単にリセットされただけだろうが)

AVDもずっとNEXUS7 とかを使っていたのだが、リストからなくなっており、
pixel3とかになってた。そりゃそうか(笑)

で、昔のプロジェクトを探すのも一苦労。
新しく1から作ろうとも思ってググってみたんだけど、良いフレームワークが無いようなので、結局自分で作る⇒だったら昔のでいいや、という流れに。

最初にひっかかったのは、「compile なんて単語はもう使えないぜ」エラー。
これは単に、implementation に置き換えるだけでOKだった。

そして。よく分からない class の使い方してたので、分かりやすく interface に置き換え。
interface 使ってる箇所もあるのに、1つだけややこしい作りしてる箇所があった…。
そしてビルド成功するも、なぜか赤文字のログが。
warningらしいが、内容は…。

「you should not lock orientation of your activities …」

横画面用アプリを作っていたので、landscapeを指定しているのだが、
「ユーザービリティのため、画面固定するんじゃねぇよ」
ということらしい。

いやいやいや、画面固定してないアプリってあるんか?
ケリ姫くらいしか見たこと無いぞ。
…あるのか。

警告なんで、無視すればいいんですが、この警告でググっても
ほぼヒットしない。
みんな特に悩んでないのかな。

というわけで、この辺を参考に、無視してみることにした。

Androidの画面向きを固定した際に出るワーニングを無視する https://factor.xseed.link/2020/03/04/post-3135/#outline__1

ビルド時の警告は、赤文字にしないで欲しいなぁ。
エラーと区別がつかん。