こんにちは。正木です。
今回は読者の方々から応援メッセージをたくさんいただいておりますので、そちらの方を少しご紹介したいと思います。
- アンドロイダーとして成長する姿を見ていると、とても清々しい気分になります! がんばってください!
- 実機もなくエミュレータだけで開発されているのでしょうが、そんな困難を恐れず立ち向かっている事に好感が持てます!
- 空腹も眠気も吹き飛ばして、いっぱしのアンドロイダーを目指してください!
温かい、励ましのコメント、本当にありがとうございます!
今回ご紹介させていただいた方々には、番組オリジナル『見習いアンドロイダーTシャツ』をお送りいたします。
まだまだ応援メッセージの方は受け付けておりますので、どしどしお寄せください!
…というワケで、以上のくだりはフィクションですんで、軽く右から左へ受け流してください。
それでは、本編をご覧あれ~。
(※ 記事中の役立つ凡例 => ☆:役立つ外部リンク)
前回まで(~#28)
・Google Android向けアプリが1つ完成したが、「インターネット等の通信」や「GPS」といったものを全く活用していないアプリになった。
・アプリを作成する際の超基本的な考え方は身についたように感じている。だが、応用はまだまだ。
#29
第1弾アプリが辛くも完成したので、第2弾アプリの製作に取り掛かりたいと思う。
それに先立って、Android端末ユーザの先輩から要望をいただいた。
テーマは『天気予報』で、
必要な機能としては『数時間ごとの予報が見たい』とのこと。
この【数時間ごと】というのがミソだったりする。
「日ごと」の天気予報はヨシとして、「数時間ごと」の予報だと配信されていない事が多い、らしい。
たしかに、数時間ごとの天気予報を配信しているサイトってば、ほんの一握りのように感じられる。
気付かなかった。
何から調査すればよいのか??? …まずは落ち着こう。
#30
このTech Blog用の記事(Android日記①や②)を書き終えたので、Blog管理者の方へ入稿。空腹の極み。
#31
第2弾アプリ作成にあたり……しっかし、何から手を付けていけばよいものか。
どうやら「単に天気予報を出す、というのがどうも…」という点が、自分の中で引っ掛かっている気がする。
#32
先日の帰りしなあたりに先輩からいただいたアイディアを元に、アプリの設計図を書いてみる。
なんとなくできた…が、ほどよい量の調査事項もでてきた。どーなるやら。
#33
あー、夏休み。
なので4、5日間ほど手を止める。
手を止めたのは、ちょいと泳ぎ疲れたからではない。
#34
このTech Blogの管理者の方から「記事をリリースする前に、ちょっとレイアウトを修正してほしい」との依頼をいただいたので対応する。
Tech Blog用記事を入稿すると、リリース前に多少のチェック(「内容が適切か」「話の筋が通ってるか」「レイアウトは整っているか」程度の一般的なもの)が入るのだが、今の今まで「内容」に対してはほとんどおトガメがない。
会社の人間の声が外部に、これだけストレートに響き渡るこの場で、こんな砕けた文章を書いてていいのか?という疑問はあるのだけども、しばしば杞憂で終わったりする。
これこそが言論の自由、表現の自由かと。
考えてみれば、著作物を拝見した際に「これ、すごいな」と衝撃を受けずにはいられなかったという作家さんが、2名ほど居りまして。
スタパ斎藤氏と西原理恵子氏。
その方々から勝手に影響を受けて、いまの自分はこんな文体になっているんだな、という自己分析もあったりします。
…文体だけの問題ではないか。
#35
Android向けアプリの動作に必要なファイルってば『1つだけ』なんだな。APKとかいう拡張子のファイルが1つだけ。
構造が簡潔すぎて驚いた。
でも、例えばiPhone向けのアプリもこんな感じなんだろうか…。この形式がスタンダードになってたりする、とか。
あと、Androidアプリは『JavaであってJavaでない』らしい。
(カギカッコ内の語句、下記リンク先より引用)
☆Android Market配布を目指しEclipseでHelloWorld! (1/3) – @IT
#36
SpinnerというViewにAdapter(ArrayAdapterオブジェクト)をセットする方法がわからん。例外しか出ないんですが…。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | package com.example.weatherTest; public class WeatherTest extends Activity { @Override public void onCreate(Bundle savedInstanceState) { // 省略 final String[] ITEMS = {"テスト項目A", "テスト項目B", "テスト項目C"}; Spinner someSpinner = (Spinner)findViewById(R.id.someSpinner); someSpinner.setAdapter(new ArrayAdapter<String>(this, R.layout.main, ITEMS)); // 省略 } } |
何が間違ってんだか……あー、もぉ。
#37
#36の不具合の原因がわかった。
Rクラスが複数個あるとは知らず、「(当プロジェクトのパッケージ).R.layout」クラスの定数を渡していたのがダメだった。
どういうコトかと言えば、下記に具体例(改善案)を示す。
1 2 3 | // #36のソースの10行目 // ArrayAdapterのコンストラクタの第2引数には「android.R.layout」クラスの定数を設定するべき someSpinner.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, ITEMS)); |
androidパッケージの中にもRクラスってば存在したんやね。その存在を知らなかった…。
解決するまで、時計の短針が2周していきよった。
…次だ! 次!
#38
なんだかんだで、天気予報と言えば、やっぱ『ヤン坊マー坊』ではなかろうか。
この方々は気象予報士ではないよね。
でも、プライムタイム辺りで冠番組持ってはるし、気象予報士じゃないけど天気予報系番組の代名詞的な存在やし。
イロイロとすごいな。
#39
1つ目の画面(今回のアプリは画面遷移がある)のイメージがなんとなく具現化できたので、いよいよ内部的な実装に突入する。
GPS。
ほげぇ~。
プログラマになりたての時、技術バリバリの先輩から、「hoge(ほげ)」という言葉の由来について『hogeってのは、昔、【ホーグ】という戦艦が云々』みたく、あからさまな冗談を吹っ掛けられた憶えがある。
その【ホーグ】とやらが戦艦だったかどうかは(冗談を聴く私の姿勢が、先輩の冗談以上にテキトーだったので)定かじゃないけど、冗談の規模としては異例な大きさだったはず。
一寸のホラにも五分の魂?
☆勉強会/GPS – 日本Androidの会(日本アンドロイドの会)
☆throw Life – AndroidでGPSを使って現在地を取得する方法
次回予告
次回は、自作アプリ第2弾の実装の続きを綴ります。
ありがとうございました。
あわせて読みたい
- アンドロイダー育成日記 -Androidと仲良くなるには- その1
- アンドロイダー育成日記 -Androidと仲良くなるには- その2
- アンドロイダー育成日記 -Androidと仲良くなるには- その3(本記事)





8月 20th, 2009 at 10:16
[...] アンドロイダー育成日記 -Androidと仲良くなるには- その3 [...]
8月 20th, 2009 at 10:16
[...] アンドロイダー育成日記 -Androidと仲良くなるには- その3 [...]
8月 20th, 2009 at 13:13
[...] アンドロイダー育成日記 -Androidと仲良くなるには- その3 [...]
9月 1st, 2009 at 10:01
[...] アンドロイダー育成日記 -Androidと仲良くなるには- その3 [...]