Advent Calendar, 掃き溜め

[移転] インフルで死亡しながらAndroidについて語る

タイトル通り半死の状態で記事を書きます.やるって言ったものは仕方が無い.

文章が崩壊していた場合でも多目に見てください.頭が働いていないんです…(言い訳)

1. はじめに

今年は今までの中でいちばんゴミアプリAndroidアプリを量産した年であったかもしれません.通信周りとかHWに深く関わってくるものとかとにかくいろいろなものを実装しました.そのいろいろ作った中でも特にクソやなぁ〜と感じた箇所ナンバーワンを発表します.

★Camera2 API

・資料が少なすぎる

・Googleのサンプルアプリがスパゲッティ

・なにをするにしてもめんどくさい

・機種ごとの差がある/バグ

今回は特に「機種ごとの差がある/バグ」についてお話ししたいと思います.

2. 問題の発生した機種

Lenovo Moto G5

Sony MC Xperia Z3 Compact

Samsung Galaxy Feel SC-04J

3. Lenovo Moto G5: シャッター切れない問題

GoogleのCamera2Basic-Sampleを使用した場合でも数回に一度はシャッターを切ることができなくなってしまいます.ものすごくクソです.

特に夜景など全体的に暗い画面,ブレッブレでピントが合わない場合などに多発します.

対処方法は現在模索中でいまのところ私は撮影に失敗した場合CameraManagerの取得から自動でやり直しをさせることで解決しています.

4. Xperia/Galaxy: 画像回転問題

こちらもかなりハマった箇所で撮影時に端末の回転がされていたなどの場合,撮影された画像が機種ごとに差があります.

この問題の対処の際,撮影した画像をサーバに送信し,phpでサムネイル生成などを行っていたのですが,機種によってはサムネイルがめちゃくちゃな角度で生成されとても大変でした.ちなみにサムネイル生成はGDとImageMagickを試しましたがどちらも同じ結果になりました.

その後試行錯誤を繰り返した結果,以下のようなコードでサーバ側で対処することができるようになりました:

画像処理でImageMagickを使用しています.

5. さいごに

ものすごく切れが悪くて申し訳ないのですが今回の記事とさせていただきます.みなさん,健康は大切にしましょう.

(今回の私が書いたアドベントカレンダー,なにかしらトラブルが起きているんだけどなんか運みたいなものでもあるのでしょうか)Oo。😨

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Theme by Anders Norén