R&D部の西田です。
行ってまいりました「杜の都 仙台」
10月20日に仙台の東北大学で開催された「ICT ERA + ABC2012 東北」で出展&講演を行ってきました。
当日は多くの方にご来場いただきありがとうございました。
R&D部の西田です。
行ってまいりました「杜の都 仙台」
10月20日に仙台の東北大学で開催された「ICT ERA + ABC2012 東北」で出展&講演を行ってきました。
当日は多くの方にご来場いただきありがとうございました。
R&D部の西田です。
10月20日に仙台で開催される「ICT ERA + ABC 2012 東北」に、ウェブテクノロジが出展することになりました。また、私が講演を行うことになりましたので紹介いたします。
「ICT ERA + ABC 2012東北」は、ICT(Information and Communication Technology・情報通信技術)による震災復興支援を考えようという日本Androidの会が主催するイベントです。
ERAは「Earthquake Reconstruction Aid」の略で、文字通り「震災復興支援」のことです。ABCは「Android Bazaar and Conference」の略で、日本Androidの会が年2回開催している、mAndroidに関するカンファレンスなどが行われるイベントです。今回はICT ERAと同時開催、ということで「+」がついています。
このイベントに、ウェブテクノロジがブースを出展します。
また、カンファレンスにて「スマートフォンとクラウドを活用した放射線量測定システム」という題目で講演を行います。
Androidといえばスマートフォン、というイメージがありますがここに来てタブレット端末のリリースが増えてきました。
最近は通勤途中に片手で電子書籍を見たり、車でカーナビがわりに使うのにちょうどいい7インチの端末が人気のようです。
そして先日、7インチのAndroid端末が本家Googleからリリースされました。その名もNexus 7。
1280×800のHD液晶にクアッドコアのプロセッサ、GPSや無線LANがついたこの端末、Android4.1という最新のOSを搭載していながらも2万円を切る価格、ということで発表当初から大きく注目を集めていました。
で……
こんにちは、開発の小野知之です。
Androidアプリを開発・公開している方は、ユーザーさんから原因不明の不具合報告をもらって頭を抱えたことはありませんでしょうか。
今回は、そんなAndroidアプリの中でも、「ウィジェット」でよく報告されるトラブルと、その原因と解決方法についてのお話です。
一般の、Android スマホ・タブレットのユーザーさんも、知っておくときっと役に立つ知識だと思いますので、是非「解決方法 その1」だけでも読んでみてください。
ウィジェットをGoogle Playからインストールしたユーザーさんから、こんな報告を受けたことはありませんか?
『ウィジェット一覧にアイコンが出てこないんですけど。』
中には、自分自身でこのような経験をした方もいると思います。ウィジェットをホーム画面に配置しようとして、ウィジェット一覧を開いても、そこには目的のウィジェットのアイコンが見つからないのです。
きっと、この現象に遭遇したほとんどの方は『ちくしょう、このアプリ、バグってやがる!』などと思うのではないでしょうか。
しかし、アプリ開発者やユーザーサポートの方々は、『いや、そんなバグは無いと思うんだけど…』と、頭を抱えてしまうことと思います。
そうなんです。
この現象は、ほとんどの場合、ウィジェットのバグではないのです。
「なに言ってるんだ?」って思われるかもしれませんが、とにかく試してもらってください。
端末を回転して画面の縦横が変わると、ウィジェット一覧のアイコンが並び替えられます。そうすると、さっきまで無かったアイコンが一覧に出てくるのです。今回の質問のようなトラブルの場合、ほとんどの場合はたったこれだけで解決してしまいます。
原因は、『Android OSが、ウィジェット一覧を更新しそこねることがある』ためです。
Android OSは通常、インストールしたウィジェットのアイコンをすぐにウィジェット一覧に追加します。ところが、まれに一覧が更新されず、以前の一覧のままになることがあるのです。当然ですがこのときは、インストールしたばかりのウィジェットのアイコンは表示されません。
私が試した範囲では Android 2.3.3 と 4.0.3 で複数回ずつ、発生を確認しています。もちろん、端末を回転したらアイコンが出てきました。他の方の話を聞くと、どうやら Android OSのバージョンはあまり関係なく発生するようです。
この現象、案外遭遇するわりには、原因と解決方法についてほとんど知られていないようです。つまりそれだけ「アプリのバグ」として片づけられているんですね(涙)。
『ウィジェットが一覧に追加されなかったら、とりあえず回転』。
みなさんの周囲の Android を使っている方に、是非ともどんどん広めてください。困っているユーザーさんがいたら、教えてあげてください。
※なお、端末を再起動しても改善します。また、アプリを再インストールすることでも改善することがありますが、いずれにしろ、回転するのが一番簡単です。
★ 開発者向け情報 その1 ★
せっかくなので、Androidアプリ開発者向けのお話を補足。
今回紹介したこの「ウィジェット一覧に追加されない現象」ですが、なんと、開発用の Android エミュレータでも発生します。エミュレータがいかにしっかり作られているかがよく解り、ちょっぴり感動します。
もちろん、端末(エミュレータ画面)を回転させれば、ちゃんと出て来ます。
ちなみにエミュレータの画面回転は、[Ctrl]+[F11] または [Ctrl]+[F12] です。
Android OSの仕様により、どんなウィジェットでも、SDカードにインストールすると使用できません。ウィジェットは必ず本体メモリーにインストールしてください。もしも、手動でSDカードにインストールや移動をしてしまった場合は、本体メモリーに移動させてみてください。
通常は、ウィジェットは自動的に本体メモリーにインストールされるので、この問題はほとんど発生しません。
ところが、一部の機種では設定次第でSDカードへインストールできてしまう場合があります。また、ファイル管理アプリなどを使ってSDカードへ移動することもできます。こうしたウィジェットは使用できなくなり、ウィジェット一覧にもアイコンが表示されません。端末を回転してもウィジェットのアイコンが追加されない場合は、このケースにあてはまらないか確認してみてください。
ではなぜ、Android OSがこのような仕様になっているかというと、それは『SDカードは取り外せるから』です。
ウィジェットのような、常駐して動き続けるアプリがSDカードにあると、SDカードを外した時に困ったことになります。どんな挙動をするかわかりません。
これはSDカードを抜かなければ良いというものでもありません。Android OSの起動時には、SDカードがOSに認識されるまでの間は一時的に「SDカードが無い(抜かれたのと同じ)」状態になります。また、USBケーブルでPCと接続した場合も、SDカードをOSからマウント解除(切り離し)しますので、同様のことが発生します。
ついでにもう一つ覚えておいてほしいのは、ウィジェットに限らず、「常駐して動き続けるアプリはすべて」、SDカードにインストールすると動作に問題が生じる可能性があるということです。
本体メモリーの空き容量が減ってきた場合でも、アプリをSDカードへ移動するときは注意が必要です。もしも、SDカードへ移したアプリがおかしな挙動をするときは、そのアプリは本体メモリーへ戻して使ってください。
★ 開発者向け情報 その2 ★
ここでも Androidアプリ開発者向けのお話を一つ紹介します。
Androidアプリを開発するときに、Android 2.2 以降では、そのアプリのインストール先メモリーを指定しておくことができます。 具体的には、AndroidManifest.xml の manifest タグ内に、下記のような定義を追加します。
android:installLocation=”internalOnly”
この右側部分の文字列には、下記の3つのいずれかを指定します。
internalOnly | 常に本体メモリーへインストールします。 インストール後でもSDカードへは移動できません。 |
preferExternal | なるべくSDカードへインストールしますが、空き容量が少ないかったりSDカードが外されている場合などは本体メモリーへインストールします。 インストール後に相互のメモリーへ移動できます。 |
auto | なるべく本体メモリーへインストールしますが、 空き容量が少ない場合はSDカードへインストールします。 インストール後に相互のメモリーへ移動できます。 |
ウィジェットなどの常駐して動き続けるアプリでは “internalOnly” を指定します。
installLocation の指定が無かった場合は、通常はこの “internalOnly” を指定したものとして扱われますが、「解決方法 その2」で紹介したようにSDカードへインストールできてしまう場合もあるので、必ず明示的に指定したほうが良いです。
ゲームなどのような、常駐しないアプリでファイルサイズが大きいものは、”preferExternal” を指定しておくと親切で良いと思います。
なお、Android 2.1 以前ではこの指定は無視され、常に本体メモリーにインストールされます。Android 2.1 もサポートしたい場合は注意してください。
Google Playに公開されているウィジェットには、こんな評価コメントが付いているのをよく見かけます。
『インストールしたのに画面に出ません』
私は最初、これは「解決方法 その1、その2」のいずれかのことだと思っていましたが、そうではなかったんです。
これらのコメントを付けたみなさんは、ウィジェットがどういうものかを、そもそも知らないのです。インストールしたらホーム画面にポンと現れるものと思っているのです。
Android のスマホのユーザー数は劇的に増え続けていますから、必然的にこういったユーザーさんの数もどんどん増えているわけですね。開発者の視点だけでは、なかなか気付きにくいことだと思います。
みなさんの周囲にAndroidのスマホを買った方がいたら、ウィジェットの使い方をさりげなく教えてあげてください。
特に、ウィジェットを開発・公開する側の方は、「ウィジェットはこう使うんですよ」ということをユーザーさんにしっかり教えてあげなくてはならないと思います。たとえば、Google Playで公開するなら、説明文にウィジェットの基本的な使い方まで解説しておくと良いのではないでしょうか。
Androidのウィジェットを使用する場合によく発生するトラブルと、その原因・解決方法について、紹介しました。これらを、中でも特に「回転してみる」を、是非とも Androidユーザーさんの間にどんどん広めていってください。
そして…無実の「★1つ」が、少しでもGoogle Playから減りますように…。
あ、そうそう。これらの3つのどれにもあてはまらない場合は、やっぱりアプリ側のバグの可能性が高いと思いますよ(汗)。開発者の方は、AndroidManifest.xml のタイプミスなどを疑ってみてください。
ちょうどこの原稿を書いている最中に、海外の方から「ユーのウィジェットをインストールしたけど、ウィジェット一覧に出て来ないんだけどっ!」(意訳) という内容のメールが来ました。アプリ管理画面には出るのにウィジェット一覧には出ないらしいです。まさに「原因と解決方法 その1」の件そのものですね。
で、なによりも驚いたのは、この方の Android がつい先日発表されたばかりの「4.1」だったということです。そうか、4.1 でもまだ改善されていないのかこれ…。
あ、ところでこのユーザーさん、私が「回転してプリーズ」ってメールを出した直後に、「ユーにメール送った直後に、リブートしたら出てきたよ! また他のウィジェットでなったらトライしてみるよ! サンクス!」(意訳) という返事がありました。回転して改善するというところまでは確認できなかったのが残念です(まぁ間違いないでしょうけれども)。
Google Playで、個人的に「TOMOYUKI ONO」名義でいくつかウィジェットを公開しています。気が向いたら検索してみてください(コソコソ…)。
ウェブテクノロジ開発部の西田です。
今回は、Androidアプリケーションを開発されている方々に向けて、Androidアプリケーションの描画パフォーマンスを向上させる方法についてご紹介いたします。
スマートフォンアプリケーションを作り始めたものの、後々になって期待していたパフォーマンスが得られず苦労した、という経験はありませんでしょうか?
どうすれば快適でより良いパフォーマンスのアプリケーションが作れるのか?そういった悩みを今回の記事で少しでも解消してもらえると幸いです。
本テーマは数回に分けて紹介する予定ですが、第1回となる今回は、描画方法による描画パフォーマンスの違いについてご紹介いたします。