2012年3月1日木曜日

Android Education Program:Lesson3 ver1.0

第三問
ボタンをクリックする度にTextViewにカウントを表示する。
ただし、3,6,9のときはひらがなで表示する


カウントの数|表示する値
1|1
2|2
3|さん
4|4
5|5
6|ろく




Mission3Activity.java

package jp.sendai.tanaka.mission3;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class Mission3Activity extends Activity {
    //TextViewをtxtとして置く
    public TextView txt;
    //int型のcountメソッドを使用
    int count;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        Button btn1 =(Button)this.findViewById(R.id.button1);
        txt = (TextView)findViewById(R.id.textview1);
        
        //ボタンの反応
        btn1.setOnClickListener(new View.OnClickListener(){
            //ボタンを押した時の反応
            public void onClick(View v) {
                //カウントして数値を+1
                count++;
                //??
                String c = String.valueOf(count);
                //数値を表示
                txt.setText(c);
            }
        });
    }
}


ここまでで、ボタンをクリックして数字でカウントしていくことはできました。
次に三の倍数の時はひらがな表記で表示する方法。
if文を使うのはわかるんですが、使い方がわからないという状況...。




明日はバイトの面接です。
実技試験もあります。
こんな状態ですが、行ってきます......!

大丈夫だろうか...orz w


2012年2月29日水曜日

PHPセットアップ

以前やろうとしてうまくいかなかったPHPのセットアップに再チャレンジ。
前は色々見つつもさっぱりうまくいかなくて断念。
今日は少し進んだ。
PCに慣れたっていうのもあるかもしれない。
あとは勘が少しついた...?だといいな。w

ターミナルからPHPを使えるように、コメントアウトしてある文をコメントアウトはずしてやって有効にした。
で、/ライブラリ/WebServer/Documentsにphpファイルを作ってブラウザからそこを開けるようにする...という段階でうまくいかない。
phpinfoをちゃんと開いてやれるようになればいいんだが...。
ま、眠いからまた後日。
Unityの本も届いたのに全然目を通せてない...orz

2012年2月28日火曜日

Android Education Program:Lesson2 ver1.1


出来ましたッッ!!



Mission2Activity.java

package jp.sendai.tanaka.mission2;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class Mission2Activity extends Activity {
    private EditText edit1;
    private TextView text1;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
      
        //EditTextクラスのidがeditText1のものをedit1とする
        edit1 = (EditText)this.findViewById(R.id.editText1);
        //TextViewクラスのidがtext1のものをtext1とする
        text1 = (TextView)this.findViewById(R.id.text1);
        //Buttonクラスのidがbutton1のものをbtn1とする
        Button btn1 = (Button)this.findViewById(R.id.button1);
        //btn1が押された時の反応(OnClickListener)をMyClickAdapter内に設定
        btn1.setOnClickListener(new MyClickAdapter());
        //EditTextが空のときに表示させるヒントを設定
        edit1.setHint("文字を入力してください");
    }
    
    class MyClickAdapter implements OnClickListener {
    
        public void onClick(View view) {
            String text = edit1.getText().toString();
            text1.setText(text);
        }
    }
}

如何でせう。

Android Education Program:Lesson2 ver1.0

<第二問>
EditTextに入力された値をTextViewに表示する
①TextViewに表示するタイミングは、ボタンがクリックされたとき
②アイテムの順番は、上から EditText, Button, TextView




Mission2Activity.java

package jp.sendai.tanaka.mission2;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class Mission2Activity extends Activity {
    private EditText edit1;
    private TextView text1;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
      
        //EditTextクラスのidがeditText1のものをedit1とする
        edit1 = (EditText)this.findViewById(R.id.editText1);
        //TextViewクラスのidがtext1のものをtext1とする
        text1 = (TextView)this.findViewById(R.id.text1);
        //Buttonクラスのidがbutton1のものをbtn1とする
        Button btn1 = (Button)this.findViewById(R.id.button1);
        //btn1が押された時の反応(OnClickListener)をMyClickAdapter内に設定
        btn1.setOnClickListener(new MyClickAdapter());
        //EditTextが空のときに表示させるヒントを設定
        edit1.setHint("文字を入力してください");
    }
    
    class MyClickAdapter implements OnClickListener {
    
        public void onClick(View view) {
            String text = text1.getText().toString();
            text1.setText(text);
        }
    }
}


おそらく...、
一番下の方のpublic void onClick(View view)の中身が悪いのかと。。。
この中身に「EditTextに入力された文字をTextViewに表示する」という内容を書いてやればいいのですがどうしたらよいものか、という感じです。

引き続き挑戦してみます。

第二問をいただきました

が、難しい。

今回は

EditTextに入力された値をTextViewに表示する
TextViewに表示するタイミングは、ボタンがクリックされたとき
②アイテムの順番は、上から EditText, Button, TextView
というもの。

以前本を読みながら、EditTextを使って数字を表示するというのを理解しないまま写したのでそれを応用し、調べつつやってみました。
EditTextに書いた文章をButtonを押してTextViewに渡して表示してやるっていう段階がうまくいかないようである。
あぁそうだ、デバッグもしてみないと...。

はい、この問題をとりあえず本日の12時完成を目標にしたいと思います。

2012年2月26日日曜日

Android Education Program:Lesson1 ver1.2


・インデントを修正。
ブログにアップするときにインデントの位置がずれる...orz


Mission1Activity.java

package jp.sendai.tanaka.mission1;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;

public class Mission1Activity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        //オブジェクトを作成
        AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);
        //alertDialogにタイトルを設定
        alertDialog.setTitle("タイトル");
        //alertDialogにメッセージ内容を設定
        alertDialog.setMessage("メッセージ");
        //alertDialogに確認ボタン処理を設定
        alertDialog.setPositiveButton("OK", new DialogInterface.OnClickListener(){
    
                public void onClick(DialogInterface dialog,int which){
                    //ボタンを押した時の結果
                    setResult(RESULT_OK);
                }
        });
    
    //alertDialogを画面に作る
    alertDialog.create();
    //alertDialogを表示
    alertDialog.show();
      }
}

Android Education Program:Lesson1 ver1.1

手直しをしてみました。
以下の指摘を直してみたつもりです。

・ソースコードに適度な改行とインデントで見やすく
・string.xmlを使っていない。不要なコードは書かない
・1行1行の意味を理解して書く事。
・何をしているかコメントで書く事、それを書く事で自分の理解を把握し、レビューしてくれる人にも理解の度合いを見てもらう。慣れてきたら当たり前の部分は減らしていく 



Mission1Activity.java

package jp.sendai.tanaka.mission1;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;

public class Mission1Activity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
    //ダイアログを表示
    AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);
    //alertDialogにタイトルを設定
    alertDialog.setTitle("タイトル");
    //alertDialogにメッセージ内容を設定
    alertDialog.setMessage("メッセージ");
    //alertDialogに確認ボタン処理を設定
    alertDialog.setPositiveButton("OK", new DialogInterface.OnClickListener(){
    
    public void onClick(DialogInterface dialog,int which){
    //ボタンを押した時の結果
    setResult(RESULT_OK);
           }
        });
    
    //alertDialogを画面に作る
    alertDialog.create();
    //alertDialogを表示
    alertDialog.show();
    
    }
}