run_prettify.js

2012年12月24日月曜日

文字数カウント v3.0.0

めりくりー、ってことで更新です。以下更新内容。

  • OS2.2未満のサポートを終了
  • 英文モードの単語数カウントで「-」を除外するように変更
  • デザインがOSのバージョンのデフォルトになるように変更

バージョン2.2未満の人はほとんどいないはずなので問題はないと思いサポート終了にしました。ちなみにアプリを作る側からすると、動作OS「2.2以上」「2.3以上」「4.0以上」あたりで壁があります。新しくアプリを作るときは4.0以上にしたいっていうのが本音です。

英文の単語数をカウントする際、ハイフンを除外するようにしました。これは英語圏の方からの要望に応えた感じです。

その他バグ修正のほか、色々更新しました。OSのバージョンが2.3より上の場合は、バージョンにあったテーマが適用されるはずです。

見た目はそれほど変わっていませんが中身がだいぶ違うので、バージョン名を2.xから3.xに上げてみました。もし不具合を見つけた方はこの記事のコメントかメール、ツイッターにてお願いします。

2012年12月19日水曜日

File Shortcut v2.1.0~v2.1.1

どうも最近時間が取れません。何とか今年度中にBashful Clockの改修を行いたいんですが……。以下v2.1.0の更新内容です。

  • アイコン選択で、ギャラリーアプリによるトリミングができるように
  • ファイルパスを直接編集できるように
  • 「プロセスをキルする」「ランチャーからの起動を無効にする」のオプションを追加
  • アイコンサイズが一部環境で小さくなってしまう不具合を修正
  • トリミングに関するバグの修正(v2.1.1で追加)

最初の二つはショートカット作成画面を見ればわかる通りです。従来のアイコン選択は、アイコンの大きさの正方形に収まるように縮小しています。ギャラリーでトリミングすると、一部を拡大したりできます。お好みでどうぞ。

追加した二つのオプションは、ランチャーから起動した画面を右にシュッってすれば出てきます。

「プロセスをキルする」っていうのは、なんか……あれですね、ルー大柴みたいですねw ファイルを開いた後にプロセスを消し去ります。通常はチェックを入れる必要はありませんが、メモリが少ない古めの機種を使用している場合は、他のプロセスを殺さずに済むのでじゃーっかん動作が軽くなる可能性があります。

「ランチャーからの起動を無効にする」は、メールでご意見いただいたものです。「アイコン邪魔だよ」とのことで、まあ非表示にできるランチャーアプリを使えばいいような気がするんですが、消したところで大して問題はないので、とりあえず追加した機能です。

これを有効にした後でも、ショートカット作成画面のメニューから同じ画面を起動できるので、お好みでどうぞって感じです。

あとはバグ修正がいくつか。特定の環境でアイコンが小さくなる不具合が主です。あと、2.3端末でICSっぽくするライブラリを外しました。アプリのサイズが小さくなったのはこのためです。

今後の更新予定

要望をもらったら対応する、くらいにしか考えていません。もう僕が思いつくことはやりました。

しいて言えば「アプリ使用履歴に残さないでくれ」っていう英語のレビューをもらってるのでそれかなあ。試したけど何故か上手くいかなかったので今回は保留にしました。他の方からも要望があれば本腰を入れてやりますが、あまり僕は必要性を感じていません。履歴ボタンなんて使わずSwipePadなりssFlickerなりに登録した方がぜーーったい便利だと思うので。

何かありましたら気軽にメールやツイッターでご連絡ください。技術的に不可能でなければ頑張って対応します。

2012年11月25日日曜日

File Shortcut v2.0.0-2.0.1

久しぶりに更新した気がします。Nexus7買ってルンルンしながら作りました。以下v2.0.0変更内容。

  • UIの刷新
  • ファイル選択をファイラー・ギャラリーからも可能に
  • MIMEタイプの編集を可能に
  • ウェブページへのショートカットを廃止
  • バグ修正(大きい画像を選択しても落ちないように)
  • 横画面でOKボタンを押せない不具合の修正(11/26 v2.0.1)

UIっていうかアプリ自体、一から作り直しました。ICS未満の端末でもISCっぽくなったと思うんですがいかがでしょうか。従来のダイアログ方式はあまり使いやすくないなと思ったので、こんな感じになりました。だいぶマシになったと自分では思ってます。

ファイラー・ギャラリーアプリからもファイルを選べるようになりました。一応PDFとかもあるだろうから共有からの追加にも引き続き対応しています。

ウェブページへのショートカットは廃止しました。「『ファイルショートカット』にウェブページは相応しくない」「処理が複雑になる」「他のアプリで代用できる」などが理由です。ただ、それなりに有用だとは僕自身も思っているので、これから別アプリとして作成します。

待てねーよksって人は、前のバージョン(記事末尾参照)を使うか、他のアプリで代用してください(Desktop VisualizeRでURLをコピーした状態でアクションをクリップボードにするとできます)。

アプリのサイズがでかくなったのは、ICS未満をICSもどきにするライブラリを追加したためです。

MIMEタイプについて

ファイルの形式だと思ってください。例えば、テキストファイルなら「text/plain」、画像なら「image/jpeg」とか「image/png」って感じです。

ファイルの拡張子で自動判別するので、通常は編集する必要ありません。というか、ファイルを開くアプリを決める情報なので、下手に弄ってしまうと正しくファイルを開けなくなります。

この項目を編集できるようにしたことで、「拡張子がないファイルにも手動でファイル形式を入力できる」「動画ファイルを音声ファイルとして開く」みたいなことができるようになります。MIMEタイプがどんなものかわかっている方のみ使用してください(そのうちヘルプみたいなのを書くつもりです)。

不具合など

テストは念入りにしたつもりですが、まだバグ持ちの可能性もあります。もし全く動かないという場合は前バージョンを使ってください。多少安定はしているはずです。

http://ux.getuploader.com/75py/download/1/File_Shortcut_1.1.0.apk

また、前バージョンで「Nexus7(JB)で『対応していない』と言われる」というご報告がありましたが、僕のN7ではこの症状を確認できませんでした。

以上です。何かありましたらコメント欄、またはメール、ツイッターでご連絡ください。

2012年11月18日日曜日

「文書に対する文法制約dtdまたはxmlスキーマが検出されませんでした」を消す方法

Eclipse、Lint先生の「文書に対する文法制約dtdまたはxmlスキーマが検出されませんでした」を消す方法。

一応ファイルの冒頭に「<!DOCTYPE ルート(RelativeLayoutとかmanifestとか)>」で消せるわけですが、如何せんめんどくさい。

こんな時こそGoogle先生(英語)です。

Fix The No Grammar Constraints (DTD Or XML schema) Warning In Android | Tech Tips & Tricks

感謝感謝。書いてあるのそのまんまですが、訳すと以下のようになります。

  1. ウィンドウ
  2. 設定
  3. XML
  4. XMLファイル
  5. 検証
  6. 文法指定なし
  7. 無視

2012年11月1日木曜日

secroidのBashful Clockに関する記述について

secroidは、ネットエージェント株式会社が公開しているユーザーにとってのリスクレベルと内容の情報をアプリごとに公開しているサイトです。

まだベータ版だそうで、検索がおかしいらしくアプリ名で探しても見つからなかったのですが、グーグルで「secroid <パッケージ名>」を検索したらBashful Clockのページを見つけました。

これを書いている11/01現在、secroidが検査してくれたのはバージョン2.0.4のようです(11/01の最新版は2.1.2)。しかしまあ、権限や操作している中身は大差ないので、バージョンが最新版であろうと結果は同じだと思います。

ユーザーの視点からすれば、secroidの取り組みは有用ですが、過信は禁物です。「HIGH」とかはちょっと要求パーミッションが多いと簡単につくっぽいですし。ですが、一応中身も見て「広告があるよ」とか「アプリ内で使ってるよ」とか教えてくれるようなので、一つの参考資料にはなると思います。

secroidの内容を鵜呑みにすると、Bashful Clockは「若干インストールするのをためらってしまうアプリ」になってしまいます。そこで、悪意あることはしてないですよってことで、Bashful Clockについてsecroidに書かれていることに対する説明をしておこうというのが、この文章の主旨です。

なお、これはあくまで自己申告です。嘘をつく気はありませんが、それを信用するかどうかは皆さん次第です。信用できないと思うようでしたら、僕の作ったアプリの使用を取り止めてください。


「このアプリに潜むリスク」について

取り上げられているのは以下の三項目です。

  • SDカードの内容を読んでいます
  • バックグラウンドで動作します
  • レシーバを登録します

SDカードの読み込み

secroidには「目的:不明」「送信先:不明」と書いてあります。どういう原理でこれを不明としたのかちょっとわからないんですが、ユーザーとしては不安ですよね。

目的は「自前フォントファイルの読み込み」と「バックアップファイルの読み込み(と書き込み)」です。それ以外には何もしていません。

また、仮にそれ以外のファイルを読み書きしていても、そこで得た情報を外部に送信することはたぶん不可能です。現在僕は、インターネット権限を持ったアプリを公開していません。

バックグラウンドで動作

これは言うまでもないですが、時計を自動表示するためのサービスのことです。画面点灯やロック解除を検知するためには、バックグラウンドにサービスを常駐させる必要があります。

レシーバを登録

これも「目的:不明」「送信先:不明」になってるんですよね。なんでかなあ……。

レシーバーは、静的に登録しているのが一つ、動的にが四つです。動的にってのは、前述のサービスによって登録したりしなかったりしてるってことです。詳細は別ページをご覧ください。Androidユーザー向け 「何となくわかるレシーバー講座」

まず静的なやつ、これはBOOT_COMPLETEDです。端末の起動完了を検知して、時計の自動表示機能が有効になっている場合、サービスを開始するために使用します。BOOT_COMPLETEDAndroidManifest.xmlに書かれています。

動的なやつは、まず時計更新用にACTION_TIME_TICK。これは、一分おきにOS側が通知を出してくれるやつです。秒表示ありのときはタイマーで1000ミリ秒ずつ更新してるんですが、秒表示なしのときはACTION_TIME_TICKを受信することでバッテリー負荷を抑えています。

次にACTION_BATTERY_CHANGED。これは、ベータ機能であるバッテリー残量表示のために使用します。これを登録することで、現在のバッテリー残量を取得できます。

残り二つはACTION_SCREEN_ONACTION_USER_PRESENT。それぞれ「スクリーンオン」と「ロック解除」を検知します。

「アクセス許可」について

  • 自動起動。起動完了の受信
  • USB ストレージのコンテンツの変更/削除、SD カードのコンテンツの変更/削除
  • システムレベルの警告の表示

自動起動とSDカード読み書きについては説明済みですね。USBストレージってのはちゃんと調べていませんが、SDカード書き込み(android.permission.WRITE_EXTERNAL_STORAGE)の権限が内包しているんだと思います。

システムレベルの警告について。secroidには「システムの警告ウィンドウの表示をアプリに許可します。この許可を悪意のあるアプリに利用されると、画面全体が乗っ取られる恐れがあります。」と書かれています。この項目については別ページに詳しい説明を書きましたので、興味のある方は読んでください。Androidユーザー向け 「何となくわかる表示レイヤー講座 ~オーバーレイ表示の仕組み~」

Bashful Clockでは、時計表示にはシステムオーバーレイを使っています。「タップで終了する」が有効になっている場合は、システムアラートを使って時計と同じ大きさの透明なビューを表示させています。こうすることで、「ロックが解除された後なら触れば終了する」時計が表示できるってわけです。


個人的には、「このアプリに潜むリスク」にオーバーレイに関する記述がないのが疑問ですね。レシーバの登録なんかよりよっぽど重要だと思うんですけど……。

とりあえず説明は以上です。何か質問などありましたらご連絡ください。

Androidユーザー向け 「何となくわかるレシーバー講座」

secroidに「レシーバを登録しています」って項目があるので、何のことやねんってならないための解説です。何となくわかる(かもしれない)シリーズ第二弾。

開発者向けの話ではないので、ざっくり説明します。まあ雰囲気をつかんでいただければ。何か質問とかあったらコメントしてください。


レシーバーってなに?

フルネームは「BroadcastReceiver(ブロードキャストレシーバー)」です。つまり、「どこかからブロードキャストされた何か」を受信するのがレシーバーです。broadcastreceiveの意味を見れば、まあそのまんまだなと思いますよね。

何を受け取るの?

例えば、こんなものがあります。

  • スクリーンがオンになった
  • 端末の起動が完了した
  • バッテリー残量が変化した
  • バッテリー残量が少なくなった
  • アプリがインストールされた
  • アプリが更新された
  • アプリがアンインストールされた

誰が送信してるの?

前項の例では、Androidシステム側がばしばし飛ばしてくれます。

つまり、システムがばんばんブロードキャストを飛ばしてるから、情報が欲しいアプリは各々でレシーバーを登録することで、いろんな状況の変化を簡単に検知できるってわけです。

ちなみに、独自にブロードキャストを送信したり、それを受信することもできます。

静的な登録と動的な登録

ブロードキャストには、AndroidManifest.xml(アプリのバージョン、要求パーミッション、使うアクティビティなどの情報をまとめたファイル)に書き込むだけで受信できるタイプと、サービスやアクティビティから登録する必要があるタイプがあります。

前者の代表的な例は「BOOT_COMPLETED」ですね。端末の起動完了を検知する場合は、AndroidManifest.xmlに書き込むだけでオッケーです。後者は色々ありますが、スクリーンオンの検知とかが当てはまります。

ユーザー視点からの二つの差ですが、後者の場合は通常「サービスを常駐させて受信する」必要があります。電話の誤発信防止アプリやTaskerなどのアプリが常駐するのは、こういったブロードキャストを受信するためです。(もちろん、サービス常駐の目的はブロードキャストだけではありません。あくまで一例です。)

Androidユーザー向け 「何となくわかる表示レイヤー講座 ~オーバーレイ表示の仕組み~」

「システムレベルの警告の表示」のパーミッションについて説明する際に、これを分かってもらえると納得できるかなと思ったので書きました。この権限を使うと、任意のビューをオーバーレイ表示できます。

ここでは、ざっくり簡単にAndroidのレイヤーについて解説します。頑張ってかみ砕いたつもりですが、質問などがありましたらご連絡ください。

レイヤーって?

レイヤー層、階層、層にする、層をなす、などの意味を持つ英単語です。ペイントソフトやフォトレタッチソフトなどで、画像を載せる仮想的なシートのことをレイヤということがありますよね。あれをイメージしてもらえると良いです。何層も絵を重ねて最終的に一枚にするイメージです。

例えば?

アプリを起動中にステータスバーをびろーんってすると、通知領域が広がりますよね。あれは、「通知領域のレイヤー」が「アプリのレイヤー」よりも上位にあるからです。上位にあるレイヤーが上にくるので、アプリは隠れて通知領域が表示されます。

どんなレイヤーがあるの?

本当はもっとたくさんありますが、一部を抜粋して簡単に挙げてみます。OSのバージョンごとに違いがあるので、ここでは最新のJBについて取り上げます。下に行くほど上位のレイヤーです。

  1. 通常のアプリ
  2. 着信画面
  3. トースト表示
  4. システムアラート
  5. 文字入力
  6. キーガード
  7. ステータスバー
  8. システムオーバーレイ

例えば、通常のアプリより着信用のレイヤーの方が上なので、電話がくるとすぐ表示されます。スリープ状態から復帰したときに起動中のアプリではなくキーガードが表示されるのも、キーガードのレイヤーが上位にあるからです。

「システムアラート」と「システムオーバーレイ」

何やら分かりづらい「システムアラート」「システムオーバーレイ」なるものがありますね。

システムアラートは、バッテリー残量が少ないよ!って時の警告などに使われるレイヤーです。システムオーバーレイは名前のまんまで、いつでも上に表示できるよってレイヤーです。

この二つは、オーバーレイ表示を行っているアプリが使っているものだと思ってください。二つの違いは「触れるかどうか」と「キーガードより上位かどうか」です。

システムアラートの方は、必要に応じてタッチイベントを取得できますが、キーガード上では表示できません。キーガードよりも下位のレイヤーだからです。

システムオーバーレイにはフォーカスを与えることができません。もしこのレイヤーが触れる場合、キーガードに干渉してしまうからです。

アプリ名を出した方が分かりやすいですね。SwipePadやWave Launcherのスワイプ起動に使われているのがシステムアラートです(たぶん)。Migiuedやババァで使われているのがシステムオーバーレイです(たぶん)。

パーミッション

レイヤーの操作を行うには、「android.permission.SYSTEM_ALERT_WINDOW」(システムレベルの警告の表示)の権限が必要になります。この権限を要求するアプリは、前述のレイヤーを使って、画面に何かしらを表示させる機能を持っているということになります。

この機能の危険性

apkファイルからアプリをインストールする際、「インストール」ボタンの上にオーバーレイ表示が乗っかっていると、インストールボタンが押せません。これはセキュリティ上の仕様です。だって、「インストール」って表示の上に例えば「このファイルを削除する」って表示されちゃったら危ないじゃないですか。なので、apkファイルからインストールする場合は、オーバーレイ表示をするアプリをいったん無効にする必要があります。

このように、この権限は割と危険な部類に入ります。画面いっぱいに真っ黒なシステムアラート(タッチイベントあり)を表示されたら、もう何も操作できなくなります。そんな愉快犯的な人間はそれほどいないとは思いますが、そういった危険もあるということを覚えておいてください。

2012年10月26日金曜日

Overlay Toast(ブロードキャストを受信してトースト表示するアプリ)

ブロードキャストを受信してトースト表示するアプリ。せっかく作ったんで野良で公開します。

ブロードキャストを送信できるアプリ、LlamaとかTasker用です。Taskerはもともとできるけど、これだとロック画面上でも表示できます。表示秒数も指定可。Taskerの場合は変数名入れると置換してくれます。

ちなみに、僕が気まぐれでアイコンを作るか、誰かがアイコンを作ってくれた場合、野良公開をやめてPlayにアップロードしますw

ダウンロード

http://ux.getuploader.com/nora_apk/download/194/Overlay_Toast_1.2.0.apk(更新内容

http://ux.getuploader.com/nora_apk/download/191/Overlay_Toast_1.1.0.apk

http://ux.getuploader.com/nora_apk/download/190/Overlay_Toast_1.0.0.apk

使い方(Localeプラグイン)

  1. Localeプラグイン
  2. Textに表示したい文字
  3. Millisecondsに表示秒数(ミリ秒)

使い方2(Llamaの場合。ベータ版を使ってます)

  1. 「行動追加」
  2. 「Androidインテント」
  3. 送信モード「ブロードキャスト」
  4. 行動「com.nagopy.SHOW_TOAST」
  5. Add new 'extra' row
  6. keyのほうに「text」、真ん中は「string」、Valueは表示する文字列
  7. keyのほうに「ms」、真ん中は「int」、Valueは表示秒数(ミリ秒)
  8. 「了解」

最後の表示秒数は省略可能です。指定しない場合は3000ミリ秒になります。単位がミリ秒なんで、例えば10秒なら「10000」、2秒なら「2000」です。

使い方1,2は等価です。どっちでやっても同じ。ただ、Taskerで変数名を入れるときは2の方がやりやすいと思います。

パーミッション

  • システムレベルの警告の表示(トースト表示をロック画面上でも表示するべくオーバーレイするために使用)

普通のToastからビューだけ取り出して、表示は自分でやるのでこのパーミッションが必要です。でもおかげで時間指定したりロック画面より上に表示できたりします。

動作環境

OSは2.2以上、App2SD対応。テストはSH-12C(2.3.3)とエミュレーター(4.1.2)のみ。

更新履歴

v1.2.0(2012/10/28)

  • Localeプラグインとして動作するように
  • Taskerの変数を受け取れるように

ブロードキャスト送信とかめんどくさいことしなくてもトースト表示できるようになりました。Taskerの場合はtextに変数名を入れると変数の値になって表示されます(「%BATT」でバッテリー残量になったりとか)

v1.0.1(2012/10/27)

  • 説明画面を追加
  • 「text」で送る形式を文字列以外にも対応

説明画面いらねーよとか言わないでください。OSが3.1以上だと、一度でもアクティビティを起動しないとブロードキャストを受信できないらしいです。

せっかくなんで「com.nagopy.SHOW_TOAST」のコピーボタンを配置しました。おせっかいな文章も交じってますがまあ注意喚起の一環だと思って見逃してください。

文字列以外も、ってのは、現状ではLlamaには関係ないです(stringじゃなくても表示できるってだけ)。Taskerだと変数の型が何であれ表示できるようになります。

2012年10月24日水曜日

Bashful Clock v2.1.0~v2.1.2


24日と25日にかけて計三回アップデートを行いました。v2.1.0、v2.1.1をインストールした方は再度アップデートをお願いします。

更新内容(v2.1.2)

  • 秒表示無効時に正常に動作しない不具合を修正
  • カスタムビュー設定画面がスクロールできない不具合を修正
  • ファイル選択時の前回フォルダ記憶をフォントとリストアで分離
  • 一部環境で時計表示が消えないことがある不具合の修正

更新内容(v2.1.1)

  • 「タップで終了させる」に関するバグの修正

更新内容(v2.1.0)

  • フェードアウト使用時のバッテリー負荷の改善(当社比)
  • フォントをBold、Italic、Bold_Italicにできるように
  • 「ロック画面で常に表示、ロック解除で非表示」モードの追加
  • 文字サイズ上限の引き上げ(150から200へ)
  • バッテリー表示の色・文字サイズ指定可能に
  • カスタムフォーマットで「#P#」を指定するとバッテリー残量に置き換えるように

v2.1.0より前のバージョンでは、フェードアウト使用時のバッテリー負荷が非常に高いです。アニメーション中はCPU使用率が跳ね上がるんですが、更新前はなぜか「通常表示中もCPUを食いまくる」という状況でしたorz 今回の更新でCPU使用はフェードアウト中のみになるので、負荷は軽減されます。が、それなりにCPU食うのは変わらないので、フェードアウトはせいぜい1,2秒にするのをオススメします。その方が恥ずかしがり屋っぽいし(後付の理由w)。

そのほかはだいたい要望に応えた感じです。

バッテリー残量の配置についてはとりあえず見送りました。代わりに追加したのが「カスタムフォーマットの『#P#』をバッテリー残量(0~100)に置き換える」です。意味はそのまんま。これによって、カスタムビューだろうとなんだろうと、カスタムフォーマットを有効にすればバッテリー残量を表示できます。どれくらい需要があるのかは未知数ですが、まあベータ機能ですから大目に見てくださいw

三回も更新したのは、ほとんどタイマー処理関係のミスでした。ご迷惑をおかけいたしました。メールでご連絡くださった方、ありがとうございました!

今後の更新予定

とりあえず前回から検討しているのが2つ。「常時表示モードの追加」と「カスタムビュー回りの強化(分と秒で大きさを変えたりできるようビューを複数持てるようにするとか、複数プロファイルを保存できるようにするとか)」です。前者は簡単ですが必要性があまりない気がしてるので次回あたりにTODOから外そうかと。後者はとてつもなく改修が面倒なので保留中です。僕の気力がある時にやりますw

てか一つ実装し忘れを思い出しました。カスタムビュー設定画面の背景色を変えられるようにするつもりだったのに……。これは次回実装します。

あと、ちょっと先の話ですが「クリスマススキップ機能」とかどうですかね? ……いらない?(笑)

他にも何かご要望がありましたら、大抵のことは前向きに検討しますので気軽にご連絡ください。メール、ツイッター、もしくはブログコメント欄にて。Playストアのコメント欄は返信できなくてお互い不幸になりますからやめてくださいね!

2012年10月21日日曜日

File Shortcut v1.1.0


今回から、アプデの後はちゃんとブログに記録しようと思います。(むしろなぜ今までやらなかったのか)

  • アプリの共有からショートカットを作成できるようにしました。
  • ファイル選択ダイアログのバグを一部修正しました。
  • リソースを一部削除しました。(apkがちょっとだけ小さくなったかも)

これに伴い、ショートカット作成の権限が追加されています。

確かに、画像を選ぶ時とかはファイル選択ダイアログだとやりづらいですもんね。ご要望くださった方、ありがとうございます。

色々試してみましたが、とりあえずギャラリー(QuickPic)、PDFリーダー(Adobe Reader)、ブラウザ(GB標準ブラウザ、Opera Mobile、Playストア)、ファイラー(Astro)では上手く動きました。

ブラウザから共有すれば、そのページを開くショートカットが作れます。もはやファイルじゃないけど僕が欲しかったので対応しましたw

テストは一部しかしていないので、不具合がある可能性があります。もし上手く動かないアプリがありましたら、アプリ名などを明記の上、Playストア以外の手段でご連絡ください。返信できない場所に書かれてもお互い不幸になります。匿名が良ければブログで構いませんので、ご協力お願いします。

既知の不具合(?)

Nexus7(JB)で「対応していない」と言われる

んー、インストール状況を見る限り、Nexus7もJBも一定数いるんですけどね……原因不明です。実機ないので対応も未定です。何か心当たりある人いたら教えて下さいw

デフォルトのアプリが解除されることがある

外人さんからメールでご報告いただきました。Galaxy Note 10.1でそういう現象が起こることがあるらしいです。外部ストレージにインストールしてるとそういう動作になるのは知ってるんですが、ちゃんと内部ストレージに入れていても「時々」なるんだとか。このアプリが原因なのかはよくわかりません(関係なさそうな気はします)。

今後の機能追加予定

ファイル選択をファイラー、ギャラリー、選択ダイアログから選択できるようにする

他のアプリの共有からのショートカット作成だとSwipePadに追加できないんですよね。これは不便。で、他に考えられる手段として、ファイル選択をギャラリーとかでやればおkっと。

ウェブページの方はどうしようもないですが、これはまあおまけですから。本格的に使いたい方は専用のアプリにあたってください。確かLlamaの人が作ってたような。

2012年10月18日木曜日

【テスター募集】明るさ自動調整(beta)

画面点灯時にスマホに当たっている光の明るさをセンサーによって取得して、予め用意した条件に従って画面の明るさを調整するアプリです。

画面点灯時の自動調整のほか、ショートカットから以下の機能が使用できます。

  • 自動調整
  • 特定の明るさに変更
  • 明るさ変更ダイアログの表示

なお、このアプリ自体の消費電力はほとんどありません。

2012/11/22追記:Nexus7を購入することにしたので、在庫復活待ち+N7対応などで、次の更新はしばらく先になりそうです(12月上旬~中旬を予定)。ご了承ください。

ダウンロード

http://ux.getuploader.com/nora_apk/download/189/auto_brightness_changer_0_0_1.apk

http://ux.getuploader.com/75py/download/15/auto_brightness_changer_0_0_1.apk

10/22更新。バーの幅を4/5に。あとandroid:targetSdkVersionを10から16に変更(ICS以降でバーが素敵なやつになるはず)

野良アプリの間は定期的にこのページを確認してください。メールいただければ更新時にご連絡します。あとTwitterでもそれっぽい告知します。

まだ野良アプリです。設定の「提供元不明のアプリ」のチェックボックスにチェックを入れないとインストールできません。

テストをSH-12C(去年の夏モデル。OSは2.3.3)とエミュレーター(ICS)でしかしていないため、他の端末で正常に動作するかは未知数です(閾値を設けてあるので「真っ暗で何もできなくなったorz」みたいなことにはならないはずです)。

テストして欲しい項目

  • 正常に動作するか
  • 使い勝手
  • プリセットでの使い心地
  • その他何かあれば

照度センサーのある無しで動作が変わりますが、いずれもそれなりに動くようにはしてあるはずです(明るさ変更ダイアログとか)。まずその点を確認してください。

使い勝手というと曖昧なんですけど、要は分かりづらいこととかです。あと、プリセットは「SH-12Cで使う分にはまあこれくらいかな」くらいで条件を作っているので、端末によってはちょうどよく調節できない可能性もあります。

端末名、OSのバージョンを明記の上メール、ツイッター、ブログのコメント欄などでご報告いただければと思います。

既に動作を確認した機種

  • SH-12C(2.3.3)
  • Galaxy S(2.2)
  • MOTOROLA PHOTON ISW11M(2.3.4)
  • SH-01D(2.3.5)

ご報告くださった皆さん、ありがとうございます。てか、求ムICSユーザー。苦笑

パーミッション

  • システムの全般設定の変更(端末の明るさ設定を書き換えるために使用)
  • システムレベルの警告の表示(明るさの変更をすぐに反映するため/トースト表示をロック画面上でも表示するべくオーバーレイするために使用)
  • SDカードのコンテンツを修正・削除する(条件設定をファイルにエクスポートする際に使用)
  • 起動時に自動的に開始(自動調整が有効なら再起動時にも開始できるように)
  • 機密ログデータの読み取り(強制終了の際ログを取得するために使用。Playストアへのリリース時には削除します)

強制終了の際はログを取得・メールで送信できるようにしています。もしエラーが出る場合は送信をお願いします。この機能はAndroid - 独自のバグレポート機能のものを利用させていただきました。

スクリーンショット

照度センサーが使えるかどうかで内容が異なります(Xperiaは使えないらしい)。以下のは全てセンサーが使える場合です。

FAQ

使い方

設定画面には最低限ヘルプを記載しています。設定弄ったりショートカット作ったりしてみてください。動画撮れば良いんだろうなぁとは思うんでいずれ撮ります。

使いづらい、わかりづらいところがあったら教えてもらえると助かります。その他バグ報告もぜひ。

センサーの値が取得できないことがある

バッテリー負荷を抑えるため、自動調整開始後3秒間のみセンサーを稼働させます。

で、Androidの仕様で、センサーの値取得は「センサーの値に変化があったとき」になります。

よって、例えば真っ暗な部屋で自動調整が作動するとセンサーの値は0になり、もう一度真っ暗な部屋で稼働させると、前回の0から変化がないため、取得できないことになります。

まれに、明らかに明るさは変化しているのにセンサー値が取得できないことがあります。この場合は、ちょっと手をかざしてみたり、端末を傾けたりして光のあたり具合を変えるとうまくいきます。


この後は僕のたわごとが続くだけなので興味がない方は読まなくて大丈夫です。

コンセプト

  • Taskerで頑張ればできるものを、より多くの人が使える形にする
  • 利便性を損なわずにバッテリー持ちを向上させる

条件設定とか、基本的にはTaskerチックです。TaskerでIfをゴリゴリやるのを多少やりやすくした感じ。

ただ、そのままじゃ多くの人が使えるとは言えないので、明るさ変更条件には「プリセット」「インポート・エクスポート機能」を実装しました。

これによって、最初からIfごりごりする必要もなく、プリセットが気に入らなければ誰かが作った条件をインポートすればいいことになります。

二点目について。スマートフォンのバッテリー消費において大きいのは、ディスプレイ表示とインターネット通信です。

通信を必要最低限に落とすことでバッテリー持ちを改善しようと試みている方は多いと思います。専用アプリもありますし、TaskerやLlamaでもできます。でもこれって、スマホの利便性を大きく損ねるものです。

それに比べ、ディスプレイについては多くの人に改善の余地があります。屋外ではある程度の明るさが必要ですが、室内ではそんなに明るくなくても十分使えます。可能な限り画面の明るさを落とすことで、バッテリー持ちが向上します。

通信遮断による利便性を犠牲にした節電ではなく、画面の明るさを最小限に留めることで、利便性を失うことなく節電を目指すのがこのアプリです。

とかまあ色々書きましたが、母のスマホのバッテリーもちを良くするってのが当初の目的でしたw

2012年10月6日土曜日

Bashful Clock

Bashful Clockは、必要な時に数秒間日時を表示するアプリです。ダウンロードはGoogle Playのページからどうぞ。

特徴

  • 時計は一瞬確認できれば良いことが多いです。このアプリは1秒~30秒間のみ、時計を表示します。
  • 秒表示・和暦表示が可能です。
  • スクリーンオンを検知し、画面点灯時に時計を表示できます(無効化も可)。
  • ショートカットを作成すれば、任意のタイミングで表示できます。
  • Taskerのプラグインとしても動作できます。

通学電車の乗り換えの際腕時計を忘れ、スマホを取り出しロックを解除してアプリを起動して現在の時刻・秒を確認……という一連の作業がバカバカしくなった、というのが製作動機です。(このアプリのせいで腕時計忘れが深刻になったのは内緒)

秒まで確認したいときや、書類を書く際に「平成~年~月~日」を確認するときに便利です。

表示デザインですが、デフォルトは機能重視です。見た目が残念と言われたら返す言葉もございませんw 細かく設定できるようにしてありますので色々試してみてください。→今までにいただいたスクリーンショット

更新履歴

要求パーミッションについて

Playストアの説明にも少し書いてありますが、もっと詳細に知りたい方は次のページをご覧ください。

今までにいただいた質問

いただいた質問のうち、共有すべきものだけ載せていきます。

フォントによって、秒が変わるごとに左右に揺れることがある

「表示位置>横方向」が中央寄せになっているときに起こる現象です。等幅フォントでない場合は、文字によって幅が変わるため、その都度ぴったり中央に合うように微調整が起こります。

カスタムビューを使うか、「表示位置>横方向>左寄せ」+カスタムフォーマットで「(ここにスペースを入れまくる)HH:mm:ss」ことで解消できます。

今後追加を予定している機能・更新予定など

  • 常時表示モードの追加(ちょっと悩み中)
  • カスタムビュー回りの強化(分と秒で大きさを変えたりできるようビューを複数持てるようにするとか、複数プロファイルを保存できるようにするとか)
  • カスタムビュー設定画面の背景色変更

何か質問や要望がありましたらお気軽にメールまたはツイッター、もしくはブログでご連絡ください。

Bashful Clock いただいたスクリーンショットたち

今までにいただいたスクリーンショットです。Playに載せられなかった分も含めてご紹介します。

なお、積極的に募集しているわけではありませんが、皆さんのおしゃりーなスクショを送っていただけると、僕が喜びます(笑)

スクリーンショットたち

takeshiさんのスクリーンショットその1 takeshiさんちの猫+ステータスバーにカスタムビューで配置 takeshiさんのスクリーンショットその2 ロック画面にオーバーレイ表示 takeshiさんのスクリーンショットその3 takeshiさんのスクリーンショットその4

takeshiさんからいただいたものです。2~4枚目2012/10/06現在、Playにアップしてる画像です。一枚目は独特ですね。カスタムビューでステータスバーに重ねて小さく表示しています。


amaenekoさんのスクリーンショットその1 通知領域上にオーバーレイ表示 amaenekoさんのスクリーンショットその2 通知領域上にオーバーレイ表示 amaenekoさんのスクリーンショットその3 カスタムビューの設定画面 amaenekoさんのスクリーンショットその4 カスタムビューの設定画面

amaenekoさんからいただきました。本当はもう少し枚数があったんですが、壁紙のライセンスが不明だったりという理由で公開は見送りましたorz

先日追加したbeta機能であるカスタムビューを使いこなしています。どうやってるか僕もわかりませんでしたw

なお、フォントは内蔵のものの他、Pacificoを使っています。


アプリの主旨から言うと、デザインに凝る必要は全然ないです。が、こうしてかっこよくできると気持ちいもんですね!

積極的に募集しているわけではありませんが、もしスクショを撮ってくれた方がいましたらメールでご連絡ください! このページやPlayに掲載させていただきたいと思います。あと僕が喜びますw

2012年9月27日木曜日

お客様の中に絵師様はいらっしゃいませんか!(アイコン募集)

僕が公開しているアプリのうち、文字数カウントBashful Clockのアイコンを作ってくださる方を探しています。

今使っているアイコンは、パブリックドメインで公開されているアイコンをちょっと弄っただけのものです。特にBashful Clockの方は、全然ばっしゅふるな顔してないっていうね!

具体的に作って欲しいアイコンのイメージとしては、「アプリの内容を単純に示せるやつ」といったところです。すみません、僕自身があまりイメージできていません……。時計の方は「ばっしゅふるな表情」でも可です。

ファイル形式は、背景が透過のpngでお願いします。

実際にアプリに内蔵する際のサイズは「48x48」「72x72」「96x96」です。ただ、playストアには512x512をアップロードする必要があるので、可能であればそのサイズで作って欲しいです。拡大縮小は僕にもできるので、大き目のを一つ作ってくださればおっけーです。

金銭の授受はありませんが、アプリ説明欄や設定画面に、お名前の紹介や、ご希望があればウェブサイトへのリンクを貼るなどさせていただきたいと考えています。

もし作ってくれる方がいましたら、メールで連絡をお願いします!

他にも何か質問などありましたら、気楽にメールまたはツイッターでご連絡ください。

2012年9月11日火曜日

アプリ一覧と紹介

Bashful Clock

秒表示、和暦表示可能な時計アプリです。画面点灯時に自動で表示し、数秒でフェードアウトしながら消えてくれます。腕時計を忘れたときなんかに便利です。

文字数カウント(Text Counter)

文字数を数えるアプリです。原稿用紙で数えることもできます。英文カウントにも対応。

その他