学向勤中得,萤窗万卷书。这篇文章主要讲述Android开发学习——打电话应用相关的知识,希望能为你提供帮助。
打电话应用
system/app/phone.apk
这个是打电话应用,这个java API 不允许应用级程序员改写,系统级才可以
system/app/dialer.apk
这个是拨号器应用,可以重写一个第三方的拨号器
1.在res-layout-activity_main.xml里定义布局:
1 < LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2xmlns:tools="http://schemas.android.com/tools" 3android:layout_width="match_parent" 4android:layout_height="match_parent" 5android:paddingBottom="@dimen/activity_vertical_margin" 6android:paddingLeft="@dimen/activity_horizontal_margin" 7android:paddingRight="@dimen/activity_horizontal_margin" 8android:paddingTop="@dimen/activity_vertical_margin" 9tools:context=".MainActivity" 10android:orientation="vertical" > 11< TextView 12android:layout_width="wrap_content" 13android:layout_height="wrap_content"// 组件必须设置宽高,否则不能通过编译 14android:text="请输入号码:" 15/> 16< EditText 17android:layout_width="match_parent" 18android:layout_height="wrap_content" 19android:id="@+id/et" 20/> 21< Button 22android:layout_width="match_parent" 23android:layout_height="wrap_content" 24android:text="拨打" 25android:id="@+id/bt"// 如果要在java代码中操作某个组件,则组件需要设置id,这样才能在代码中通过id拿到这个组件 26/> 27 28 < /LinearLayout>
【Android开发学习——打电话应用】2.src里写源代码
1 public class MainActivity extends Activity { 2 3@Override 4protected void onCreate(Bundle savedInstanceState) {//App创建时调用由操作系统调用此方法 5super.onCreate(savedInstanceState); 6setContentView(R.layout.activity_main); 7//给按钮设置点击监听 8//拿到按钮对象 9Button bt = (Button) findViewById(R.id.bt); 10//设置监听 11bt.setOnClickListener(new Myclick()); 12} 13 14class Myclick implements OnClickListener{ 15@Override 16public void onClick(View arg0) { 17// TODO Auto-generated method stub 18System.out.print("按钮被点击了"); 19EditText et = (EditText) findViewById(R.id.et); 20String phone =et.getText().toString(); 21//在一个应用中启动另一个应用,在拨号器应用里启动打电话应用
//Android系统中基于动作机制,来调用系统的应用,你告诉系统你想做什么动作,系统就会把能做这个动作的应用给你,如果没有这个应用,会抛异常
//设置动作,通过意图告知系统
22Intent intent =new Intent(); 23intent.setAction(Intent.ACTION_CALL); //设置动作,打电话 24intent.setData(Uri.parse("tel:"+phone)); 25startActivity(intent); //把意图告诉系统 26} 27 28} 29 30 31 }
3.添加权限,在清单文件里,底下的permission-add-UsesPermission-右侧的name进行选择相应的权限,在代码中会自动生成,如下:
< uses-permission android:name="android.permission.CALL_PHONE"/>
RunAs--AndroidApplication,运行结果如下:
文章图片
文章图片
补充一点:
事件监听这个是常见的
点击事件的四种写法
第一种
* 定义一个MyListener实现onClickListener接口
Button bt1 = (Button) findViewById(R.id.bt1);
bt1.setOnClickListener(new MyListener());
第二种
* 定义一个匿名内部类实现onClickListener接口
Button bt2 = (Button) findViewById(R.id.bt2);
bt2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
System.out.println("第二种");
}
});
第三种
* 让当前activity实现onClickListener接口
Button bt3 = (Button) findViewById(R.id.bt3);
bt3.setOnClickListener(this);
第四种
* 给Button节点设置onClick属性,
android:onClick="click"
* 然后在activity中定义跟该属性值同名的方法
public void click(View v){
System.out.println("第四种");
}
推荐阅读
- 学习笔记Android给数字添加背景
- 初识 Android
- Android开发学习——应用安装过程
- Android 微信小视频录制功能实现
- Selenium的组件详细介绍和指南
- C++ STL如何使用fill函数(代码示例)
- PHP如何使用getprotobynumber()函数(示例)
- Materialize CSS如何实现页面排版布局()
- 算法题(如何计算排列系数(代码实现))