OrangeSignal ブログ このページをアンテナに追加 RSSフィード

2011-07-16

Android 3.2 でましたね

みなさんこんにちは。久々のブログ更新です。

死にブログになっておりますが、企画・開発せていただいた 某Androidタブレットアプリを無事リリースして連休まったりしております。

今朝方何気に Android Developer サイトを見ていたら「Android 3.2 is here!」と記載が・・・でちゃいましたね。

追加や変更、非推奨となったクラス群などちょっと注意しておいた方がよいものばかりですが、個人的には Fragment の SavedInstanceState が標準で提供されるようになったのがとても◎

この機能はバックスタックでフラグメントを管理せずに自分で管理したい場合など特に必要となってきます。

それにしてもAndroid 3.x 系は 4.x 系へのつなぎなのでしょうかね。

様々なアプリのケースを考えると Android 3.2 で提供されている機能レベルが実質最低ラインではないかと感じます。

ということでまだまだ過渡期なのでしょうね。

2011-03-26

ひさびさにちょっとゆっくり

先日、確定申告も無事に済ませて、3月分のもろもろの事務処理も一通り前倒しで準備できたので

今夜は久々にちょっとゆっくりしています。

来週からはもっと忙しくなりそうですがエキサイティングな日々となりそうです。

その前にまずは伸ばし放題になってしまった髪を切りにいくか…

2011-03-05

確定申告シーズン

到来ですね。皆様もうお済みでしょうか?

僕もそろそろ申告行くための準備をしているのですが、昨夜に事務処理用のマスターPCが煙を出してお亡くなりになるというアクシデントが…先月の〆処理も土日に終わるかどうか怪しい…何というタイミングの良さだろうかと…大事ではあるのですが、実はこの状況を少しだけ楽しんでいるところもあります。まあそうでないとやってられないからね^^;

早くもろもろを終わらせてイチゴ狩りにでも行きたい。じゃらん観光ガイドアプリをながめて気分だけは既に現地へ飛んでいます。

http://www.jalan.net/jalan/doc/howto/android_kankou.html

2011-02-08

Android でアプリケーション開始時と終了時にごにょごにょする

怒濤のリリースラッシュも無事に終え、先日はまっていたエコ化+高速化も乗り越え(最後はやはり skia との格闘戦でした;;)てバージョンアップリリースの目処が立ってきたので今日は少しネットを見ています。

■Android の static 変数はヤバい

http://amay077.posterous.com/android-static

※だれか Activity じゃなくて ”アプリケーション" が終了するタイミングを補足する方法、教えてください

コメントを見ると既に解決されたっぽいですね。なので話をちょこっとずらして、アプリの開始と終了時に何かしらごにょごにょする方法をご紹介。

アプリの開始と終了時に何かしらごにょごにょするには、android.app.Application を継承したクラスで行うことができます。以下は、アプリの開始/終了時に GoogleAnalyticsTracker を開始/終了させるシナリオの例です。(googleAnalytics.dispatch は通信時にやる前提です)

package com.orangesignal.android.apps.hoge;

public final class Hoge extends android.app.Application {

    /**
     * 共通 {@link GoogleAnalyticsTracker} オブジェクトのインスタンスです。
     */
    public static final GoogleAnalyticsTracker googleAnalytics = GoogleAnalyticsTracker.getInstance();

    @Override
    public void onCreate() {
        super.onCreate();
        googleAnalytics.start("UA-XXXXXXXX-X", this);  // TODO: Web プロパティID は自分のに書き換える
    }

    @Override
    public void onTerminate() {
        googleAnalytics.stop();
        super.onTerminate();
    }

}

そして、例によって AndroidManifest.xml へ使用するアプリケーションクラスを明示的に定義します。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.orangesignal.android.apps.hoge" android:versionCode="1" android:versionName="1.0.0">

  <application android:debuggable="true"
               android:icon="@drawable/icon"
               android:label="@string/app_name"
               android:name=".Hoge">

    (中略…ここにサービスやアクティビティなどを定義します)

  </application>

</manifest>

※何だか備忘録的内容になってしまいましたがこの記事がどなたかのお役に立てれば幸いです。

2011-02-02

Android 2.2 + ListView + ImageView + AsyncTask + ThreadSafeClientConnManager + BitmapFactory.Options ではまる

表題の通りなのですが、ListView + ImageView で Web 画像表示する機能についてエコ(低メモリ)+高速化しようとして、10年ぶりくらいにはまりました。

当初はてっきり、また skia の問題か?と思っていたのですがどうやら違ったようです。久々に log 張りまくって調査して原因は十中八九 AsyncTask のようだというところまできたので(最初から git へ行ってソースを読めばこれに1日費やす必要はなかったかもしれない)、AsyncTask をやめて Runnable + android.os.Handler として再実装、んでクラス抽出したら期待動作になりました。

明日は実機で一日検証ですな。