开发
文章平均质量分 88
Freetofly白
或许男人的胸怀是被委屈撑大的!!
展开
-
Android 自定义锁屏 监听系统消息推送
自定义锁屏实现原理:1.监听系统SCREEN_ON与SCREEN_OFF广播2.屏幕变暗,启动自定义锁屏页面,使其置顶3.屏幕点亮,屏蔽系统锁屏,自定义锁屏页面即会出现技术点:1.监听广播只能使用动态,所以需使用后台sevice 保持监听长期有效 注意service保活(JobService等技术) 注意开关机问题(监听开机广播,启动后台service)原创 2017-06-10 21:41:28 · 2277 阅读 · 0 评论 -
WebView与 JavaScript 交互方式
1. 交互方式总结Android与JS通过WebView互相调用方法,实际上是:Android去调用JS的代码JS去调用Android的代码二者沟通的桥梁是WebView对于Android调用JS代码的方法有2种: 1. 通过WebView的loadUrl() 2. 通过WebView的evaluateJavascript()对于JS调用An转载 2018-01-16 15:51:59 · 387 阅读 · 0 评论 -
ViewPager系列之ViewPager一屏显示多个子页面
ViewPager一屏显示多个子页面,常见的有两种形式:1、当前展示的页面右侧显示一部分下个页面的内容2、当前页面居中,左右两边分别显示上一个页面、下一个页面第 1 种表现形式的实现代码其实这种效果很容易实现,谷歌给我们提供了方法,只需要在adapter中重写这个方法就可以了。 /** * Returns the proportional转载 2018-01-04 15:18:55 · 725 阅读 · 0 评论 -
Android 混淆 配置 语法 基础
综述毫无疑问,混淆是打包过程中最重要的流程之一,在没有特殊原因的情况下,所有 app 都应该开启混淆。首先,这里说的的混淆其实是包括了代码压缩、代码混淆以及资源压缩等的优化过程。依靠 ProGuard,混淆流程将主项目以及依赖库中未被使用的类、类成员、方法、属性移除,这有助于规避64K方法数的瓶颈;同时,将类、类成员、方法重命名为无意义的简短名称,增加了逆向工程的难度。而依靠 Gr转载 2017-02-27 14:44:55 · 535 阅读 · 0 评论 -
Android Intent 启动第三方程序
包括调用系统程序和第三方程序0.调用第三方程序[java] view plain copy//方法一 Intent intent=new Intent(); //包名 包名+类名(全路径) intent.setClassName("com.linxcool", "com.linxcool.PlaneActivity");转载 2017-05-05 16:17:36 · 667 阅读 · 0 评论 -
Android 拍照和相册选图 版本兼容
Android 拍照和相册选图 版本兼容一.相机部分 1. 调用启动系统相机原创 2015-09-25 13:27:36 · 1634 阅读 · 0 评论 -
Android EditText 光标选择 clickablespan 文字触摸
最近因项目需求,使用到CloudEditText 来实现文字输入,并且需要点击改变ImageSpan背景,使用软键盘删除键进行操作先说明一下原理,CloudEditText 是使用 SpannableString 来进行插入带有样式的文字,主要分3层:1.SpannableString 必须有字符串传入,不然后续的插入ImageSpan 与 ClickableSpan 都会原创 2015-12-07 09:59:16 · 3916 阅读 · 2 评论 -
Android 替换全局字体
Android 系统提供字体android:typeface="serif"android:textStyle="bold"android:fontFamily="sans-serif"Android 替换TextView字体Typeface typeface = Typeface.create原创 2016-02-29 13:55:08 · 5145 阅读 · 0 评论 -
Android Volley 网络并发 监听网络队列完成
先说明一下原理:1.利用反射机制获取 RequestQueue 队列中 mCurrentRequests 当前请求的集合,如果size==0, 则说明并发性网络请求已完成,为了保证准确性,建议给 需要监听的网络请求设置tag,并利用tag进行过滤2.利用定时循环线程进行动态取值代码如下:public static void whether原创 2016-04-12 14:23:39 · 1428 阅读 · 0 评论 -
Android View 拖拽 移动 碰撞
1. 被拖动view view.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { ClipData.Item item=new ClipData.Item((String)v.getTag())原创 2016-07-18 15:31:06 · 3920 阅读 · 0 评论 -
Android 获取系统信息 手机号码 所在国家码
系统信息在Android中可以通过android.os.Build这个类和System.getProperty(“xxx”);来获取设备信息,下面列举的常见设备信息摘自Android群英传Build.BOARD // 主板Build.BRAND // 系统定制商Build.SUPPORTED_ABIS //CPU指令集Build.DEVICE // 设备参数Buil转载 2017-05-05 16:57:43 · 9798 阅读 · 0 评论 -
Android bitmap压缩优化方案
Android中图片是以bitmap形式存在的,那么bitmap所占内存,直接影响到了应用所占内存大小,首先要知道bitmap所占内存大小计算方式:图片长度 x 图片宽度 x 一个像素点占用的字节数以下是图片的压缩格式:其中,A代表透明度;R代表红色;G代表绿色;B代表蓝色。ALPHA_8 表示8位Alpha位图,即A=8,一个像素点占用1个字节,它没有转载 2017-05-18 10:19:46 · 7262 阅读 · 0 评论 -
Android 压缩优化apk
随着业务需求的扩展,apk size会不断增加,size太大会影响用户下载和升级的意愿,压缩size是每个大型app必须的工作。首先来看一下apk的构成:主要包含资源和代码,那压缩size就要从这2方面入手。资源方面1. 删除无用资源通过lint或resource shinking等删除无用资源2. 压缩图片1)无透明度的png转成jpg2)通过ti转载 2017-05-25 14:08:07 · 1735 阅读 · 0 评论 -
Android Launcher结构分析
Launcher是系统启动后第一个启动的程序,是其它应用程序的入口,也就是我们的手机程序的桌面程序;一、Launcher的定义及构成:通过查看官方提供的Launcher源码可以知道其实Launcher也是一个Activity,不过它的intent-fliter有点特殊;[html] view plain copyactivity转载 2017-05-31 15:11:58 · 765 阅读 · 0 评论 -
基于AccessibilityService和ADB shell实现自动操作
实现自动操作,就是利用代码脚本,模拟人的操作,包括点击,滑动,输入文字,物理按键等,实现一系列操作。为什么要实现自动操作?为了自动化测试?android app的功能越来越多,测试们的事情都忙不过来,这时,有些大量的工作就可以交给脚本来完成。比如,测试抢微信红包的工作,测试游戏打怪升级,测试自动聊天,测试考勤打卡等等等等。。。。android中多种模拟操作的方法:第一种:模拟MotionEvent...转载 2018-04-09 17:03:13 · 1019 阅读 · 1 评论