- 博客(15)
- 资源 (2)
- 收藏
- 关注
原创 IIS下301跳转方法:ISAPI_Rewrite伪静态重写+PHP301
今天把网站域名更为二级域名,准备把原来伪静态的页面301重定向到新的域名。 之前使用ISAPI_Rewrite 1.3做的伪静态:[ISAPI_Rewrite]CacheClockRate 3600RepeatLimit 32RewriteRule ^/([\d]+).html\?(.*) /view.php\?id=$1测试一在httpd.ini里新增重定向规则:RewriteCond H
2017-06-18 16:39:49
3052
原创 Python检测文本字符编码的方法
Python检测文本字符编码的方法Python检测文本字符编码的工具主要有2种cChardetchardetcChardet比chardet快。(cChardet上有这么一句话:This library is faster than chardet.)cChardetcChardet目前有2个版本:cchardet 2.1.0 和 cchardet 1.1.3安装pip install cch
2017-06-17 14:02:13
2319
原创 Android APP反编译之开篇与工具
反编译人家的程序并不是一件光彩的事情,我们也不推荐。这里仅仅从技术角度来探讨这一技能目前主要的使用场景、所需掌握的工具和技能,以及对我们保护自己APP的启发。这里,我结合自己逆向工程的一些经验,准备用以下一序列的博文来进行阐述:Android APP逆向工程之开篇与工具Android DEX之smali语法篇Android DEX之寄存器篇Android DEX之指令集
2017-03-28 00:52:05
948
原创 Android多渠道打包实战
什么是多渠道打包BD为了统计营销推广的效果,需要在APK里写入推广渠道,去弄清用户、广告销售是来源于哪个渠道,如是来源于应用宝、百度手机助手这样的应用商店,还是广点通、百度联盟这样的广告平台,以便后续分成结算。因此,开发人员需要为BD提供不同渠道所对应的apk文件。而生成这些不同渠道所对应的APK文件就叫做多渠道打包。多渠道打包的发展史从发展历程来看,多渠道打包大约经历了这样几个阶段:第一阶段:用脚
2017-03-23 18:53:37
1031
原创 用JAVA awt实现Image Asset Studio生成圆形或圆角矩形图片功能
随着Android 7.1推出Round Icon Resources功能(不了解的,可以看这Android开发者这篇文章Android 7.1 for Developers),圆形Icon应该会是将来手机的标配,刚刚推出的Android O Preview版本进一步证实的这一观点。尽管Image Asset Studio为我们制作ICON提供了丰富的功能,但对于一个没有美工基础特别是个人开发者
2017-03-23 01:03:46
3754
1
原创 利用css-redundancy-checker去除冗余、无用、废弃的css样式代码
为网站写CSS样式的时候,经常会遇到CSS样式的修改或者网页设计的改变,而这些网页在经过无数次的修改之后,可能有些样式已经用不到了,css文件中可能存在着一些没用的CSS代码。这些无用的CSS代码浪费了一些服务器空间和带宽消耗,也可能为下一次网页改版埋下一个隐患。利用css-redundancy-checker可以有效为我们清除这些冗余的css样式代码。
2017-03-20 15:30:47
8049
原创 Android ViewPager优化
Android的ViewPager控件是我们Android App开发最常用的控件之一,本文将通过setOffscreenPageLimit增加缓存页面、setUserVisibleHint实现延迟加载、以及Adapter(FragmentPagerAdapter还是FragmentStatePagerAdapter)选择这3方面来谈谈Android ViewPager优化的一些要点。
2016-12-05 02:04:39
2064
原创 通过Android源码分析LinearLayout的layout_weight与weightsum对布局大小的影响
LinearLayout是Android App开发中最常用的控件之一。特别是当我们要实现几个控件平均分割一定的区域的时候,一般都会通过LinearLayout的layout_weight和weightsum组合实现。要理解layout_weight和weightsum这2个属性对LinearLayout布局大小的影响,最好还是结合源码进行分析。
2016-12-05 00:54:27
728
原创 Android LayoutInflater的获取及inflate()参数和返回值
Android LayoutInflater是我们在Android App开发中特别是自定义view时候经常常用的一个类。也许你开发中没有特别注意到它,但其实我们都直接或间接的使用它了。这里主要说明Android LayoutInflater的获取方式及其inflate()参数和返回值的关系。
2016-12-02 01:28:22
1163
原创 微信红包的一种生成算法
原理微信红包的生成算法的本质问题是:怎么能随机生成m个数,让其和等于n?如10元分9包就是随机生成9个数字,使其和等于10. “剪绳子”法:把一根10米长的绳子剪为9段,第一段的“剪点”是第一段绳子的长度,第二段的“剪点”是前2段绳子长度总和,第三段的“剪点”是前3段绳子长度总和,依次类推……因此,我们可以创建一个数组:第一个元素为0,最后一个元素是10,为其他9个元素元素随机生成一个(0,1
2016-10-28 11:01:26
6214
原创 Android沉浸式模式的实现
什么是沉浸式模式Android 4.4 (API Level 19)引入一个新的概念——“沉浸式模式”,即真正的全屏模式:SystemUI(StatusBar和NavigationBar)也都被隐藏,具体可以参考Android开发者官网的介绍:Using Immersive Full-Screen Mode 如果大家已经下载Android SDK的文档,那么也可以查看SDK目录下的文档:docs\
2016-10-19 16:16:35
9603
原创 多看Android版本WIFI传书的实现
多看Android版本WIFI传书的实现参照《多看》的WIFI传书功能 * 手机端的HttpServer采用开源项目AndroidAsync实现的。 * 网页端采用jQuery实现,文件上传采用Upload5(HTML5浏览器)和ajaxupload.js(非HTML5浏览器,如IE7/IE8/IE9)手机端截图 网页版截图AndroidAsync HttpServer技术要点Andr
2016-10-11 15:47:12
7624
原创 JakeWharton的timber自动生成Tag原理
JakeWharton的timber自动生成Tag原理JakeWharton大神的timber是一个为懒人设计的、基于Android原生的Log扩展的Logger API。相对于原生的Log API,使用timber的好处是:无须指明TAG,自动以当前Class Name为TAG可以以String.format形式格式化输出日志内容使用从官网文档介绍,使用非常简单,分为2步:在Applica
2016-08-08 14:42:47
3854
原创 android如何在xml中引用内部类的View
上周,有个同事在xml中引用内部类的View时候出错,问我在xml中能不能用内部类的View,我以前项目曾经这样做过,因此当时很肯定地告诉他可以。看了下他的代码,xml中的class属性引用的内部类写法错了,把“$”写成“.”,我让他改下就可以。他试完之后告诉我还是不行,我瞬间懵逼了。当时因时间关系,没时间去查错,让他先改为外部类处理。今天早上有空查看下系统源码,终于把这个问题搞清楚了。进入今天的正
2016-05-16 21:40:04
4781
原创 结合源码谈谈Activity的exported属性
Activity的exported属性在单个App可能用得比较少,但对于对外接口的Activity或公司内部多个应用间接口调用的设计会有比较大的影响。本文基于android 6.0.1的源码谈谈Activity的exported属性,内容分为2部分:系统如何设定exported值如何合理设置exported 系统如何设定exported值我们知道在AndroidManifest.xml文件中,
2016-05-16 00:09:43
12772
1
innerclassview
2016-05-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人