パン好きのエンジニア

今は主にCakePHPの話 と パン作りの話

android で分からないことのひとつ。
それは、「Context」。

context
━━ n. 文脈; 背景, 情況.

という日本語の意味で無くて。

例えば、Intentクラスの作成時に必要。
android.content.Intent.Intent(Context packageContext, Class cls)

Toastクラスの makeText()をコールする時。
Toast android.widget.Toast.makeText(Context context, CharSequence text, int duration)

DateFormatクラスの getDateFormat()を使う時。
DateFormat android.text.format.DateFormat.getDateFormat(Context context)

Context クラスは、”android.content.Context”で、ドキュメントによると以下のよう。

Interface to global information about an application environment. This is an abstract class whose implementation is provided by the Android system. It allows access to application-specific resources and classes, as well as up-calls for application-level operations such as launching activities, broadcasting and receiving intents, etc.

おそらく、

  • アプリケーション全体の環境に関するインターフェイス
  • アプリケーション特有のリソースなどにアクセスする時に使う
  • で、Activityクラスであれば、getApplicationContext() を使えば”Application Context”を取得することができそうです。

    そして、ArrayAdapterクラスなどでは、getContext() というメソッドが用意されている。
    これを使えばContextオブジェクトを取得することができました。
    (これを使うのが正しいかどうかは不明。。。)

    でも、詳しいところはわからないまま。

    ●参考

    http://d.hatena.ne.jp/androidzaurus/20090121

android 開発で手軽に使える Toast widgetクラスについてメモしておきます。

特徴

  • 画面にちょっと現れて1~2秒で消えるメッセージを表示するのに最適です。
  • デバッグに使ってもいいかも。

コード

  • Activity の onCreate()内でコールする時と、ボタンのonClick()内でコールする時では、Toast.makeText()の第1引数が変わります。
public class HogeActivity extends Activity {
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		Toast.makeText(this, "Toast(Activity)", Toast.LENGTH_LONG).show();

		Button button = (Button)findViewById(R.id.Button01);
		button.setOnClickListener(new View.OnClickListener() {

			public void onClick(View v) {
				Toast.makeText(getApplicationContext(), "Toast(Button Click)", Toast.LENGTH_LONG).show();
			}
			 
		});
	}
}

参考

android で開発をしていて、「Debugログを出したいなぁ」と思って調べてみました。
「できれば、Eclipseの”Console”という所に出力できるといいなぁ」と思っていましたが、まだその方法は見つからず。

2010/8/6 追記
よくみたら、EclipseでDebugする時に”Logcat”というタブがありました。
これで見れますね。

でも、代わりにSDKのtool(adb.exe)で見れるログ(device log)に出力できる方法がありました。
参考:
ログの出力 – Logクラス – Android入門

コード

		try {
			doSomething();
		} catch (Exception e) {
			Log.d("test", e.getMessage());
		}

ログの参照

  • Windowsのコマンドプロンプトを起動する。
  • android SDKをインストールしたフォルダに移動する。

    例) cd c:\android\android-sdk-windows\tools

  • device logを見る。

    例) adb.exe logcat

    Unix の tail をしたようになる。

  • アプリケーションでログが出力される部分を動かす。
  • (うまくいけば)ログが出力される。

定義

  • 以下のように定義されている(らしい)
    public static int d(String tag, String msg)

  • “tag”というのは普通はClass名などを指定するみたい。
  • “msg”というのは、もちろん出力したいメッセージ。

種類

  • d(DEBUG)の他にも、e(ERROR)、w(WARN)などがあるらしい。
  • 「フルーツスティック」というパンに挑戦。

    ライ麦を入れたパンにドライフルーツを入れるパンだけど、オレンジピールを入れました。

    材料は以下の通り

    • 強力粉 150g
    • ライ麦粉 50g
    • 元種 80g
    • 砂糖 大さじ1
    • 塩 小さじ1
    • 水 約90ml
    • オレンジピール 50g

    220度のオーブンで15分で出来上がり。

    word press に携帯電話向けの軽量な表示をしてくれるプラグインを入れました。
    “Ktai Style”で検索した plug-in をインストールするだけでした。

    ●インストール方法

    1. WordPressで管理画面に
    2. 「プラグイン」->「新規追加」
    3. “Ktai Style”で検索
    4. 「インストール」をクリックし、さらに有効化する
    5. 管理画面(ダッシュボード)の左下に「携帯表示」というメニューが表示される
    6. ブラウザのUser-Agentを変えて試してみる

    以上です。

    最初、Docomoで試したらうまくいかなかったけど、FireFoxの”User Agent Swither”側で適切に設定したらうまくいきました。

      ちょっとだけ、androidアプリを作ってみたいな、と思ってお勉強中。
      「ListViewってカスタマイズできないのかなぁ」と探していると情報を発見。

      ListViewをカスタマイズする Techfirm Android Lab

      なるほど。
      ArrayAdapter#getViewメソッドをOverrideするらしい。
      やってみよう。

      グリッシーニという細長いパンを焼きました。

      本当はもっと細くしたかったけど。。。
      でもおいしかった。

      クッペの生地に、粉チーズを混ぜて、(本当はオリーブオイルも)、オーブンは200度で17分。
      カリカリしてておいしい。

      久々に更新。

      時々、パンは焼いていましたがアップするの忘れてました。
      昨日は、「ごまのミニバゲット」を焼きました。

      ちょっと前に「グリッシーニ」という”魔法使いの棒”みたいなパンに挑戦してみました。
      チーズを入れて細長くしたパンです。
      が、ちょっと太くなりすぎて失敗に。

      また挑戦します。
      そしてうまくいったら、写真載せます。

      CakePHPのテストについて調べてみました。
      単体テスト(UnitTest)とかのテストのことです。

      今まであまりUnitTestとか書いてなかったのですが、覚えておかないと。。。

      ということで、まだモデルのテストだけですが、こんな感じです。
      http://baldwin.ivory.ne.jp/code/testing

      まだ色々と分からない部分はありますが、こんな感じでした。

      • “simpletest”というのを入れる必要がある。
      • テスト用のテーブル+データを使うことができる。
      • モデルの単体テストができることまでは分かった。

      今日は「パン」ではなくて、「パウンドケーキ」を焼いてみました。

      思ったよりも膨らまなかったのですが、味はまぁまぁでした。

      作り方をあちこちウェブで探したら色々ありますね。
      ということで、レシピをちょっと混ぜ合わせてみました。

      材料

      • バター: 100g
      • 砂糖: 100g
      • 薄力粉: 100g
      • 卵: 2個
      • 牛乳: 20g
      • ベーキングパウダー: 2g
      • バニラエッセンス: 少々

      準備

      • バター・卵・牛乳は常温にしておく。
      • パウンド型バター(分量外)を薄く塗り、薄力粉(分量外)をふるって冷蔵庫に入れておく。

      作り方

      • 小麦粉(+ベーキングパウダー)を丁寧に3回ふるっておく。
      • バターをクリーム状に練る。
      • バターに砂糖(+バニラエッセンス)を加え、クリーム状になるまで混ぜる。
      • 全卵を少量ずつ5~6回にわけ加え、その都度しっかりと混ぜ合わせる。
      • 小麦粉(+ベーキングパウダー)を加えて、ゴムベラで混ぜ合わせる。
      • 粉っぽさがなくなったら、牛乳を加え混ぜる。
      • 型に流しこむ。(中央をくぼませておく)
      • 予熱したオーブンで170度で40~50分焼く。

      参考

      http://recipe.gourmet.yahoo.co.jp/J000290/
      http://www.katch.ne.jp/~takeda/cake/paundo.htm
      http://chococo-web.com/battercake.htm