2012年01月30日

日付入力(DatePicker)する


ユーザーが変更できる日付設定をセッティングします
日付入力にはデートピッカー(DatePicke)を使用します
まずはlayoutにデートピッカーとボタンを配置します
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="fill_parent"
	android:layout_height="fill_parent"
	android:orientation="vertical" >

    <DatePicker
    	android:id="@+id/datePicker_test"
    	android:layout_width="wrap_content"
    	android:layout_height="wrap_content" />

    <Button
    	android:id="@+id/button_test"
    	android:layout_width="wrap_content"
    	android:layout_height="wrap_content"
    	android:text="Button" />

</LinearLayout>
デートピッカーにはid:datePicker_test
ボタンにはid:button_testを指定しています
つぎにActivityの設定を行います
package blog.test;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.Toast;

public class TestActivity extends Activity implements OnClickListener {
	
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        /**buttonのidを設定**/
        Button button1=(Button)findViewById(R.id.button_test);

        /**ボタンが押されたらonClickが動作するよう設定**/
        button1.setOnClickListener(this);

        }

/**ボタンが押された時の処理**/
public void onClick(View v){
    switch(v.getId()){
      case R.id.button_test:
    	//DatePickerを設定
  		DatePicker datePicker1 = (DatePicker)findViewById(R.id.datePicker_test);
  		int year = datePicker1.getYear();//年を取得
  		int month = datePicker1.getMonth();//月を取得
  		int day = datePicker1.getDayOfMonth();//日を取得
          showMessage(String.format("%d年%d月%d日",year,month+1,day ));
          //monthに+1をする
          break;

    }
}
    
    /**トースト設定**/
    protected void showMessage(String msg){
        Toast.makeText(
            this,
            msg, Toast.LENGTH_LONG).show();
    }
    

}
ボタンが押されると入力されている日付がトーストとして出力されます
monthに+1をするのを忘れないでください
monthは1月は0、2月は1が出力されます
device11.png

スポンサードリンク

posted by kenken at 19:06 | Comment(0) | TrackBack(0) | ウィジェット DatePicker | このブログの読者になる | 更新情報をチェックする

String


文字列(String)
javaにおいて文字列 を扱うには、String を用います
String test = "abc";
というように使います
testはString(文字列)であるとして、その内容は“abc”ということを表しています

文字列長を得る(length)
length() は、文字列の長さを数値int型で返します
日本語のような全角文字も 1文字として数えます
String test1 = "ABCabcあいう";
int test2 = test1.length()
int型のtest2にはtest1の文字数9文字が入ります

等しいかどうか調べる(equals, equalsIgnoreCase)
equals(string) は、文字列が等しいかどうかを調べます
String test = "ABC";
if (test.equals("ABC")) {//同じだったときの処理}
大文字・小文字を無視して比較する場合は equalsIgnoreCase(strng) を用います
String test = "ABC";
if (test.equals("abc")) {//同じだったときの処理}

文字列を比較する際に== 演算子を用いてはなりません
これは結構ハマりましたw

n番目の文字を得る(charAt)
charAt(n) は、1文字目を0として n番目の文字を返します
String test1 = "ABCDEFG";
string test2 = test1.charAt(2);
これでtest2にtest1の3文字目(2+1)のCが代入されます

指定文字が出現する場所を得る(indexOf)
str.indexOf(A) は、文字列の中で文字“A”が最初に出現する位置を
1文字目を0として数字で返します
見つからない時は -1 を返します
文字の代わりに文字列を指定することもできます
String test = "ABCDEFG";
int i = test.indexOf("C");
int j = test.indexOf("DEF");
これでiに“2”が、jに“3”が代入されることになります
またlastIndexOf(A)を使うと文字列の後ろから探すこともできます

文字列を分割する(split)
split(reg) は、正規表現 reg で文字列を分割しその配列を返します
String[] test = "2012/01/30".split("/");
これでtestには“2012”“01”“30”の3つが代入されます

エスケープシーケンス
文字列の中で次のものはエスケープシーケンスといい特別な意味を持ちます
\n・・・改行コード
\t・・・タブ文字
\\・・・バックスラッシュ
\'・・・シングルクォーテーション(')
\"・・・ダブルクォーテーション(")

スポンサードリンク

posted by kenken at 10:39 | Comment(0) | TrackBack(0) | java 文字列 | このブログの読者になる | 更新情報をチェックする