2011/07/09 にあった、SSS(G) 勉強会のメモです。
Androidアプリ内でのデータ共有について、体系的に整理して紹介をしているサイトや書籍が意外と少ない気がしたので、話題に出しました。たとえば、JavaDriveのActivityを使った画面作成 – Android入門では、Activityに共有データを持たせるという話までしか書いていないので、複数Activityのアプリケーションを開発するときにどうすればよいかわからないわけです。
アプリケーションで共通で利用したいデータについては、リソース(Application Resources | Android Developers)にしておくという手もありますが、assetsというものもあります。リソースはリソースIDが割り振られて、その値を使ってアクセスするので、コンパイル時にチェックができます。assetsは名前でアクセスするので、ファイルが足りない場合は実行時にエラーとなります。アプリケーションヘルプ用のHTMLファイル、CSSファイルを一式いれておいて、WebViewで表示させたりするときに重宝します。HTML内に書いてあるCSSファイルインクルードや他のHTMLファイルへのリンクなどが有効になるからです。リソースでHTMLファイルを持たせた場合には、そういった使い方はできません。「任意データの置き場所は、/assets or /res/raw? – 整理できない底辺プログラマのメモブログ」というページも参考になります。
ここから話はずれて、音声録音再生についても資料が少ないという話もでました。再生方法ぐらいはすぐに見つかるのですが、prepareをして、それが終了してから再生をする必要があるとか、連続再生をするためには、前の再生が完了するのを検知してから再生するとか、そういった注意点まで言及していることは少ないようです。http://www.phonegap.com/のPhoneGap API Documentationなどの話もでました。
フォントの話もでました。「ImageIO.write(image, "png", new File("fonttest.png"));」とするだけで、createImageで用意したイメージ領域へ書き出したフォントを、PNG画像ファイルへ出力することができます。フォントロイド – Android マーケットみたいなアプリがあることも知りました。
Java7もリリース間近なので話題にでて、Java Platform, Standard Edition 7 Binary Snapshot Releases — Java.netからダウンロードしようといって、ダウンロードを始めたのですが、時間がかかりすぎてインストールまではできませんでした。MacOS X版はDownloads – openjdk-osx-build – Build and package scripts for OpenJDK 1.7 under OS/X – Google Project Hostingにあるようです。
インストールできたメンバの情報によると、バージョン情報は次のようになるみたいです。
Java(TM) SE Runtime Environment (build 1.7.0-b147)
Java HotSpot(TM) Client VM (build 21.0-b17, mixed mode)
新機能については、「AutoCloseable (Java Platform SE 7 )」は便利そうだという話がでたり、
オラクル買収後のJava 7と8、JavaFXはどうなるのか (2/2) – @ITの真ん中あたりを読めば大体わかる、という話がでました。ここからはじめる Java SE 7 « 寺田 佳央 – Yoshio Teradaを紹介するの忘れたので、ここに記載しておきます。