- 博客(44)
- 收藏
- 关注
原创 使用mount挂载system目录为读写权限
1,获取root权限:命令如下: adb shell su2,获取system分区全名:命令入下: mount | grep “system”执行结果如下(当前权限为ro,即read only): /dev/block/platform/sdhci-tegra.3/by-name/system1 /system ext4 ro,seclabel,relatime,data=or
2017-06-16 15:05:39
32165
5
原创 单例模式的最佳实现(Java)
public class Singleton { /** * Private constructor prevents instantiation from other classes */ private Singleton() { } /** * SingletonHolder is loaded on the first executi
2016-10-12 22:08:23
390
原创 Android签名机制
android APK的签名过程主要分为以下三个步骤:1,生成MANIFEST.MF文件 生成MANIFEST.MF文件过程是对APK包中所有未签名文件逐个用SHA1算法进行数字签名,再对数字签名信息采用Base64进行编码,最后将编码完成的签名写入MANIFEST.MF文件中。 SHA1是一种Hash算法,两个不同的信息经过Hash运算后不会产生同样的信息摘要,由于SHA1是单向的,所以不
2016-10-09 21:01:08
423
原创 支付宝移动支付方案
1. 准备工作:1.1 注册支付宝开发者账号:获取appid,密钥等信息(目前提供给移动应用的接口有移动快捷支付、卡券包、分享给支付宝好友、当面付、集分宝等)。https://openhome.alipay.com/platform/home.htm 1.2 sdk下载及接入:https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.762914
2016-09-08 11:17:00
1557
原创 自定义Dialog
1,自定义style:res/values/style.xml<style name="customDialog" parent="android:style/Theme.Dialog"> <item name="android:windowBackground">@android:color/transparent</item> <item name="android:wi
2016-08-16 19:44:27
427
原创 从Message生产到消费的过程理解Handler消息机制
1,Message生产流程:Message的生产流程是指将Message加入到MessageQueue的消息队列中的过程。该过程可在任意线程执行。2,Message消费流程:Message消费流程是指通过Looper的loop()方法,循环将MessageQueue的消息队列中的Message取出、分发、执行的过程。该过程只能在发送Message的Handler绑定的Looper所在线程中执行。
2016-07-28 14:28:03
370
原创 Android APK打包流程
1,使用aapt编译资源文件,生成R.java和编译后的资源文件 2,处理aidl文件,生成对应Java文件 3,将上两步生成的Java文件和项目源代码一起编译生成class文件 4,使用dex工具将第3步生成的class文件和引用的第三方库一起转换生成dex文件 5,使用apkbuilder将第4步生成的dex文件和第1步编译后的资源文件,以及其他资源生成apk 6,使用Jarsigne
2016-06-02 19:58:34
443
原创 Android屏幕分辨率
Resolution 简称 高宽比 对应drawable density(dpi) 240×320 QVGA 4:3 drawable-ldpi 120 320×480 HVGA 3:2 drawable-mdpi 160 480×800 WVGA 5:3 drawable-hdpi 240 480×854 FWVGA
2016-04-21 20:21:44
354
原创 重构的内涵
重构(refactoring)的本质就是在代码写好之后改进代码的设计。也就是在不改变代码外在行为的前提下,对代码作出修改,以改进程序的内部结构。重构是一种代码整理方法,可以最大限度地减少整理过程中引入错误的几率。 按照通常的理解,我们应该先设计而后编码。但是,随着项目的发展,需要不断地修改代码,于是根据原先设计所得的系统,整体结构逐渐衰弱。代码质量慢慢变差,编码也会变得越来越随意。 重构
2016-04-05 09:36:16
599
转载 Layout Inflation as Intended
Layout inflation is the term used within the context of Android to indicate when an XML layout resource is parsed and converted into a hierarchy of View objects.It’s common practice in the Android SDK, but you may be surprised to find that there is a wrong
2016-01-04 10:46:11
444
原创 如何正确使用equals方法?
equals方法的覆盖看起来很简单,但是许多的覆盖方式都是错误的,将导致非常严重的后果,本文旨在介绍equals方法的使用规范,以规避错误的使用。
2015-12-27 13:19:35
5495
原创 HTTP状态码
HTTP状态码与实际状况不一致的情况是经常发生的,这既需要服务器开发同学遵循相应的规范加以改善,也提醒客户端开发同学要有适当的灵活性,出现不一致的情况时及时与服务端同学check相关逻辑,以保证最终交互的正确性和合理性。
2015-11-21 16:06:03
588
原创 Android子线程中直接回到UI线程执行
public void runInUiThread(Runnable r) { if (Thread.currentThread() == Looper.getMainLooper().getThread()) { r.run(); } else { Handler handler = new Handler(Looper.getMainLooper
2015-11-09 16:06:33
543
转载 安装包立减1M--微信Android资源混淆打包工具
本文主要对Android的资源混淆做一个简单的分析。微信中的资源混淆工具主要为了混淆资源ID长度(例如将res/drawable/welcome.png混淆为r/s/a.png),同时利用7z深度压缩,大大减少了安装包体积,同时也增加了逼格,提升了反破解难度。
2015-10-13 20:52:14
1284
原创 获取android设备公网IP的方案
1,收集可以获取公网ip的站点,最后筛选出下列5个站点:http://httpbin.org/iphttp://ip-api.com/jsonhttp://ipecho.net/plainhttp://checkip.dyndns.org/http://ifconfig.me/ip2,加载策略:2.1 app每次启动时,遍历【1】中整理的站点list,一旦ip获取成
2015-10-08 15:42:56
821
原创 Android中获取当前进程名称
public static String getProcessName(Context context) { ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); List runningApps = activityManage
2015-09-24 13:42:43
2433
原创 Windows环境下修改Eclipse随笔提示
Window-->Preferences-->Java-->Editor-->Content Assist-->Auto-Activation-->Auto activation triggers for java
2015-09-22 20:20:53
463
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人