目前android手机铺天盖地向我们袭来,国内android开发的爱好者与日俱增,之所以这么的人选择android开发,恐怕android所提供的强大的API是一个重要原因吧!今天笔者就拿一个打电话的例子来说。
基本创建项目的流程在此省略,项目名为:Android3G1_01手机间的通话功能实现,包名为:com.shanyan,android模拟器版本1.6。
1、第一步:布局文件设置代码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="电话拨号器" />
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/edt" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/bt"
android:text="拨打此号码"/>
</LinearLayout>
PS:优秀的工程师师不会把汉字直接写死在程序中的,要在res/strings.xml文件中体现出来。本文为了说明问题,就简单点实现,但效果不会受到影响!
es New Roman"'>是一个重要原因吧!今天笔者就拿一个打电话的例子来说。基本创建项目的流程在此省略,项目名为:Android3G1_01手机间的通话功能实现,包名为:com.shanyan,android模拟器版本1.6。
2、第二步:AndroidManifest添加代码如下:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.shanyan"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="4" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".Android3G1_01Activity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" >
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.CALL_PHONE"/>
</manifest>
注意:不要忘记该文件中的
<uses-permission android:name="android.permission.CALL_PHONE"/>设置!
3、AndroidAndroid3G1_01Activity文件的代码如下:
nyan,android模拟器版本1.6。1、第一步:布局文件设置代码如下:
package com.shanyan;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class Android3G1_01Activity extends Activity {
/** Called when the activity is first created. */
private Button bt=null;
private EditText tv=null;
//private String action="android.intent.action.CALL";
//private String type="tel";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
bt=(Button) findViewById(R.id.bt);
tv=(EditText) findViewById(R.id.edt);
bt.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
String mobileNum=tv.getText().toString();
Intent intent=new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+mobileNum));
startActivity(intent);
}
});
}
}
4、程序运行过程:
首先要开启两个虚拟机,如果你的机器只设置一个的话,可以在window->AVD Manager创建一个新的AVD,笔者的版本号是2.3.3。
接下来运行程序,先启动1.6版本模拟器,然后再启动2.3.3版本的,(2.3.3的启动可以通过window->AVD Manager,然后选中2.3.3版本条目,再点击右边的starts the slectedAVD按钮,即可启动),界面如下:
我们从两截图中的左上角就可以看到,5554是1.6版本AVD的电话号码,5556就是2.3.3版本AVD的电话号码,在1.6版本的AVD中输入相关信息,就可以实现电话拨号的功能,截图如下:
font-family:Consolas;mso-hansi-font-family:Consolas;color:black'>版本模拟器,然后再启动2.3.3版本的,(2.3.3的启动可以通过window->AVD Manager,然后选中2.3.3版本条目,再点击右边的starts the slectedAVD按钮,即可启动),界面如下:
如果2.3.3版本的AVD接通电话,即可实现通话功能,截图如下:
当然,模拟器是不能进行通话的,如果有android手机的同学,可以讲程序放到手机上运行,此时就可以输入真实的手机号码,语言通话功能就可以实现。(Believe it or not!)
S>AVD中输入相关信息,就可以实现电话拨号的功能,截图如下:font-family:Consolas;mso-hansi-font-family:Consolas;color:black'>版本模拟器,然后再启动2.3.3版本的,(2.3.3的启动可以通过window->AVD Manager,然后选中2.3.3版本条目,再点击右边的starts the slectedAVD按钮,即可启动),界面如下: