2012年1月31日火曜日

android わからないとこをメモ


あるサイトのメモアプリのソースがあったので解読。
http://andante.in/i/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E6%93%8D%E4%BD%9C/%E3%83%A1%E3%83%A2%E5%B8%B3%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B/

これはそのままで動く!
DBとか作成しないと思ってた素人がびっくり!

public class MemoFile extends Activity implements OnClickListener {


説明:画面をあらわすアクティビティクラスを拡張する!
※恐らく事前に画面をあらわす命令が記述されている呪文があってそれをネタに使うという意味かと・・。


Activity で止めていることはあるけど、implements をつかっているとこはなかったので、
解読。
http://www.javaroad.jp/java_interface3.htm

インターフェイスの実装と書かれている、javaの基本らしいけど知らん。
深みにはまりそうなので、一旦パス。

@Override

  1.  public void onCreate(Bundle savedInstanceState) {  
  2.  super.onCreate(savedInstanceState);  
  3.  setContentView(R.layout.main);  


いつもの3行!

いつも onCreate() で始まる。 これメソッドらしい。
ちなみに、こいつが召喚されると、文字を設定、表示する処理が行われるらしい。。。
ちなみメソッドとは?・・・

メソッドの構造はこうなっているらしい。。


修飾子 戻り値 メソッド名(引数){
 実行する処理
}


ほんとかな・・・?
と疑い別のとこをみてみると。。


戻り型 メソッド名 (引数型 引数名) {
  メソッド本体
};


要素が異なるが同じようなことを言っているきがする。

メソッドとは”クラスが持つ振る舞いを担うもの”・・・。
意味がわからないw
投げ出すw


アクティビティが最初に作成された時などに
呼び出されるメソッドが「onCreate」メソッドです。
記述してあるから呼び出されている気がします。そう記述すること
と言ってくれるとわかりやすいのだが。。。


あとは、オーバーライドという用語と、
スーパークラスのメソッド という意味。
http://www.javaroad.jp/java_class8.htm

で ねますかね。

こう思った。
レイアウトを決めている XMLで各ウェジットのIDを決めて。
それをJAVAファイルで扱う。

まず、オブジェクトを宣言、変数をつくって、
ここで重要なのが、下記のメソッド
findViewById
http://www.javadrive.jp/android/xml_layout/index6.html
ここに詳しくのっているが よくわらからない。

スーパークラスで定義されたメソッドをサブクラスで再定義すること
らしい。。。。

スーパークラスって何だ?
オブジェクト指向においてクラスの親子関係が成り立つ場合の親側のクラスのこと
つまり、親クラスってことね。

つまり、親クラスで定義されたメソッドを子クラスで再定義しなおす
ちゅうことやね。なぜわざわざオーバーライドするかはわからんけど。

おそらく、一度 つくったクラスを有効活用的な感じなんだろう。
たぶん。












2012年1月17日火曜日


なんだか背景がかわらないで試行錯誤してましたら。。。
http://d.hatena.ne.jp/re_shikajiro/20111121/1321876241
をみつけて。。。


<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item  android:state_pressed="false"
android:drawable="@drawable/background_b" />
<item  android:state_pressed="true"
android:drawable="@drawable/background" />
</selector>

こちらで動きました。。。

味噌は、
android:state_pressed="true"



<item
android:state_pressed="false"  ← OK。
android:state_enabled="true"  ← ×。
android:state_focused="false"  ← ×。
でした。


本物の文献では
http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList
ここに詳しくかいてあるみたいです。
読んでません。

フォーカスがあたっているか?ってなんだ?
カーソルじゃないのか?な?かな?。

ここも参考文献

ボタンの背景をダイナミックに変える


http://techbooster.jpn.org/andriod/ui/174/

2012年1月14日土曜日

JAVAの勉強をはじめました。

JAVAの勉強をはじめました。
それはほしいアプリがないから。
と思ったら。意外とちかいとこにあった。

public class MyAndy extends Activity {  

いつもの呪文ですね。

public class + クラス名

まずこれってなんやねん。って話ですけど。
クラスは大きなまとめたイメージをおもってください。
クラスは次の要素で構成されてます。

・オブジェクト(インスタンス)
・メソッド
などを記述したもの。
よくわかんないよね。。。。。

そして 拡張している。なぜだかよくわからん。
ファイル名は同じにしないとだめみたい。

Activityを拡張しているのは?


ここのソースを読み解いてます。

これに、修飾子がつく。
publicprotectedprivate は アクセス修飾子

public は「すべてのクラスからの参照を許す」
protected は「他ファイル・他クラスからのアクセスをプロテクトする」
private は「自クラスからのアクセスしか許さない」

という意味があるようです。
というように、開発者が自由にきめられる言葉と
決まっていることばがあるので、これが一番の混乱原因だと思う。

button も決まっていることばのようです。



2012年1月9日月曜日


Androidのアプリがほしくて自作をはじめました。

★英語文・単語を覚えるアプリ たんなる単語帳ではない。w


Eclipse をインストールしてとりあえず、実記で halloまではできたけど。
よくわからんw。

http://doubleringnote.blog.fc2.com/blog-entry-6.html
このサイトに詳しくのってます。


1. Project Name
2. Build Target
3. Application Name
4. Package Name


2について
プログラムを作成し、実行するための形式に変換することを、
 コンパイルするとか、メイクするとか、ビルドするって言いますよね?
とかかれますが、Application NameとPackage Name

Ga4のtest

これを押すとリンクするよ 参考にした記事はこちら