サンプルを読み解く努力をする。

[java]
package com.akira_plus.helloworld;

import android.app.Activity;
import android.os.Bundle;

public class HelloworldActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
[/java]

いきなりさっぱりわからないけどこれがjavaの記述なら覚えるしかない。
[java]
package com.akira_plus.helloworld;

import android.app.Activity;
import android.os.Bundle;
[/java]
パッケージ宣言はなんとなく本体の名前を宣言するのと、利用するクラスのパッケージを書くところらしい。
ActivityクラスとBundleクラスを使うよ。っていう宣言なのか。
ActivityクラスはAndroidアプリの土台になるらしいキモになる部分のようだ。Bundleクラスって何をする物なのかと思って検索してみたら
『「Bundle」クラスはOSの判断で強制的に停止、終了する時に一時的にデータを格納するクラス』って書いてあった。
なんだかよくわかんないけどデータを管理してくれる奴らしいのでこれもきっとすごく基本だ。

[java]
public class HelloworldActivity extends Activity {
[/java]

って言うのはjavaとかオブジェクト指向でググってると超出てくる継承 extendsという概念だ(笑
この場合、土台になるActivityクラスを元にしてその機能を丸々いただきつつ、そこに処理を追加してクラスを作るという便利な話らしい。
ちなみに元になる方がスーパークラスで、利用して作る方のクラスはサブクラスと言う様だ。
つまり、HelloworldActivityクラスはActivityクラスのサブクラスか。
継承とオーバーライドって言うのが更に関係性のある言葉らしいけどそれも@Overrideで出てくるな。
買った本によると、@Overrideはアノテーションでそれを書いておくと、オーバーライドが成立していないときにコンパイラが警告してくれるらしい。

オーバーライドが分かってないのでアノテーションってなんだよ!って思った。
スーパークラスのメソッドをサブクラスで再定義することをメソッドのオーバーライドといいます。
ああ、後から書いた方が優先されるのか。なんかstyle定義みたいだな。

@Overrideアノテーションを書いておくと、スーパークラスにないメソッドをサブクラスに記述したときに、
再定義するメソッドが無いよってエラーとして通知してくれるための物なのか…。
まあとりあえず書いておく物としてスルーしておくか。

次、
[java]
public void onCreate(Bundle savedInstanceState) {
[/java]
これも定型文なのかな…。onCreateって、確かActivityが最初に作成されたときに呼び出されるんだよね。
初期設定とかに使う部分なのかしら。アクセス修飾子がpublicで、戻り値が無しでvoid。
メソッド名がonCreateで、引数の型がBundleで、引数の名前がsavedInstanceState。
savedInstanceStateどこから来たんだ。中身何なんだ。ワカランけど、なんか保存値が入っているんだろう。(笑

[java]
super.onCreate(savedInstanceState);
[/java]

これも定型として受け止めておこう。よくわからん。
superって、たしか親クラス(スーパークラス)のメソッドにアクセスするときに使うんじゃなかったっけ。
てことは、親クラスのonCreateメソッドにsavedInstanceStateを渡すってことかね…。

[java]
setContentView(R.layout.main);
[/java]

って、どうもR.layout.mainを画面に表示してくれるメソッドらしい。
R.layout.mainが何を指すのかよく分からないが、どうやら、/res/layout/main.xmlが関係しているっぽい。
画面上は、Hello World, HelloworldActivity!と表示されているが、

<?xml version=”1.0″ encoding=”utf-8″?>


xmlにはそれらしき表記は見当たらない。何となく怪しいのは@string/helloの部分なので
探っていくと、
/res/values/string.xmlファイルに

<?xml version=”1.0″ encoding=”utf-8″?>

Hello World, HelloworldActivity!
Helloworld

と言うのがある。これだ!なんでこんな構成にしているのかそのメリットとか全然まだ理解出来ていないが

setContentView(R.layout.main);が
/res/layout/main.xmlに従って画面を表示するという呼び出しであり、
/res/layout/main.xmlの中の@string/helloが
/res/values/string.xmlファイルの名前がhelloの文字列を代入する書き方で、その結果
画面に「Hello World, HelloworldActivity!」が表示された。というつながりだけは何となく把握。何となくだけど…。


とりあえずサンプルプロジェクトから

とりあえず買ってきた書籍を読み始める。
正直前もって知識がある人が読む本な気がする…。わからん単語がズバズバ出てくる。
アノテーションとかオーバーライドとか。いや知っておくべき単語だったのかも知れないけど、
なんちゃってアラフォープログラマーの俺は知らないことが多い…。

Chapter 1は、Androidとjava言語についての話なのでさらっと読む。
そして、Chapter 2からAndroidアプリ作成の基礎!なのでワクワクしながら読み進める。
2-1と2-2は、基礎知識と開発ツールの準備だから、開発ツールは俺はもうインストールしちゃったのでさらっと流しつつ、
ちなみにJava SE Development Kit 6u24と、Eclipse 3.6とAndroid SDKをなんかネットで色々調べつつ入れてみた。
なので、本題は、Chapter 2-3 はじめてのAndroidアプリの作成から!
Continue Reading…


005SHの「Android™ 2.3アップデート」対応発表された!

なんか気づいたら、公式サイトでアナウンス出てた!

【GALAPAGOS SoftBank 003SH/005SH】「緊急地震速報」および「Android™ 2.3アップデート」対応について
GALAPAGOS SoftBank 005SH | ソフトバンクモバイル
http://mb.softbank.jp/mb/smartphone/product/005sh/

「Android™ 2.3へのアップデート」 : 9月以降だって!
9月かあー!でも計画がアナウンスされただけでも嬉しいよ。楽しみだなあ。


Hello Android world!

とりあえず買ってきた書籍を読み始める。分かってない俺が分かっていないなりに書き進めるのであまり役に立たないと思うけど。その辺はおかしなこと言い出しても許してください。あと突然飽きることがよくあります。

Chapter 1は、Androidとjava言語についての話なのでさらっと読む。
そして、Chapter 2からAndroidアプリ作成の基礎!なのでワクワクしながら読み進める。
2-1と2-2は、基礎知識と開発ツールの準備だから、開発ツールは俺はもうインストールしちゃったのでさらっと流しつつ、
ちなみに確かJava SE Development Kit 6u24と、Eclipse 3.6とAndroid SDKをなんかネットで色々調べつつ入れてみた気がする…。
なので、本題は、Chapter 2-3 はじめてのAndroidアプリの作成から楽しもう!
ヽ( ´ー`)丿ヒャッホウ!


Androidプログラミングバイブル

image

Androidアプリ開発の参考書籍が欲しかったので、会社を定時で退社して、新宿のヨドバシカメラへ。
Java言語コーナーとAndroid関係書籍の平積みコーナーを行ったり来たり行ったり来たりして、とりあえず、Androidの書籍を買った。
Javaが、というか、オブジェクト指向自体がよく分かっていないんだけど、いきなりjavaの入門書読んでもピンとこないし、それならAndroidいじりながら類書とか情報さがす方が楽しそうだなーと思ったため(笑)
やっぱり実機で実際に動かす楽しみ以上の物は無いよね。テンション上がるしね。

偶然かも知れないけど平積みの中では一番減ってたのと、刊行も2011年4月と最近だったことからとりあえずこの本にしてみた。
まあ、俺は技術書籍は実際の所合う合わないかは実際に読んでみないと人それぞれな気がするしなあ。
あと自腹で書籍買うとモチベーションが下げられない。2940円だよー。領収書もらって会社で小口精算してもいいんだけど、そうすると何となく家に持って帰るのが気が引けるので俺はたいてい「これだ!」と思う技術書は自腹で買っている。
Amazonのレビューも比較的好意的でちょっと安心した(笑)


eclipseでAndroidアプリ開発したい!(願望

まあ、仕事なんですけどね。
基本、コーダー兼Flasherなんだけど、つい先日までAdobe Flash CS5でiPhoneアプリを作ってましたが、Android版も作ろうってことになって調べ始めているところなのです。

Flash CS5にもAir for Android吐き出しがあるんだけど、その場合AndroidにAdobe AIRをインストールしなくちゃいけなくて、それがアホみたいに巨大なんだよ(笑)
そんなの納得行くか?俺は行かないぞ。約15MBくらいあるよね。
俺みたいにアホみたいなテストアプリを動かしてもらうのに更に加えて15MBもするAdobe AIR入れてくれなんて言えないし、非合理的かつ非論理的だろ!と、自分のスキルの無さを転嫁する(笑

会社はOSXで自宅はWindowsなんだけど、まあどっちも基本的にはeclipse+android SDKという構成で出来るらしいのでちょっとずつ…やろうかと。

どっちもなんかインストールの時につまづいたのは、ADBとかいうのがムニャムニャエラーがでてよくわかんなかった。あとjavaがさっぱりわからない。
画面遷移のあるプログラミングとか全然したことがないのと、遙か昔にいじったDelphiもなんか画面デザイナーみたいなのはあったしなー。どこから手をつけたらいいものやら。
Flashすげえなあ、作りやすいなあ(笑)
Android、じっくりつきあっていきたい。ていうか時間かかりそう。本買わないとだめかなあ…。
でもAndroid開発の書籍の前にjavaのお作法もさっぱりわかっていないからなあ…。

全然関係ないけど、eclipseってちょっと厨二心をくすぐる名前だよね。


[005SH] ADW.Launcher使用前/使用後

ADW.Launcher使用前

ADW.Launcher使用後

005SHのホームアプリをADW.Launcherにして、一週間くらい。
そもそもの目的の2D/3Dの切り替えボタンが要らないっていう点についてはもうね。全然快適です。ていうか3Dコンテンツ全然見ていない。その割に、プリインストールの3Dゲームアプリはまだ消す踏ん切りがついてませんけど。。。
あとは、ホームのショートカットを5列にしてみました。一回6列にしてみたんだけどアイコンが小さすぎて押しにくかったのでやめたー。
あとはアプリケーションをグループ分け出来るので、そのグループのランチャーアクションをホームに登録して、アイコンを変えた。そうアイコンを変えるのもすごい楽しいね。
個人的にはすごく大満足だ。
しかし問題は本体の容量だよ。もう、そろそろ、消すか…。ロックマンとか、たぶんしないしな…。でもなあ…。

ちなみにバックアップの件もイマイチよく分からず解決出来ていない。
Android SDKで「File Explorer」使ってバックアップ取ろうとすると途中でコピーできないファイルがある。
たぶん、ファイルのパーミッションとかプライベート属性とかそういう問題だと思う。
そんで、『アストロファイルマネージャ』をインストールしてみて試しに/systemをコピーしてみたけどやっぱり途中でコピーできない。
次に、入れたのは『AndEcplorer』を入れてみた。これがまたなんだかよく分からないけど/systemが丸ごとSDカードにコピー出来ちゃってね。やったーと思ったのもつかの間、そこには、「魔界村騎士列伝I」っぽいファイルもよくわからんし、36.46MBのファイルも無いんだよなー。どこにあるんだよこのアプリは…。
ファイルの管理状態がさっぱりわからないのであった。
19.57MBのバイオハザードも、太鼓の達人もどこにあるのかわからん…。ぐぬぬ。やはり諦めて消すしかないのか…。