|ハイブリッドOS|File System|ARM|Android|Java|制御システム|オープンシステム

 

Android

 
フォーム
 
文字を入力する。
2013-08-07
文字を入力するにはEditTextを使用します。

■サンプルソース
○res/layout/activity_main.xml
EditTextを追加し、idに"input"を設定します。
ButtonはEditTextに入力した文字をトースト表示するために使用します。

xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center|top"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

 
android:id="@+id/input"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10" />

 
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="表示" />

 

○src/jp.co.newral.sample.edittext/MainActivity.java

package jp.co.newral.sample.edittext;

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.Toast;

public class MainActivity extends Activity implements OnClickListener {

private EditText mInput;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// EditTextを取得する。
mInput = (EditText)findViewById(R.id.input);

// ボタンにクリックリスナーを設定する。
((Button)findViewById(R.id.button)).setOnClickListener(MainActivity.this);
}

@Override
public void onClick(View v) {
// EditTextに入力された文字を取得する。
String text = mInput.getText().toString();

// 入力された文字をトースト表示する。
Toast.makeText(MainActivity.this, text, Toast.LENGTH_LONG).show();
}
}
 
複数のボタンを使用する。
2013-08-06
■サンプルソース 
○res/layout/activity_main.xml
Buttonを3つ追加し、idにそれぞれ"button1", "button2", "button3"を設定します。

    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:orientation="vertical" >

        
            android:id="@+id/label"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/hello_world" />

        
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center" >

            
                android:id="@+id/button1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:text="Button1" />

            
                android:id="@+id/button2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:text="Button2" />
 
 
 
 
               android:id="@+id/button3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:text="Button3" />

        
 
 
○src/co.jp.newral.samplemultibuttons.MainActivity.java

package jp.co.newral.samplemultibuttons;

import android.app.Activity;
import android.content.res.Resources;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity {

private Resources mResources;

private TextView mLabel;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// リソースを取得します。
mResources = getResources();

// ラベルテキストビューを取得します。
mLabel = (TextView)findViewById(R.id.label);

// 各ボタンにクリックリスナーを設定します。
((Button)findViewById(R.id.button1)).setOnClickListener(new ButtonOnClickListener());
((Button)findViewById(R.id.button2)).setOnClickListener(new ButtonOnClickListener());
((Button)findViewById(R.id.button3)).setOnClickListener(new ButtonOnClickListener());
}

/**
* OnClickListenerインターフェースを実装した内部クラスを用意します。
*
*/
private class ButtonOnClickListener implements OnClickListener {

/**
* ボタンがクリックされたときに呼び出されます。
*
* @param v クリックされたボタン
*/
@Override
public void onClick(View v) {
// ボタンからIDを取得します。
int id = v.getId();

// ボタンにより処理を判別します。
switch (id) {
// IDが"button1"の場合
case R.id.button1:
mLabel.setText(mResources.getString(R.string.button1_label));
break;

// IDが"button2"の場合
case R.id.button2:
mLabel.setText(mResources.getString(R.string.button2_label));
break;

// IDが"button3"の場合
case R.id.button3:
mLabel.setText(mResources.getString(R.string.button3_label));
break;

default:
break;
}
}
}
}
 
ボタンを使用する。
2013-08-06
ボタンを使用するにはButtonクラスを使用します。

■サンプルソース
○res/layout/activity_main.xml
Buttonを追加し、idに"button1"を設定します。

    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    
        android:id="@+id/label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView1"
        android:layout_below="@+id/textView1"
        android:text="Button" />
 
 
 
 
/**
 * ボタンがクリックされたときのリスナーOnClickListenerを実装します。
 */
public class MainActivity extends Activity implements OnClickListener {

    private TextView mLabel;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // テキスト表示用のTextViewを取得します。
        mLabel = (TextView)findViewById(R.id.label);

        // ボタンにクリックリスナーを設定します。
        Button button1 = (Button)findViewById(R.id.button1);
        button1.setOnClickListener(MainActivity.this);
    }

    /**
     * ボタンがクリックされたときに呼び出されます。
     *
     * @param v クリックされたボタン
     */
    @Override
    public void onClick(View v) {
        // テキストを表示します。
        mLabel.setText("Button1 Clicked.");
    }
}
 
テキストを表示する。
2013-08-06
テキストを表示するにはTextViewを使用します。

■サンプルソース
○res/layout/activity_main.xml
TextViewを追加し、idに"label"を設定します。

xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
 
android:id="@+id/label"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

 
○src/jp.co.newral.sampletextview.MainActivity.java

package jp.co.newral.sampletextview;

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

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // ID"label"を指定してTextViewを取得します。
        TextView label = (TextView)findViewById(R.id.label);

        // 取得したTextViewにテキストを設定します。
        label.setText("ラベル");
    }
}
 
リソースファイルから文字列を取得する。
2013-08-06
Androidではリソースはリソースファイルに用意して使用します。 
文字列の場合はres/values/strings.xmlファイルに文字列リソースを設定します。

■サンプルソース
○res/values/strings.xml
"text"という名称で文字列リソースを設定します。
 

    SampleRes
    テキスト
 
 

○src/jp.co.newral.sampleres.MainActivity.java

package jp.co.newral.sampleres;

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

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // リソースID"text"を指定してリソースから文字列を取得します。
        String text = getResources().getString(R.string.text);

        // 取得した文字列をトーストで表示します。
        Toast.makeText(MainActivity.this, text, Toast.LENGTH_LONG).show();
    }
}