Android初学项目——短信发送器

小项目就要趁胜追击,这次是实现短信的发送功能,东西很简单,但那时也是值得学习的。

效果图如下:

具体步骤:

  1.首先,编写页面,代码如下,没有什么重点。在LinearLayout布局中有个weight(权重),按比例分配大小

 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     tools:context=".MainActivity" >
 6     <LinearLayout
 7         android:id="@+id/linear_layout"
 8         android:layout_width="match_parent"
 9         android:layout_height="wrap_content"
10         android:orientation="horizontal"
11         android:paddingTop="5dip"
12         >
13         <EditText
14         android:id="@+id/edit_number"
15         android:layout_width="0dip"
16         android:layout_height="wrap_content"
17         android:layout_weight="1"
18         android:hint="@string/contact_number"
19         android:inputType="phone"/>
20     <Button
21         android:id="@+id/btn_send"
22         android:layout_width="wrap_content"
23         android:layout_height="wrap_content"
24         android:text="@string/btn_send_sms"/>
25     </LinearLayout>
26
27
28     <EditText
29         android:id="@+id/edit_content"
30         android:layout_width="match_parent"
31         android:layout_height="wrap_content"
32         android:lines="5"
33         android:layout_below="@id/linear_layout"
34         android:hint="@string/sms_content"/>
35 </RelativeLayout>

  2.再看看java代码

 1 public class MainActivity extends Activity implements OnClickListener{
 2
 3     private EditText editContent;
 4     private EditText editNumber;
 5
 6     @Override
 7     protected void onCreate(Bundle savedInstanceState) {
 8         super.onCreate(savedInstanceState);
 9         setContentView(R.layout.activity_main);
10         editContent = (EditText) findViewById(R.id.edit_content);
11         editNumber = (EditText) findViewById(R.id.edit_number);
12
13         findViewById(R.id.btn_send).setOnClickListener(this);
14     }
15
16     @Override
17     public void onClick(View view) {
18         switch (view.getId()) {
19         case R.id.btn_send:
20             //短信管理器
21             SmsManager manager=SmsManager.getDefault();
22             String number=editNumber.getText().toString();
23             String content=editContent.getText().toString();
24
25             manager.sendTextMessage(number, null, content, null, null);
26             break;
27
28         default:
29             break;
30         }
31     }
32 }

  短信这边没有像拨号器那样调用系统自带的,直接调用SmsManager短信管理器来发送短信,其中sendTextMessage(String destinationAddress, String scAddress, String text, PendingIntent sentIntent, PendingIntent deliveryIntent)方法的四个参数,第一个参数是一个字符串类型,直接翻译就是目标地址,其实就是收信人的手机号码,第二个参数也是一个字符串类型,是短信服务中心,一般为null,就是用当前默认的短信服务中心(没去了解)。第三个参数也是短信的内容了,第四个参数是一个PendingIntent,当消息发出时,成功或者失败的信息报告通过PendingIntent来广播,暂时就为null。第四个参数也是个PendingIntent,当消息发送到收件人时,该PendingIntent会被广播,暂时也为null。
  3.最后就是给应用发送短信的权限,在清单文件中添加如下代码

<uses-permission android:name="android.permission.SEND_SMS"/>

完了,可以试试看,无论在真机还是模拟器上,代码不复杂,这也是学到点东西的,功能还可以更好的完善,那是以后学习中在添加了。
也请大家多多指教!!!!

时间: 2024-10-15 22:31:44

Android初学项目——短信发送器的相关文章

Android实现简单短信发送器

布局: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container" android:layout_width="match_parent" android:layout_height=

Android学习4&mdash;短信发送器的实现

界面预览: 由图中可以看出,此APP需要的组件有:两个TextView,一个用于显示手机号码的标题,另一个用于显示短信内容的标题.                                                 两个EditText,一个用于存放手机号码,另一个用于存放即将的发送短信的内容.                                                 一个Button,用于确认发送信息.   故在main_activity.xml中的代码如下:

Android实现电话拨号器和短信发送器

电话拨号器和短信发送器是Android初学者很好的练习项目,今天就找了两个写得很不错的例子学习下 电话拨号器 实现原理:用户输入电话号码,当点击拨打的时候,由监听对象捕获,监听对象通过文本控件获取到用户输入的电话号码,由于系统已经实现了电话拨号功能,所以我们只需要调用这个功能就可以了. 步骤: 1.界面布局 2.编写Activity 3.使用意图过滤器激活电话拨号功能 4.添加电话服务权限(用手机的电话服务,要在清单文件AndroidManifest.xml中添加电话服务权限) 如图所示这三个控

初识安卓小程序(Android短信发送器)

首先,先创建一个安卓项目(我的版本是4.4.2的),名字为"短信发送器" 然后在res文件夹下找到layout文件夹,找到activity_main.xml或fragment_main.xml,在里面输入或拖拽按钮 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tool

Android开发系列(二):短信发送器的实现

我们要实现的目标是:做一个短信发送器 界面: 因为要涉及到短信发送这种属于隐私的问题,所以我们要在AndroidManifest.xml中添加一行代码,来获得权限: <uses-permission android:name="android.permission.SEND_SMS"/> 然后,我们就要配置main.xml: <?xml version="1.0" encoding="utf-8"?> <Linear

无废话Android之常见adb指令、电话拨号器、点击事件的4种写法、短信发送器、Android 中各种布局(1)

1.Android是什么 手机设备的软件栈,包括一个完整的操作系统.中间件.关键的应用程序,底层是linux内核,安全管理.内存管理.进程管理.电源管理.硬件驱动 2.Dalvik VM 和 JVM 的比较 3.常见adb指令 platform-tools/adb.exe adb.exe : android debug bridge android调试桥 adb devices:列出所以连接的设备 adb kill-server :杀死adb调试桥 adb start-server :启动adb

【黑马Android】(05)短信/查询和添加/内容观察者使用/子线程网络图片查看器和Handler消息处理器/html查看器/使用HttpURLConnection采用Post方式请求数据/开源项目

备份短信和添加短信 操作系统短信的uri: content://sms/ <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.itheima28.backupsms" android:versionCode="1

Android学习笔记(2)——短信发送器

搬运自本人博客:http://www.xgezhang.com/android_sms.html 上一篇文章中我们学着写了一个电话拨号器,这里我们继续来写一个短信发送器. 同样的按一般app开发的步骤,首先先确定下UI界面,大致效果应该是这样: 那么界面要怎么完成了?这种布局可以采用线性布局来做,比较方便.这里还是采用的相对布局,先上xml文件: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 2

Android短信发送器

Xml代码: <?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout android:id="@+id/widget0" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.an