2009年12月20日日曜日

Amazon API ページ番号を指定する

xml で一度に取得できる情報は10冊分だけですが、
もちろん10冊以上検索に引っかかる場合があります。
その場合に11冊目以上の情報を取得するために、
10冊ごとをページとしてくくって検索することができます。

ItemPage=N (N は ページ番号)

をリクエストに追加すると、特定のページ番号
(つまり、10*N から 10*N+1 番目の情報を)
取得できます。
このパラメータを指定した場合、xml には

N

が含まれます。

2009年12月18日金曜日

Android Activity のライフサイクル

どの関数がどの状態のか忘れちゃうのでメモ。

Blogaway

Blogger のブログに android 端末から投稿できるアプリです。

試しに入れてみました。これも Blogaway で書いてます。ブラウザからももちろん投稿できますが、画像をアップロードすることができませんでした。

このアプリは Google Picasa と YouTube のアカウントで画像と動画が記事に追加できるようです。


ここに紹介が書いてありました〜。

http://www.androidguys.com/2009/12/16/app-review-blogaway-android-blogger-client




追記

 このアプリで投稿した記事を、ブラウザで編集しようとすると、
 編集が画面では日本語ちゃんとでません。でも投稿するとちゃんとなる。。。

2009年12月5日土曜日

Android ボタンを押したときにソフトキーボードを消す

Button をクリックしたときにソフトキーボードを隠す方法です。
InputMethodManager を使います。


public void onClick(View v) {
switch(v.getId()){
case R.id.search_button :
InputMethodManager inputMethodManager =
(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(v.getWindowToken(), 0);
search();
break;
}
}


hideSosfInputFromWindow に第2引数を InputMethodManager.HIDE_IMPLICIT_ONLY
(=0x00000001) にした場合だとうまくいきませんでした。

2009年11月16日月曜日

Android 設定画面を作成する

アプリの設定画面用の Activity が用意されています。
それが 「PreferenceActivity」
ListActivity を拡張したクラスなので、各設定項目が
リスト状に配置されます。

画面の設定方法は
 ・ソースコードで定義する方法
 ・XMLで定義する方法
の2つがあります。

XMLで定義する方法

1. res の下に xml という名前のフォルダを作成
2. res/xml に pref.xml を作成
3. pref.xml に画面の配置を定義

pref.xml の例

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="Libraroid Setting">
<CheckBoxPreference
android:key="checkbox_value"
android:title="Setting1"
android:summary="sample of checkbox setting" />
<EditTextPreference
android:key="edittext_value"
android:title="Setting2"
android:summary="sample of edittext setting"
android:dialogTitle="Setting edittext"
android:dialogMessage="please set values" />
<ListPreference
android:key="list_value"
android:title="Setting3"
android:summary="sample of list setting"
android:entries="@array/search_condition"
android:entryValues="@array/search_condition_value" />
<RingtonePreference
android:key="ringtone_value"
android:title="Setting4"
android:summary="sample of ringtone setting"
android:showDefault="true"
android:showSilent="true"
android:ringtoneType="ringtone" />
</PreferenceCategory>
</PreferenceScreen>


こんな階層にする

<PreferenceScreen>
<PreferenceCategory>
各設定タイプのタグ
</PreferenceCategory>
</PreferenceScreen>


各設定タイプのタグには

  * CheckBoxPreference
  * DialogPreference
  * EditTextPreference
  * ListPreference
  * RingtonePreference

があります。


これらに共通のパラメータにはこんなのがあります。
 android:defaultValue  
   初期値

 android:dependency
   この Preference が依存する他の Preference の key

 android:enabled
   この Preference が有効かどうか

 android:key
   システムに保存するときの key

 android:layout
   PeferenceActivity 画面内でのこの Preference の layout

 android:order
   Prefernce の順番、小さい方が最初

 android:persistent
   shared preferences に保存するかどうか

 android:selectable
   選択できるかどうか

 android:shouldDisableView
   この Preference が無効のとき、表示を無効にするかどうか

 android:summary
   タイトルの下の文字列、説明を書いたり、選択値を表示する

 android:title
   タイトル

アクティビティの例

import android.os.Bundle;
import android.preference.PreferenceActivity;

public class PreferenceActivityExample extends PreferenceActivity {
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.pref);
}
}


PreferenceActivity クラスを継承して、setContentView の代わりに
addPreferencesFromResource で pref.xml を読み込む

ここで設定されたデータは自動的にシステム内部に保存され、
PreferenceManager::getDefaultSharedPereference を使って
ソースコードからアクセスすることができますー。


 

2009年11月14日土曜日

ASE を入れてみた。

Android Scripting Environment(ASE)とは
Android上でPythonなどのスクリプト言語を実行
するためのAndroidアプリ

http://code.google.com/p/android-scripting/

"Python, Perl, JRuby, Lua, BeanShell, and shell are currently supported, and we're planning to add more. "
だって

Featured downloads: の ase_r14.apk をPCにダウンロードして、
HT03-AをUSBでPCと接続

$ adb install ase_r14.apk

で ASE が入ったー。

source を取ってくるには
$ svn checkout http://android-scripting.googlecode.com/svn/trunk/

Simple

遅ればせながら Simple のテトリスを HT03-A に入れてみました。
ブロックの回転方法とかよくわからなかったけど、
ダブルタップで下に落とす
下にフリックで回転、上にフリックで反対方向に回転
左右にフリックで移動
でした。

参考ページ
http://code.google.com/p/simple/
http://blog.akaiho.com/2009/07/simplesample/
http://www.adakoda.com/adakoda/2009/07/android-simple-basic.html

Android eclair のコードを取ってきた

eclair ができたみたいなので、落としてみました。

http://source.android.com/download

Ubuntu Linux (32-bit x86)
To set up your Linux development environment, make sure you have the following:

* Required Packages:
o Git 1.5.4 or newer and the GNU Privacy Guard.

o JDK 5.0, update 12 or higher. Java 6 is not supported, because of incompatibilities with @Override.

o flex, bison, gperf, libsdl-dev, libesd0-dev, libwxgtk2.6-dev (optional), build-essential, zip, curl.

* You might also want Valgrind, a tool that will help you find memory leaks, stack corruption, array bounds overflows, etc.

* Intrepid (8.10) users may need a newer version of libreadline:



$ sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
$ sudo apt-get install valgrind
$ sudo apt-get install lib32readline5-dev

$ mkdir ~/bin
$ cd ~/bin
$ curl http://android.git.kernel.org/repo >~/bin/repo
$ chmod a+x ~/bin/repo

~/bin を PATH に追加

$ mkdir ~/Android/eclair
$ cd ~/Android/eclair
$ repo init -u git://android.git.kernel.org/platform/manifest.git -b eclair

名前とメールアドレスを入力

$ repo sync


25分くらいで落ちたー。

2009年11月13日金曜日

Android SDK2.0

ちょっと前に出た Android SDK2.0
をようやく入れました。

なんかいろいろ手間取ってしまったが、
すでに前のversionのSDKが入っている場合は
単に eclipse で
[Window] -> [Android SDK and AVD Manager] -> [Available Packages]
を開いて、
SDK Platform Android 2.0, API 5, revision 1
とかにチェックを入れて
[Install Selected] ボタンを押せば OK でした

Install した後、
[Window] -> [Android SDK and AVD Manager] -> [Virtual Devices]
を開いて、
Target Name に Android 2.0 を選択して AVD を作成すれば、
エミュレータを起動できるようになります

エミュレータの見た目がちょっと変わりました
Icon も変わってる~

2009年11月8日日曜日

チョコボは実在した?

そうそう
スミソニアン博物館でチョコボの化石を見つけました(笑)

ABC 2009 Fall



Android Bazaar and Conference 2009 Fall にいきまーす。
今日申し込みしました。11月30日の月曜日。
場所は春と同じで、渋谷の国立オリンピック記念青少年総合センター。
今回はブースも出るみたいです。どこにだすのかな?ロビー?
いろいろ話がきけるので楽しみです。

Washington D.C. 旅行 その4

昨日日本に帰ってきました。

最終日(現地時間で5日(木曜日))は午前中で会議が終わったので
まずは Union Station に昼食&お土産を探しに行きました。

あんまりいいお土産はなかったけど、研究室にはお菓子を買いました。
昼食は駅に入ってるカフェでパニーニを食べました。

頼んだ California panini
何がどうカリフォルニアなのかわからなかったけど、作りたてでおいしかった。
お腹いっぱいでポテチは食べれなかったので、日本まで持って帰りました。



昼食の後はインディアン博物館に行こうと思って、お土産をホテルに置いて出たら
国会議事堂の前に人がたくさん集まっていて、なにやら人が話している
のが聞こえたので近くまで行ってみることにしました。



多分共和党の集会だったと思う。
オバマ大統領の健康保険反対って感じのプラカードがあったので。

インディアン博物館はあまり大きくなかったけど、衣装や武器などが
たくさんあってよかった。
友達にハーブティーのお土産を買いました。

怪しげな土偶がたくさん・・・



なんか日本人ってインディアンに似てるよね





夜はメキシカンレストランに行きました。
sangria というワインにレモンや林檎を漬けたお酒がおいしかった。
タコスやタマーレを食べました。
量が多くて全部は食べれなかったけど、とっても楽しかった。

右からタコスとタマーレ、左は・・・忘れちゃった




sangria




帰りは地下鉄に乗って帰りました。
切符が名刺くらいの大きさで、なぜかパンダの絵が描いてありました。



帰りの飛行機もANAで、またしてもハーゲンダッツがでました。
全然寝られなくて、Prison Break をずーっと見てました。

Washington D.C. はいいとこでしたー。もっと美術館みたかったなぁ。

2009年11月5日木曜日

Washington D.C. 旅行 その3

スミソニアン自然史博物館
これも無料で入れてしまうなんてすばらしい。




本物の人骨をみたのは初めて




紫外線を吸収して発光する鉱物
こんなのがあるなんて知らなかった




マンモス!




剥製がたくさん




ほかにもいろいろ。




リンカーン像から記念塔を見るとこんな感じ
手前の池がいい




見上げると迫力あるなぁ
6メートルくらい?もっとかなぁ




この中にリンカーンが
建物は全部大理石。つるつるです。




冷たく澄んだ空気が心地いい
ランニングしている人がたくさん
NAVYってかかれたパーカーを着て走ってる黒人のお姉さんがかっこよかった




4羽のワシがリースにかかった紐をくわえてる
青銅かな?すごく精巧につくられてる。かっちょいい。




リスさん。またまたこんにちは。





-------------------------

今日は朝から自然史博物館に行ってきました。

9時に博物館に行ったら、10時からと言われてショック。
1時間潰すためにリンカーンに会いに行ってきました。
途中に第2時世界大戦記念碑があって、4羽のワシが
リースを持っているかっこいい像がありました。
そこから長方形の池があって、その先にリンカーン。
リンカーン像は迫力があって見上げてほえーって感じ。

そこからまたてくてく歩いて、自然史博物館へ
哺乳類の剥製がいーっぱい。
雪豹がかっこよかった。
くじらの骨とか、鮫の歯とか、大きいイカとか。
さわれる化石もあって、骨に触ってきました。
恐竜の化石はそんなに多くなかったかな。
前に上野の博物館で見たほうがたくさんあった。
トリケラトプスの頭とか、海の恐竜が多かった。

二階には宝石の鉱物のコーナーがあって、
すごい大きいダイヤモンドやルビーやエメラルドが。
ほかにも鉱物がたーくさん。きれいだった。
一番印象に残ってるかも。
同じ鉱物でも形が全然違ったりして。

まだPCに写真取り込んでないので、また明日。
昨日までの分はこれからUPします。

2009年11月4日水曜日

Washington D.C. 旅行 その2

写真を追加しました。



記念塔も見てきました。
石を積み上げてできてる。




夕焼けが綺麗




ホワイトハウス
最大限ズームしてこの程度。遠い・・・。




Old Postal Office
かっこいい




FBI。中はどうなってるんだろ。
あっちこっちにパトカーとまってる。




どこを撮っても絵になる街並み




昼ご飯を食べに行った Union Station
とても駅とは思えないぐらいかっこいい



---------------------------------

昨日はホワイトハウスと記念塔を見てきました。
だいたいホテルから徒歩25分くらい。
行きは街中を通って、帰りはスミソニアン博物館とかが
あるMallを通りました。

石造りの建物がいい。どこを撮っても絵になる。
Old Postal Office とかよかった。

ホワイトハウスのまわりは公園で迷わずにいけました。
柵からホワイトハウスまで遠いし、生垣で噴水が見えなかったし。
私の腕力じゃ絶対コイン届かないよー。


なんかうまく画像が載せられないので、帰国してからにします。
しばしお待ちを。

2009年11月3日火曜日

Washington D.C. 旅行 その1

写真追加しました。



ホテルの前に馬がいました。



リスは高確率で目撃できます。
たまにゴミ箱あさることもあるそうです。




航空博物館にあった飛行機。
エノラ・ゲイはここにはないって。
ダレス空港近くの分館にあるんだって。




アポロの月着陸船。
隣にマックがあるのでチーズの匂いが強烈でした。




スミソニアン美術館の地下にあるカフェで昼食をたべました。
見た目は怪しげなスープも味はなかなか良かった。
でも量が多くてお腹いっぱいに。




残念ながら雨でした。雨だからか人がまばら。
国会議事堂です。




機内食のデザートでハーゲンダッツのアイスが出た!
食後に配られたからカッチカチです。




機内食
こんなにたくさん食べれません・・・





-------------------------

ようやくネットにつながった。

部屋のネットが有料なので、会議が始まるまで待ってた。


今回はANAだったので、フライトアテンダントが日本人だから
あんまり国際線って感じがしなかった。日本人も多かったし。

機内食は去年のデルタ航空よりはまぁまぁ良かったかな。
ココ・シャネルの映画を見て、あとは漫画よんだりとか。
ココ・シャネルの映画は面白かった。主演女優がアメリの人で。

ダレス空港からホテルまでは、metrobus に乗って行った。
正しくはバスの終点からは徒歩。
残念ながら雨。今日はいい天気だけど。

ホテルの部屋は思ったほどじぁなかった。
200ドルも取るのにこれかーって感じ。
やっぱワシントンは地価が高いからかな。
去年の Huntsville の方がいい部屋だった。
金庫と冷蔵庫がないのがちょっとなぁ。
あと、歯磨き粉は置いてあるのに歯ブラシは無いとか。

昨日の午後はスミソニアンの航空博物館に行ってきた。
あんな広いのに入場料は無料。
でも途中で長旅の疲れか、眠くなってきて断念。
ホテルに帰ってちょっと寝た。

夜は郵便博物館のなかにあるレストランに食事にいって
ビールを飲んで、ワールドシリーズを流し見しながら就寝。

2009年10月27日火曜日

ことしもアメリカへ

11月1日から7日まで学会で
ワシントンDCに行くことになりました。
その準備で今までわたわたでしたが、
ちょっと落ち着いたので、
久しぶりに更新。

向こうに行ったら、なるべく毎日報告あげます。

2009年9月23日水曜日

空しい

全ては空しい


どんな権力や美貌も持っては行けない


それは一時的な夢

それは仮の姿


だからなんなのだ

それがなんなのだ


私は無数の人の空しさの上に立っている

歴史という器は儚さでいっぱいだ

2009年9月13日日曜日

Android URL上の画像を表示する

URL(http://~)から動的に読み込む場合

1. (BufferedInputStream,ByteArrayOutputStream,BufferedOutputStreamなどで)読み込んだbyte配列をBitmapFactory.decodeByteArray()にセットしてBitmapを得、ImageView.setImageBitmap()にセットすれば表示できる

2. InputStream in = httpResponse.getEntity().getContent() とし、 BitmapFactory.decodeStream(in) にセットすれば表示できる


httpResponse = dhc.execute(new HttpGet(imageURL));

if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
httpEntity = httpResponse.getEntity();
final InputStream in = httpEntity.getContent();

Bitmap bitm = BitmapFactory.decodeStream(in);
imageView.setImageBitmap(bitm);
imageView.invalidate();
}

2009年9月4日金曜日

『賽の一振りは断じて偶然を廃することはないだろう』

背骨のところに闇が広がるのを覚える

すべて一つの戦慄のなかに響き合いながら

そして私の首は飛び上がる

孤独な見張番

死の鎌の勝ち誇った飛翔の中で


--- ステファヌ・マラルメ

2009年9月1日火曜日

僕に髪を切らせてくれないか
君の綺麗な髪を
鏡のなかの君は美しい

その針で僕を刺してくれないか
眠れそうな気がするんだ

2009年8月31日月曜日

喉の後に住む

どうして、すぐに聞くの?
そこに答えなんてないのに
意味なんてないのに
あるとしたら、感情?


それは流れるように形かえて
紅くて黒くて
生暖かくて
ばらばらになってもすぐに一つに繋がって
私の喉を塞ぐもの
私の声を潰すもの

Where Does This Ocean Go?

all day the city's selling something
always, the busy people spinning 'round
busier
dizzier
'til they go back home to somewhere

and taxies stop to say "hello"
"want a ride? I'll take you there"
"to anywhere, just tell my driver"

the sun is casting shadows
an afternoon is fading
I ask, but no one knows
the answer to the question
my life is like an island
where does this ocean go?

shyly, a wino sips his wine
slowly, cause to him that is all that matters
he sees a cat he knows so well
now sleeping on a bench together

a woman waiting by herself, selling flowers
"please buy some, so I can help my daughter, will you?"

the man with spider eyebrows
is standing on a corner
"who wants to see a show?"
his head looks like a melon
he turns into an alley
then stops to blow his nose
sky is filled with neon
the buildings stand electric
and almost seem to glow
want answers to the question
my life is like an island
where does the ocean go?
I really want to know
my life is like an island
it's time for me now to fly
where does the ocean go?




--- Ilaria Graziano

2009年8月9日日曜日

ガンダムを見てきました。

昨日お台場の等身大ガンダムを見てきました。
花火大会があるらしく人が多かった。そんなこと知らなかったからなぁ。

最初の印象は「思ったより小さいなぁ」

もっとガンダムって大きい設定だと思ってた。

露天がいくつか出ていて、初めて食べた「富士宮やきそば」
がおいしかった。麺が固めで、歯ごたえがあるのがいい。

毎時0分と30分にガンダムが動いて、目が光ったり煙が出たり。

SDガンダムよりスマートな方が私は好きだ。
実際等身大ガンダムはカッコよかった。



2009年8月7日金曜日

長岡 花火大会

今年も行ってきました。長岡。
例年はすごく暑かったけど、今年は天気がいまいちだったからか
涼しかった。

東京駅から「Maxとき」の2階窓側に座って長岡まで。1時間半くらいかな。
息子は初新幹線で喜ぶかと思いきや、実物が思ったよりも大きかったのか
「新幹線のらないの~」と泣きだしてしまった。
乗ってしまえば慣れたらしく、外を見ながら「新幹線早いねー」
といっていた。

長岡駅から花火大会の信濃川まではけっこうあって、大人が歩いて30分強。
息子は頑張って半分以上歩いたので1時間以上かかった。えらい。
友達が場所取りしててくれた所につくやいなや通り雨。
近くの家のガレージに避難させてもらっていたら、その家のお母さんが
出てきて息子にとうもろこしをくれた。役得ですな。

かなり怪しい天気のなかプログラムの8割ぐらいまではなんとか持ったが、
残念ながらクライマックスのフェニックスは豪雨になってしまった。
花火会場から友達の車までが大変だった。
だっこしながら傘はつらい。
それでも泣かず文句も言わず、息子はえらいなぁ。助かるわ。

毎年のことながら、新潟の友達の家で食べる米はおいしい。
なんで私の家のごはんとこんなに違うのかなぁ。
息子もとろろごはんをたくさん食べてた。いつもあんまり食べないのに。
そばもたくさん食べてたなぁ。

お父さん、お母さんお世話になりました。

来年も行くぞー。




2009年8月5日水曜日

GTUG Tokyo night

ショートカットが充実
tagを検索に入れるにはオプションで指定
スペースキーが便利
日本語でも検索可能
編集者はアイコン表示だけなので、アイコン登録すべし
read-only状態はバーに表示される

API
Embedd waveを外に出すAPI
ドメイン+ID を使う

Extention waveのなかをいじる
RobotsAPI
gadgetsAPI

RobotsAPI 例
fllppy : 文字を反転する
Bitly : url を短くしてくれる

multi-wave application


キーアッブ時?に操作情報を送って他の人に更新がかかる
変更した内容ではなく操作情報が送られるのがポイント。
保存や送信を意識しない。
サーバ側には操作情報のみがあり、それをガシャコンと
合わせてレンダリング結果を表示する。

日本語だとブラウザごとに挙動が異なる
今後のアップデートに期待


今後マーケットプレイスに登録らしい
9月に10万人規模のテスト

二人目のトークは google の pamela さん
wave server hachason があるらしい
robots gadget をテストするのが面倒。
今のところエミュレーターはないが
google で作ってるらしい
しばらくは実際にアップロードするしかない。

2009年7月31日金曜日

森由希

私は北海道札幌市生まれで、今でも北海道が大好きだし
自分が道産子であることをとても誇りに思っている。
いつかは帰りたい。
北海道出身だと言うと、食べ物がおいしくていいねとよく言われるが、
一番おいしいのは空気
新千歳空港を出たときいつも思う。

子どものころからつるまない子だった。
小学生のとき最初は4人で登校していたんだけど
小5のある日そのうちの2人が喧嘩して別々に登校することになって、
もう一人がその2人の片方についたから、なんとなく私はもう一方と
一緒に登校することにした。
たぶんそっちのほうが面白いと思ったんだ。
その子とは、今でも北海道に帰ったら会っている。

でもいつでもべったりだったわけじゃない。
中学では、登校は一緒だけど帰りは一人が多かった。
クラスの女子グループに入ることもなかった。
休み時間は本ばかり読んでた。
成績は中の上か上の下くらい。

中一のとき合唱コンクールの指揮者をすることになった。
別にそんなにやりたかったわけじゃないけど
いつまでたっても学級会が終わらないから、それで立候補した。
後で担任に「森がやってくれないかなと思っていた」と
言われたけど、あぁそうかとしか思わなかった。

入学したとき2年目の新設校だったから荒れてなかったし
校舎もきれいだったし、いい中学だったと思う。

ある日の社会の授業で先生が「高校に行っても図工がなくなるくらいで
今の時間割とほとんど変わらない」と言ったのを聞いて愕然として
それで高専に行くことにした。
こんな毎日が高校に行っても続くのかと思ったら耐えられなかった。

新設校だったからもあるけど、女子でこの中学から高専に行くのは
私が最初だった。
最初父さんは反対した。家を出て下宿しなくちゃ行けないから。
経済的理由じゃなくて、やっぱり女の子だったから。
父さんを説得してくれたのはじいちゃんだった。
「自分が好きなことしてきたんだから、娘にも好きなことやらせてやれ」
と言ってくれた。
父さんはじいちゃんの電気屋を継ぐために電気関係の大学にいったんだけど
ゴルフをやりたくて大学を辞めて、ゴルフレッスンの会社を興した。
だから、じいちゃんの言うことは正しい。

私が入った情報工学科は40人中女子は6人、卒業するときは28人になってた。
高専の5年間は楽しかった。
自由だったし、授業も自分にあってた。
だから成績は常に3位くらいだった。
吹奏楽部に入って、最初はアルトサックスを吹いていたけれど
部長になって、部員が少なくて、また指揮者をすることになった。
この先またすることになるかもしれない、2度あることは3度ある。

4年生のときに女子寮ができて、最後の2年間だけ入った。
寮生活はまぁ普通。校舎まで近くていいくらい。
寮での一番の思い出は、9.11をテレビで生で見ていたことかな。

父さんと高専行く条件として大学に編入することを約束していたから、
最初から大学に編入するつもりだった。
5年間情報工学科にいるうちに、なんか別のことをしてみたくなった。
それで工学部じゃなくて理学部に入ろうと思った。なんとなく。
それで高専からの編入を受け付けている理学部がある東工大を受けることにした。
この高専から東工大の工学部に編入した人はたくさんいたけど、
理学部に編入したのは私が初めてだった。
次の初めてはなんだろうな。2度あることは3度ある。

東工大の理学部に編入する場合、3年次じゃなくて2年次編入になる。
今でも同じ学年の物理学科の女の子達には感謝している。
編入生の私を普通に本当に当たり前のように
最初から一緒みたいに仲良くしてくれた。
なんだろうな。高専のときもそうだったけど理工学部にいる女の子って
さばさばしていて、すごく気持ちがいい。
学部時代はよくバイトしていたし、よく遊んでいた。
多くはないけど、この先も定期的に会うだろう友達もできた。
それから、大切な人に出会うことができた。

これで森由希の話はおしまい。ここからは案西由希の話だから。

2009年7月29日水曜日

サッカー観戦

久々の等々力競技場

ついさきほどキックオフ

鹿島アントラーズのアウェーのユニホームって黄色だったっけ

風がここち良い


More...

2009年7月28日火曜日

2009年7月24日金曜日

週末も雨

「なんだか梅雨みたいだね」

「いや、これって梅雨でしょ」

ということで、梅雨明けの発表は間違ってたという認識で夫婦の意見は
一致したわけだが、

そもそも、なんで早まっちゃったのかなと考えだし

梅雨明けが発表されたときのニュースでの天気図は、中国地方の北に
梅雨前線が残っていて、反対側は関東の東側に抜けてて、なんか関東
の上空だけスッポリ前線がなくなってる感じだったはず。

あれでも確か、太平洋高気圧が南から張り出してきて、それによって
梅雨前線が上の方に押しやられて梅雨明けするんじゃなかったっけ?

といつぞやの理科を思いだし (自信ないけど)

てことは太平洋高気圧が南から発達してこないと
梅雨明けにならないのかなぁ

などと一人でかってに納得

したところで、このジメジメから逃れられるわけでもなく

洗濯を憂慮する日々はつづくのでした

2009年7月23日木曜日

Android - Gradient -

Android でグラデーションを描くには、次のクラスを使う

・LinearGradient
・RadialGradient
・SweepGradient

それぞれ Shader クラスを継承していて

Shader s = new LinearGradient(0, 0, 10, 10, Color.BLACK, Color.WHITE, Shader.TileMode.CLAMP);
Paint p = new Paint();

p.setShader(s);
のようにして使う



・LinearGradient
直線方向のグラデーションを描く

Public Constructors

public LinearGradient (float x0, float y0, float x1, float y1, int[] colors, float[] positions, Shader.TileMode tile)

Create a shader that draws a linear gradient along a line.

Parameters
x0 : The x-coordinate for the start of the gradient line
y0 : The y-coordinate for the start of the gradient line
x1 : The x-coordinate for the end of the gradient line
y1 : The y-coordinate for the end of the gradient line
colors : The colors to be distributed along the gradient line
positions : May be null. The relative positions [0..1] of each corresponding color in the colors array. If this is null, the the colors are distributed evenly along the gradient line.
tile : The Shader tiling mode



public LinearGradient (float x0, float y0, float x1, float y1, int color0, int color1, Shader.TileMode tile)

Create a shader that draws a linear gradient along a line.

Parameters
x0 : The x-coordinate for the start of the gradient line
y0 : The y-coordinate for the start of the gradient line
x1 : The x-coordinate for the end of the gradient line
y1 : The y-coordinate for the end of the gradient line
color0 : The color at the start of the gradient line.
color1 : The color at the end of the gradient line.
tile : The Shader tiling mode




・RadialGradient
円環のグラデーションを描く

Public Constructors

public RadialGradient (float x, float y, float radius, int[] colors, float[] positions, Shader.TileMode tile)

Create a shader that draws a radial gradient given the center and radius.

Parameters
x : The x-coordinate of the center of the radius
y : The y-coordinate of the center of the radius
radius : Must be positive. The radius of the circle for this gradient
colors : The colors to be distributed between the center and edge of the circle
positions : May be NULL. The relative position of each corresponding color in the colors array. If this is NULL, the the colors are distributed evenly between the center and edge of the circle.
tile : The Shader tiling mode



public RadialGradient (float x, float y, float radius, int color0, int color1, Shader.TileMode tile)

Create a shader that draws a radial gradient given the center and radius.

Parameters
x : The x-coordinate of the center of the radius
y : The y-coordinate of the center of the radius
radius : Must be positive. The radius of the circle for this gradient
color0 : The color at the center of the circle.
color1 : The color at the edge of the circle.
tile : The Shader tiling mode



・SweepGradient
色の変化方向が円環になっているグラデーションを描く

Public Constructors

public SweepGradient (float cx, float cy, int[] colors, float[] positions)

A subclass of Shader that draws a sweep gradient around a center point.

Parameters
cx : The x-coordinate of the center
cy : The y-coordinate of the center
colors : The colors to be distributed between around the center. There must be at least 2 colors in the array.
positions : May be NULL. The relative position of each corresponding color in the colors array, beginning with 0 and ending with 1.0. If the values are not monotonic, the drawing may produce unexpected results. If positions is NULL, then the colors are automatically spaced evenly.




public SweepGradient (float cx, float cy, int color0, int color1)

A subclass of Shader that draws a sweep gradient around a center point.

Parameters
cx : The x-coordinate of the center
cy : The y-coordinate of the center
color0 : The color to use at the start of the sweep
color1 : The color to use at the end of the sweep




サンプルコードはこちら
More...


package yanzm.example.gradienttest;

import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.LinearGradient;
import android.graphics.Paint;
import android.graphics.RadialGradient;
import android.graphics.RectF;
import android.graphics.Shader;
import android.graphics.SweepGradient;
import android.os.Bundle;
import android.view.View;

public class GradientTest extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new GradientTestView(this));
}

private static class GradientTestView extends View {
private Paint mPaint;
private final int[] mColors;
private int CENTER_X;
private int CENTER_Y;

private Shader s1, s2, r1, r2, l1, l2;
float r;

public GradientTestView(Context context) {
super(context);

mColors = new int[] {
0xFFFF0000, 0xFFFF00FF, 0xFF0000FF, 0xFF00FFFF, 0xFF00FF00,
0xFFFFFF00, 0xFFFF0000
};
s1 = new SweepGradient(0, 0, mColors, null);
s2 = new SweepGradient(0, 0, Color.BLACK, Color.GREEN);
r1 = new RadialGradient(0, 0, 50, mColors, null, Shader.TileMode.CLAMP);
r2 = new RadialGradient(0, 0, 50, Color.BLACK, Color.BLUE, Shader.TileMode.CLAMP);
l1 = new LinearGradient(-30, 30, 30, 30, mColors, null, Shader.TileMode.CLAMP);
l2 = new LinearGradient(-30, 60, 30, 60, Color.BLACK, Color.RED, Shader.TileMode.CLAMP);

mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setStrokeWidth(32);

}

@Override
protected void onDraw(Canvas canvas) {
canvas.translate(CENTER_X, CENTER_Y/2);

mPaint.setShader(s1);
canvas.drawOval(new RectF(-r, -r, r, r), mPaint);

mPaint.setShader(r1);
mPaint.setStyle(Paint.Style.FILL);
canvas.drawCircle(0, 0, CENTER_Y/4, mPaint);

canvas.translate(0, CENTER_Y);

mPaint.setShader(s2);
mPaint.setStyle(Paint.Style.STROKE);
canvas.drawOval(new RectF(-r, -r, r, r), mPaint);

mPaint.setShader(r2);
mPaint.setStyle(Paint.Style.FILL);
canvas.drawCircle(0, 0, CENTER_Y/4, mPaint);

canvas.translate(-CENTER_X*3/4, -CENTER_Y/2);

mPaint.setShader(l1);
canvas.drawRect(-30, -30, 30, 30, mPaint);

canvas.translate(CENTER_X*3/2, 0);
mPaint.setShader(l2);
canvas.drawRect(-30, -30, 30, 30, mPaint);
}

@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh){
CENTER_X = this.getWidth()/2;
CENTER_Y = this.getHeight()/2;
r = CENTER_Y/2 - mPaint.getStrokeWidth()*0.5f;
}
}
}




2009年7月22日水曜日

緑ヶ丘霊園

南武線津田沼駅降りてすぐの緑ヶ丘霊園に散歩に行きました。




津田沼駅はとてもレトロな駅で、もし南武線に急行があったら絶対止まらないだろうな。







駅のすぐ横に踏み切りがあるのもいい感じ。









駅から霊園に向かう道も太い並木があって、昔から変わらないんだろうなぁと思う。





いやー緑ヶ丘霊園って広いですね。それに木がたくさんあって、風が気持ちいい。


ネコさん、こんにちは




そこ、居心地いいですか? 墓の前にいるのわかるかな?

蒲田散歩

月曜日は蒲田に散歩に行きました。

夫と息子は自転車で、私は電車で行って現地で待ち合わせ。
商店街をぶらぶらしました。



おやつは『コアラのマーチ ミルクプリン味』



(がちゃがちゃしたいなぁ)



ゆうがお ってこんなに大きいのか。初めて見た。北海道では見ないからなぁ。



ネクタリンも初めて見た。ネクターってジュースのやつですね。

How to user pyROOT 応用編 その6

・軸を log スケールにする


cv = ROOT.TCanvas("cv", "Graph Test", 800, 800)

cv.SetLogx()
cv.SetLogy()



・grid を描く


cv = ROOT.TCanvas("cv", "Graph Test", 800, 800)

cv.SetGridx()
cv.SetGridy()



・大題を付ける


cv = ROOT.TCanvas("cv", "Graph Test", 800, 800)

pl = ROOT.TPaveLabel(0.3, 0.91, 0.7, 0.99, "Global Title")
pl.Draw()

pad = ROOT.TPad("pad", "title", 0, 0, 1, 0.9)
pad.Draw()
pad.cd()

graph.Draw("APL")

cv.Update();






・X軸, Y軸のタイトルを修飾


axisX = graph.GetXaxis()
axisX.SetTitle("x")
axisX.SetLabelFont(112)
axisX.SetTitleOffset(0.5)
axisX.SetTitleSize(0.07)

axisY = graph.GetYaxis()
axisY.SetTitle("x**2")






・ヒストグラムの修飾


hpx.SetFillColor(2)
hpx.SetLineWidth(5)






hp1.SetFillColor(2)
hp1.SetFillStyle(3002)
hp1.Draw()

hp2.SetFillColor(4)
hp2.SetFillStyle(3002)
hp2.Draw("SAME")






・マーカーの修飾


graph = ROOT.TGraph()
graph.SetMarkerColor(6)
graph.SetMarkerSize(1)
graph.SetMarkerStyle(12)