標籤:android 電話撥號器
相對於HelloWorld來說,電話撥號器也是Android的一個入門demo,從這個例子我們要理清楚做安卓項目的思路。
大體分為三步:
1.理解需求,理清思路
2.設計UI
3.代碼實現
電話撥號器
1. 理解需求:
*一個文字框——用來接收電話號碼
*一個按鈕——用來觸發事件
2. 設計UI
3. 代碼實現
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{@Overridepublic 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); //找到按鈕控制項 btn=(Button) findViewById(R.id.btn); //設定點擊事件監聽 btn.setOnClickListener(new OnClickListener() {@Overridepublic 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;@Overrideprotected 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(this);}@Overridepublic 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.在布局檔案中給按鈕添加一個單擊事件的回應程式法,然後在代碼中實現這個方法
/簡訊群發器/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;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 設定介面內容setContentView(R.layout.activity_main);// 尋找控制項,文本輸入框et_number = (EditText) findViewById(R.id.et_number);}public void call(){;// 執行撥號操作// 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的學習,需要不斷的積累,砸實基礎。這篇部落格算是個開始吧,我要把部落格重新拾起來,加油!
Android入門——電話撥號器和四種點擊事件