android从零开始(二)发送短信

短信发送器实现

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);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值