关于HelloWorld为,电话拨号程序还AndroidA入门demo,从这个样例我们要理清楚做安卓项目的思路。
大体分为三步:
1.理解需求,理清思路
2.设计UI
3.代码实现
电话拨号器
1. 理解需求:
*一个文本框——用来接收电话号码
*一个button——用来触发事件
2. 设计UI
3. 代码实现
public class MainActivity extends Activity {private EditText et_number; //定义变量用来接收电话号码private Button btn; //定义button@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(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;@Overrideprotected 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() {@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);// 找到button控件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.在布局文件里给button加入一个单击事件的响应方法,然后在代码中实现这种方法
/短信群发器/res/layout/activity_main.xml 下定义xml中的属性android:onClick="call"<Buttonandroid: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(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学习,它需要不断的积累,坚实的基础命中。此博客被认为是启动,我会再次官方博客拾起,油。