Android技术汇总
文章平均质量分 66
白纸上涂鸦
这个作者很懒,什么都没留下…
展开
-
Android处理崩溃
如何收集崩溃信息收集崩溃信息,可以更好的修复问题,增强程序的稳定性。Android中的崩溃收集沿用了Java的收集机制,实现起来比较简单。1.实现UncaughtExceptionHandler我们需要实现UncaughtExceptionHandler接口中的uncaughtException方法。该方法体中最常见的操作就是读取崩溃的stacktrace信息,然后上报到服原创 2017-02-17 10:10:50 · 309 阅读 · 0 评论 -
Android应用安全开发之浅谈加密算法的坑
Android开发中,难免会遇到需要加解密一些数据内容存到本地文件、或者通过网络传输到其他服务器和设备的问题,但并不是使用了加密就绝对安全了,如果加密函数使用不正确,加密数据很容易受到逆向破解攻击。还有很多开发者没有意识到的加密算法的问题。1、需要了解的基本概念密码学的三大作用:加密( Encryption)、认证(Authentication),鉴定(Id转载 2017-03-16 18:58:47 · 618 阅读 · 0 评论 -
Android应用优化小手册
对我们技术从业者而言,很多时候时候不是我们不知道怎么做,而是不知道做什么?今天系统的总结自己关于如何对Android应用进行优化的一些经验,共计八个维度.1.布局优化为什么?Android系统每个16ms发出VSYNC信号,触发对UI的渲染,要想达到界面流畅,必须实现60fps,也就意味着大多数的操作必须在16ms完成.除了上面界面过于复杂导致渲染不能及转载 2017-03-16 19:47:03 · 321 阅读 · 0 评论 -
Retrofit—okhttp Cache缓存策略
为什么要使用cache?往往我们在请求完一次后,再想请求同样的内容,我们不想再从服务端获取,而是从第一次访问的时候保存下来的数据请求,这样有利于减少访问时间、降低网络负荷。ok,我们知道需求以后,就得看下Cache有哪些东西。http缓存相关头1.Expires (实体标头,HTTP 1.0+)一个GMT时间,试图告知客户端,在此日期内,可以原创 2017-05-12 15:08:04 · 1012 阅读 · 0 评论 -
Android 8.0 新特性及开发指南
背景介绍谷歌2017 I/O开发者大会今年将于5月17-19日在美国加州举办。大会将跟往年一样发布最新的 Android 系统,今年为 Android 8.0。谷歌在今年3 月21日发布 Android 新系统开发者预览版时已给新系统取名为 Android O。自2008 年发布以来, Android 依靠 Google 的生态运作,全球市场份额在2016年底已超过85% 。而近几年依靠原创 2017-08-08 09:54:36 · 360 阅读 · 0 评论 -
单例模式详解
什么是单例模式 所谓单例模式,就是确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例的设计模式。单例模式是最简单的设计模式,也是应用最广的设计模式。一般用于避免产生多个对象消耗过多的资源或者某种类型的对象必须独一无二的情景。单例模式的实现方式(1)饿汉式 单例模式极其简单,仅有一个单例类,并且每个单例都必须有一个无参原创 2017-08-25 13:25:39 · 507 阅读 · 0 评论 -
java内部类和静态内部类
Java 静态内部类作用需要了解2个概念:内部类和静态修饰符static * 首先,用内部类是因为内部类所在的外部类有一定关系,往往2只有该外部类调用此内部类,所以没必要专门创建个类来承载。 * 静态都是用来修饰类的内部成员的,比如静态方法,静态成员变量,它唯一的作用就是随着类的加载(而不是随着对象的产生)而产生,所以可以用类名+静态成员名直接获得。举个例子:Car类有个叫wheel的内部类原创 2017-10-10 17:30:46 · 329 阅读 · 0 评论 -
ARouter使用及源码简析
ARouter是阿里巴巴开源的Android平台中对页面、服务提供路由功能的中间件,提倡的是简单且够用。基本用法1.添加依赖配置android { defaultConfig { ... //此处每一个Module都需要配置,具体原因见下文 javaCompileOptions { annotationProcessorOptions {原创 2017-12-20 11:08:57 · 3327 阅读 · 0 评论 -
LayoutInflater源码简析
关于LayoutInflater的基本用法就不再累述了,本篇主要通过分析inflate()的源码搞清几个参数的作用。首先来看一个Demo,这个Demo很简单就是通过调用LayoutInflater的inflate方法获取一个蓝色背景的TextView并以match_parent的形式添加到一个300dp*100dp的RelativeLayout上,我们传递不同的参数来看一下实现效果之间的差别。原创 2017-12-20 11:25:48 · 303 阅读 · 0 评论 -
OpenGL Es 简单创建和使用
Android 第一个OpenGL ES程序 在你的Android应用中用OpenGL ES绘制图形,首先需要有一个容器,最直接的方法是实现GLSurfaceView 和 GLSurfaceView.Renderer。 前者是一个放置图形的View容器,后者用来控制在这个View中如何进行绘制。 GLSurfaceView只是一种选择,比较适合于全屏绘原创 2017-03-14 09:46:06 · 734 阅读 · 0 评论 -
解决 Android N 上 报错:android.os.FileUriExposedException
解决 Android N 上 安装Apk时报错:android.os.FileUriExposedException: file:///storage/emulated/0/Download/appName-2.3.0.apk exposed beyond app through Intent.getData()1、在AndroidManifest.xml中添加如下代码原创 2017-03-12 16:13:58 · 377 阅读 · 0 评论 -
Retrofit2.0介绍使用封装
前言时至今日,Android的网络框架不再像之前那么到处都是,随着Google把 HttpClient直接删掉,似乎意味着Android越来越成熟。网络框架中的佼佼者Volley也不再那么光鲜,取而代之的是 Retrofit 和 okHttp。 感觉很像 OnePiece 中白胡子的离去象征着时代的变革,新时代的开始,多弗的垮台象征着七武海制度的取缔一样,不会使用Retrofit原创 2017-02-27 09:45:42 · 511 阅读 · 0 评论 -
Timer的缺陷 用ScheduledExecutorService替代
1、Timer管理延时任务的缺陷a、以前在项目中也经常使用定时器,比如每隔一段时间清理项目中的一些垃圾文件,每个一段时间进行数据清洗;然而Timer是存在一些缺陷的,因为Timer在执行定时任务时只会创建一个线程,所以如果存在多个任务,且任务时间过长,超过了两个任务的间隔时间,会发生一些缺陷:下面看例子:Timer的源码:[java] view plai转载 2017-02-17 16:33:03 · 199 阅读 · 0 评论 -
腾讯X5内核的集成和使用
先看看什么地方用到了这个内核:TBS(腾讯浏览服务)的优势1)速度快:相比系统WebView的网页加载速度有近30%的提升2)省流量:云端优化技术使流量节省20%3)更安全:24小时安全问题解决机制4)更稳定:经过亿级用户的使用考验,CRASH率0.15%5)集成强大的视频播放器,支持各种视频格式直接打开6)适屏排版、字体设置等浏览增强功能的提供7)Html5更完整原创 2016-12-01 14:26:25 · 4649 阅读 · 0 评论 -
基于Xposed的一款脱壳神器ZjDroid工具原理解析
一、前言本文将介绍Xposed框架实现应用的简单脱壳,其实说是Xposed的作用其实也不是,主要是模块编写的好就可以了,主要是利用Xposed的牛逼Hook技术实现的,下面就先来介绍一下这个脱壳模块工具ZjDroid的原理,因为他是开源的,所以咋们直接分析源码即可,源码的下载地址:https://github.com/halfkiss/ZjDroid 不过可惜的时候他只公开了Java层的代原创 2017-02-28 09:51:34 · 3590 阅读 · 0 评论 -
Android 常用炫酷控件(开源项目)git地址汇总
第一部分 个性化控件(View)主要介绍那些不错个性化的 View,包括 ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar、TextView、ScrollView、TimeView、TipView、FlipView、ColorPickView、GraphView、UI Style 等等。转载 2017-02-18 17:49:44 · 1576 阅读 · 0 评论 -
从Imageview中获取bitmap
从Imageview中获取bitmap的方式好几种,这是其中一种有效的方式一:通过ImageView获取drawable对象Drawable drawable = imageView.getDrawable();Bitmap bitmap = getBitmap(drawable);二:通过drawable获取bitmap private Bitmap getBitm原创 2017-03-01 11:10:08 · 7982 阅读 · 0 评论 -
Android教你如何用程序“手绘”女友
先上图:nancy.gif点子来自于一次情人节的礼物思考,想着能不能不俗套的去送花发红包之类的,再加上妹子也是做技术的,所以就想着搞了一个这个。 这个效果的原理是基于PathView的,可是PathView并不能满足我的需求,于是乎我就开始下手自己修改了。 下面我会一边分析PathView的实现过程,一边描述我是如何修改的(GIF图很多小心流量)转载 2017-02-21 15:50:44 · 606 阅读 · 0 评论 -
Android5,6,7,8新特性
Android 5.0API级别:211. Android Runtime(ART)大多数 Android 应用无需任何更改就可以在 ART 下工作。不过,部分适合 Dalvik 的技术并不适用于 ART。如需了解有关最重要问题的信息,请参阅在 Android Runtime (ART) 上验证应用行为。如存在以下情况,应特别注意:您的应用使用 Java 原生接口 (JNI) 运行原创 2017-02-22 09:53:54 · 5602 阅读 · 0 评论 -
Android技术汇总
目录多媒体编程图片加载库图片处理库图片加载相关博文图片处理相关博文视频相关-马上到来网络编程网络加载框架网络加载相关博文数据处理数据解析/序列化数据库ORM自定义控件开发辅助综合开发框架其他三方测试相关注:加星号*的为重点推荐脑图地址: 戳这里多媒体编程图片加载库转载 2017-02-16 10:20:06 · 370 阅读 · 0 评论 -
5分钟教你做一个WebView广告过滤器
先来看看效果 这站做的好,满满的广告,许多浏览器都有广告屏蔽功能,实现方式也各不相同,今天我们就来实战下怎么样把这些烦人的广告都干掉。这里讲的是webview里面的广告,所以我们从网页来分析这个页面。 (1)广告的加载过程 通过这张图我们能发现网页加载过程是加载js,css,html,以及图片等等一些列的东西,每一个操作都是一个请求,同理,要想加载一个广告那么就必须请求广告。请求广告的原创 2017-12-26 15:16:39 · 6494 阅读 · 1 评论