実機がないくせに開発環境は揃いまくっているgoogle-phoneのプラットフォーム「android」ですが、先日ドコモとの業務提携も決まり、国内での「android」対応機の販売もにわかに現実味を帯びてきました。
NTTドコモとグーグルが提携、検索機能を強化しAndroid対応機も開発
実機がないんじゃ作ってもつまんないし……と思ってたんですが、徐々にandroidの情報サイトも増えてきて、自分みたいな初心者でも開発できる雰囲気になってきたので、何か作ってみようと。それでどうせなら2chブラウザを作ってみることにしました。何故なら「android開発」と「2chブラウザの作り方」が一度に学べちゃって一石二鳥なのです。
まずandroidのキホン的なものはこちらのサイトで。
Android入門
SDKに付属のNotepadを作成するチュートリアルをかみ砕いて和訳されている便利な記事もあります。
Androidアプリケーション開発入門
英語ですが、こちらはいろいろなチュートリアルがあって絶対役に立つ感じ。
anddev.org
androidはこれだけあれば大丈夫ということで、次は2chブラウザを作るに当たってはこちらの記事。この記事を見付けたから2chブラウザ作ろうと思いました……。
2chビューアを作成するための知識
これらのサイトを見れば簡単に上記スクリーンショットみたいなブラウザが作れました。といっても板とスレッドを選んで中身をやっと表示できるだけですが。レスをどうやって表示しようか迷ってます。androidはWebViewというのがあってHTMLを簡単に表示できるんですけど、なんか大げさですしね。
えーとここまで作ってandroidのわかったこと。
- androidではアプリケーションの1画面分を「Activity」というクラスで定義する。アプリケーション自体もまずメインのActivityが起動され、必要に応じてサブ画面(この2chブラウザなら板を選んだ後のスレッドリスト画面)のActivityをstartSubActivityメソッドとかで呼び出す。
ちなみにActivityにはリスト表示に適したListActivityとかもある。 - Activityを構成するコンポーネントみたいなもの(ラベルとかボタンとか)はandroidでは「View」というらしい。
- androidではメニューのラベルだとかの文字列リソースはプロジェクトのres/values/strings.xmlで定義できる。ファイルを変更すると、自動的にRというクラスが更新され、例えば「R.string.menu_label_exit」みたいな感じでリソースIDを取得できる。
- 2と同様、Activityのレイアウトもxmlで定義すると便利。res/layoutフォルダ内にxmlファイルを作ってレイアウトを定義でき、Activity#setContentView()メソッドでそのレイアウトを設定できる。
レイアウトで定義したViewは「button1 = (Button)findViewById(R.id.button_a);」とかで取得できる。
なおここに記載されている内容は間違っている可能性が大いにありますのでご注意下さい。