SharedPreferenced的使用方法:SharedPreferences 是一个轻量级的存储类,主要是保存一些小的数据,一些状态信息

第一步:初始化
         * 获取SharedPreferenced对象

* 第一个参数是生成xml的文件名,第二个参数是存储的格式,SharedPreferences preferences = getSharedPreferences("OpenCount", Context.MODE_PRIVATE);

第二步:获取edit对象

//获取到edit对象,SharedPreferences.Editor edit = preferences.edit();

第三步:通过edit对象写入数据,第一个参数是属性名,第二个参数是所要传的值

通过editor对象写入数据,edit.putInt("count",1);

第四步:将数据保存到xml文件里,提交数据存入到xml文件中,edit.commit();

第五步:通过get方法读取所存的信息

int count = preferences.getInt("count", 0);
SharedPreferences这个方法可以将数据存入到本地文件,用来存储登录次数,和登录信息等各种信息

  SetFilters对输入框格式,字符数的控制:

(1) et_vcode.setFilters(new InputFilter[ ]);参数是一个InputFilter类型的数组

(2)如果直接添加限制字数的规则,直接newLengthFilter就可以了,例如限制输入最大不超过16位:et_vcode.setFilters(new InputFilter[ ]{new InputFilter.LengthFilter(16)});

(3)如果此时你还有另一个规则,例如只能输入a-z的小写字母,直接在InputFilter数组中添加  : et_vcode.setFilters(newInputFilter[{ codeInputFilter  ,  newInputFilter .  LengthFilter(16)});

(4) codeInputFilter继承InputFilter,规则自己定义,重写里面的public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {}

  filter参数介绍:

  source   :变化的字符串

  start    :变化字符的首字符下标

  end      :变化字符的尾字符下

  dest     :带光标的字符串

  dstart   :光标的起始位置

  dend     :光标的结束位置

  filter方法返回的是一个CharSequence,用来控制可编辑控件添加字符时的约束条件。

主要分为三种情况:返回null,表示可正常添加source字符串;返回"",表示不变动原字符;返回以上之外的字符串,表示将返回的该字符串追加到远字符串中。

edit_register.setFilters(new InputFilter[] //设置输入格式
{
new InputFilter()
{
@Override
public CharSequence filter(CharSequence source, int start, int end,Spanned dest, int dstart, int dend)
{
for (int i = start; i < end; i++)
{
if (!Character.isLetterOrDigit(source.charAt(i)) &&
!Character.toString(source.charAt(i)).equals("_"))
{
Toast.makeText(Register_Activity.this, "只能使用'_'、字母、数字、汉字注册!", Toast.LENGTH_SHORT).show();
return "";
}
}
return null;
}
}
})

方法:onEditorAction(TextView textView,int actionId,KeyEvent keyEvent)的用法:
* 第一个参数:TextView textView 表示当前触发事件的EditText的对象,类似于textView=findViewById(R.id.edit_account)
* 第二个参数:int actionId 表示 按下“完成按钮”,这里和xml文件中EditText属性imeOptions对应
      actionId的取值:
imeOptions=”actionUnspecified” –> EditorInfo.IME_ACTION_UNSPECIFIED
imeOptions=”actionNone” –> EditorInfo.IME_ACTION_NONE
imeOptions=”actionGo” –> EditorInfo.IME_ACTION_GO
imeOptions=”actionSearch” –> EditorInfo.IME_ACTION_SEARCH
imeOptions=”actionSend” –> EditorInfo.IME_ACTION_SEND
imeOptions=”actionNext” –> EditorInfo.IME_ACTION_NEXT
imeOptions=”actionDone” –> EditorInfo.IME_ACTION_DONE (如果编辑信息输入完成 )

* 但要注意actionId是指软盘上的,而键盘上的actionId与软盘上的不一样;即在软盘上“完成按钮”的actionId为0,
* 而键盘上的“完成按钮(回车键)”的actionId为6
* 第三个参数:KeyEvent keyEvent 表示 按下“完成按钮”,这里和xml文件中EditText属性imeOptions对应,但keyEvent里面的内容更丰富,内容如下:
* keyEvent.toString()=KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_ENTER,
* scanCode=28, metaState=0, flags=0x8, repeatCount=0, eventTime=5664212, downTime=5664212, deviceId=1, source=0x301 }
* 返回值:返回true,保留软键盘;false,隐藏软键盘
InputMethodManager imm =(InputMethodManager) getSystemService(Login_Activity.this.INPUT_METHOD_SERVICE);   //调用系统服务(包括显示键盘,隐藏键盘)
imm.hideSoftInputFromWindow(edit_password.getWindowToken(), 0); //隐藏键盘

Android学习笔记5的更多相关文章

  1. Android 学习笔记之Volley(七)实现Json数据加载和解析...

    学习内容: 1.使用Volley实现异步加载Json数据...   Volley的第二大请求就是通过发送请求异步实现Json数据信息的加载,加载Json数据有两种方式,一种是通过获取Json对象,然后 ...

  2. Android学习笔记进阶之在图片上涂鸦(能清屏)

    Android学习笔记进阶之在图片上涂鸦(能清屏) 2013-11-19 10:52 117人阅读 评论(0) 收藏 举报 HandWritingActivity.java package xiaos ...

  3. android学习笔记36——使用原始XML文件

    XML文件 android中使用XML文件,需要开发者手动创建res/xml文件夹. 实例如下: book.xml==> <?xml version="1.0" enc ...

  4. Android学习笔记之JSON数据解析

    转载:Android学习笔记44:JSON数据解析 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种 ...

  5. udacity android 学习笔记: lesson 4 part b

    udacity android 学习笔记: lesson 4 part b 作者:干货店打杂的 /titer1 /Archimedes 出处:https://code.csdn.net/titer1 ...

  6. Android学习笔记36:使用SQLite方式存储数据

    在Android中一共提供了5种数据存储方式,分别为: (1)Files:通过FileInputStream和FileOutputStream对文件进行操作.具体使用方法可以参阅博文<Andro ...

  7. Android学习笔记之Activity详解

    1 理解Activity Activity就是一个包含应用程序界面的窗口,是Android四大组件之一.一个应用程序可以包含零个或多个Activity.一个Activity的生命周期是指从屏幕上显示那 ...

  8. Pro Android学习笔记 ActionBar(1):Home图标区

     Pro Android学习笔记(四八):ActionBar(1):Home图标区 2013年03月10日 ⁄ 综合 ⁄ 共 3256字 ⁄ 字号 小 中 大 ⁄ 评论关闭 ActionBar在A ...

  9. 【转】Pro Android学习笔记(九八):BroadcastReceiver(2):接收器触发通知

    文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.sina.com.cn/flowingflying或作者@恺风Wei-傻瓜与非傻瓜 广播接 ...

  10. 【转】 Pro Android学习笔记(九二):AsyncTask(1):AsyncTask类

    文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ 在Handler的学习系列中,学习了如何h ...

随机推荐

  1. Spring Boot程序插入时间和MySQL数据库显示时间不一样(设置数据库时区)

    首先查看数据库时区 show variables like "%time_zone%"; # 设置全局时区 mysql> set global time_zone = '+8 ...

  2. summernote富文本图片上传,增加视频上传功能、批量上传方法

    Summernote 是一个简单灵活的所见即所得的 HTML 在线编辑器,基于 jQuery 和 Bootstrap 构建,支持快捷键操作,提供大量可定制的选项. 但是却只有图片上传功能,没有视频上传 ...

  3. LocalDate转换成Date

    LocalDate nowLocalDate = LocalDate.now(); Date date = Date.from(nowLocalDate.atStartOfDay(ZoneOffset ...

  4. Hibernate使用distinct返回不重复的数据,使用group by 进行分组

    //distinct使用 public List<String> distinctDutyDate() { String hql="select distinct(dutyDat ...

  5. 【LeetCode】LCP 07. 传递信息

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 BFS 日期 题目地址:https://leetcod ...

  6. 【LeetCode】1046. Last Stone Weight 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 大根堆 日期 题目地址:https://leetco ...

  7. 【LeetCode】899. Orderly Queue 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址: https://leetcode.com/problems/orderly- ...

  8. 【LeetCode】215. Kth Largest Element in an Array 解题报告(Python & C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 方法一:移除最大值 方法二:排序 方法三:大顶堆 方 ...

  9. codevs 1300:文件排版(DP)

    题目描述 写电子邮件是有趣的,但不幸的是经常写不好看,主要是因为所有的行不一样长,你的上司想要发排版精美的电子邮件,你的任务是为他编写一个电子邮件排版程序. 完成这个任务最简单的办法是在太短的行中的单 ...

  10. hbase构建二级索引解决方案

    关注公众号:大数据技术派,回复"资料",领取1024G资料. 1 为什么需要二级索引 HBase的一级索引就是rowkey,我们仅仅能通过rowkey进行检索.假设我们相对Hbas ...