Android Tips

1.android.content.res.resources$notfoundexceptionの例外が出るとき
 たとえば、Google developer consoleでMapを使おうとプロジェクトを作っておきながら、
Google Maps Android APIを有効にしていないとき(実は最近やりました)。

2.Activity間やActivityとService間で変数を共有したいとき
Applicationを継承するクラスを作成する。
【定義】
import android.app.Application;

public class AppGlobal extends Application {
// グローバルに扱いたい変数
public double Lat = 0.0;
public double Lon = 0.0;
}
【使うとき】
private AppGlobal appglobal;

if (appglobal.Lat == 0)
などと。

ピンザの島 ードリアン助川 ーポプラ社

ぴんざのしま

ピンザの島


 ドリアン助川さんの書いたものは好きだ。
最後のほうが勢いを出そうとしているのか、気持ちが溢れているのか読みにくくて、読み直した。
一度目は終わり方に納得が行かなかったが、二度目はこれで良いんだと思った。
 これも『あん』に続いて、中学生に読んでほしい作品。

傍聞き ー長岡弘樹 ー双葉社

かたえぎき
傍聞き(かたえぎき)とは、本人から直接聞くのではなく、第三者を通して伝え聞くこと。
そっちの方が、信憑性が強まるということらしい。
ミステリーの短編集。ドンデン返しがうまく仕込まれているのだが、行間が多い。物理的にも論理的にも行間を読まなくていけない感じで、読み易いのか読みにくいのかよく分からない。
書名の「傍聞き」と「迷走」がおもしろかった。慣れるとくせになる作家さんかも。

「クラウドでできるHTML5ハイブリッドアプリ開発」 永井勝則著 翔泳社発行

HTML5ハイブリッドアプリ開発
 永井勝則さんの書かれた「クラウドでできるHTML5ハイブリッドアプリ開発」を翔泳社さんより献本いただきました。というか正直に言うと、編集者さんにおねだりして貰ったのである。
 なぜかと言うと、筆者はCode for Takaokaというオープンデータを使って、アプリを作成し、富山県高岡市を住みよくしよう、楽しい街にしようという活動に参加しており、「わたしのようにプログラミングを職業としない人がスマホのアプリを作るには、どんな言語、開発環境がよいか」とアシアル株式会社さんが提供しているHTML5ハイブリッドアプリ開発環境Monacaについて調べていたからだ。
(3月14日に開通する北陸新幹線の富山駅、金沢駅にはさまれたロケーションに高岡市はある。いわゆるこだまの駅なので、東京から富山まで2時間8分、金沢まで2時間28分なのに、両駅にはさまれているのに!東京から3時間掛かってしまう。)
 わたしとしては、「作ればわかるAndroid」や「作ればわかるTitanum Mobile」を翔泳社さんで書かせてもらっているので、そっちの方がよいのだが、Code for Takaokaのメンバーに聞くと、「ブラウザ上で動くアプリの方がインストールに抵抗感がない」という意見があった。そうすると、スマホ用に最適化したWebアプリになるのだが、それでは、GPSや各種センサーが使えない。Monacaで作ったアプリはWebView上で動き、Cordova(別名PhoneGap)を使って、ハードウェアの機能にアクセスできる。
 また、プログラムの経験が少ない人にとって、複雑な開発環境の構築が、アプリ開発の高い敷居になることも多い。Monacaならブラウザ上で開発ができる(スマホにはテスト環境Monaca Debuggerのインストールが必要である)。最小のプランBasicなら無料で利用できる。
 実はこの本が出る前からBuildInsiderに永井さんが書かれているMonaca入門:Onsen UI+AngularJSで作るハイブリッドモバイルアプリを読んで勉強させてもらっていた。
 第4回以降は鯖江市のつつじバスロケーションWEB APIを使う方法が掲載されており、まさに今回の目的にピッタリだった。
 しかし、AngularJSを使う方法は結構難しいぞ。デザイナさんとかにはわかりずらくないか、Onsen UIとAnguarJSとの関係はどうなっているんだ?そんな疑問を抱いていたときに本書が出ることを知った。
 そもそも、Monacaではいろいろなスタイルでアプリが書けるのである。JavaScriptのベタな感じ、jQueryを使う方法、Onsen UIを使う方法、AngularJSを前面に出した感じなど、選択肢が多く、こう書けば良いという指針が欲しかったのだ。そんな理由で「クラウドでできるHTML5ハイブリッドアプリ開発」を読んだ。
 まず、なんでOnsen UIって言うんだという疑問が解けた。Monacaは確かに温泉に行くと置いてあるななどと、くだらないことを考えていたのだが、シングルページアプリケーション(SPA)だから、スパ、つまり温泉だということだ。ページ遷移を発生させず、Ajaxで部分的に画面を書き換えるスタイルである。モヤモヤがスッキリした。
 そのOnsen UIについて詳しく解説されている。使っていけそうな気がした。また、CordovaでGPSや加速度センサーを使う方法にも触れられているので、本書の内容をきっかけとして、Cordovaも使っていけそうだ。
 AngularJSについては、ページ単位にコントローラを用意すれば良いこと、ページ間で共有したいデータがあれば、サービスを作れば良いことがわかった。
 最後に、バーコードをスキャンして、YahooのAPIから商品情報を取得するという実践的な例が載っていた。このアプリだが、iPad Miniでは問題なく動いたが、Android端末では残念ながら、deviceready has not fired after 5 seconds.というエラーになってしまった。
 本としてどうかと(偉そうに)まとめさせてもらうと、Monacaの構成要素全部について、ちゃんと解説してある本だと思う。誠実な本です。
 では、アプリ開発の指針としてどうかというと、こういう風に作れば良いという記述はないが、Onsen UIを扱っている部分が多いので、Onsen UIのテンプレートを選ぶところから開発を始めれば良いんだろうという感じがする。でもフレームワークの経験がある人なら、AngularJSを前に出した形になるんだろうな。自分もやっぱりそうするだろうと思う。
 Monacaについて一つ不都合な点は、コンソールへのログが出力されないときがあることだ。どこでエラーになっているのかわからなくて、IDEのデバッガに慣れた身にはつらい。PCのWebサイトとスマホのMonaca Debuggerで再ログインすると直ることが多い。 
 ちなみに、この本の著者の永井さんの会社ヒム・カンパニーは今日、北陸新幹線で結ばれた長野にある。

麒麟の舌を持つ男 田中経一著 幻冬舎発行

krin
著者の田中 経一さんは、1962年生まれ、立教大学卒。
演出家として「料理の鉄人」などの演出をされた方。
と書くと、百田尚樹さんが思いだされる。
それで、本作品もエンターティメント性に富んでおもしろい。
でも、百田さんとは歴史認識が少し違うようであり、
また、百田さんの初期の作品に比べれば文章が読みやすい。

途中で、充が滿に変わる。

読者の方からの質問について

 読者の方から、時折とても、答えにくい質問をいただくことがあります。
次のような質問です。
・卒論でXXXXを研究しています。◯◯◯◯を使う方法を教えてください。
・学校の課題で△△△△をしなくてはいけません。やり方を教えてください。
 切羽詰まって、質問される学生さんもおられるのでしょう。答えください的な質問をいただいたこともあります。
しかし、学生さんの課題に答え出すことは憚られます。もちろん、そんな簡単に答えがわかるわけでもありません。
 学生さんには、それぞれ先生がおられます。わたしは先生ほどみなさんの状態を把握しておりません。みなさんのことを心配して、アドバイスの機会をうかがっておられる先生にぜひ、質問されることをお勧めします。

 

あん ードリアン助川 ーポプラ社

あん
構成がうまいので読みやすいです。
差別は誤解や不理解に基づくものだということを教えてくれます。
14歳で神に見放された人の気持ちは想像し難いのですが、
そんな希望を持てない状況の中でも、人は夢を持って生きていくんだと教えてくれます。
中学生に読んでほしい一冊です。
ドリアン助川さん、素晴らしいです。