1.adb命令
由于POS机对Android系统进行了重新开发,对软件安装与卸载进行了限制,因此使用adb命令实现该功能。
首先安装adb,或者直接下载链接:http://pan.baidu.com/s/1hseQmSO 密码:xx25
软件安装 adb install 文件名(全路径) 例:adb install "C:\Users\app_v1.0_apos.apk"
软件卸载 adb uninstall (-k 保留缓存和配置文件)软件包名 例:adb unstall com.example.app
INSTALL_FAILED_UPDATE_INCOMPATIBLE
卸载之前的应用重新安装可以解决
开发中还经常会遇到adb连接不上的问题
1 首先要检查驱动是否有问题,可以在设备管理器中查看adb的驱动是否安装成功,确保驱动正常安装;
2 从cmd进入dos界面,执行adb kill-server和adb start-server,若还连接不上,出现启动adb start-server出现下面错误
* daemon not running. starting it now on port 5037 *
ADB server didn't ACK
* failed to start daemon *
3、执行下面命令
adb nodaemon server
出现下面错误
cannot bind 'tcp:5037'
原来adb server 端口绑定失败
4、输入下面的命令查询哪个占用了5037端口
netstat -ano | findstr "5037"
出现下面信息
TCP 127.0.0.1:2568 127.0.0.1:5037 SYN_SENT 516
TCP 127.0.0.1:2569 127.0.0.1:5037 SYN_SENT 516
5、杀死进程 重启进程
等待期设备知道设备在线时
adb start-server - ensure that there is a server running
启动其服务
adb kill-server - kill the server if it is running
其他的暂时没有用到,详细介绍:http://www.cnblogs.com/greatverve/archive/2012/04/23/android-adb.html
2.DES加密
// DES算法要求有一个可信任的随机数源
SecureRandom random =newSecureRandom();
//创建一个DESKeySpec对象
DESKeySpec desKey =newDESKeySpec(password.getBytes());
//创建一个密匙工厂
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
//将DESKeySpec对象转换成SecretKey对象
SecretKey securekey = keyFactory.generateSecret(desKey);
// Cipher对象实际完成解密操作
Cipher cipher = Cipher.getInstance("DES");
//用密匙初始化Cipher对象
//解密
cipher.init(Cipher.DECRYPT_MODE, securekey, random);
//加密
cipher.init(Cipher.ENCRYPT_MODE, securekey, random);
//真正开始解密操作
returncipher.doFinal(src);
3.BigDecimal用来处理商业中计算(直接使用Double计算会出现精度错误的问题)
BigDecimal(int) 创建一个具有参数所指定整数值的对象。
BigDecimal(double) 创建一个具有参数所指定双精度值的对象。
BigDecimal(long) 创建一个具有参数所指定长整数值的对象。
add(BigDecimal) BigDecimal对象中的值相加,然后返回这个对象。
subtract(BigDecimal) BigDecimal对象中的值相减,然后返回这个对象。
multiply(BigDecimal) BigDecimal对象中的值相乘,然后返回这个对象。
divide(BigDecimal) BigDecimal对象中的值相除,然后返回这个对象。
toString() 将BigDecimal对象的数值转换成字符串。
doubleValue() 将BigDecimal对象中的值以双精度数返回。
floatValue() 将BigDecimal对象中的值以单精度数返回。
longValue() 将BigDecimal对象中的值以长整数返回。
intValue() 将BigDecimal对象中的值以整数返回。