在上一篇文章中,我们实现了第一个程序:helloWorld,并成功测试完成。还给大家介绍了Android项目结构和说明。现在写一个手机拨号程序:

首先,我们新建一个项目:phoneActivity.java

在res/values/string.xml中写入两个字符串:

<string name="input_info">请输入你要拨打的号码</string>

<string name="dial_caption">拨打</string>

上述两条字符串一定要写在<resources>根目录中;

然后,我们需要在res/layout/main.xml文件中新建两个组件,一个是输入数字的文本框,一个是“拨号”的按钮,也就是button:

<textView

android:layout_width="file_parent"

android:layout_height="wrap_content"

android:text="@string/input_info"/>

/>

<EditText

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:id="@+id/phone_number"

/>

<Button

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/dial_caption"

android:id="@+id/dial_btn"

/>

这几行代码是写了两个组件,分别定义长宽和属性。

接着就是在我们的phoneActivity.java中写内容了

package con.class3g.activity;

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 phoneActivity extends Activity{

//定义两个变量组件

EditText numbetEt;

Button dialBtn;

public void onCreate(Bundle savedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

findViews();

dialBtn.setonClickListener(new onClickListener(){

public void onClick(View v){

//调用系统的拨号服务实现电话拨号功能

String phone_numbet = numberEt.getText().toString();

phone_numbet = phone_numbet.trim();

if(phone_numbet !=null & ! phone_numbet.equals("")){

//封装一个拨打电话的intent,并且将电话号码包装成一个uri对象传入

Intent intent = new Intent(Intent.ACTION_CALL,uri.parse("tel"_phone_numbet));

//这是最重要的一步,调用系统自带的拨号程序

phoneActivity.this.startActivity(intent);

}

}

});

}

public void findViews(){

//强制转换

numbetEt = (EditText) this.findViewById(R.id.phone_number);

dialBtn = (Button) this.findViewById(R.id.dial_btn);

}

}

写到这里,所有代码都已经写完了,这个简单的拨号程序就可以调试了,无论是模拟器调试还是真机调试都可以正常打电话了。

关键的步骤是调用系统拨号程序和权限的授权,其他就没什么了。

更多相关文章

  1. android 6.0权限
  2. Android(安卓)Permission完整版
  3. Android核心程序之SystemUI - (一)开篇
  4. android按back键退出程序时,实现“再按一次退出”的功能
  5. 利用FRIDA攻击Android应用程序(三)
  6. [置顶] Android驱动开发-底层驱动开发
  7. ArcGIS Android(安卓)10.1.1 API开发资源
  8. android中SQLite使用查看
  9. 第一个android 程序的学习心得

随机推荐

  1. Android中的Intent标准跳转应用
  2. Suggestion: add 'tools:replace="androi
  3. Android画图之Matrix(二)
  4. Android中Handler Runnable与Thread的区
  5. Android帧缓冲区(Frame Buffer)硬件抽象层(H
  6. Android的图片浏览源码解读
  7. Android(安卓)App开发基础篇—四大组件之
  8. 编写android对google地图的调用
  9. 《Android经验分享》周刊第7期
  10. android 选项卡(TabHost) 置底