Adsense_top

2010年6月29日火曜日

[Android]Google Develoepr Day 2010 Japan 事前登録

今日、9月28日に行われる「Google Develoepr Day 2010 Japan 」の事前登録の案内がメールで届いていましたので登録しました。


ご存知の方が多いとは思いますが、ご存じない方で興味がある方は、公式サイトを見てください。


参加するには、「Google Code Site Group Japan」に登録したのち、事前登録を行う必要があります。
また、実際の参加資格を得るには、「DevQuiz」というクイズに答える必要があります。
クイズに挑戦するだけでも楽しいと思います。


2010年6月23日水曜日

HTC Desire(X06HT)お勧めアプリ「日本のお天気レーダー」

梅雨時という事もあって、大変役立っているアプリを紹介したいと思います。
アプリ名は「日本のお天気にレーダー」です。もちろんAndroid Marketで入手できます。
国土交通省 防災情報提供センターがのリアルタイムレーダーの画像を表示するだけなのですが、昼食や、駅前に買い物などの1・2時間のお出かけの時に、傘が必要かの判断が出来て便利です。


勿論の全国の雨の様子も分かります。

各地域(中国、四国、近畿を表示しています。)拡大もでき、3時間前からの変化も下にあるシークバーでみられるので、予測も立てやすいです。
超お勧めです。

2010年6月16日水曜日

HTC Desire(X06HT) 購入時、気を付けた方が良い..事など

 思いつく事を、羅列しておきます。

 量販店でのポイントより、現金や商品券をサービスしてくれる店で購入の方が良い。
 ポイント付けてくれる店は、得てして小物などの値段が高い。
 前に書いたmicroSDカードでも、amazoneなどで同じ商品を比べるとダントツ高い。
 ガンガン量販店で買い物をし、ポイントを使いまくっている人は、量販店でも良いかもしれませんが...

 一括スーパーボーナスなしが、計算上は長く(1年半以上)使わないのなら一番お得。(店により販売価格が異なるようなので注意)
 毎月の払いを重視なら一括スーパーボーナスありでいいかも(私は月々の払いが安い方が気分が楽なのでこれにしました)

 しっかりオプションやキャンペーン(Fonルータープレゼントなど)のアナウンスなどを把握してから行く事。
 Softbankの場合、ショップが把握できていない事が多いような気がするので、アナウンスされているページのURLをメモって行った方が良いと思います。特に小規模のショップの場合は...。

 Fonルータープレゼントは販売代理店のような店では対応しない模様なので、購入後、Softbankショップに別途足を運ぶ必要がある可能性が大です。

 fonルーターを貰う為に、My Softbank でわざわざ先にケイタイWi-Fiに入っておく必要はない、ショップで登録してもらえばよい。どうせ今年末までに入れば、どうせタダだし、オプション付けるために普通は手数料は取られない。
 私の場合は、My SoftbankでケイタイWi-Fiのオプションを付けたので、ショップで一旦外したうえで、再度付けました。(もちろんショップの方が書類のサイン以外全て行ってくれましたが。)

 iPoneのようにプリペイド決済(iTuneカード)がAndroid マーケットには無く、有料アプリの購入にはクレジットカードが必要ですので、未成年の方などははこの点も考慮しておいた方が良いです。


2010年6月14日月曜日

HTC Desire(X06HT) 必須アプリ「発信確認 Call Confirm 」

以前に書いたと思うのですが、Desireのメインのスクリーンの下に電話をかけると時のバーがあり、選択後の画面に連絡先リストが表示されるためる、勢いで意図せず連絡先を選んでダイヤルしてしまう時があります。
実際にDesire購入直後に、、目覚まし代わりのアラームを止めた勢いでダイヤルをし、早朝から相手に迷惑をかけてしまいました。
 ロック解除用パターンを設定する事で、何もしない時よりは間違いは減りましたが、何度がダイヤル途中で慌てて切る事があり完全には防ぐことは出来ませんでした。

 先ほども、間違えて電話しそうになって、このアプリが止めてくれました。
 そこで、紹介せねばと思い急遽書いています。
 多分、このアプリを作った人も同じような経験をし、作ったのだろうと想像します。
 有名になっていますので、ご存知の方も多いと思いますが、同様の悩みがある方は一度入れてみてはいかがでしょうか

 Android Marketにありますので、アプリ名で検索してください。
 アンドロイダーでも紹介されています

2010年6月12日土曜日

HTC Desire(X06HT) 東芝のmicroSDHC 16GBに替えました

日本橋(にっぽんばし <- 大阪)のPCショップで東芝の海外向けmicroSDHC 16GB class2(SD-16GR5W2)を買ってきました。


元々Desireに入っていた2GBでは、流石に音楽も大して入れられないので買いにいてきました。
価格的には、ネットショップでの販売のほうが500円ほど安い店もあったのですが、行き慣れた店の方が安心なので、4,140円で買ってきました。
大手量販店では、16GBのmicroSDHC は安くても8、000円はしますので、ショップで買うのがお勧めです。


入れ替えるついでに、ベンチマークをとってみました。


----------------------------------------
ベンチマークアプリ: J Bench Mark 1.0
テスト内容:
 ファイルサイズ 50MB
 バッファサイズ 8KB
 5回テストの平均


付属のSanDisk 2GB microSDカード
書き込み:  6.17 MB/s
読み込み: 10.77 MB/s


東芝 microSDHC 16GB class2
書き込み:  6.82 MB/s
読み込み: 10.78 MB/s
----------------------------------------


ほとんど差はありませんでした。
SanDiskは最近良くないとのうわさでしたので避けたのですが、これなら3,500円を切る値段で16GBがあったので、そちらを買えば良かったと、少し後悔...


2010年6月8日火曜日

HTC Desire(X06HT) ジャケット買ってきました。

 レイ・アウトの「ラバーコーティングシェルジャケット」の黒色をヨドバシで買ってきました。


 写真を撮って載せようと思ったのですが、上手く撮れなかったので、興味のある方はメーカーの商品ページを観てください。


 一般のジャケットに比べ硬く、丈夫な感じがしました。
 普通のジャケットように本体を包むように付けるのでなく、ジャケットに本体にはめ込むような感じです。


 手触りは、Desireの背面や側面の感じに近く、滑ったりすることなくホールド感もあり、気に入りました。
 表側には一般のジャケットのような縁の出っ張りがありませんので、操作の妨げになることもなく、違和感なく操作することが出来ます。


 表側の保護を気にされる方は、他メーカーのジャケットでジョイスティック以外のボタン部を覆うような物が出ていますので、そちらを買った方が良いかもしれません。
 ただ、個人的な感想ですが、その商品の写真を観ると、どうしても電卓のボタンやテレビのリモコンを思い浮かべてしまうので、私は候補から外しました。


 気になる点としては、Desire上部の電源ボタンを背面から人差指で操作する場合に、指の腹にジャケットがフチがほんの少しあたります。
 しばらく使ってみて、それでも気なるようなら少し削ろうかと考えています。


ネットで当ジャケットのスピーカ部の穴と縁を巻くようにすればストラップを付けられるとの情報がありますが、シッカリ本体とジャケットは止まっているようには思いますが、ストラップ側を持ち強めにショックを与えると、接着されているのではないのでショックで本体が外れる心配があり個人的にはやめた方が良いと思います。


 書き忘れていましたが、画面保護フィルムが付属しています。既に貼っているので予備として置いておきますが、中途半端な抱き合わせはやめてほしいものです。
(ちなみに光沢仕様と書かれていましたが、同社が単品販売しているフィルムとは、材質は同じようですが、表面が異なるような感じがします)


 


2010年6月6日日曜日

[Android] Activityの表示アニメーション

久しぶりのプログラミングネタです。すっかりDesireにハマり、遊びすぎました。(Desireネタ、まだまだ続くとは思います。)


よくCMや動画で見るiPhoneやXperiaの画面が横からスライドしてフェードインしてくる奴がしたかったので、探して出来るようになったので、書いておきます。

基本的な事は、「adamrocker」様のブログ「throw Life」の「ActivityのOpenとCloseをアニメーションさせる」を参考(パクリ?)にさせていただきました。


あまり速く切り替わると動作が解りにくいので、少しゆっくり動くようにしています。
私自身がまだまだAndroid初心者ですので、出来るだけ簡潔に、また参考ページからコピってくるのではなく、書かれているコードの意味を調べつつ書いていますので、コメントが多くて見づらい点はご容赦下さい
 もし、実際に動かしてみる場合、該当のファイル、フォルダが無い場合は作って下さい。またパッケージ名、各クラスのソースファイルを入れるフォルダパスは「・・・」で書いていますので、ご自身の使用パッケージ名に合わせて書き換えて下さい。


2つのActivityの切り替え時にアニメーションするようにしますので、Activityクラスの派生クラスFirstActivity と SecondActivityを作成します。


親のActivity
・./src/・・・/FirstActivity

package ・・・.ActivityAnimation;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class FirstActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first);
// ボタンをひとつ配置
Button toBtn = (Button)findViewById(R.id.to_second);
// クリックイベントで、SecondActivityを起動
toBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent =new Intent();
intent.setClass(FirstActivity.this, SecondActivity.class);
startActivity(intent);
}
});
}
}


子のActivity
・./src/・・・/SecondActivity

package ・・・.ActivityAnimation;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class SecondActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
// ボタンをひとつ配置
Button backToBtn = (Button)findViewById(R.id.back_to_first);
// クリックイベントで、このActivityを終了
backToBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
}


次に各ActivityのレイアウトXMLを以下のようにします。


親Activityのレイアウト
・res/layout/First.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ff000000"
android:gravity="center"
>

<Button android:text="To Second"
android:id="@+id/to_second"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
</Button>
</LinearLayout>


子Activityのレイアウト
・res/layout/Second.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#ffffffff"
android:gravity="center"
>
<Button android:text="Back To First"
android:id="@+id/back_to_first"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
</Button>
</LinearLayout>


基本部分はActivityの中心にボタンを配置しており、2つとも同じです。違いは、ボタンの文字が「To Second」/「Back To First」の違いと、Activityの背景色が「白」/「黒」の違いだけです。現在表示中のActivityが判別し易くしているだけです。


次はstring.xmlです。


・res/vaslues/string.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">アクティビティーアニメーション</string>
<string name="activity_name1">FirstActivity</string>
<string name="activity_name2">SecondActivity</string>
</resources>


これは見たまんま、名前を設定ているだけです。


アプリケーション内のActivityに適用するテーマを指定します。
・res/values/theme.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AnimationTheme" parent="android:Theme">
<item
name="android:windowAnimationStyle">@style/AnimationActivity</item>
</style>
</resources>


テーマ名を AnimationTheme とし、AnimationActivityをスタイルとして使用する。


上記のテーマで使用するスタイルを定義します。
・res/values/style.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AnimationActivity" parent="android:Animation.Activity">
<item
name="android:activityOpenEnterAnimation">@anim/alpha_open_enter</item>
<item
name="android:activityOpenExitAnimation">@anim/alpha_open_exit</item>
<item
name="android:activityCloseEnterAnimation">@anim/alpha_close_enter</item>
<item
name="android:activityCloseExitAnimation">@anim/alpha_close_exit</item>
</style>
</resources>


スタイル名を AnimationActivity として、使用するアニメーションの指定を行っています。


スタイルで使用される、SecondActivityが開く時のFirstActivityのアニメーションを定義します。
・res/anim/open_exit.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromXDelta="0%"
android:toXDelta="-100%"
android:duration="300"
android:fillAfter="true"
android:fillEnabled="true"/>
</set>


FirstActivityのX座標を 0% の位置から、 -100% の位置に 300ミリ秒 掛けて移動する。(左側に消えていくイメージ)
fromXDelta:開始 X 座標を % で表記
toXDelta:終了 X 座標を % で表記
duration:開始から終了までの時間間隔(ミリ秒)
下記の二つの属性の意味は、英文の翻訳および動作させた感じからの想像です。あくまでも「たぶん」です。
fillAfter:アニメーション終了時の状態を保持する時は「true」にするそうです。
fillEnabled:「fillAfter」「fillBefor」を適用するかどうかの指示のようです。


スタイルで使用される、SecondActivityが開く時のアニメーションを定義します。
・res/anim/open_enter.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromXDelta="100%"
android:toXDelta="0%"
android:duration="300"
android:fillAfter="true"
android:fillEnabled="true"/>
</set>


SecondActivityのX座標を 100% の位置から、 0% の位置に 300ミリ秒 掛けて移動する。(右から滑って入ってくるイメージ)



スタイルで使用される、SecondActivityが閉じる時のアニメーションを定義します。
・res/anim/close_exit.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromXDelta="0%"
android:toXDelta="100%"
android:duration="300"
android:fillAfter="true"
android:fillEnabled="true"/>
</set>


SecondActivityのX座標を 0% の位置から、 100% の位置に 300ミリ秒 掛けて移動する。(右側に滑って消えていくイメージ)


スタイルで使用される、SecondActivityが閉じる時のFirstActivityのアニメーションを定義します。
・res/anim/close_enter.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromXDelta="-100%"
android:toXDelta="0%"
android:duration="300"
android:fillAfter="true"
android:fillEnabled="true"/>
</set>


FirstActivityのX座標を -100% の位置から、 0% の位置に 300ミリ秒 掛けて移動する。(左側に滑って入ってくるイメージ)


ここまで書いた内容は、ほぼ参考にした「throw Life」(http://www.adamrocker.com/blog/)の焼き直しです。


ここまで、出来たら一度動かしてしてみてください。
入ってくる新しい画面に押し出される様に前の画面が反対側にスライドしていきます。


 


次に「res/anim/」のアニメーションを定義した4ファイルを以下のように書き換えます。「fromXDelta」と「toXDelta」の値を書き換えています。


・res/anim/open_exit.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromXDelta="0%"
android:toXDelta="0%"
android:duration="300"
android:fillAfter="true"
android:fillEnabled="true"/>
</set>


FirstActivityはアニメーションの最初から最後までX座標は「0」に固定したままです。


・res/anim/open_enter.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromXDelta="100%"
android:toXDelta="0%"
android:duration="300"
android:fillAfter="true"
android:fillEnabled="true"/>
</set>


SecondActivityのX座標を 100% の位置から、 0% の位置に 300ミリ秒 掛けて移動する。(右から滑って入ってくるイメージ)


・res/anim/close_exit.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromXDelta="0%"
android:toXDelta="100%"
android:duration="300"
android:fillAfter="true"
android:fillEnabled="true"/>
</set>


SecondActivityのX座標を 0% の位置から、 100% の位置に 300ミリ秒 掛けて移動する。(右側に滑って消えていくイメージ)


スタイルで使用される、SecondActivityが閉じる時のFirstActivityのアニメーションを定義します。
・res/anim/close_enter.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator">
<translate android:fromXDelta="0%"
android:toXDelta="0%"
android:duration="300"
android:fillAfter="true"
android:fillEnabled="true"/>
</set>


FirstActivityはアニメーションの最初から最後までX座標は「0」に固定したままです。
(左側に滑って入ってくるイメージ)


書き変えたら、もう一度動かしてみると、動作が変わっているはずです。


新しい方の画面が前の画面に被さるように入ってきます。出て行く時はそ逆にスライドしていきます。
こちらの方が、iPhoneなどのCMで観る動きに近い感じになります。


次回も、このソースを基に遊んでみます。


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


動作を確認していただくために動画をYouTubeにでも上げようかと思いましたが、上手く動画を撮れなかったため断念しました。実機またはエミュレータから綺麗に撮れる方法をご存知の方が居られましたらお教え下さい。


 


2010年6月5日土曜日

HTC Desire(X06HT) ベンチマークしてみました

Quadrant Standard というベンチマーク アプリケーションションで Desireを計測してみました。


「Your device」と表示されているのか、Desireです。
「Nexus One 2.2」がAndroid2.2が元の「Nexus One < 2.2」の倍以上のスコアを叩き出しているのをみると、兄弟機のDesire(厳密にはX06HT)も早く「2.2」にしてくれることをSoftbankに祈りたくなります。


「Moto Shadow < 2.2」は「Nexus Two」と噂されている機種なので、「2.1」でこのスコアは流石って感じっです。


「SamSung Galaxy S < 2.2」は、今秋過ぎにドコモから発売が予定されているAndroidのベース機ですが、「2.1」でこのスコアを出しているが凄いです。ただ、Desire持ちからすると、少し悔しいですが、ドンドン性能アップしたデバイスが出てくるのは、この手の機器の宿命です。


「SE Xperia x10」には少しですが、スコアが優っているようです。


結果を購入の参考にされる方もおられるかとも思いますが、「ベンチ=使い勝手」ではありませんで、一つの情報程度に...


2010年6月2日水曜日

HTC Desire (X06HT) FONに繋げて来ました

今日、外で他の人が開放している FON_FREE_INTERNETに繋げて来ました。


繋いでブラウザでページを移動しようとしたら、メアドとパスワードの入力画面が表示され、入力後は、普通にページを移動出来ました。(ホテルとかの無線LANを使用する時のパターンです)


近くにFONルーターをもらったショップがあったので、そこに設置されていたのかもしれません。


駅前のショッピングセンターのベンチに座って、出来るので中々良かったです。


Wi-Fiの感度は・)「<-左90度回転してみて下さい」でしたが、なかなか快適に読み込んでいました。
この、APが偶然良かっただけかもしれませんが...


HTC Desire(X06HT) 貰ったFONルータを登録してみた。

昨晩、FONの登録をしました。
Desireが正式にまだケイタイWi-Fiに対応指定にないため、iPhoneのようにはいかないので、一般PCと同じ手順で登録しました。

私が行った手順を書いておきます。
1.PCで、https://www.fon.com/jp/register/form で、メールアドレスやパスワード、氏名、住所などを設定。
2.DesireでWi-Fiのアクセスポイント「FON_FREE_INTERNET」に接続して表示される画面で、先に登録したメールアドレスとパスワードでログイン。(家のPCはすべて固定アドレスにしているので、変更が面倒くさかったのでDesireでしました。)
3.「ルータの設定」(<-多分こんな表示だったと思う)を選んで表示画面でルーターの位置情報を入力。

 位置情報などで番地まで入力する欄がありましたが、何となくイヤなので、丁目までの入力にしました。

自身のAP以外繋いでいないので、正しく出来ているか... また見つけて繋げたら報告します

2010年6月1日火曜日

HTC Desire(X06HT) FONルータ貰ってきました。

 書くのが遅くなりましたが、先の日曜日「Softbank ショップ」で「FONルータ」を貰ってきました。
 ルータが欲しかった訳ではなく、FONのアクセスポイントへタダで繋げるなら、ラッキーなので戴きに行ってきました。

結構この件は情報が錯綜していて、Desireのユーザーは貰えるのかはっきりしていませんでしたが、TwitterでSoftbankのサポート担当者が、プレゼントするようになったと言っておられたので、念のため「157」に確認の上行く事にしました。

 「157」の方も、ハッキリ把握はしていなかったようで、時間はかかりましたが丁寧な対応をしていただけました。
 回答としては、機種が「X06HT」で「パケットし放題フラッ」、「ケイタイWi-Fi」加入しているので、条件は満たしているとの事でした。また、5月24日より可能になったとのことでした。
 ただ、ショップによっては、「ケイタイWi-Fi」を一度外して再度「ケイタイWi-Fi」加入する手続きをする可能性がありますとのことでした。
 また、購入店以外のショップでも大丈夫か確認したところ、念のため購入店に行かれた方がいいと聞き一旦電話を切りました。その後サポート担当の方から電話を頂き、確認したところ購入店以外でも大丈夫の旨連絡を入れてくれました。
 完璧なサポートとは言えませんが、親切なサポートだとは感じました。

 ショップの方もこの件について把握できていないようで、センターに確認をされていました。
 手続きとしては「157」で聞いたように解除->再加入する手続きを求められ、そのようにしました。
 ルータについては、プレゼントであり今後の解約などおこなっても、返却等する必要が無いものだと言われていました。

 家に持ち帰り繋ごうと箱を開けると、iPhone用やMMSが使用出来る機種の説明書しか入っていませんでしたので、ユーザー登録方法などが良く解りませんので、暇な時に調べつつ繋いでみようと思っています。

 使えるようになったら、この件また書きます。