安卓
文章平均质量分 61
shonegg
也许我手比脚笨 但我愿不停探寻 付出所有的青春不留遗憾
展开
-
Zxing库二维码扫描默认Camera横屏修改为竖屏
修改ZXing For Android 为竖屏模式,经过实践,可行方法如下:1、修改AndroidManifest文件,将CaptureActivity设为portrait: 代码为:android:configChanges="orientation|keyboardHidden" android:screenOrientation="portrait"转载 2014-09-07 14:27:59 · 1124 阅读 · 0 评论 -
安卓版本note
各个版本的大事件,android从08年诞生到至今的7.0 N已经8年了,越来越健壮~~~/** * October 2008: The original, first, version of Android. Yay! */ public static final int BASE = 1; /** * Feb原创 2016-08-05 23:47:14 · 546 阅读 · 0 评论 -
android增量更新
今天学习了一下增量更新,这个技术已经出现很长时间了,但是现实中,估计只有大厂才利用了这一技术在做产品! 国内有些第三方服务平台,像友盟提供自动更新的服务,也是用的增量方式! 其他的像QQ,Sina微博,陌陌,蘑菇街等都用到了,解压一下它们的apk,看一下lib目录: QQ:libbspatch.so 微博:libbsdiffjni.so 陌陌:libbsdiff.so 蘑菇街:libpa原创 2016-08-27 14:49:19 · 1781 阅读 · 0 评论 -
android的Lambda
Lambda表达式的语法 基本语法: (parameters) -> expression 或 (parameters) ->{ statements; }Lambda表达式是在JDK 8中开始支持的一种函数式推导语言,能够大量减少匿名内部类那种冗余的代码。在Android中,可以大量使用在设置监听,设置异步回调等场景。平时用androidstudio开发android,确实写回调的时候,匿原创 2016-08-18 16:15:14 · 264 阅读 · 0 评论 -
架构之异步任务
AsyncTask是啥? AsyncTask是一个围绕Handler和Thread而设计的辅助类,封装了在工作线程中与UI交互的细节,只需要对应重写几个回调方法即可,并使得代码更加简洁,优雅。但要注意的是AsyncTask并不构成一个通用的线程框架 ,这在Android官方介绍中有提到:AsyncTask is designed to be a helper class around {@link原创 2016-09-09 09:43:53 · 671 阅读 · 0 评论 -
自己解决基于MQTT的android推送
突然想探索一下MQTT的推送~ 都是现成的架子,搭起来很容易!1.先配置服务端,测试的时候可以在本地先测试这里选择apache的开源项目 http://activemq.apache.org/activemq-5140-release.html 这里我用的系统是ubuntu14.0.4选择的是Linux版本,下载压缩包. 解压到自己的软件目录.ss@Dell:~/Soft/apache-ac原创 2016-08-19 12:23:48 · 1161 阅读 · 1 评论 -
打磨APP(一)
Android打造高性能app“xxx,手机越来越发热了” “xxx,怎么手机越来越卡了” “xxx,又崩了”1–学会申请内存1.1 分析内存的使用情况系统不可能将所有的内存都分配给我们的应用程序,每个程序都会有可使用的内存上限,被称为堆大小。不同的手机堆大小不同,如下代码可以获得堆大小: 结果以MB为单位进行返回,我们开发时应用程序的内存不能超过这个限制,否则会出现OOM。为了维持多任务的功原创 2016-09-09 14:21:41 · 1442 阅读 · 1 评论 -
打磨APP(二)
1. 为啥要打磨APP,为啥要性能优化?为了省电,为了快! 安卓手机作为移动设备.它的电量比标准台式机或笔记本电脑少很多.为啥苹果手机体验好,很重要因素也是速度快,基于这些原因,我们有必要关心内存的消耗! 特别是在Android 5.0以前,你想避免触发垃圾回收器.结果就是Android运行时(runtime)有一个大约200ms的冻结期(freeze) .如果用户正在滚动一个list,那将会原创 2016-09-09 18:00:07 · 1521 阅读 · 0 评论 -
android跳动的小球动画
平时对牛逼动画,高级UI,都深入的不多!近日,某头条,推了一个android技术类视频(平时在头条关注技术比较多),讲的是加载动画效果,是动脑学院讲的公开课,160分钟,我硬是拿着小手机看完了!边看,便记,然后整理了一下,规范了一下代码 做这个动画,需掌握: 1、属性动画 2、Path类、Canvas类 3、贝塞尔曲线 4、SurfaceView用法 5、自定义attr属性 6 、架原创 2016-08-30 12:40:30 · 2761 阅读 · 1 评论 -
RxJava笔记
RxJava的流行就不多说了,作为程序员的我,碰到流行的架子,当然是比较欣喜,比较好奇,我看一下RxJava响应式编程有哪些特性,学习学习!源码地址 https://github.com/ReactiveX/RxJava RxJava is a Java VM implementation of Reactive Extensions: a library for composing asyn原创 2016-08-12 23:40:22 · 347 阅读 · 0 评论 -
图片加载UIL的Disk缓存策略
统一接口interface DiskCache 缓存策略有 1.0.0版本出现 UnlimitedDiskCache 1.3.1版本出现 LimitedAgeDiskCache: 1.9.2版本出现 LruDiskCache 在ext扩展包下面 其中UnlimitedDiskCache是默认的缓存模式 UnlimitedDiskCache和LimitedAgeDiskCache原创 2016-08-25 18:24:49 · 401 阅读 · 0 评论 -
图片加载 经典的UIL框架
加载图片最终入口public void displayImage(String uri, ImageAware imageAware, DisplayImageOptions options, ImageSize targetSize, ImageLoadingListener listener, ImageLoadingProgressListener progressLi原创 2016-08-25 11:29:40 · 571 阅读 · 0 评论 -
快速第三方入口(持续关注)
1.短信注册: sharesdk 性质:免费 http://wiki.mob.com/android-%E7%9F%AD%E4%BF%A1sdk%E9%9B%86%E6%88%90%E6%96%87%E6%A1%A3/ 阿里大于: 性质:收费 http://www.alidayu.com/service/code?spm=a3142.7791109.199920原创 2016-08-05 14:54:29 · 396 阅读 · 0 评论 -
OAuth2授权(Client Credentials)
OAuth 2.0定义了四种授权方式。 1.授权码模式(authorization code) 2.简化模式(implicit) 3.密码模式(resource owner password credentials) 4.客户端模式(client credentials)ClientCredentials客户端模式: Client使用自己的 client证书(如 clien原创 2016-08-15 23:10:58 · 32290 阅读 · 1 评论 -
源码分析之Fresco
com.facebook.imagepipeline.core/ImagePipeline.java[1]取图片从BitmapCache>public DataSource<CloseableReference<CloseableImage>> fetchImageFromBitmapCache( ImageRequest imageRequest, Object callerContext)原创 2016-06-13 16:22:09 · 474 阅读 · 0 评论 -
Mina通信粘包处理
使用过Mina做Socket长链接的同学应该都遇到到过,在解码时少包、多包的问题!1.文本内容发送端需要等缓冲区满才发送出去,造成粘包 2.接收方不及时接收缓冲区的包,造成多个包接收解决方法就是使用CumulativeProtocolDecoder 解码器,确保在编码的时候要把前4位设成标志位,标志消息内容的长度。 数据包编码和解码一定要单独实现: 编码器 class Reques原创 2016-06-13 16:21:36 · 1691 阅读 · 0 评论 -
我撸了一个视频播放器
这是一款基于ijkplayer的MaterialDesign视频播放器 开发环境 AndroidStudio2.1.1 gradleVersion = ‘2.10’compileSdkVersion 23 buildToolsVersion 23.0.3 ndk版本android-ndk-r10e 效果图: 1||支持网络媒体和本地视频播放2||这里,我已经编译好了ijkplay原创 2016-07-23 18:47:29 · 22296 阅读 · 0 评论 -
android网络监控下的观察者模式运用
观察者模式,由观察者和被观察对象组成,java已经提供了相关类供我们开发者调用! Observable - 被观察者 Observer- 观察者 在app开发中,很多情况下都会监听网络变化,如Socket长链接,视频在线播放,唤醒某些服务,友好的用户体验考虑…那么在这种场景下,Observable就是网络状态,Observer就是Activity Observable里面维护原创 2016-07-24 11:59:00 · 2112 阅读 · 0 评论 -
TextView加文字阴影
偶然看到哔哩title的文字跟其它地方显示不一样查了一下用到了textview的相关属性. 通常一些像Photoshop这样的工具可以用来创建各种各样的文字效果,并且我们经常用到的一种效果就是阴影。Android是支持字体阴影的。在TextView中实现字体阴影效果比在位图元素中的效率更高,并且使得设计可适配多种屏幕尺寸。相同条件下,Android的LayoutManager缩放TextView原创 2016-06-17 10:19:42 · 2091 阅读 · 0 评论 -
毛玻璃之android.support.v8.renderscript.RSRuntimeException
最近看到bilibili的番剧详情页面下的背景图有高斯模糊的效果,很好看,于是也将自己个人项目的某个背景图调成模糊的效果,用的是500px的500px-android-blur 地址:https://github.com/500px/500px-android-blur 在集成的时候,android.support.v8库找不到。这个renderscript-v8.jar包需要从sdk的目录下原创 2016-06-17 09:43:19 · 1684 阅读 · 0 评论 -
Error: NDK integration is deprecated in the current plugin
android studio NDK配置时异常: 解决在gradle.properties下增加一行配置 android.useDeprecatedNdk=true原创 2016-06-17 17:51:11 · 293 阅读 · 0 评论 -
androidstudio下NDK正确姿势
用androidstudio开发的小伙伴,应该知道自身的ndk自动编译就是鸡肋! 这里说2种方法: 1& 进入到工程jni目录运行ndk-build 如何快速复制jni路径右键Copy Path或者按快捷键Ctrl+Shift+Ccd /home/wangxiong/Documents/Github/libraries/blur/src/main/jni~/Soft/android-n原创 2016-06-17 22:37:16 · 4834 阅读 · 0 评论 -
webview过滤广告终极招式
首先明白WebViewClient干啥的? 这货用于辅助WebView,处理各种通知、请求等事件今天就是要重写她的方法!这里主要交给javascript完成,那么javascript支持一定不能少! WebSettings webSetting = webview.getSettings(); webSetting.setJavaScriptEnabled(true);广告到底是啥?原创 2016-07-25 23:43:07 · 6785 阅读 · 0 评论 -
setMobileDataEnabled方法不能再被调用 Android L and later
setMobileDataEnabled()不能通过反射方式被调用了, 反射是可行的从 Android 2.1 (API 7)到 Android 4.4 (API 19) , 但是到了 Android L 以后 ,即使你有root权限, setMobileDataEnabled() method 也不能被调用! 可以自己打印一下 看这个方法 还有没有 final Class<?> conman原创 2016-07-26 22:57:18 · 4313 阅读 · 0 评论 -
监听电池电量之粘性广播
场景: 省电APP监听电池电量变化,然后动态刷新UI! 我们平时最经常使用的是sendBroadcast,就是把一个Intent广播出去。 /** * <p>Perform a {@link #sendBroadcast(Intent)} that is "sticky," meaning the * Intent you are sending stays ar原创 2016-07-27 12:58:32 · 3972 阅读 · 0 评论 -
android桌面动画
场景:点击桌面图标,图标放大,然后圆形进度旋转一圈结束,时间可控~~~先理一下,启动”桌面动画”app,第一次启动在launcher上创建一个”点我点我”快捷图标,点击这个图标,动画开始!1.创建桌面图标 public class App extends Application { private static Context context; public static Conte原创 2016-07-29 15:08:41 · 9357 阅读 · 0 评论 -
暴力测试Service
为了更好地了接服务Service的生命周期,采用暴力测试,一下会多次启动服务,绑定服务,不按常理走! 1个服务==>CoreService 2个活动==> FirstActivity和SecondActivity 测试1: 先启动,再绑定 启动FirstActivity第1步:startService 第2步:bindService 第3步:多次bindServi原创 2016-09-07 21:06:07 · 437 阅读 · 0 评论