电话拨号器和短信发送器是Android初学者很好的练习项目,今天就找了两个写得很不错的例子学习下

电话拨号器

实现原理:用户输入电话号码,当点击拨打的时候,由监听对象捕获,监听对象通过文本控件获取到用户输入的电话号码,由于系统已经实现了电话拨号功能,所以我们只需要调用这个功能就可以了。

步骤:

1.界面布局

2.编写Activity

3.使用意图过滤器激活电话拨号功能

4.添加电话服务权限(用手机的电话服务,要在清单文件AndroidManifest.xml中添加电话服务权限)

如图所示这三个控件是垂直摆放的,所以要使用线性布局来搁置显示控件

效果图:

界面布局:

 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3     android:orientation="vertical" 4     android:layout_width="fill_parent" 5     android:layout_height="fill_parent" 6     > 7     <!--提示信息--> 8     <TextView   9     android:layout_width="fill_parent" 10     android:layout_height="wrap_content" 11     android:text="@string/Mobile"12     />13      <!--文本框按钮-->14     <EditText15     android:layout_width="fill_parent" 16     android:layout_height="wrap_content"17     android:id="@+id/moblie"18     />19     <!--拨号按钮 -->20     <Button21     android:layout_width="wrap_content" 22     android:layout_height="wrap_content"23     android:text="@string/button"24     android:id="@+id/button"25     />26 </LinearLayout>

Activity:

 1 package cn.test.phone; 2  3 import android.app.Activity; 4 import android.content.Intent; 5 import android.net.Uri; 6 import android.os.Bundle; 7 import android.view.View; 8 import android.widget.Button; 9 import android.widget.EditText;10 11 public class MainActivity extends Activity {12     @Override13     public void onCreate(Bundle savedInstanceState) {14         super.onCreate(savedInstanceState);15         setContentView(R.layout.main);16         //根据控件的id查找到按钮控件17         Button button =(Button)this.findViewById(R.id.button);18         button.setOnClickListener(new ButtonClickLister());   //点击事件的处理对象19     }20     //监听对象实现拨打功能21     private class ButtonClickLister implements View.OnClickListener{22         public void onClick(View v){23             EditText mobileText=(EditText)findViewById(R.id.moblie);24             String moblie=mobileText.getText().toString(); //获取到用户输入的时间25             Intent intent =new Intent();26             intent.setAction("android.intent.action.CALL");27             intent.setData(Uri.parse("tel:"+moblie));28             //根据意图过滤器参数激活电话拨号功能29             startActivity(intent);30         }31     }32 }

添加电话服务权限:

 1 <?xml version="1.0" encoding="utf-8"?> 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 3       package="cn.itcast.action" 4       android:versionCode="1" 5       android:versionName="1.0"> 6       略.... 7     <uses-sdk android:minSdkVersion=“6" /> 8     <!-- 电话服务权限 --> 9     <uses-permission android:name="android.permission.CALL_PHONE"/>10 </manifest>

短信发送器

短信发送器和电话拨号器步骤差不多,需要注意的是当获取到短信内容时,如果短信内容非常多需要对短信内容进行拆分,拆分后存到集合里,对短信内容多条发送

效果图:

界面布局:

 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3     android:orientation="vertical" 4     android:layout_width="fill_parent" 5     android:layout_height="fill_parent" 6     > 7     <!--显示控件--> 8     <TextView   9     android:layout_width="fill_parent" 10     android:layout_height="wrap_content" 11     android:text="@string/moblie"12     />13     <!--文本框按钮-->14     <EditText15     android:layout_width="fill_parent" 16     android:layout_height="wrap_content"17     android:id="@+id/moblie"18     />19     <TextView  20     android:layout_width="fill_parent" 21     android:layout_height="wrap_content" 22     android:text="@string/content"23     />24     <EditText25     android:layout_width="fill_parent" 26     android:layout_height="wrap_content"27     android:minLines="3"28     android:id="@+id/content"29     />30     <Button31     android:layout_width="wrap_content" 32     android:layout_height="wrap_content"33     android:text="@string/button"34     android:id="@+id/button"35     />36 </LinearLayout>

Activity:

 1 package cn.test.sms; 2 import java.util.ArrayList; 3  4 import android.app.Activity; 5 import android.os.Bundle; 6 import android.telephony.SmsManager; 7 import android.view.View; 8 import android.widget.Button; 9 import android.widget.EditText;10 import android.widget.Toast;11 12 public class MainActivity extends Activity {13     @Override14     public void onCreate(Bundle savedInstanceState) {15         super.onCreate(savedInstanceState);16         setContentView(R.layout.main);17         Button button =(Button)this.findViewById(R.id.button);18         button.setOnClickListener(new ButtonClickLister());   //点击事件的处理对象19     }20     //监听对象实现拨打功能21     private  class ButtonClickLister implements View.OnClickListener{22         public void onClick(View v){23             EditText moblieText=(EditText)findViewById(R.id.moblie);24             EditText contentText=(EditText)findViewById(R.id.content);25             String moble =moblieText.getText().toString();//获取电话号26             String content =contentText.getText().toString();//获取短信内容27             SmsManager smsManager=SmsManager.getDefault();//获得短信管理器28             ArrayList<String> texts=smsManager.divideMessage(content);//对短信内容进行拆分29             for(String text:texts){30                 smsManager.sendTextMessage(moble, null, text, null, null);     //短信发送31             }32                 //采用吐西方式提示用户发送成功33             Toast.makeText(getApplicationContext(), R.string.success, 1).show();34         }35     }36 }

添加短信服务权限:

 1 <?xml version="1.0" encoding="utf-8"?> 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 3       package="cn.itcast.action" 4       android:versionCode="1" 5       android:versionName="1.0"> 6       略.... 7     <uses-sdk android:minSdkVersion="8" /> 8     <!-- 短信服务权限 --> 9     <uses-permission android:name="android.permission.SEND_SMS" />10 </manifest>

原文转自:http://blog.csdn.net/furongkang/article/details/6802074

更多相关文章

  1. Android(安卓)Q(10.0)版本新特性和兼容性适配
  2. [Android]应用界面创建控件的两种方式
  3. 【Android(安卓)开发】:UI控件之 ImageView 实现图片旋转和缩放功
  4. Android集成讯飞语音、百度语音、阿里语音识别
  5. Android(安卓)6.0(权限申请)反射和注解实现权限封装
  6. Android(安卓)6.0运行时权限处理与封装(一)
  7. Android包管理机制
  8. Android(安卓)自定义View总结
  9. Android(安卓)API Guides---System Permissions

随机推荐

  1. Android简单版极光推送(赵智畏著)
  2. Android Ethernet以太网使用静态IP
  3. Android中Task、Activity、BackStack(栈)的
  4. CSDN日报190904:Android(安卓)10正式版发
  5. 对Android系统权限的认识(包含如何获得roo
  6. Android之使用SAX方式解析XML文件
  7. Android EditText example
  8. 转:获取android联系人信息
  9. Android的文件存储(写入和读取)
  10. Android 监听wifi广播的两种方式