Android入門——電話撥號器和四種點擊事件

相對於HelloWorld來講,電話撥號器也是Android的一個入門demo,從這個樣例咱們要理清楚作安卓項目的思路。java

 大致分爲三步:android

    1.理解需求,理清思路ide

    2.設計UI佈局

    3.代碼實現學習

電話撥號器

1. 理解需求:this

    *一個文本框——用來接收電話號碼spa

    *一個button——用來觸發事件設計

2. 設計UIcode

     

3. 代碼實現xml

public class MainActivity extends Activity {

    private EditText et_number; //定義變量用來接收電話號碼
    private Button btn;			//定義button
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //設置界面內容
        setContentView(R.layout.activity_main);
        
        //查找控件,文本輸入框
        et_number= (EditText) findViewById(R.id.et_number);
        
        //找到按鈕控件
        btn=(Button) findViewById(R.id.btn);
       
        //設置點擊事件監聽
        btn.setOnClickListener(new MyListener());
    }
    //內部類方式實現點擊事件
    class MyListener implements OnClickListener{

		@Override
		public void onClick(View v) {
			//運行撥號操做
			//1.獲取用戶輸入的號碼
			String number=et_number.getText().toString();
			//2.運行撥號操做
			//建立一個撥號意圖
			Intent intent=new Intent();
			//設置要撥打的號碼  (URL:統一資源定位符,uri:統一資源標識符)
			intent.setData(Uri.parse("tel://"+number));
			//設置動做,撥號動做
			intent.setAction(intent.ACTION_CALL);
			//跳轉到撥號界面
			startActivity(intent);
		}    	
    }
}

代碼寫完之後。從配置文件里加入一下打電話權限CALL_PHONE就OK了。

上面的電話撥號器用了一種實現點擊事件的方式。也是要介紹的第一種點擊事件的方法:

四種點擊事件實現方式

1.內部類方式

     (見上面電話撥號demo,只是多介紹)

2.建立匿名內部類方式

/**
 * 匿名內部類方式實現點擊事件
 * @author Hugh
 */
public class MainActivity extends Activity {

	private EditText et_number;
	private Button btn;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //設置界面內容
        setContentView(R.layout.activity_main);
        //查找控件,文本輸入框
        et_number= (EditText) findViewById(R.id.et_number);
        //找到button控件
        btn=(Button) findViewById(R.id.btn);
        //設置點擊事件監聽
        btn.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {				
				//運行撥號操做
					//1.獲取用戶輸入的號碼
				String number=et_number.getText().toString();
					//2.運行撥號操做
				//意圖
				Intent intent=new Intent();
				//設置要撥打的號碼
				intent.setData(Uri.parse("tel://"+number));
				//設置動做,撥號 動做
				intent.setAction(intent.ACTION_CALL);
				//跳轉到撥號界面
				startActivity(intent);
			}
		});
    }
}

3.實現OnClickListener接口的當前類對象

/**
 * 實現OnClickListener接口的當前類對象
 * @author Hugh
 */
public class MainActivity extends Activity implements OnClickListener {

	private EditText et_number;
	private Button btn;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		// 設置界面內容
		setContentView(R.layout.activity_main);
		// 查找控件,文本輸入框
		et_number = (EditText) findViewById(R.id.et_number);
		// 找到button控件
		btn = (Button) findViewById(R.id.btn);
		// 設置點擊事件監聽
		btn.setOnClickListener(this);
	}
	
	@Override
	public void onClick(View v) {
		// 運行撥號操做
		// 1.獲取用戶輸入的號碼
		String number = et_number.getText().toString();
		// 2.運行撥號操做
		// 意圖
		Intent intent = new Intent();
		// 設置要撥打的號碼
		intent.setData(Uri.parse("tel://" + number));
		// 設置動做,撥號 動做
		intent.setAction(intent.ACTION_CALL);
		// 跳轉到撥號界面
		startActivity(intent);
	}
}

4.在佈局文件裏給button加入一個單擊事件的響應方法,而後在代碼中實現這種方法

/短信羣發器/res/layout/activity_main.xml   下定義xml中的屬性android:onClick="call"
 <Button
        android:id="@+id/btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/et_number"
        android:layout_below="@+id/et_number"
        android:onClick="call"
        android:text="按下撥號" />

在代碼中實現這種方法

public class MainActivity extends Activity {

	private EditText et_number;
	private Button btn;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		// 設置界面內容
		setContentView(R.layout.activity_main);
		// 查找控件,文本輸入框
		et_number = (EditText) findViewById(R.id.et_number);
		
	}
	public void call(View view){;
				// 運行撥號操做
				// 1.獲取用戶輸入的號碼
				String number = et_number.getText().toString();
				// 2.運行撥號操做
				// 意圖
				Intent intent = new Intent();
				// 設置要撥打的號碼
				intent.setData(Uri.parse("tel://" + number));
				// 設置動做,撥號 動做
				intent.setAction(intent.ACTION_CALL);
				// 跳轉到撥號界面
				startActivity(intent);
	}
}

   對於Android的學習,需要不斷的積累。砸實基礎。

這篇博客算是個開始吧,我要把博客又一次拾起來,加油!

相關文章
相關標籤/搜索