- 博客(29)
- 收藏
- 关注
原创 MultiDex 的使用与反编译
Android 反编译 Apk环境安装 brew install apktool:Homebrew 安装 apktool下载JD-GUI jd-gui 主要是为了方便查看 dex2jar 转换的jar文件结构和部分代码(未混淆)jd-gui github地址 官网地址下载 dex2jar dex2jar 主要用于将解压后的 Apk 包中 classe...
2018-03-29 17:10:27 2090
原创 MAC 青花瓷Charles 抓包工具
下载charles1、官网地址:http://www.charlesproxy.com/download/ 2、下载地址:http://xclient.info/s/charles.html2.设置代理(保证手机跟电脑要在同一个网络、用的同一个路由器)1、查看默认端口 Proxy->Proxy Settings 在这个页面会看到HTTP Proxy的默认端口是8888 我们不需要修改,
2016-10-18 17:28:18 1047
原创 部分代码混淆
-optimizationpasses 5 # 指定代码的压缩级别-dontusemixedcaseclassnames # 是否使用大小写混合-dontpreverify # 混淆时是否做预校验-verbose # 混淆时是否记录日志-optimizations !code/simplification/arithmet
2016-08-20 19:02:45 419
原创 不管是Wifi 、还是 4G 下都可以获取公网IP地址
利用淘宝获取手机的IP地址。public static String getPhoneIP() { String IP = ""; try { String address = "http://ip.taobao.com/service/getIpInfo2.php?ip=myip"; URL u
2016-08-18 15:49:50 10333
原创 Android Studio 关联项目软链接
1、需要关联的项目创建快捷方式,复制到AS 的app 目录下 2、在项目的app目录下替换build.gradle文件。 3、快捷访问项目名必须和build.gradle文件中的 def folder = ‘Gallery2’ 一致 4、
2016-02-02 10:54:07 2591
原创 Android 进程间通讯四种方式
android系统中应用程序之间不能共享内存,在android SDK中提供了4种用于跨进程通讯的方式。这4种方式正好对应于android系统中4种应用程序组件:Activity、Content Provider、Broadcast和Service。1、Activity可以跨进程调用其他应用程序的Activity。 Activity在进程内(同一个应用程序)访问 跨进
2016-01-20 14:43:59 13229 1
转载 Android内存优化(使用SparseArray和ArrayMap代替HashMap)
1、HashMap HashMap内部是使用一个默认容量为16的数组来存储数据的,而数组中每一个元素却又是一个链表的头结点,所以,更准确的来说,HashMap内部存储结构是使用哈希表的拉链结构(数组+链表) 如图: 每一个结点都是Entry类型,而Entry存储的内容有key、value、hash值、和next下一个Entry,HashMap中默认的存储大小就是一个容量为16的数组,所以当
2015-12-30 10:05:17 459
原创 Android 项目 利用Gradle 一键打包
1、在项目中如果有用到多渠道打包我们可以用Android Studio 的 Gradle来管理一键打包。 我的项目配置: 友盟统计 在AndroidManifest.xml里面: <!--友盟统计--> <meta-data android:name="UMENG_APPKEY" android:value="55e95
2015-09-15 00:01:35 1563
原创 一段代码 完全解读 SharedPreferedces。
1、在项目中读取本地 txt 文件 (以JSON 格式存) InputStream open = getAssets().open("word/wrods.txt"); InputStreamReader reader = new InputStreamReader(open); BufferedReader Buffer
2015-09-10 16:43:29 453
原创 Thread + Handle 解决子线程更新UI
我的方式:Thread + Handle 解决子线程更新UI。Can’t create handler inside thread that has not called Looper.prepare()
2015-09-06 20:01:20 441
原创 Gradle 使用总结
1、Gradle connect失败 解决方案:更改本机已有的Gradle,或下载对应的版本 查看Gradle安装路径: 例如我的Gradle默认安装目录是: C:\Program Files\Android\Android Studio\gradle\m2repository\com\android\tools\build\gradle 在该文件下对应的版本有那些,就代表本机安装
2015-08-29 20:47:34 1874
原创 Buttion 按钮事件的简单操作
今天在公司发现要给一个布局中的多个按钮添加点击事件,每一个都需要setOnClickListener。导致代码可读性很差。如果在一个Layout 中有多个相同控件,我们可以采用下面这种方式:步骤:1、编写一个自定义类继承view.onClickListener。 class dialogListener implements View.OnClickListener {
2015-08-29 18:59:01 1264
转载 自定义圆形头像 和 图片压缩
经常在项目中要用到圆形头像:直接贴出代码。public class CircleImageDrawable extends Drawable{ private Paint mPaint; private int mWidth; private Bitmap mBitmap ; public CircleImageDrawable(Bitmap bitmap) { mBitma
2015-08-29 18:06:56 459
原创 Android 自定义弹窗 Dialog
自定义Dialog,弹出提示。总的来说就是 extends Dialog类。下面列出一些Dialog的基本属性:1 AlertDialog.Builder属性* setTitle: 为对话框设置标题 ;* setIcon : 为对话框设置图标;* setMessage: 为对话框设置内容;* setView : 给对话框设置自定义样式 ;* setItems:
2015-08-29 17:56:42 1130
转载 Android -常见面试提问
1.要做一个尽可能流畅的ListView,你平时在工作中如何进行优化的? ①Item布局,层级越少越好,使用hierarchyview工具查看优化。 ②复用convertView ③使用ViewHolder ④item中有图片时,异步加载 ⑤快速滑动时,不加载图片 ⑥item中有图片时,应对图片进行适当压缩 ⑦实现数据的分页加载2.对于Android 的安全
2015-06-27 12:55:16 508
原创 Android的四种启动模式-----深入理解
Android 四种启动模式:经过多次的项目经验,自己对Android的启动模式终于有自己的理解了;SingleInstance:单独的任务栈存放单独的实例(任务栈相互切换) SingleTask 单独的任务栈存放多实例(实例不重复创建,弹栈模式,不支持回退键)SingleTop 单独的任务栈 存放多实例(实例在栈顶不重复创建)standa
2015-06-01 20:04:36 354
转载 Android 自定义控件样式在drawable文件夹下的XML实现
Android自定义控件样式在drawable文件夹下的XML中,在布局文件中通过设置控件的background属性达到效果。一、控件常见状态: 在XML文件中用到了selector节点,selector可以理解为状态切换器,不同的状态下切换不同的样式,各种状态用Item节点表示,以下为一些常见的状态(注意:statelist中第一个匹配当前状态的item会被使用。因
2015-04-27 16:21:35 1004
原创 单身都是程序员惹的祸
现在我算是明白了,一个软件人才在适当的时间以及适当的地点,他可以多么骄傲的抬起头来了。因为大家都在说这类行业在近十年中是奇缺无比的。不管是Java,C,3G,Android还是IOS。当然我说的这类人是要懂点计算机的,这样的话,才有后面的故事。为什么会有程序?程序又是干吗用的?在生活中能用到这些非人类的东西(语言或代码)吗。。。。。。?像这样的疑问太多太多了。像当初,我真的没有明白这些问题。直
2013-07-02 19:35:12 492
原创 毕业季————我不是故意要想你
青春是一场远行,回不去了;青春是一场相逢,忘不掉了;青春是一场伤痛,来不及了。又是六月,又是一个毕业的季节。 北大,南大,工大。不管是哪个有着四年的大学,在这个季节总会有诸多的难忘,太多的掉眼泪、、、。因为在我们刚刚来到大学之门时,总会有一番耳熟能详的教导:“好好珍惜吧,不然你会后悔的”。但当我们在这个离别的季节,我们把以前所有的抱怨,所有的不满,好像都可以用一种笑的姿态来面对。
2013-06-25 12:32:15 502
原创 Java学习
Java梦 Java是一门不错的语言,我现在还没有真正感受到里面的乐趣,就已经被它迷上了。学Java到写Java,这是一个艰难的过程。因为,语言这个东西本来就是一个很乏味的,只有到你写代码用到这里面的类时,你才会有各种的爽,各种的开心。虽然,我现在不是一个Java高手,但是,我可以发现这里有我想要的,它值得让我去学习,去付出,说到这里,又不免谈到爱情。因为爱情也是得有付出才会有收
2013-06-03 20:16:12 395
原创 Eclipse快捷键
MyEclipse快捷键快捷键1(Ctrl)Ctrl+1 快速修复Ctrl+D 删除当前行Crtl+Q 定位到最后编辑的地方Ctrl+L 定位在某行Ctrl+Q快速显示 OutLineCtrl+T 快速显示当前类的继承结构Ctrl+W 关闭当前EditerCtrl+K 快速定位到下一个Ctrl+E 快速显示当前Editer的下拉列表Ctrl+J 正向增量
2013-05-25 17:42:21 367
原创 第一篇心灵感悟
一封写给某日被你看到的信也许出来不是很久,也有可能是在外面看到了他人的一点点成就,再还有可能是自己没有正式的告别单身生活。。。我一直都认为每个人都有存在的必然性,但当我在不经意之间看到了马云即将告别他们企业舞台时说:“公司离开了谁都会转”。我们也是,当你在一个地方有一定的存在感时,有一天你不在了,那里的阳关照样明媚。我有太多的事情要去完成,我的人生可以不伟大,但决不可以不精彩、充实。我把我
2013-05-06 19:03:43 444
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人