学习到的主要两点:
1.拨号是需要申请权限,在AndroidMifest.xml申请
2.button点击事件,建议分成独立的代码块,有助于优化性能,有利于阅读,匿名内部类的方式需要掌握,会造成代码冗长,不适阅读。
1.在activity_main.xml布局中添加EditView编辑框,和拨号的Button。
<pre name="code" class="java"><?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/mobile" />
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/inputMobile"
/>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/submit"
android:id="@+id/subimtBtn"
/>
</LinearLayout>
2.在mainActivity.class中是实现拨打电话的功能
package com.lmf.phone;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends Activity {
private Button submitBtn;
private EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//实例化控件
submitBtn = (Button)findViewById(R.id.subimtBtn);
submitBtn.setOnClickListener(new ButtonClickListener());
}
/**
* 这样的方式,避免代码的冗长,性能优化方法。加载匿名内部类,提高的它的加载速度。
*/
private final class ButtonClickListener implements View.OnClickListener{
public void onClick(View v) {
editText = (EditText) findViewById(R.id.inputMobile);
String number = editText.getText().toString();
Intent intent = new Intent();
intent.setAction("android.intent.action.CALL");
//intent.addCategory("android.intent.category.DEFAULT");
intent.setData(Uri.parse("tel:"+number));
//通过意图激活activity组件
//方法内部会自动为Intent添加类别,可省略(intent.addCategory("android.intent.category.DEFAULT"))
startActivity(intent);
}
}
}<span style="color:#3366ff;">
</span>
3.在根目录下添加如下代码
<span style="color:#3366ff;"> </span><uses-permission android:name="android.permission.CALL_PHONE"/>