开发环境:

   Win XP + eclipse-jee-helios(版本号3.6) + ADT(版本10.0.1) + Android SDK(版本10);

模拟器及真机测试环境:Android2.2


软件的界面如下:

Android项目学习笔记之×××_Android

                                       图1

   1.应用的布局的实现

在sms->res->values中string.xml中声明需要的字符串,实现的代码如下:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, MainActivity!</string>
<string name="app_name">×××</string>
<string name="number">请输入手机号码</string>
<string name="content">请输入短信内容</string>
<string name="button">发送短信</string>
</resources>

  2.在sms->res->layout中的main.xml中实现图1的布局(垂直线性布局),实现的代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/number"
/>

<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/number"
/>

<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/content"
/>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:minLines="3"
android:id="@+id/content"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button"
android:id="@+id/button"
/>
</LinearLayout>

   3.处理按钮的点击事件,根具控件的id找到两个文本输入框和发送按钮,监听按钮的点击事件,发送信息按钮的功能的实现。

  • 在MainActivity类中声明全局变量
private EditText numberEditText;
private EditText contentEditText;
  • 在onCreate()方法中添加如下代码:
numberEditText = (EditText)this.findViewById(R.id.number);
contentEditText = (EditText)this.findViewById(R.id.content);
Button button = (Button)this.findViewById(R.id.button);

button.setOnClickListener(new ButtonClickListener());

在​​ButtonClickListener​​()方法中添加如下代码:

private final class ButtonClickListener implements View.OnClickListener{
@SuppressWarnings("deprecation")
@Override
public void onClick(View v) {
String number = numberEditText.getText().toString();
String content = contentEditText.getText().toString();
SmsManager manager = SmsManager.getDefault();
ArrayList<String> texts = manager.divideMessage(content);
for(String text:texts){
manager.sendTextMessage(
number, null, text, null, null);
}
Toast.makeText(
getApplication(),//context上下文对象
R.string.success,
Toast.LENGTH_LONG).show();
}
}
注意:构建Toast对象之后,必须通过show()方法来显示

4.在AndroidManifest.xml中出示发送短信的权限。

<uses-permission android:name="android.permission.SEND_SMS"/>

程序运行的结果如下:​

注意:在模拟器上发送中文时,会出现乱码的问题,但是在实际的手机上是不会出现这种情况的。