2014年7月31日木曜日

消音可能カメラ SilentCamのバグにつきまして

当プロジェクトで開発しましたアプリ、消音可能カメラ SilentCamに以下のバグが発見されました。
  1. カメラ画面で、特定の条件でボタンが利かなくなる。
  2. 特定端末でプレビューが歪む(撮影した画像も同様)
1に関しては修正が完了しており、バージョン1.1に反映しています。
2に関しては現在調査中です。⇒解決しました。
現象が確認できている機種はGALAXY S IIIです。 その他の端末でも同様の現象が起きているようであれば、 私どものサイトのお問い合わせから情報をいただけますと助かります。

2014年7月15日火曜日

当プロジェクトとしての3作目のアプリをリリース

アプリ名はリリース前に被っていないか下調べをしたつもりだったが、リリース後に同名アプリが存在していることに気付いた。

これに関しては変更しようかと思っている。
GooglePlay DLページ

このアプリに実装した主な機能

・シャッター音調整(着信音量に応じる・マナーモード時消音)
シャッター音は必要な時もあると想定し、完全無音とせず調整可能にした。

・撮影画像の端末内での共有範囲の指定
このアプリで撮った写真を『写真』や『ギャラリー』、あるいは画像編集アプリといった別アプリでも表示するか、このアプリでのみ表示するかを選択できるようにした。
また一度別アプリでも表示する設定にしても、いつでもこのアプリでのみの表示に戻す事が可能

・撮影画像の向き自動判定
一部動作しない機種あり

・撮影画像の向き編集


バージョンアップでの実装予定機能

  • 撮影時のフラッシュ
  • ビューワーの横向き対応
  • 起動時画面を設定にて選択できるようにする(カメラor撮影画像一覧)

2014年6月12日木曜日

Androidアプリの画面遷移時のアニメーションについて

当プロジェクトで開発したアプリTegakiMemoは、
スタック的に見て、ユーザーが今の画面の位置を把握しやすいよう
画面遷移を、iOSアプリの画面遷移に似せて横スライド式とした。

実装にあたっては、AndroidManifestで
Activityごとに画面遷移時のアニメーションを付与した独自テーマを指定する形をとった。

しかし、最終的に解決はしたものの
端末によっては、こちらの意図した動きにはならなかった。
動きに違いが出ていた原因は、以下の2点によるものであった。

  1. Androidのバージョン違い
  2. 端末の設定


1について
Android4.0以上と Android2.3xで同じ指定にも関わらず、動きに違いが出た。
これに関しては、動きに違いが出ているActivityのJavaソースの中で
setThemeメソッドを使い、バージョンによってテーマを振り分けることで解決できた。

━━━ 2014/11/23 追記 ━━━

setThemeメソッドを使い振り分けるにはAndroid2.3x用のテーマを作成する必要があるので、
overridePendingTransition(int enterAnim, int exitAnim)
というActivity遷移時のアニメーションを指定できるメソッドがあるのでその方が楽だった。
使い方はstart()あるいはfinish()の後にメソッドを呼び出す。

━━━━━━━━━━━━━━━


2について
特定端末で、画面遷移アニメーションが 全く生じないというものがあった。
原因はトランジションアニメーションスケールという設定がオフになっていたため。

これについては、実は結構根深い。
どういうことかといえば、
2の問題を見つけるきっかけとなった端末(以下検証端末Dとする)は、新品であったためだ。
その端末は初期設定がトランジションアニメーションスケール設定が【オフ】だということになる。
たぶん一般的なユーザーはこのような設定は触らないだろう。

またAndroid4.0以上ではこの設定は開発者向けオプションの中にある

ましてやAndroid4.2(だったと思う)からは、初期状態では開発者向けオプションは表示されていない。
いよいよ一般的なユーザーは設定を変更することは無いだろう。
初期状態においてその部分が、
アプリのプログラムに特別な干渉を加えない【1x】ではなく
画面遷移時のアニメーションを無効とする【オフ】になっている端末があるということ

ちなみに検証端末DはAndroidのバージョンが4.2.2であった。

もし、検証端末Dと同じ端末を使っている方が、このアプリをダウンロードして使ってくれたとしても
苦心して実装した画面遷移の動きは、届くことはないと思われる。

全くもって開発者泣かせな事象である。