02_android入门_实现短信/彩信发送的功能

一、短息发送实现要点:

1)必须要在AndroidManifest.xml中添加发送短信权限

2)查找控件:findViewById(R.id.控件id);

3)监听按钮事件:控件.setOnClickListener(this),实现OnClickListener接口

4)获取editText里的值:getText();


二、发送短信思路:

1) 获取短信号码及内容

2) 判断短信号码及内容是否为空

3) 获取短息的管理器对象

3) 如果你的字符数大于了70自动拆分处理

4) 发送短信的处理


三、实现效果

02_android入门_实现短信/彩信发送的功能_第1张图片 


02_android入门_实现短信/彩信发送的功能_第2张图片


02_android入门_实现短信/彩信发送的功能_第3张图片         02_android入门_实现短信/彩信发送的功能_第4张图片       02_android入门_实现短信/彩信发送的功能_第5张图片


以上 有短信和彩信的效果图

下面具体看一下短信实现的代码:

1.布局文件中所需要的字符串资源string.xml



    lesson02
    Hello world!
    Settings
    请输入您要发送的手机号码
    请输入您要发送的信息内容
    输入短息的信息
    发送短信
    您发送的短信号码或者短信内容不能为空

2.布局文件 activity_sms.xml


    
    
    
    
    
    
    
    
    
    
    
   
    
    

3.SmsActivity代码

package com.example.lesson02_sms;

import java.util.ArrayList;

import android.app.Activity;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.text.TextUtils;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class SmsActivity extends Activity implements OnClickListener{ 
	//声明控件
	private EditText et_phone;
	private EditText et_content;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		//设置显示的视图
		setContentView(R.layout.activity_sms);
		//获取控件对象
		et_phone = (EditText) findViewById(R.id.et_phone);
		et_content = (EditText) findViewById(R.id.et_sms_content);
		//获取按钮的控件对象
		Button send_btn = (Button) findViewById(R.id.send_btn);
		//注册监听事件
		send_btn.setOnClickListener(this);
	}

	/**
	 * 按钮点击事件处理的方法
	 */
	@Override
	public void onClick(View v) {
		//获取控件的id值
		 int id =  v.getId();
		 //根据id判断点击的控件
		 switch (id) {
			case R.id.send_btn:
				//获取短信号码
				 String phone =  et_phone.getText().toString();
				 //获取短信的内容
				 String content = et_content.getText().toString();
				 //判断短信号码和内容是否为空
				 if(TextUtils.isEmpty(phone)||TextUtils.isEmpty(content)){
					 //吐司效果
					 Toast.makeText(this,R.string.error_sms_content, Toast.LENGTH_SHORT).show();
				 }else{
					 //获取短息的管理器对象
					 SmsManager smsManager = SmsManager.getDefault();
					 
					 //如果你的字符数大于了70就开始拆了.
					 ArrayList smscontents =  smsManager.divideMessage(content);
					 
					 //遍历发送信息
					 for(int i=0;i

4.项目清单文件AndroidManifest.xml




    

    
    

    
        
            
                
                
            
        
     



对于发彩信的实现,主要是调用系统的意图来实现的,下面贴出activity中主要实现代码:希望同学们自己实现一下.

                               //获取外部存储文件目录
				File file = Environment.getExternalStorageDirectory();//目录要通过类的方法获取
				//创建意图
				Intent intent = new Intent(Intent.ACTION_SEND);
				//创建附带数据
				intent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://"+file.getPath()+"/DCIM/Camera/20140502_112359.jpg"));
				//发送的地址
				intent.putExtra("address", "13103120533");
				//发送主题
				intent.putExtra("subject", "it's subject");
				//发送内容
				intent.putExtra("sms_body", "it's content");
				//发送的类型
				intent.setType("image/jpeg"); 
				//执行意图
				SmsImgActivity.this.startActivity(intent);


以上代码仅供参考......

你可能感兴趣的:(android课程总结系列)