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

來源:互聯網
上載者:User

標籤: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入門——電話撥號器和四種點擊事件

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.