Android 金融项目整理
本来是安安心心周末休假的时间,却被强征来加班。魔都今天雾霾严重,窗外都看不到360无死角都能看到的东方明珠。吃完午饭后睡一觉起来,觉得该给自己做点事情了。那就把项目里面的一些可圈可点的技术都罗列出来,顺便温习一下当初做的时候踩到的一些坑。
好了吐槽完毕,接下来就是代码和技术点了。
① 输入框里面限制输入的仅为数字以及限制仅只可以输入一位小数的数字。
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.EditText;
/**
* 输入框监听器 * @version $Id: TextWatcherUtil.java, v 1.0.0 2015-09-24 上午11:42:23 Exp $
*/
public class TextWacherUtil {
public static void setPoint(final EditText editText) {
editText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
if (s.toString().contains(".")) {
if (s.length() - 1 - s.toString().indexOf(".") > 1) {
s = s.toString().subSequence(0, s.toString().indexOf(".")-1);//如果想要变成小数点后面两位就把这个1变成2
editText.setText(s);
editText.setSelection(s.length());
}
}
if (s.toString().trim().substring(0).equals(".")) {
s = "0" + s;
editText.setText(s);
editText.setSelection(1);
}
if (s.toString().startsWith("0")
&& s.toString().trim().length() > 1) {
if (!s.toString().substring(1, 2).equals(".")) {
editText.setText(s.subSequence(0, 1));
editText.setSelection(1);
return;
}
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
}
});
}
}
我把这个抽出来做了一个方法,在使用的时候只要这么用就好了。
mResidenceTime = (EditText)findViewById(R.id.et_loan_apply_residence_time);
TextWacherUtil.setPoint(mResidenceTime);
//此外在布局文件里面加上这两个类型限制
android:digits="1234567890." android:hint="@string/please" android:inputType="number"
② 在一个activity里面用到了好多个控件,在填完上面所有的东东后提交表单,提示你前面还有一项没有填,那么还是要自己像上面滑去找到那个控件么?不!我们有定位控件的位置,并吧自动跳转到该控件的位置。并把焦点控制在该控件上
// 定位控件
private void scrollTo(View v) {
int[] viewPostion = { 0, 0 };
v.getLocationInWindow(viewPostion);
mScrollView.smoothScrollBy(viewPostion[0], viewPostion[1] - 300);
}
使用方法:
scrollTo(【控件名】);
【控件名】.requestFocus();
③ 对象排序:在项目中具体用到的是在下载图像后将图像按照上传的顺序进行排序显示
/**
* 对象排序
*/
@SuppressWarnings("unchecked")
public List<ArchUri> sortListStudent(List list) {
Collections.sort(list, new Comparator<ArchUri>() {
/*
* int compare(Student o1, Student o2) 返回一个基本类型的整型, 返回负数表示:o1 小于o2,
* 返回0 表示:o1和o2相等, 返回正数表示:o1大于o2。
*/
public int compare(ArchUri o1, ArchUri o2) {
// 按照类型进行升序排列
if (Integer.parseInt(o1.getType()) > Integer.parseInt(o2
.getType())) {
return 1;
}
if (Integer.parseInt(o1.getType()) == Integer.parseInt(o2
.getType())) {
if (o1.getSeq() > o2.getSeq()) {
return 1;
}
return -1;
}
return -1;
}
});
return list;
}
④ 短信验证倒计时
class TimeCount extends CountDownTimer {
public TimeCount(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
} @Override
public void onTick(long millisUntilFinished) {
btnUserInfor.setClickable(false);
btnUserInfor.setText(millisUntilFinished / 1000 + "秒后重新发送");
} // 倒计时结束后触发
@Override
public void onFinish() {
btnUserInfor.setText("获取验证码");
btnUserInfor.setClickable(true);
}
使用方法:
TimeCount time = new TimeCount(60000, 1000);
// 开始计时
time.start();
⑤ 生成二维码
import com.google.zxing.WriterException;
import android.graphics.Bitmap;
/**
* 二维码生成类 * @version $Id: QRGen.java, v 1.0.0 2015年7月31日 下午3:10:45 Exp $
*/
public class QRGen {
//链接地址
public static String Uri;
//二维码图片
public static Bitmap qrCodeBitmap;
//根据字符串生成二维码图片并显示在界面上,第二个参数为图片的大小
public static Bitmap creatQRGen(String str, int l){
QRGen.Uri = str;
if(!Uri.equals("")){
try {
qrCodeBitmap = EncodingHandler.createQRCode(Uri, l);
} catch (WriterException e) {
e.printStackTrace();
}
return qrCodeBitmap;
}else {
return null;
}
}
}
使用方法:
【控件名】.setImageBitmap(QRGen.creatQRGen(mQGenUrl, 320));//320是二维码显示大小。
这只是一些用到的小方法,当然,项目里面还有其他的许多大块的功能,还是值得学习和分享的,后续会陆续发出来。今天就写这么多了。
Android 金融项目整理的更多相关文章
- 【转】GitHub平台最火Android开源项目整理——2013-08-25 17
http://game.dapps.net/news/developer/9199.html GitHub在中国的火爆程度无需多言,越来越多的开源项目迁移到GitHub平台上.更何况,基于不要重复造轮 ...
- 最火的Android开源项目整理
一.代码库 1.from 代码家 整理比较好的源码连接 ******************************************************************* ...
- GitHub上最火的Android开源项目整理
这篇文章介绍GitHub上另外34个非常受欢迎的Android开源项目,在这些项目中,你又在用或用过哪些呢? 41. android-swipelistview SwipeListView是一个And ...
- Android开源项目整理:个性化空间View篇(看遍论坛千万篇,不看此篇也枉然)
个性化View控件虽然你在多处可以找到 但是这个整理的不可以不看欧: 主要介绍不错的个性化View,包括ListView.ActionBar.Menu.ViewPager.Gallery.GridVi ...
- 【Android 应用开发】GitHub 优秀的 Android 开源项目
原文地址为http://www.trinea.cn/android/android-open-source-projects-view/,作者Trinea 主要介绍那些不错个性化的View,包括Lis ...
- Android 开源项目及其学习
Android 系统研究:http://blog.csdn.net/luoshengyang/article/details/8923485 Android 腾讯技术人员博客 http://hukai ...
- 2015-2016最火的Android开源项目--github开源项目集锦(不看你就out了)
标签: Android开发开源项目最火Android项目github 2015-2016最火的Android开源项目 本文整理与集结了近期github上使用最广泛最火热与最流行的开源项目,想要充电与提 ...
- fir.im Weekly - 1000 个 Android 开源项目集合
冬天到了,适宜囤点代码暖暖身.本期 fir.im Weekly 收集了最近一些不错的 GitHub 源码.开发工具和技术实践教程类文章分享给大家. codeKK - 集合近 1000 Android ...
- 59.Android开源项目及库 (转)
转载 : https://github.com/Tim9Liu9/TimLiu-Android?hmsr=toutiao.io&utm_medium=toutiao.io&utm_so ...
随机推荐
- CSS盒子模型小剖析
前段时间刚刚从C/S过度到B/S,提到B/S就不能说CSS,而说起CSS又不能落下盒子模型.在CSS诞生的时候就有了盒子模型的概念,网页中大部分的元素都能构成一个盒子模型,.盒子模型无非就是描述的元素 ...
- win7 下配置 java 环境变量
首先,你应该已经安装了 java 的 JDK 了,笔者安装的是:jdk-7u7-windows-x64 接下来主要讲怎么配置 java 的环境变量,也是为了以后哪天自己忘记了做个备份 1.进入“计算机 ...
- Bat命令知识[转]
基础部分: 一.基础语法: 1.批处理文件是一个".bat"结尾的文本文件,这个文件的每一行都是一条DOS命令.可以使用任何文本文件编辑工具创建和修改. 2.批处理是一种简单的程序 ...
- 全国OA系统下载地址(全)
思道OAhttp://www.anyoffice.net微软.NET平台,支持64位 金和OAhttp://www.jinher.com 红帆OAhttp://www.ioffice.cn 致远OAh ...
- Android开发app如何设定应用图标下的应用名称为汉字以及自定义图标
一.应用名称为汉字 二.自定义图标
- jq 图片上传
1.html <input type="file" class="ImgInput" name="ImgInput"/> 2.j ...
- 图的遍历(bfs 和dfs)
BFS的思想: 从一个图的某一个顶点V0出发,首先访问和V0相邻的且未被访问过的顶点V1.V2.……Vn,然后依次访问与V1.V2……Vn相邻且未被访问的顶点.如此继续,找到所要找的顶点或者遍历完整个 ...
- ExtJS4 动态加载
由于有人说不要每次都调用ext-all.js,会影响性能,所以有考虑动态加载,动态加载时页面调用ext.js(4.0.7在调试时可考虑用ext-dev.js),然后在onReady之前调用 Ext.L ...
- Bootstrap_Javascript_按钮插件
一 . 加载状态按钮 HTML: <button class="btnbtn-primary" data-loading-text="正在加载中,请稍等...&qu ...
- yii2源码学习笔记(七)
今天继续了解model类 /** 2 * Returns the form name that this model class should use. 3 * 4 * 返回表单的名称,就是这个 mo ...