前言
2015下半年到2016年年初的工作笔记整理02辑。
android广播
dynamic broadcast sample:
PS:or in functions: onCreate & onDestroy
布局问题
1.textView中 drawableLeft居中的问题修改:
自定义控件让TextView的drawableLeft与文本一起居中显示
2.属性生效问题
layout_alignParentLeft及类似属性需要在父布局为RelativeLayout
3.除了自定义控件以外,还可以通过xml控制布局显示
android:background=”@drawable/mine_travel_write_but”
4.使用示例:
android:layout_above=”@+id/txt_travel_add” //组件相对于另一个组件的位置。
android:maxLength=”220” //EditView对字数的控制,不用代码中实现。
5.TextView的跑马灯效果
TextView设置以下属性来实现跑马灯效果:
说明:TextView的滚动问题
6.layout的引用格式
7.代码设置drawableRight
在代码中如果要修改drawableRight设置的图片可以使用API
8.自定义按钮的样式
在drawble文件目录下添加样式文件。
|
|
存储路径常识
获取Android设备的外存路径的接口为:
所以,给自己的程序建个目录可如下所写:
Android中正则的使用:
|
|
常用的正则匹配表达式
只能输入整数,正数负数零都可以:^[+-]?[0-9]+$"或\d*
整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$
只能输入数字:^[0-9]*$
只能输入n位的数字:^\d{n}$
只能输入至少n位的数字:^\d{n,}$
只能输入m~n位的数字:。^\d{m,n}$
只能输入零和非零开头的数字:^(0|[1-9][0-9]*)$
只能输入有两位小数的正实数:^[0-9]+(.[0-9]{2})?$
只能输入有1~3位小数的正实数:^[0-9]+(.[0-9]{1,3})?$
只能输入非零的正整数:^\+?[1-9][0-9]*$
只能输入非零的负整数:^\-[1-9][]0-9"*$
只能输入长度为3的字符:^.{3}$
只能输入由26个英文字母组成的字符串:^[A-Za-z]+$
只能输入由26个大写英文字母组成的字符串:^[A-Z]+$
只能输入由26个小写英文字母组成的字符串:^[a-z]+$
只能输入由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$
只能输入由数字、26个英文字母或者下划线组成的字符串:^\w+$
验证用户密码:^[a-zA-Z]\w{5,17}$
正确格式为:以字母开头,长度在6~18之间,只能包含字符、数字和下划线。
验证是否含有^%&’,;=?$”等字符:[^%&',;=?$\x22]+
只能输入汉字:^[\u4e00-\u9fa5]{0,}$
验证Email地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
验证InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
验证电话号码:^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$
正确格式为:”XXX-XXXXXXX”、”XXXX-XXXXXXXX”、”XXX-XXXXXXX”、”XXX-XXXXXXXX”、”XXXXXXX”和”XXXXXXXX”。
验证身份证号(15位或18位数字):^\d{15}|\d{18}$
验证一年的12个月:^(0?[1-9]|1[0-2])$
正确格式为:”01”~”09”和”1”~”12”。
验证一个月的31天:^((0?[1-9])|((1|2)[0-9])|30|31)$
正确格式为;”01”~”09”和”1”~”31”。
匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
viewPager的使用
①activity中addPagerView()
②写单个的viewpager。
view的background设定
①.设置背景图片,图片来源于drawable;
②.转换字符串为int(颜色);
Monkey测试
|
|
混淆的配置:
见博客中的android应用代码混淆一文。
android获得屏幕高度和宽度
android获取屏幕的高度和宽度用到WindowManager这个类,两种方法:
listView设置滑动到指定item
|
|
子线程启动
第一种:直接创建子线程并启动
第二种:先创建子线程,然后启动
支付问题
微信支付问题:
微信支付需要配置开放平台的参数,主要是两个参数,一个是包名,一个是MD5签名(可以通过第三方工具获得32位签名)。见官网说明。
特别需要注意的是,应用本身keystore变更后,签名会改变,这时需要同时修改开放平台的签名,签名的修改是即可完成的,但是生效要等24小时左右的时间。(亲测)
android gradle学习总结
见博客:
- AndroidStudio之Gradle详解(一)
- AndroidStudio常见问题解决方案
- AndroidStudio之Gradle Guide官方文档翻译
前言:
Gradle构建工具是任务驱动型的构建工具,可以通过各种Plugin插件扩展功能以适应各种构建任务。而Eclipse的ADT插件使用的是Ant构建工具。
Gradle是一个优秀的构建系统和构建工具,它允许通过插件创建自定义的构建逻辑。
采用了Domain Specific Language(DSL语言)来描述和控制构建逻辑。
构建文件基于Groovy,并且允许通过混合声明DSL元素和使用代码来控制DSL元素以控制自定义的构建逻辑。
支持Maven或者Ivy的依赖管理。
良好的API工具供IDE集成。
一个Gradle项目的构建过程定义在build.gradle文件中,位于项目的根目录下。
组成元素:
buildscrip{…}这里配置了驱动构建过程的代码。
andorid{…}配置了所有android构建过程需要的参数。这里也是Android DSL的入口点。
读取本地文件
|
|
转义特殊字符
 和 的区别:都是空格,但是 是html中的空格的转义,而 是XSL中的。XSL并不认识 他会原样输出。
注:XSL是可扩展样式表语言(EXtensible Stylesheet Language),是一种用于以可读格式呈现 XML(标准通用标记语言的子集)数据的语言。
参考Html与XSL字符转义