短信助手

思路:

一、MainActivity中

  写一个OnCreate和OnDestroy方法

OnCreate方法:获取信息和联系人的文本对象,创建SharedPreferences的文件对象,并将文件里面的临时存的联系人和信息回显到EditText文本框中

OnDestroy方法:当销毁这个程序的进程时,将EditText中信息和联系人的内容存放在SharedPreferences中

发信息的点击事件:创建意图,由MainActivity跳转到SelectSmsContent类中,开启新的Acitivty并且获取返回值,注意要编码。

选择联系人的点击事件:跳转到SelectContact类中,并获取返回值。

重写onActivityResult方法:判断如果requestcode为发信息则先获取信息内容并设置到信息文本框中,如果为联系人的请求码时则获取联系人并设置到联系人文本框中

    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.EditText;

    public class MainActivity extends Activity {
        private EditText et_message;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            et_message = (EditText) findViewById(R.id.et_message);
        }

        public void selectSmsContent(View view) {
            Intent intent = new Intent(this, SmsListActivity.class);
            // startActivity(intent);
            // 开启新的Activity并且获取返回值
            startActivityForResult(intent, 1);
        }

        // 开启新的界面 选择联系人
        public void selectContact(View view) {
            Intent intent = new Intent(this, ContactListActivity.class);
            // startActivity(intent);
            // 开启新的Activity并且获取返回值
            startActivityForResult(intent, 2);
        }

        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            if (requestCode == 1) {
                System.out.println("我们开启的新的选择短信的界面被关闭了,结果数据返回到这里");
                if (data != null) {
                    String message = data.getStringExtra("message");
                    et_message.setText(message);
                }
            }else if(requestCode == 2) {
                System.out.println("我们开启的新的选择联系人界面被关闭了,结果数据返回到这里");
            }
            super.onActivityResult(requestCode, resultCode, data);
        }

    }

 

二、ContactListActivity中:

     定义一个存有联系人的字符串数组,重写onCreate方法,关系ListView控件,设置listview的适配器,传人一个数组适配器,适配器参数为item和联系人数组,设置listview的条目点击监听事件,获取指定位置的联系人,创建一个空意图,通过键值对的方式将信息的内容放入意图中,设置返回意图的结果并传人意图,关闭当前页面。

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class ContactListActivity extends Activity {
 private ListView lv_contact;
    private String[] objects = {
            "13512340000",
            "13512340001",
            "13512340002",
            "13512340003",
            "13512340004",
            "13512340005",
            "13512340006",
    };

 protected void onCreate(Bundle savedInstanceState) {
  // TODO Auto-generated method stub
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_contactlist);
  lv_contact = (ListView) findViewById(R.id.lv_contact);
  lv_contact.setAdapter(new ArrayAdapter<String>(this, R.layout.item, objects));
  lv_contact.setOnItemClickListener(new OnItemClickListener() {

   @Override
   public void onItemClick(AdapterView<?> parent, View view, int position,
     long id) {
    String phone = objects[position];
    Intent data = new Intent();
    data.putExtra("phone", phone);
    setResult(0, data);
    finish();
   }
  });
 }
}

 

三、SmsListActivity类中:

跟联系人类中的同样的思路

 import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.AdapterView.OnItemClickListener;
    import android.widget.ArrayAdapter;
    import android.widget.ListView;

    public class SmsListActivity extends Activity {
        private ListView lv;
        private String[] smsMessages={
                "春节的欢聚已分开,鞭炮声声已渐远。各自奔往工作地,踌躇满志加紧干。同事见面问新年,祝福的话语说不完。亲人的嘱托在耳畔,勤奋工作莫迟延。愿你年后心情好,事业更上一层楼!",
                "欢快的歌声尽情飘,温暖的春风暖心潮。万千的喜气多热闹,吉祥的日子要来到。发条短信问个好,财源广进吉星照。万事顺利开怀笑,羊年幸福乐逍遥。",
                "心情预报:今夜到明早想你,预计下午转为很想你,受此情绪影响,傍晚将转为暴想,此类天气将持续到见你为止。",
                "世界如此忙碌,用心的人就会幸福;想你的脸,心里就温暖;想你的嘴,笑容跟着灿烂!随着新年的到来,关心你的人要跟你说声:新年快乐!",
                "羊年到,身体很重要,应酬拒不掉,少喝酒多吃菜,表示心意就算了;祝愿老板身体好,越过越开心,财富滚滚来,生活越来越美好。",
                "新年到了,衷心祝福你。祝你年年圆满如意,月月事事顺心,日日喜悦无忧,时时高兴欢喜,刻刻充满朝气!",
                "勇攀高峰不怕险,开辟新径铸辉煌。勤奋创业走新道,学做银羊敢闯关。羊年要走阳关道,排除万难创业路。艰苦奋斗能胜天,幸福生活如意添。愿你羊年心想事业成!"
        };
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_smslist);
            lv = (ListView) findViewById(R.id.lv);
            lv.setAdapter(new ArrayAdapter<String>(this, R.layout.item, smsMessages));

            lv.setOnItemClickListener(new OnItemClickListener() {
                //当listview的条目被点击的时候调用的方法
                @Override
                public void onItemClick(AdapterView<?> parent, View view,
                        int position, long id) {
                    System.out.println("position:"+position);
                    String message = smsMessages[position];
                    //把当前界面的数据,返回给开启我的界面.
                    Intent data = new Intent();
                    data.putExtra("message", message);
                    setResult(0, data);
                    //把当前界面关闭
                    finish();
                }
            });
        }
    }

 

四、写布局文件

①activity_main界面布局

②activity_contactlist写ListView布局

③activity_smslist写ListView布局

④item布局

 

五、注意每次创建一个activity的时候必须中清单文件中注册

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值