Androidの最近のブログ記事

Android Developer Challenge 2 (ADC2) Full Terms and Conditions が発表されました。

http://code.google.com/intl/ja/android/adc/adc2_terms.html

 

ADC2 の情報については、2009年5月末のGoogle I/O 2009 で既にアナウンスされていましたが、その際に、「2009年6月 くらいに Full Terms and Conditions を発表する」ということになっていましたので、約半月遅れ?で発表されたことになります。

 

さて、気になる ADC2 Full Terms and Conditions の内容ですが、上記リンク先を参照してみるとわかるように、本記事を執筆時点では、すべて英語で記載されています(全19項目)。。。

内容が内容だけに、正確な日本語訳を問われますので、そのあたりは、明日のニュースサイト(もしくはGoogle先生)にお任せすることにします。。。

というと物足りないので、斜め読みしたメモ書き程度のもので恐縮ですが、以下に残しておきます。

 

3. BINDING AGREEMENT

チーム、または、ビジネスでエントリする方への注意書きがありますので、該当する方は、注意してお読みください。

個人で非ビジネスエントリ(=私)だよ。という方は、最初のパラグラフだけでいいかな(もちろん、全文を読む必要がありますけど^^;)

 

4. ELIGIBILITY

参加資格について書かれています。

 

5. CHALLENGE TIMELINE

提出期限、第1次審査、第2次審査の日程が書かれています。

提出期限は、2009年8月31日。

第1次審査は、2009年10月23日まで、

第2次審査は、2009年11月20日までに行われるみたいです。

各々の時刻は、11:59:59 P.M. Pacific Time (PT) Zone in the United States ということなので、間際になる場合には、十分にご注意ください。

 

7. SUBMISSION PERIOD

Android 1.5 SDKを使ってくださいとのことではじまり、カテゴリも以前告知されていた10のカテゴリで決定みたいです。

対応すべき言語は、最低限、英語が必須で、それに加え、その他の言語(例えば日本語)も含めてもいいみたいです。

ということは、ローカライズしておければ、多少?有利かもしれませんね(当方みたいな個人レベルだと英語だけでも苦しいのですが。。。)。

 

8. FIRST ROUND JUDGING

9. SECOND ROUND JUDGING

第1次審査、第2次審査について書かれています。

 

10. PRIZES

賞金について書かれています。

モチベーションが保てなくなったら、ここを読みましょう(笑)。

 

# と書いているところで・・・、
# いつも購読させていただいているTaosoftware先生からの記事をFeedしました。。。
# Taosoftware先生(株式会社)は、既にご存じとかと思われますが、有益なAndroidの情報をいち早く公開されており、
# 大変勉強になるコンテンツで溢れております(本当すごいです)ので、ご存じでなかった方は、フィード登録してみてください。
# 是非日本人から受賞者が出てほしいですね!
# 当方もチャレンジしたいのですが、Androidに割ける時間が就寝/起床前後の1日2時間程度なので、到底無理ですzzz...

日本Android会主催の勉強会は、日本Androidの会のトップページから参照できますが、
それ以外のAndroid関連の勉強会を探す場合には、「IT勉強会カレンダー」を使用しています。

ITCalAndroid.png

※特定の勉強会を検索するには、「検索オプションを表示」から検索

Googleカレンダーは、Android端末(HT-03Aなど)でも、標準のカレンダー/ブラウザアプリを使用して参照できるのですが、
かなり見づらいので、もっとカスタマイズしたアプリが必要ですね。

[Android] Googleリーダー

| トラックバック(0) |

普段、RSSの購読には、Googleリーダーを使っています。

HT-03Aでも使ってみることに。

 

Googleリーダーは、Googleのトップページ上部のメニューで、その他 > リーダー にあります。

GoogleReader1.png

 

ログインすると、PCと比べるとちょっと狭いですが、PCで読んだのと全く同じものが読めます。

これまでADP1をWifiでしか使用しなかったのですが、HT-03Aを機に「Mopera U」+「Biz・ホーダイ ダブル」にして、あらためて、どこでもインターネットにつながっている良さを実感した。

読みかけのデータも、書きかけのデータもクラウドにあるので、自宅にいなくてもデータが同期できているのである。

今日は外出だけど、どこでもRSSが読めるので、そんなの関係ない。

GoogleReader2.png

以前、自分が書いた「[Android] HT-03A発売日決定-実機で試したい8+2のサンプルコード - adakoda」という記事を検証してみた。

まずは、Android SDK 付属の「ApiDemos」から。

 

1. Graphics/CameraPreview

CameraPreview.png 

HT-03A本体には、ADP1にあったような物理的なカメラボタン(KEYCODE_CAMERA)がない。

したがって、カメラアプリを作る場合には、標準のカメラアプリのようにソフトウェア(シャッター)ボタンを実装することを忘れてはいけない。

ちなみに、CameraPreviewサンプルは、その名のとおり、プレビューだけしか実装していないので、どのみちシャッターはきれないのである(笑)。

カメラアプリのサンプルコードは、Androidソースコードのpackages\apps\Cameraに完全なものがあるので、そちらを参考にしていただきたい。

 

2.Graphics/Compass

当然ながらADP1と同じなので、コメントなし。

というのもつまらないので、

事前に言っていた

※HT-03Aには、もっと立派なコンパスもプリインされています^^

も試してみることに。

下のキャプチャが、HT-03Aプリインアプリである羅針盤のコンパス。

Compass.png

コンパスも思った以上に滑らかで気持ち良いのだが、それより興味を注いだのが画面右下をタッチしてでてくる切り替えボタン。

円周をタッチすると、切り替えボタン?が円周上をグニュグニュとスクロールする。

伝わらないかもしれないが、超クールだ。

コンパスそっちのけで、このメニュー?(ドック?)の実装方法を考え込んでしまった(5分固まる)。

 

3. Graphics/FingerPaint

FingerPaint.png

タッチの感度についてもADP1と同じ感じ。

画面キャプチャの何が2コ入りかというと。実は、HT-03Aは、電池パックが2個入り(嬉)。

 

4. Graphics/OpenGL ES/Sprite Text

SpriteText.png

この場合のfpsは同じように見える(ように、実は、ADP1も撮り直したけど)。。。

 

5. Graphics/OpenGL ES/Touch Rotate

TouchRotate.png

実は、このサンプル。トラックボールでも操作できることに気づいた。気持ちいい。

それにしても、画面をタッチすると、指紋が残る。。。傷もつけたくないし。。。

ということで、ADP1に貼っていた保護シートを剥がして、HT-03Aに付け替えるという暴挙にでる。

これが意外に成功。

つまり、HTC Dream(G1)とHTC Magic(HT-03A)の画面サイズは同じなのだ。

ということで、保護シートは、G1用でもイケると思う。

CAPDASE docomo HT-03A / HTC Magic Google G2 Soft Jacket 2 XPOSE with Screen Guard Crystal Clear, Clear Black ソフトジャケット (クリスタル・クリアー 液晶保護シート 付き) クリアー・ブラック SJHCMAGIC-P201

 

6. OS/Morse Code

MorseCode.png

バイブレーターのサンプルなのだが、ここでエディットボックスに数字を入力する必要がある。

ADP1の時は、ハードウェアキーボードをスライドさせて簡単に入力できたが、HT-03Aは、ソフトウェアキーボードなので、結構大変。

特に画面が縦向きの時は、キーボードの幅も狭くなるので、指が太いと大変。。。

画面を横向きにすると、キーボードの幅が多少広くなるので、まーなんとかセーフというところ。

ちなみに入力方法としては、iWnnを搭載していた。Wnnを使うのは10年ぶりで何だか嬉しい。

 

7. OS/Sensors 

これまたApiDemosサンプルとしては、ADP1で試していたとおり。

しいて言えば、ADP1は、ハードウェアキーボードを出した時に、画面が横向きになったが、

HT-03Aは、前述のとおりハードウェアキーボードがないので、実機を横向きにすると、画面が横向きになるといったところか。

また、事前に言っていた

※HT-03Aのプリインにも水平器があります

も試してみることに。

下のキャプチャが、HT-03Aプリインアプリである羅針盤の水平器。

RashinbanSensors.png

事前に見ていたキャプチャではわからなかったのだが、実際に試してみると、空気(気泡?)の動きが滑らかで、よくみると芸が細かい(拍手)。

 

8. App/Voice Recognition

VoiceRecognition.png

音声認識のサンプル。予想どおりだけど、やっぱり動かない。

ソースを見ると、ACTION_RECOGNIZE_SPEECHインテントをチェックしている。。。

そこで、ADP1からVoice DialerとVoice Searchを引っこ抜いて、HT-03Aに強引につっこんでみる。 ↓

VoiceApp.png

すると、ボタンが有効に! ↓

VoiceRecognitionEnable.png

口を開けて待っていると・・・ ↓

VoiceRecognitionError.png

エラーの文字が・・・

残念です¥¥

というか、購入して間もないのに無茶しすぎ^^;

こんな時間に何やっているんだ!

Android1.5から、android.viewパッケージにGestureDetector.OnDoubleTapListenerインターフェースが追加されています。

このインターフェースを使用すると、ダブルタップ(=マウスでいうところのダブルクリック)を簡単に検出できます。

↓のような感じ。

public class GestureTestActivity extends Activity implements
        GestureDetector.OnGestureListener,
        GestureDetector.OnDoubleTapListener {
    GestureDetector mGestureDetector;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        mGestureDetector = new GestureDetector(this);
    }
    @Override
    public boolean onTouchEvent(MotionEvent event) {
        if (mGestureDetector.onTouchEvent(event)) {
            return true;
        }
        return super.onTouchEvent(event);
    }
...省略...
    @Override
    public boolean onDoubleTap(MotionEvent e) {
        Log.v("Test", "onDoubleTap()");
        return false;
    }
    @Override
    public boolean onDoubleTapEvent(MotionEvent e) {
        Log.v("Test", "onDoubleTapEvent()");
        return false;
    }
    @Override
    public boolean onSingleTapConfirmed(MotionEvent e) {
        Log.v("Test", "onSingleTapConfirmed()");
        return false;
    }
}

Android 1.1以前でダブルタップを検出するコードを書いたことがある人にしか伝わらないかもしれなのですが、
シングルタップのAPIのみでダブルタップ検出を行うのは、結構大変だったのです。。。

マイナーネタであり、あまり知られていない?ようですが、コーディングが楽になるのでポストしておきます。

HT-03Aの発売が近づき、

 

「予約したよ」とか、

「○○円」だったよ、

 

とかいう書き込みを、ちらほら見かけるようになりました。

と言っている当方も、先週末に予約してきた一人だが、当時は、

 

店員:「残念ながら、エイチティーゼロさんエーの値段は、まだ お教えできません」

  

の一言。。。

なんで、こんなに対応が違うんだ。。。と思いつつ、その頃に疑問に思ったこと。

 

「ゼロさんエー」

 

たしかに、03Aは「ゼロさんエー」と読める。

でも、よくよく考えると、「さん」だけ読み方変えているのである。。。

ABC2009のドコモさんのプレゼンでは、「エイチティーゼロスリーエー」とおっしゃていた。

iPhone 3GSの3GSも、「スリージーエス」なので、HT-03Aは、「エイチティーゼロスリーエー」ということにしておく。

 

ちなみに、心の中は、↓の状態(from Google Trends)。

GoogleTrendsAndroid.png

※C:「T-Mobile G1」、F:「HTC-Magic発表」、G:「???」

※決して「android, iphone」と入力してはいけません^^;

最近、Android 1.5 + エミュレーター + プロキシーあり環境で、HTTPを使うアプリを試す機会があったのですが、
アプリを動作させてみると、HTTPアクセスができませんでした。。。

そうそう、この環境では、エミュレーターのHTTPプロキシー設定をしていなかった。
ということで、Android 1.0の頃に書いた記事を参考に、再チャレンジしてみるものの、やはり上手くいかない。。。

 

1:adakodaさん

ガセネタか!
 [Android] エミュレーターのプロキシ設定(Using the Emulator with a Proxy) - adakoda

 

と心の中で書き込みをしつつ、
Android 1.0に戻してみると、当時のやり方で、すんなり上手くいく。。。

 

2:adakodaさん

>>1
ガセネタじゃないよ
Android 1.0/1.1にしてみ

3:adakodaさん

>>2
ホントだ、アリガト
Android 1.0/1.1だと上手く動く
Android 1.5の方法は?

4:adakodaさん

>>3
このスレみてみ
ttp://groups.google.com/group/android-developers/browse_thread/thread/efb4c6884f42dad7/b079f8fcb2b0e9af?lnk=gst&q=proxy+1.5&pli=1

 

ということで、自信はないのだが、

Android 1.5 + エミュレーター + プロキシーあり環境で、HTTPを使えなければ、APN設定をしてみてください。

というのがオチ。

 

APN設定は、

「Settings」アプリ > 「Wireless controls」 > 「Mobile networks」 > 「Access Point Names」の「APNs」画面で、

メニューキー > 「New APN」から追加できます。

APNSetting.png

「Proxy」「Port」に目的の値をセットしてあげれば、上手くいきました。

今日は、七夕(たなばた)らしい。

気づけば、23時。

後1時間で七夕がオワル。

いつもは、満点の夜空が見える(※1)のですが、本日は、あいにくの天気。

 

仕方がないから、七夕が終わるまで(つまり、あと1時間以内)にコーディングしてみる。

 

  • 星空起動API | リファレンス|ポケット羅針盤|Android|開発者様用技術情報|ドコモスマートフォンサイト | NTTドコモ
    http://smartphone.nttdocomo.co.jp/fordeveloper/android/pocketcompass/reference.html#reference03

 

多分、こんな感じ ↓

Intent intent = new Intent();
intent.putExtra("lat", /* ここに緯度(float型:-90~90)をセットする */);
intent.putExtra("lon", /* ここに経度(float型:-180~180)をセットする */);
intent.putExtra("time", /* ここに日時(String型:YYYYMMDDmmhh形式)をセットする */);
intent.putExtra("scale", /* ここに縮尺(int型:0~100)をセットする */);
intent.putExtra("alpha", /* ここに星座ラインの透明度(int型:0~100)をセットする */);
int[] degrees = new int[2];
degrees[0] = /* ここに方位角(int型:0~360)をセットする */ ;
degrees[1] = /* ここに仰角(int型:0~90)をセットする*/ ;
intent.putExtra("degrees", degrees);
intent.setClassName(
    "com.nttdocomo.android.compass",                // パッケージ名
    "com.nttdocomo.android.compass.star.StarMain");    // クラス名
startActivity(intent);

 

間に合った^^★

でも、結局、HT-03A(正確には、ポケット羅針盤)がないので、星空見れず orz...

 

まだ時間あるので、追記。

実際には、

現在地の経度、経度を取得(※2)したり、

現在日時を取得(※3)したり、

実機の方位角、抑角(※4)を取得(※5)しても面白いだろう。

 

※1:幸運にも、そういうところに住んでいる

※2:「位置情報を取得するには/GPSを使用するには - 逆引きAndroid入門」参照

※3:「現在の日付・時刻(年月日時分秒)を取得するには - 逆引きAndroid入門」参照

※4:「抑角」は、ちょっと自信なさげ、たぶん、pitch のことを指していると思うんだけど > テックファームさん

※5:「センサー(Sensor)を使用するには - 逆引きAndroid入門」参照

開発者登録するには - 逆引きAndroid入門」のページを更新しました。

同ページは、以前から公開していたのですが、画面キャプチャがなく、わかりにくい内容でしたので、

この(ADC2やHT-03Aでホットな)機会に画面キャプチャを撮り直し、追記しました。

※つまり、このために、またUSD25払ってます^^;

 

Android Marketの開発者登録は、Android MarketでAndroid アプリケーションを公開するために必要ですし、

(唯一root権限になれる?)開発者用デバイスであるAndroid Dev Phone 1(ADP1)を購入するためにも必要です。

もうすぐ実施されるAndroid Developer Challenge II(ADC2)にチャレンジしたい方で、開発者登録を考えていた方は、参考にしてみてください。

Android Marketについては、日本では、HT-03A発売後の数か月の期間は、無料アプリしか公開できませんが、

少し待てば有料アプリも公開できるみたいなので、楽しみですね。

 

あと、ADP1の購入を考えている方について、根拠のないお知らせ。というか予想。というか期待。

ADP1は、HTC Dreamベースですが、既にGDDフォンのようなHTC Magicが存在することから、

今後は、ADP2が登場する?のではないかと考えています。

その発表のタイミングが今月(2009年7月?)のADC2の正式発表のタイミングだったりすると嬉しいのに。。。

 

最後に、

Android Marketの開発者登録の方法は、以下の本でも紹介されていますので、

Android本を探している方は、参考にしていただければ、と思います。

「Google Androidプログラミング入門」を読みました。

まずは、こんな素晴らしい仕事をしてくださった著者の方々、出版元のアスキー・メディアワークスさんにお礼を述べたいです。

ありがとうございました!

 

「Google Androidプログラミング入門」本が到着後、2日かけてメモをとりながら読み進めましたが、

メモの量がブログにアップできない量になってしまったので、ここでは、目次にとどめておきます(目次だけでも、この長さ^^;)。

読み終えた後、プログラミングしたくなる この感動は、実際に読んでいただければ伝わると思います!

 

Google Androidプログラミング入門

  • 江川崇・藤井大助・麻野耕一・藤田泰介・山田暁通・山岡敏夫・佐野徹郎・竹端進 共著(敬称略)
  • 発売日:2009年7月2日
  • ページ数:648ページ
  • 出版社:アスキー・メディアワークス
  • ISBN:978-4-04-867956-5
  • サンプルコード:アスキー書籍用ダウンロードサイト

 

第1部 基礎知識

第1章 Android SDK の概要

    1.1 Android SDK が提供する機能の概要
    1.2 アプリケーション開発の流れ
    1.3 アプリケーションを構成する要素
    1.4 Android のライセンス 

第2章 Android 開発環境

    2.1 本書で説明する開発環境について
    2.2 開発環境のセットアップ手順
    2.3 AVD (Android 仮想デバイス)の作成
    2.4 Android アプリケーションの作成

第3章 開発ツール

    3.1 Android SDK
    3.2 Android エミュレータ
    3.3 DDMS パースペクティブ
    3.4 Android Debug Bridge (adb)
    3.5 開発時のTIPS

 

第2部 開発の基本

第1章 Android アプリケーションの4大要素

    1.1 4大要素
    1.2 4大要素を用いたサンプル
    1.3 アクティビティ (Activity)
    1.4 サービス (Service)
    1.5 コンテントプロバイタ (Content Provider)
    1.6 インテント (Intent)

第2章 アクティビティ

    2.1 概要
    2.2 画面にウィジットを表示する
    2.3 ボタンが押されたイベントを取り扱う
    2.4 アクティビティのライフサイクル
    2.5 拡張されたアクティビティ

第3章 インテント

    3.1 インテントの基本構造
    3.2 インテントのもっとも基本的な使い方
    3.3 インテントを使いこなす~暗黙的なインテント
    3.4 暗黙的なインテントの使い方
    3.5 暗黙的なインテントを使ってアクティビティを起動する方法
    3.6 ウィジットを他のアプリケーションに組み込む方法 (AppWidget Framework)
    3.7 暗黙的なインテントを使って標準で組み込まれているアプリケーションを起動する方法

第4章 サービス

    4.1 インテントによるサービス起動
    4.2 バインド
    4.3 コールバック
    4.4 常駐型のサービス
    4.5 サービスの使いどころ

第5章 データ入出力と永続化

    5.1 プリファレンス
    5.2 SQLite によるデータ永続化
    5.3 ファイル
    5.4 コンテントプロバイダ
    5.5 コンテントプロバイダの活用

 

第3部 画面要素

第1章 ユーザーインターフェース

    1.1 はじめに
    1.2 導入編
    1.3 基礎編
    1.4 応用編
    1.5 付録. UI に関する各種ツール

第2章 グラフィックス

    2.1 アニメーションによる描画の概要
    2.2 アニメーションによる描画の基本1(設定がシンプルな場合)
    2.3 アニメーションによる描画の基本2(設定を組み合わせた場合)
    2.4 アニメーションによる描画の基本(AnimationDrawable を使用した場合)
    2.5 Drawable クラスを使用した描画の概要
    2.6 Drawable クラスを使用した描画(ShapeDrawable を使用した場合)
    2.7 Drawable クラスを使用した描画(GradiantDrawable を使用した場合)
    2.8 Canvas クラスを直接使用した描画
    2.9 OpenGL ES ライブラリによる描画の概要
    2.10 OpenGL ES ライブラリによる描画の基本
    2.11 まとめ

 

第4部 実践開発

第1章 アプリケーションモデル

    1.1 アプリケーションとタスク
    1.2 アプリケーションとプロセス

第2章 セキュリティ

    2.1 はじめに
    2.2 ソフトウェア開発時に考慮すべきセキュリティ
    2.3 Android のセキュリティ・アーキテクチャ
    2.4 Android のセキュリティ機能
    2.5 ファイルアクセス制御
    2.6 許可情報

第3章 リソースと国際化

    3.1 リソースファイル概要
    3.2 リソースファイルの利用

第4章 センサーAPI

    4.1 センサープログラミングをマスターしてハードウェアと仲よくなろう
    4.2 センサーとは
    4.3 センサー関連のクラスとインターフェイス
    4.4 加速度センサー
    4.5 傾きセンサー

第5章 地図表示とロケーション

    5.1 地図表示 API
    5.2 ロケーション API
    5.3 まとめ

第6章 テスティングフレームワーク

    6.1 はじめに
    6.2 Android のテスティングフレームワーク
    6.3 Android のテスティングフレームワークを利用する
    6.4 テストで利用できる開発ツール「Monkey(モンキー)」

 

第5部 応用開発

第1章 Input Method Framework

    1.1 はじめに
    1.2 Input Method Framework の概要
    1.3 IME開発の準備
    1.4 Input View の追加
    1.5 Candidates View の追加
    1.6 IME 実装 TIPS
    1.7 最後に

第2章 ConnectivityManager

    2.1 ConnectivityManager の概要
    2.2 ネットワークの状態変化をハンドルしよう

第3章 カメラ

    3.1 Android SDK が提供するカメラ機能の概要
    3.2 基本的な機能を持ったカメラアプリケーションの作成
    3.3 カメラアプリケーションへの機能の追加・変更

第4章 メディア

    4.1 はじめに
    4.2 MediaPlayer
    4.3 MediaRecorder

第5章 JNI (Java Native Interface)

    5.1 はじめに
    5.2 サンプルアプリケーションの概要
    5.3 Java プログラミングを実装する
    5.4 C プログラムを実装する
    5.5 ビルド環境を構築する
    5.6 ビルド環境でCモジュールをビルドする
    5.7 Android にモジュール配置する

第6章 アプリケーションの実行結果を解析する

    6.1 実行ログ(プロファイリングレポート)を収集する
    6.2 Traceview を利用する
    6.3 実行ログをグラフに変換する
    6.4 実行ログを HTML に変換する

第7章 ソースコードの探訪

    7.1 ソースコードの取得方法
    7.2 ソースコードのプロジェクト構成
    7.3 Eclipse からのソースコード参照
    7.4 まとめ

第8章 Android の開発用端末 - 「Android Dev Phone 1」

    8.1 Android Dev Phone 1
    8.2 Android Dev Phone 1 を購入可能な国と地域
    8.3 Android Dev Phone 1 の購入に必要な費用
    8.4 Android Dev Phone 1 の購入
    8.5 Android Dev Phone 1 の設定・利用

第9章 アプリケーションの配布

    9.1 アプリケーションの署名
    9.2 アプリケーションのバージョン
    9.3 動作対象とする Android プラットフォームの指定

 

付録A ウィジットカタログ

 

Amazonでの商品説明は、Google Androidプログラミング入門 にあります。

※在庫切れになっていても、注文はできるみたいです

<<前のページへ 1819202122232425262728

Android 楽しいよ!

2010年11月

  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        

自作フリーソフトウェア