andriod短信发送器

1

  看了黑马视频,根据电话拨号器和一个仿照QQ的恶意程序的讲解视频,自己动手做了短信发送器的练习,弄了一天终于完成,挺高兴的,纪念一下,

   学了几年计算机,真心认真写几行代码,真的太少了。

   上图为证:

    


 

2  其中遇到不少问题

   1 编辑器在创建新的andriod项目的时候,会自带一个Fragmet_main.xml,后来搜了资料说是新版的开发环境新建andriod项目都这样,解决不了问题,

     我就找了个旧的编辑器,详细见上篇博客。

   2 忘记设置发送短信权限

   3 指针错误

     -----  java.lang.NullPointerException  

                  一按发送按钮就停机,经查发现在按了发送按钮后,在发短信的方法,把字符串变量加了引号, "number",同理 “text”,去掉引号即可。

     ----  虚拟机里英文键盘不显示

                  在avd设置里弄了半天,一百度发现原来上面写的有英文说明,支持设备的物理,也就是电脑键盘可以直接输入 - -!

               

 ------ 在虚拟设备里无法安装apk,提示adb问题

         估计是路径问题,我更改了环境变量,把andriod环境变量中I:\adt-bundle-windows-x86-20130717\sdk\platform-tools 加入,即可。


 

3代码

  MainActivity.java

 1 package com.stones.smssend;
 2 
 3 import android.os.Bundle;
 4 import android.app.Activity;
 5 import android.content.DialogInterface.OnClickListener;
 6 import android.support.v4.widget.SimpleCursorAdapter.ViewBinder;
 7 import android.telephony.SmsManager;
 8 import android.view.Menu;
 9 import android.view.View;
10 import android.widget.Button;
11 import android.widget.EditText;
12 
13 public class MainActivity extends Activity  implements View.OnClickListener{
14     private EditText number;
15     private EditText sms_text;
16 
17     @Override
18     protected void onCreate(Bundle savedInstanceState) {
19         super.onCreate(savedInstanceState);
20         setContentView(R.layout.activity_main);
21         //获取号码和文本
22         number=(EditText)MainActivity.this.findViewById(R.id.et_number);
23         sms_text=(EditText)MainActivity.this.findViewById(R.id.sms_text);
24         //获取按钮
25         Button smssend=(Button)MainActivity.this.findViewById(R.id.sms_send);  
26         smssend.setOnClickListener(this); 
27     }
28     
29     //发送短信方法
30     public void smsSend(){
31         String smsnumber=number.getText().toString().trim(); 
32         String test=sms_text.getText().toString(); 
33         SmsManager smsManager=SmsManager.getDefault();
34         smsManager.sendTextMessage(
35                 smsnumber, 
36                 null, 
37                 test, 
38                 null, 
39                 null);       
40      }
41     
42     @Override
43     public void onClick(View V)
44     {
45         switch (V.getId())
46         {
47         case R.id.sms_send:
48             smsSend();
49             break;
50 
51         default:
52             break;
53         }
54         
55     }
56    
57     @Override
58     public boolean onCreateOptionsMenu(Menu menu) {
59         // Inflate the menu; this adds items to the action bar if it is present.
60         getMenuInflater().inflate(R.menu.main, menu);
61         return true;
62     }
63     
64 }

  activity_main.xml

 

 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:paddingBottom="@dimen/activity_vertical_margin"
 6     android:paddingLeft="@dimen/activity_horizontal_margin"
 7     android:paddingRight="@dimen/activity_horizontal_margin"
 8     android:paddingTop="@dimen/activity_vertical_margin"
 9     tools:context=".MainActivity" >
10     
11     <TextView
12         android:id="@+id/textView1"
13         android:layout_width="wrap_content"
14         android:layout_height="wrap_content"
15         android:layout_alignParentLeft="true"
16         android:layout_alignParentTop="true"
17         android:text="请输入手机号码" />
18 
19     <EditText
20         android:id="@+id/et_number"
21         android:layout_width="wrap_content"
22         android:layout_height="wrap_content"
23         android:layout_alignLeft="@+id/textView1"
24         android:layout_below="@id/textView1"
25         android:layout_marginTop="18dp"
26         android:ems="10"
27         android:inputType="phone" >
28 
29         <requestFocus />
30     </EditText>
31 
32     <TextView
33         android:id="@+id/textView2"
34         android:layout_width="wrap_content"
35         android:layout_height="wrap_content"
36         android:layout_alignLeft="@+id/editText3"
37         android:layout_below="@id/et_number"
38         android:text="请输入短信内容" />
39 
40     <EditText
41         android:id="@+id/sms_text"
42         android:layout_width="wrap_content"
43         android:layout_height="wrap_content"
44         android:layout_below="@id/textView2"
45         android:layout_marginTop="28dp"
46         android:ems="10"
47         android:inputType="textMultiLine" />
48 
49     <Button
50         android:id="@+id/sms_send"
51         android:layout_width="wrap_content"
52         android:layout_height="wrap_content"
53         android:layout_alignLeft="@+id/editText3"
54         android:layout_below="@id/sms_text"
55         android:layout_marginTop="21dp"
56         android:text="发送" />
57 
58 </RelativeLayout>

在Andriodmanifest.xml中加入权限

 

1     <uses-sdk
2         android:minSdkVersion="8"
3         android:targetSdkVersion="18" />
4     <uses-permission android:name="android.permission.SEND_SMS"/>

 

posted on 2015-02-17 00:30  ++stone  阅读(162)  评论(0编辑  收藏  举报

导航