首先,先创建一个安卓项目(我的版本号是4.4.2的),名字为"短信发送器"

然后在res目录下找到layout目录,找到activity_main.xml或fragment_main.xml,在里面输入或拖拽button

<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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.csdn.sms.MainActivity$PlaceholderFragment" > <TextView
android:id="@+id/pl_input_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:text="@string/please_input_number"
android:textAppearance="?android:attr/textAppearanceMedium" /> <EditText
android:id="@+id/input_number"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/pl_input_number"
android:layout_marginTop="22dp"
android:ems="10"
android:inputType="phone" /> <TextView
android:id="@+id/pl_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/input_number"
android:layout_below="@+id/input_number"
android:layout_marginTop="47dp"
android:text="@string/dx_content"
android:textAppearance="? android:attr/textAppearanceLarge" /> <EditText
android:id="@+id/content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/pl_content"
android:layout_below="@+id/pl_content"
android:layout_marginTop="22dp"
android:ems="10"
android:inputType="textMultiLine" > <requestFocus />
</EditText> <Button
android:id="@+id/dx_send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/content"
android:layout_below="@+id/content"
android:layout_marginTop="64dp"
android:text="@string/dx_send" /> </RelativeLayout>

最后在src下的java文件中MainActivity.java

package com.csdn.sms;

import java.util.ArrayList;

import android.app.Activity;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.text.TextUtils;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast; public class MainActivity extends Activity { private Button dx_send;
private EditText dx_content, dx_number; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_main); dx_content = (EditText) this.findViewById(R.id.content);
dx_number = (EditText) this.findViewById(R.id.input_number);
dx_send = (Button) this.findViewById(R.id.dx_send); //第一种方法:通过点击事件来完毕
dx_send.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) { switch (v.getId()) {
case R.id.dx_send: String content = dx_content.getText().toString().trim();
String number = dx_number.getText().toString().trim(); if (TextUtils.isEmpty(content) || TextUtils.isEmpty(number)) {
Toast.makeText(MainActivity.this, "电话号码不能为空",
Toast.LENGTH_SHORT).show();
return;
} else {
// 短信管理器
SmsManager smsManager = SmsManager.getDefault();
// 假设超过字数限制,则自己主动拆分短信
ArrayList<String> c = smsManager.divideMessage(content);
for (String str : c) {
smsManager.sendTextMessage(number, null, str, null,
null);
}
}
break; } }
});
}
//另外一种:通过让该类实现 OnClickListener接口来重写方法完毕,和上面点击方法的内容是一样的 @Override
public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu);
return true;
} }

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTI2Mzk2Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

初识安卓小程序(Android短信发送器)的更多相关文章

  1. 初识安卓小程序(Android电话拨号器)

    首先,先创建一个安卓项目(我的版本号是4.4.2的),名字为"电话拨号器",创建的时候点击"clipart",如图: 然后在res目录下找到layout目录,找 ...

  2. Android短信发送器(2)

    在上一篇的<Android短信发送器>当中.发送功能并不完好.当发送内容超过限定字数时,短信就会发送失败,此时就须要推断内容是否超过限制,假设不超过限制.就直接发送,反之.则对其进行处理再 ...

  3. Android短信发送器_08

    1.string xml代码 <?xml version="1.0" encoding="utf-8"?> <resources> &l ...

  4. 微信小程序发送短信验证码完整实例

    微信小程序注册完整实例,发送短信验证码,带60秒倒计时功能,无需服务器端.效果图: 代码: index.wxml <!--index.wxml--> <view class=&quo ...

  5. [android] 短信发送器

    /*****************2016年4月23日 更新********************************/ 知乎:什么是 7 位元的字符? 英文字符难道不是 8 bit 是一个字 ...

  6. android短信发送器源代码

    Activity类: import java.util.List;import android.app.Activity;import android.app.PendingIntent;import ...

  7. 微信小程序的短信接口

    使用聚合数据 (网址)  https://www.juhe.cn/docs? 注册部分略! 这是登录部分的. 一: 二.我的接口

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

    1.Android是什么 手机设备的软件栈,包括一个完整的操作系统.中间件.关键的应用程序,底层是linux内核,安全管理.内存管理.进程管理.电源管理.硬件驱动 2.Dalvik VM 和 JVM ...

  9. Android实战--短信发送器

    首先设计界面 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:t ...

随机推荐

  1. OpenResty api 网关

    1,Orange网关 Orange是一个基于OpenResty的API网关.除Nginx的基本功能外,它还可用于API监控.访问控制(鉴权.WAF).流量筛选.访问限速.AB测试.动态分流等.它有以下 ...

  2. Hmtl5 <input>中placeholder属性(新属性)

    Hmtl5 <input>中placeholder属性(新属性) 一.定义和用法 placeholder 属性提供可描述输入字段预期值的提示信息(hint). 该提示会在输入字段为空时显示 ...

  3. Ubuntu 16.04 (官方命令行)安装MongoDB 3.6.2(社区版)

    概述 使用本教程从 .deb 包在LTS Ubuntu Linux系统上安装MongoDB Community Edition. 虽然Ubuntu包含自己的MongoDB包,但官方的MongoDB社区 ...

  4. 学习Zookeeper之第3章Zookeeper内部原理

    第 3 章 Zookeeper 内部原理 3.1 选举机制 3.2 节点类型 3.3 stat 结构体 3.4 监听器原理   1)监听原理详解   2)常见的监听 3.5 写数据流程 第 3 章 Z ...

  5. uboot能ping通本机无法ping通本机上搭建的虚拟机

    注意 转载请注明出处:https://www.cnblogs.com/dakewei 一.背景 1.1 uboot不能被其它主机ping通,这是由于uboot没有对其它主机发送过来的arp包进行响应, ...

  6. POJ 1840 Eqs(乱搞)题解

    思路:这题好像以前有类似的讲过,我们把等式移一下,变成 -(a1*x1^3 + a2*x2^3)== a3*x3^3 + a4*x4^3 + a5*x5^3,那么我们只要先预处理求出左边的答案,然后再 ...

  7. sonar runner的配置

    #Configure here general information about the environment, such as SonarQube DB details for example ...

  8. 数据结构与算法(python版)教程

    算法的性质 算法的描述 算法的设计与分析

  9. Java回顾之多线程

    在这篇文章里,我们关注多线程.多线程是一个复杂的话题,包含了很多内容,这篇文章主要关注线程的基本属性.如何创建线程.线程的状态切换以及线程通信,我们把线程同步的话题留到下一篇文章中. 线程是操作系统运 ...

  10. 雷林鹏分享:Ruby CGI Cookies

    Ruby CGI Cookies HTTP协议是无状态协议.但对于一个商业网站,它需要保持不同的页面间的会话信息. 如用户在网站注册过程中需要跳转页面,但又要保证之前填写的信息部丢失. 这种情况下 C ...