しばらく前にssFlickerのデータ異常に関する不具合を指摘された。
v0.8.3で一度対応はしたものの、それだと対応が不十分だった事に気付き、引き続き色々と修正した。
ちょっと今回はいつもと書き方を変えてみる。
2012年4月14日土曜日
ssFlickerにストローク起動を追加しました
恒例のバージョンアップ内容についてです。
v0.9.0でセンサー起動を強化しました。
□センサー起動を追加し、シェイク起動をセンサー起動のオプションに変更
□センサー起動のオプションにストローク起動を追加
ストローク起動はこれと同じセンサーを利用してssFlickerを起動するようにしている。
センサー起動はどうしても誤起動することも多いので、まずはお試し程度で使ってみて欲しい。
□スクリーンオフ中、画面ロック中、着信中、通話中はセンサー起動を停止するよう変更。
v0.9.0でセンサー起動を強化しました。
v0.9.0
□センサー起動を追加し、シェイク起動をセンサー起動のオプションに変更
□センサー起動のオプションにストローク起動を追加
□センサー起動を追加し、シェイク起動をセンサー起動のオプションに変更。
□センサー起動のオプションにストローク起動を追加。
これまで、加速度センサーを利用したシェイク起動があったけど、新たに近接センサーを利用したストローク起動を追加し、それらを纏めてセンサー起動とした。
Androidスマートフォンには受話口の近くに近接センサーがあって、通話中などの誤操作を防ぐため、耳を近づけるとスクリーンオフするようになっている。ストローク起動はこれと同じセンサーを利用してssFlickerを起動するようにしている。
センサー起動はどうしても誤起動することも多いので、まずはお試し程度で使ってみて欲しい。
□スクリーンオフ中、画面ロック中、着信中、通話中はセンサー起動を停止するよう変更。
シェイク起動は一度ONにすると、端末の状態に関わらず常に加速度センサーから数値を取得するようになっていた。
ただ、スクリーンオフ中や画面ロック中はssFlickerを起動する必要はない。
また、電話の着信があったり発信する際は誤起動も多く、ストレスを感じてしまう。
なので、このような場合にセンサーからの数値の取得を停止するように変更した。
□バージョンアップ後にステータスバー起動、オーバーレイ起動、センサー起動が再起動するように変更。
ただ、スクリーンオフ中や画面ロック中はssFlickerを起動する必要はない。
また、電話の着信があったり発信する際は誤起動も多く、ストレスを感じてしまう。
なので、このような場合にセンサーからの数値の取得を停止するように変更した。
□バージョンアップ後にステータスバー起動、オーバーレイ起動、センサー起動が再起動するように変更。
ssFlickerのバージョンアップが行われると、これらのサービスが停止されていた。
一度停止しても設定画面を開けば再起動するようにはしていたんだけど、知らずに動かなくなったと勘違いする人も多いと思う。
なので、バージョンアップ時に自動でサービスを再起動するように変更。
バージョンアップ時にサービス再起動ってできないと思っていたんだけど、調べ直してみたら結構簡単にできた。
□設定画面の見た目や順番を変更。
一度停止しても設定画面を開けば再起動するようにはしていたんだけど、知らずに動かなくなったと勘違いする人も多いと思う。
なので、バージョンアップ時に自動でサービスを再起動するように変更。
バージョンアップ時にサービス再起動ってできないと思っていたんだけど、調べ直してみたら結構簡単にできた。
□設定画面の見た目や順番を変更。
細々と変更しています。
□アプリ情報の保持ロジックを変更。
□アプリ情報の保持ロジックを変更。
プログラミングの話ですが。
ssFlickerではいくつかの独自データクラスを作っており、App、IntentApp、Function、AppWidgetなどがあった。
これまでそれぞれ別のクラスとしていたんだけど、内容的に重複する点が多いので、Appクラスを親クラスとし他のクラスをサブクラスに変更した。
ssFlickerではいくつかの独自データクラスを作っており、App、IntentApp、Function、AppWidgetなどがあった。
これまでそれぞれ別のクラスとしていたんだけど、内容的に重複する点が多いので、Appクラスを親クラスとし他のクラスをサブクラスに変更した。
2012年3月20日火曜日
ssFlickerのバージョンアップ内容
最近のssFlickerのバージョンアップ内容。
v0.8.1
□ssFlickerの設定画面にヒントを追加
文字通りヒントを追加。
普通に使っていても気付きにくい点や使い方のちょっとしたポイントを追加して行きたいと思う。
v0.8.2
□ssFlickerのアプリアイコンを変更
旧アイコンもそれほど気に入らなかった訳じゃないんだけど、3D(球)に違和感を感じていた。
オリジナルアイコンは全て2Dだし、操作方法も2D。3Dの要素はまったくない。
という訳で2Dのアイコンを作成したんだが、コメントを見る限り、どうも評判がイマイチのようだ。
そんな自分も最近「前の方が良かったかな」と思いつつある。
何にせよ、今のアイコンだとssFlicker最大の特徴である「フリック」が分かりずらいので、いずれまた変更したいとは思っているんだけど。
□背景色を透明にしても透明にならない不具合の修正
大した不具合ではなかったのだけど修正。v0.8.3
□ポインタ名、アプリ名の表示設定を追加
前に一度実装しようかと思って止めたんだけど、要望があったので実装。
□設定画面にssFlickerの共有を追加
ごめんなさい、宣伝用です。
Google PlayのssFlickerのURLをTwitterやSNSに投稿できます。
□ポインタ、アプリ情報のテーブル制約を変更(本バージョン以降の新規インストール時のみ有効。見た目や操作性は変わりません)
ssFlickerではポインタの情報とアプリの情報には、設置場所に基づいたIDを付与して保存している。
例えば一番左上のポインタの一番左上のアプリには0-0というIDが付与されている。
また、保存先はDBのポインタテーブルとアプリテーブル。
ポインタテーブルはpointerIdがprimary keyとなっているため、重複することはない。
ただ、アプリテーブルはpointerIdとappIdの複合primary keyとしていなかったため、場合によっては重複してしまう可能性があった。
例えば、ウィジェットの登録時に、一覧が表示される前に他のアプリに触れてからウィジェットを登録すると重複してしまう。他のアプリに触れたタイミングで登録先のIDが変わってしまうからだ。
他にもポインタやアプリを移動する際に一時的にIDを変更しており、普通に処理が完了すれば問題ないんだけど、たまたま端末がフリーズしたりしてしまったらどうなるか分からない。
仮に重複した場合、何かのアプリの裏に隠れているだけなので、そのアプリを削除すれば重複分を含めて削除されるんだけど、どのアプリと重複しているかは見た目では分からない。
AndroidではSQLiteというDBを使っているんだけど、これで複合primary keyが設定できないと思い込んでいたのだけど、調べ直してみたら出来るらしい。
ただ、DBバージョンを上げるとかなり大変なので新規インストール時のみ設定されるようにした。
□共有アプリの登録ロジックを変更
ssFlickerからTwitterの投稿画面を起動すると、ssFlickerが終了していなかったので、終了するよう変更。
□ホームアプリの起動ロジックを変更
これまでホームアプリの起動にIntent.CATEGORY_DEFAULTを設定していなかったので追加。
□オーバーレイ起動でアプリアイコンが画面に残ってしまう場合がある不具合の対応
オーバーレイ起動でアプリアイコンを表示したまま画面ロックをかけると、復帰時にアプリアイコンが表示されたままになっていたので修正。
2012年3月14日水曜日
ウィジェットホストの作り方
「ウィジェットを扱うアプリ」と言っても2通りの捉え方ができる。
1つは「自作ウィジェットを他人のアプリで表示する」という意味。
もう1つは「他人のウィジェットを自作アプリで表示する」という意味。
本記事では後者、つまりウィジェットホストの機能について記載する。
ssFlickerにウィジェットホストの機能を追加したのはもう半年ほど前のことだが、当時ネットで検索した限り、この機能について書かれたサイトは見当たらなかった。
何とか標準ホームのソースを追って機能は実装できたのだが、同じ悩みを抱える人もいるだろう。
作り始めた当初、ウィジェットホストの機能が実現できる自信はまったくなかった。
ウィジェットホストで必要な処理を想像して、一覧を表示して設定画面を開いてアプリの情報などを色々と保存して…と色々考えていた。
が、終わってみればそこまで難しい物でもない。想像していた処理の半分位をシステム側(Android OS)が行っている為である。
1つは「自作ウィジェットを他人のアプリで表示する」という意味。
もう1つは「他人のウィジェットを自作アプリで表示する」という意味。
本記事では後者、つまりウィジェットホストの機能について記載する。
前者については多くの書籍やサイトで説明されているので、ここでは記載しない。
ssFlickerにウィジェットホストの機能を追加したのはもう半年ほど前のことだが、当時ネットで検索した限り、この機能について書かれたサイトは見当たらなかった。
何とか標準ホームのソースを追って機能は実装できたのだが、同じ悩みを抱える人もいるだろう。
作り始めた当初、ウィジェットホストの機能が実現できる自信はまったくなかった。
ウィジェットホストで必要な処理を想像して、一覧を表示して設定画面を開いてアプリの情報などを色々と保存して…と色々考えていた。
が、終わってみればそこまで難しい物でもない。想像していた処理の半分位をシステム側(Android OS)が行っている為である。
毎度の事だがリファレンスを読み解いた訳ではなく、どちらかと言えば結果論(やってみたら動いた)になっているので、あくまで参考程度にして欲しい。
2012年3月1日木曜日
ssFlickerに共有アプリが登録できるようになりました
いつもの通り、先日行ったv0.8.0でのバージョンアップ内容について。
V0.8.0
□ポインタに登録できるアプリに共有アプリを追加
・これまでポインタに登録できるアプリは通常のアプリ、ホームアプリ、ショートカット、ウィジェット、ファンクションの5種類だった。これに共有アプリを追加。
・Androidでは今起動しているアプリの一部情報を、他のアプリを通じて共有する機能がある。
例えば、ブラウザから共有を呼出すと共有機能を有したアプリ(TwitterやGmailなど)の一覧が表示され、選択したアプリを通じてURLを共有(Twitterであればつぶやき、Gmailであればメール送信)することができる。
使い方によってはかなり便利な機能なんだけど、実は自分もあまり使っていない。
・前からssFlickerでもうまいこと共有アプリを扱いたいと思っていたんだけど、結果的に「ポインタに登録できる一アプリ」として扱えるようにした。
また、アプリの編集画面からテンプレートも設定可能。テンプレートを設定しておけば「起きた」ツイートや「帰る」メールなどを多用する人には便利だと思う。
テンプレートを使わなかったとしても、ツイート画面やメール送信画面を直接開く事ができるので、ぜひ1度使ってみて欲しい。
□アプリ選択画面をリスト表示からグリッド表示に変更
・単純に見やすさを重視した。
アプリインストール数が多い人はリスト表示だとページめくりが大変だと思い、グリッド表示に変更。
□ファンクションやステータスバーなどのアイコンを変更
・ファンクションのアイコンはかなり初期から作りたかったんだけど、このタイミングで作成。
合わせてステータスバーアイコンも変更。ICS標準に合わせる形に変更した。
他にもホームポインタのアイコンも四角から家っぽく変更。
細かい所だと、通常のポインタのデフォルトアイコンを矢印付きの○からただの○に変更した。
・これで長らく課題になっていたアイコンの作成は一通り完了。あとはアプリアイコンを変更するかちょっと悩んでいるけど、今よりも良いデザインも思いつかないのでこのままにしておく。
V0.8.0
□ポインタに登録できるアプリに共有アプリを追加
・これまでポインタに登録できるアプリは通常のアプリ、ホームアプリ、ショートカット、ウィジェット、ファンクションの5種類だった。これに共有アプリを追加。
・Androidでは今起動しているアプリの一部情報を、他のアプリを通じて共有する機能がある。
例えば、ブラウザから共有を呼出すと共有機能を有したアプリ(TwitterやGmailなど)の一覧が表示され、選択したアプリを通じてURLを共有(Twitterであればつぶやき、Gmailであればメール送信)することができる。
使い方によってはかなり便利な機能なんだけど、実は自分もあまり使っていない。
・前からssFlickerでもうまいこと共有アプリを扱いたいと思っていたんだけど、結果的に「ポインタに登録できる一アプリ」として扱えるようにした。
また、アプリの編集画面からテンプレートも設定可能。テンプレートを設定しておけば「起きた」ツイートや「帰る」メールなどを多用する人には便利だと思う。
テンプレートを使わなかったとしても、ツイート画面やメール送信画面を直接開く事ができるので、ぜひ1度使ってみて欲しい。
□アプリ選択画面をリスト表示からグリッド表示に変更
・単純に見やすさを重視した。
アプリインストール数が多い人はリスト表示だとページめくりが大変だと思い、グリッド表示に変更。
□ファンクションやステータスバーなどのアイコンを変更
・ファンクションのアイコンはかなり初期から作りたかったんだけど、このタイミングで作成。
合わせてステータスバーアイコンも変更。ICS標準に合わせる形に変更した。
他にもホームポインタのアイコンも四角から家っぽく変更。
細かい所だと、通常のポインタのデフォルトアイコンを矢印付きの○からただの○に変更した。
・これで長らく課題になっていたアイコンの作成は一通り完了。あとはアプリアイコンを変更するかちょっと悩んでいるけど、今よりも良いデザインも思いつかないのでこのままにしておく。
2012年2月9日木曜日
音量、バイブ、マナーモードの設定方法
ssFlickerにはファンクションに「マナーモード」と「音量」がある。
元々標準設定アプリと挙動に差異がある事は分かっていたんだけど、改めてICSをいじっていたら、想像以上に差異があったので仕様から見直してみた。
そしたら、これまた想像以上にハマってしまったのでまとめてみる。
(2012/6/20追記)
Android4.0.4を含めた記事を書きました。
検証の結果はコチラを参照してください。
元々標準設定アプリと挙動に差異がある事は分かっていたんだけど、改めてICSをいじっていたら、想像以上に差異があったので仕様から見直してみた。
そしたら、これまた想像以上にハマってしまったのでまとめてみる。
(2012/6/20追記)
Android4.0.4を含めた記事を書きました。
検証の結果はコチラを参照してください。
2012年2月5日日曜日
ssFlickerの音量ファンクションを変更
最近のssFlickerのバージョンアップ内容。
v0.7.10の音量ファンクションはハマりました…。
■v0.7.9
■v0.7.10
□ファンクションのマナーモードと音量の仕様を変更
・マナーモードはこれまで、「通常」→「サイレントモード」→「バイブモード」で切替えていたんだけど、単純なマナーモードのON/OFFに変更した。
標準設定アプリのマナー設定をON/OFFするのと同じ意味になる。
・音量も大きく変更。
標準設定アプリと同じような設定が出来るようにした。
また、音量からマナーモードも設定変更できるようにした。
なお、「通知音にも着信音量を適用」の設定は変更できない。
□設定画面でオーバーレイポイントがおかしい不具合の修正
・詳細を忘れてしまったのだけど、設定画面でオーバーレイ設定を行っても正しく設定が反映されていないことがあったので修正。
□読み込み中ダイアログをキャンセルした時にエラーとなる不具合の修正
・ポインタへのアプリ追加時などに「読み込み中」ダイアログが表示されるが、それをキャンセルした後に他の操作を行っていると、ssFlickerがエラー終了してしまう事があった。
かなり初期から分かっていた不具合で、今回対処方法が分かったので対応してみた。
本当に直っているかは少し自信がない。
v0.7.10の音量ファンクションはハマりました…。
■v0.7.9
□スワイプ距離の選択肢の変更
・ロング(48px)、ショート(24px)の区分をなくしてスワイプ(48px)に統一。
48pxと24pxでは操作している上でほとんど差がなかったので。
□枠厚の選択肢の変更
・前の選択肢がなんだったか忘れてしまった。
綺麗に0〜6pxまで2px単位で設定できるように変更。
□ポインタサイズの選択肢の変更
・以前苦労してたマルチディスプレイ対応の残り。
いまだにサイズが合わない機種があるらしく、設定を7段階に変更。
□透明度の選択肢の変更
・透明度に「透明」を追加。
元々、透明度に「透明」は入れてなかったんだけど、深い意味もなかったので。
□ファンクションのマナーモードと音量の仕様を変更
・マナーモードはこれまで、「通常」→「サイレントモード」→「バイブモード」で切替えていたんだけど、単純なマナーモードのON/OFFに変更した。
標準設定アプリのマナー設定をON/OFFするのと同じ意味になる。
・音量も大きく変更。
標準設定アプリと同じような設定が出来るようにした。
また、音量からマナーモードも設定変更できるようにした。
なお、「通知音にも着信音量を適用」の設定は変更できない。
□設定画面でオーバーレイポイントがおかしい不具合の修正
・詳細を忘れてしまったのだけど、設定画面でオーバーレイ設定を行っても正しく設定が反映されていないことがあったので修正。
□読み込み中ダイアログをキャンセルした時にエラーとなる不具合の修正
・ポインタへのアプリ追加時などに「読み込み中」ダイアログが表示されるが、それをキャンセルした後に他の操作を行っていると、ssFlickerがエラー終了してしまう事があった。
かなり初期から分かっていた不具合で、今回対処方法が分かったので対応してみた。
本当に直っているかは少し自信がない。
登録:
投稿 (Atom)