相對於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了。
上面的電話撥號器用了一種實現點擊事件的方式。也是要介紹的第一種點擊事件的方法:
(見上面電話撥號demo,只是多介紹)
/** * 匿名內部類方式實現點擊事件 * @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); } }); } }
/** * 實現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); } }
/短信羣發器/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); } }
這篇博客算是個開始吧,我要把博客又一次拾起來,加油!