安卓基础案例 电话+短信
来源:互联网 发布:mysql source用法 编辑:程序博客网 时间:2024/04/28 21:00
前言:
由于复习渣渣面试题,导致本来渣渣的技术更加渣渣,
虽然更新解析博客,算不上原创,起码比不学强,
初学者,不论收到什么打击,应该记得居安思危!
随时应战。。。。。
重回CSDN,复习安卓基础部分
电话:
理论理解: 电话权限+意图+非空判断 三部分重点内容
TextUtils.isEmpty(String str); ————–ava提供的非空判断
inputType=”phone” ———————- xml中 限制输入框内容(同时输入法自动调整)
XML
<LinearLayout 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:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="文本控件"/> <!-- 限制输入类型为电话号码 (数值)--> <EditText android:id="@+id/edit1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:hint="请输入手机号码" android:inputType="phone"/> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="拨打按钮" /></LinearLayout>
java代码
package com.example.app1;import org.w3c.dom.Text;import android.net.Uri;import android.os.Bundle;import android.app.Activity;import android.content.Intent;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 MainActivity extends Activity implements OnClickListener { public Button button1; // 按钮 public EditText edit1; // 输入框 public String phone; // 全局常量 @Override protected void onCreate(Bundle savednstanceState) { super.onCreate(savednstanceState); setContentView(R.layout.activity_main); edit1 = (EditText) findViewById(R.id.edit1); // 得到 输入框控件 button1 = (Button) findViewById(R.id.button1); // 得到 点击按钮控件 button1.setOnClickListener(this); // 设置 按钮点击事件 } @Override public void onClick(View v) { switch (v.getId()) { case R.id.button1: phone = edit1.getText().toString(); // 得到输入框数据 // 【非空判断】 if (TextUtils.isEmpty(phone)) { Toast.makeText(MainActivity.this, "输入内容为空", 1).show(); } Intent intent = new Intent(Intent.ACTION_CALL); // 设置电话意图 intent.setData(Uri.parse("tel:" + phone)); // 传入电话号码 startActivity(intent); // 启动意图 break; } }}
权限
<!-- 电话权限 --> <uses-permission android:name="android.permission.CALL_PHONE"/>
短信:
短信可能要考虑一个元素,短信字符限制,
通常:中文70,英文170
所以要对短信内容进行拆分,
拆分功能对部分手机可能出bug,
测试环境: 魅蓝note2 运行安卓5.0,拆分出错,发送超70字竟然也可以,
测试环境: 小米4 运行安卓4.4.2, 分割成功,
究竟系统还是版本原因暂时未知
看代码:
package com.example.app2;import java.util.ArrayList;import android.os.Bundle;import android.app.Activity;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 MainActivity extends Activity implements OnClickListener { private EditText edit1,edit2; //电话输入框,内容输入框 private Button button1; //点击按钮 private String name1,name2; //电话号码,短信内容 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); edit1=(EditText) findViewById(R.id.edit1); //得到 电话输入控件 edit2=(EditText) findViewById(R.id.edit2); //得到 短信输入控件 button1=(Button) findViewById(R.id.button1); //得到 点击按钮控件 button1.setOnClickListener(this); //设置点按钮击事件 } public void onClick(View v) { switch (v.getId()) { case R.id.button1: name1=edit1.getText().toString(); //得到 电话号码文本 name2=edit2.getText().toString(); //得到 短信内容文本 if(TextUtils.isEmpty(name1)||TextUtils.isEmpty(name2)){ //【号码和内容的非空判断】 Toast.makeText(MainActivity.this, "输入信息不能为空", 1).show(); return; }else{ SmsManager manager=SmsManager.getDefault(); //短信管理器 ArrayList<String> name22= manager.divideMessage(name2); //短信内容划分为数组 for(String str : name22){ //【高级for循环遍历数组】 manager.sendTextMessage(name1, null,str , null, null); //发送短信 //参数,1.电话号码,2自定义电话号码,3短信内容,4发送状态,5接受状态 // 由于中国运营商不允许改变发送号码,2.为null,后者4,5以后可以自己研究 } } break; } } }
分析: 短信拆分数组,高级for循环遍历数组发送
权限
<!-- 短信发送权限 --> <uses-permission android:name="android.permission.SEND_SMS"/>
总结:
电话+短信
很常见,难度不大,注意小细节部分
比如: 类型限制 非空判断 短信长度超范围 等等
养成一个良好的代码习惯
黑马15,
2016 1月31号凌晨1:51
0 0
- 安卓基础案例 电话+短信
- 安卓入门——拨打电话和发送短信案例
- 安卓中的电话和短信
- 安卓-拨打电话的小案例
- 安卓简单发送短信案例-qq盗号案例
- 安卓目录结构及短信电话例子
- Android安卓电话拦截及短信过滤
- 安卓-拨打电话&基础整理
- 安卓基础开发-短信发送器
- 安卓拨打电话
- 电话 短信
- 安卓监控短信
- 安卓--短信发送
- 安卓-短信助手
- 个人学习安卓基础的案例逻辑-数据存储
- 前端html自动拨打电话,发送短信,将号码存到通讯录,安卓错误net::err unknown url scheme
- 安卓电话拨号器
- 安卓电话拨号器
- cocos2d-x Button的监听使用
- 【NYOJ】[198]数数
- 欢迎使用CSDN-markdown编辑器
- 用Protocol来分离的View和Model
- mongodb 交互式操作和script文件脚本的区别。
- 安卓基础案例 电话+短信
- 【NYOJ】[199]无线网络覆盖
- Android-->Dialog/DialogFragment宽度高度修改/全屏,自定义样式
- composer 详解
- iOS-函数式编程 && 响应式编程概念
- CRT连接Linux
- Codeforces 618C Constellation(简单几何题—叉积)
- Eclipse使用Hibernate逆向生成实体类
- python中paramiko模块的分析