1.需求分析
本文的实现目标是实现一个短信发送器,接收用户输入的手机号码和内容,然后发送给其他用户。
2.系统设计
2.1界面设计:
如上图所示,本文由2个TextView、2个EditText和1个Button组成。
其中EditText用户接收用户的输入,Button用户提交用户的数据,TextView用户提示用户输入数据的类型。
2.2功能设计:
程序的功能为接收用户的数据,调用系统的短信接口,发送数据。
3.编码实现
3.1string.xml的代码:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">SMSSend</string>
<string name="hello_world">Hello world!</string>
<string name="inputnum">请输入手机号码:</string>
<string name="inputcontent">请输入短信内容:</string>
<string name="submit">提交</string>
</resources>
3.2主界面:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="${relativePackage}.${activityClass}" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/inputnum" />
<EditText
android:id="@+id/num"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/textView1"
android:hint="@string/inputnum"
android:lines="1" >
</EditText>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/num"
android:text="@string/inputcontent" />
<EditText
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/textView2"
android:hint="@string/inputcontent"
android:lines="1" >
</EditText>
<Button
android:id="@+id/submit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/content"
android:text="@string/submit" >
</Button>
</RelativeLayout>
3.3添加权限:
<uses-permission android:name="android.permission.SEND_SMS"/>
3.4MainActivity.java代码:
package pub.tobest;
import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends Activity {
EditText numEditText;
EditText contentEditText;
Button submitButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
intiView();
initListener();
}
private void initListener() {
// TODO Auto-generated method stub
submitButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
SmsManager mSmsManager=SmsManager.getDefault();
ArrayList<String> list=mSmsManager.divideMessage(contentEditText.getText().toString());
for(String str:list){
mSmsManager.sendTextMessage(numEditText.getText().toString(), null, str, null, null);
}
}
});
}
private void intiView() {
// TODO Auto-generated method stub
numEditText=(EditText)findViewById(R.id.num);
contentEditText=(EditText) findViewById(R.id.content);
submitButton=(Button) findViewById(R.id.submit);
}
}