自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

璀璨灯火一行梦

嗷嗷嗷 ( ⊙ o ⊙ )!

  • 博客(46)
  • 收藏
  • 关注

原创 ExoPlayer利用自定义DataSource实现直接播放AES加密音频

开局一张图 应该都见过ExoPlayer源码浅析ExoPlayer官方文档ExoPlayer GitHub需求与适用范围首先本文的适用范围是使用ExoPlayer框架时,直接解密播放已经经过AES加密过(或者类似需求)的音频或者视频,是利用官方demo内DefaultDataSourceFactory与DefaultDataSource改造而来。有需求就可以继续往下看了0.故事的开始故事的开始还得从

2017-11-14 19:00:07 7137 12

转载 Android MeasureSpec理解

MeasureSpec字面意思为测量的规格,他决定了view的测量过程接下来探讨几个问题来学习MeauseSpec 1. MeasureSpec的构成 2. 如何创建MeasureSpec 3. 默认View的OnMeasure过程中对MeasureSpec的处理一.MeasureSpec的构成M...

2018-06-21 17:32:20 810

转载 OkHttp缓存策略 CaCheInterceptor缓存拦截器

与缓存有关的HeaderExpires Expires: Thu, 12 Jan 2017 11:01:33 GMT 表示到期时间,一般用在response报文中,当超过此时间响应将被认为是无效的而需要网络连接,反之直接使用缓存条件GET 客户端发送条件get请求,如果缓存是有效的,则返回304 Not ...

2018-06-20 10:13:52 1598

原创 Android 利用FileProvider安装apk一定要声明权限,避免当成未知应用被阻止安装

首先看看我们利用FileProvider来安装apk的常规操作 /** * 通过隐式意图调用系统安装程序安装APK */public void install(Context context,File file) { Intent intent = new Intent(Intent.ACTION_VIEW); // 由于没有在Activity环境下启动Activ...

2018-05-15 16:01:39 4019 5

原创 Fuck Google! Fuck Google Play!! Fuck Google Play App Signing!!!!!!

草他妈的 Google Play App Signing! 真tm的是个弱智功能!!! mmp

2018-04-11 10:32:38 9000 1

转载 Android 编码规范说明文档

1. 前言这份文档参考了 Google Java 编程风格规范和 Google 官方 Android 编码风格规范。该文档仅供参考,只要形成一个统一的风格,见量知其意就可。1.1 术语说明在本文档中,除非另有说明: 术语 class 可表示一个普通类,枚举类,接口或是annotation类型(@interface)术语 comment 只用来指代实现的注释(implementation c

2017-09-20 19:31:11 715

转载 Android 深入GreenDao3.0

大家好,在上一篇文章中,我主要介绍了GreenDao3.0的最基本的用法,当然也是最常用的用法,如果你的项目里没有特别复杂的多表关联需求的话,我相信那篇文章的知识点已经足够使用了。但是,如果你是一个求知欲特别强的人或者手上有要在本地创建复杂的数据库需求的话,我相信认真读完本篇文章,你一定会有所收获。好了废话不多说,今天我们来学习下GreenDao的高级用法有哪些吧!阅读本篇文章前你需要对Green

2017-07-12 16:21:01 510

转载 Android GreenDao3.0入门学习

1. 什么是greenDao弄明白greenDao之前我们应该先了解什么是ORM(Object Relation Mapping 即 对象关系映射),说白了就是将面向对象编程语言里的对象与数据库关联起来的一种技术,而greenDao就是实现这种技术之一,所以说greenDao其实就是一种将java object 与SQLite Database关联起来的桥梁,它们之间的关系 如下图所示;green

2017-07-12 16:17:36 421

转载 Retrofit2.0+okhttp3两种缓存方式记录

简介retrofit本身并没有缓存。如果想缓存,它要么必须让retrofit之上的应用层知道你的域和如何缓存事物,或它需要在retrofit之下HTTP client层知道HTTP的语义。OkHttp是由Square发布的一个HTTP client,它支持高速缓存服务器响应的语义。如果服务器的响应具有Cache-Control头,例如,它将被缓存,以便随后的请求可以从高速缓存中的获得之前的资源。因此

2017-07-03 16:32:12 573

转载 Android事件分发理解

原文链接:https://mp.weixin.qq.com/s/rgQrJv8ghXO2HFt5Y5ISqA 有时,你必须要自己处理触摸事件(touch events)而不能依赖于有可用的onSomethingListener。我就遇到过这样的时候,当时我很想有一篇文章能简单地解释触摸事件是怎样在视图层次(view hierarchy)中传播的,从而可以将之作为

2017-06-20 15:31:06 200

转载 Retrofit中https的正确使用

很多文章对客户端https的使用都是很模糊的,不但如此,有些开发者直接从网上拷贝一些使用https的“漏洞”代码,无形之中让客户端处在一种高风险的情况下。今天我们就对有关https使用的问题进行深入的探讨,希望能解决以往的困惑。对于https,需要了解其工作原理的可以参考https是如何工作的?,更多关于https的问题我会站在客户端的角度在后面陆陆续续的写出来。证书锁定 简介首先来说说什么是证书锁

2017-06-08 13:39:32 1137 2

转载 微信小程序中wxml和wxss的样式说明,彻底搞定布局排版

对于css不熟悉的Android程序员来说,开发微信小程序面临的一个比较困难的问题就是界面的排版了。微信小程序的排版就跟wxml和wxss有关了,它们两者相当于android的布局文件,其中wxml指定了界面的框架结构,而wxss指定了界面的框架及元素的显示样式。一、wxml界面结构wxmL比较容易理解,主要是由八大类基础组件构成:一、视图容器(View Container):二、基础内容(B

2017-06-03 14:23:02 76519 3

转载 Android Studio/Gradle 编译加速

已经使用Android Studio进行开发超过一年,随着项目的增大,依赖库的增多,构建速度越来越慢,现在最慢要6分钟才能build一个release的安装包,在网上查找资料,发现可以通过一些配置可以加快速度,这里跟大家分享一下。开启gradle单独的守护进程在下面的目录下面创建gradle.properties文件:/home/<username>/.gradle/ (Linux) /

2017-05-10 09:54:53 543

转载 Android 拼音转汉字的第三方处理

一、前言在我们的开发中,有时会有这样的需求,就是联系人列表按照拼音顺序排列(如通讯录)。于是,我也在网上搜到了许多这类的文章,就两种最常见的做法在此进行简单的比较和分析二、汉字转拼音的方法使用第三方pinyin4j的jar包。下载地址  , Android Studio也可直接依赖 compile ‘com.belerweb:pinyin4j:2.5.0’优点:使用简单,实用性好缺点:需要

2017-03-23 10:54:30 2592 2

转载 Android 6.0动态权限框架EasyPermissions的使用

在6.0下新的权限机制分为两类,Normal Permissions,这类权限是不需要用户授权,不会触及用户的隐私,只需要在manefest里面申请即可;还有一类是Dangerous Permissions,这类权限需要动态的去申请。Normal Permission如下:[java] view plain copy print?android.permission.ACCESS_LOCATION

2017-03-08 14:21:10 6523 1

转载 Android 隐藏键盘

1、方法一(如果输入法在窗口上已经显示,则隐藏,反之则显示)[java] view plain copy print?InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);  imm.toggleSoftInput(0, InputMethodManager.HIDE

2017-03-06 15:02:24 241

转载 android动画 通过动画布局声明文件和关联文件为容器布局----布局动画

先上图:当然,在这里你是无法看到动态的动画效果的,当然如果你将笔者的代码运行,自然是可以看到动画效果的。这里的效果是说,当我们的list中的每一项最终显示为上图中的样子前展示给我们的动画效果。让我们看看activity代码:[java] view plain copy print?package cn.com.chenzheng_java.animation;    import <a href

2017-02-15 10:01:27 442

转载 android动画 通过AnimationDrawable控制逐帧动画

Android与逐帧动画:效果图:当我们点击按钮时,该图片会不停的旋转,当再次点击按钮时,会停止在当前的状态。 activity代码:[java] view plain copy print?package cn.com.chenzheng_java.animation;    import android.app.Activity;  import android.graphics.dra

2017-02-14 17:41:02 639

转载 Android5.0 透明状态栏

实现上述效果的代码如下:[java] view plain copy print?public class MainActivity extends Activity {            @SuppressLint(“InlinedApi”)      @Override      protected void onCreate(Bundle savedInstanceState) {

2017-01-19 14:26:52 230

转载 Android Data Binding(转)

1)介绍这篇文章介绍了如何使用Data Binding库来写声明的layouts文件,并且用最少的代码来绑定你的app逻辑和layouts文件。Data Binding库不仅灵活而且广泛兼容- 它是一个support库,因此你可以在所有的Android平台最低能到Android 2.1(API等级7+)上使用它。需求:Android Plugin for Gradle 1.5.0-alpha1

2017-01-18 10:24:42 342

转载 Android 时间工具类 时间戳与日期间的各种互换

[java] view plain copy print?package com.pts.peoplehui.utils;    import java.text.SimpleDateFormat;  import java.util.Calendar;  import java.util.Date;  import java.util.Locale;    public class DateUti

2017-01-12 11:06:35 323

转载 Android计时与倒计时的几种方法

方法一Timer与TimerTask(Java实现)[java] view plain copy print?public class timerTask extends Activity{           private int recLen = 11;        private TextView txtView;        Timer timer = new Timer();

2017-01-10 10:41:42 504

转载 Glide 的图片加载的使用

导入Picasso和Glide都在jcenter上。在项目中添加依赖非常简单:Picassodependencies { compile 'com.squareup.picasso:picasso:2.5.1' } Glide dependencies { compile 'com.github.bumptech.glide:glide:3.5.2'

2017-01-09 17:23:47 523

转载 Android WebView与JavaScript的交互使用

由于现如今H5的热门,做过不少与H5的交互工作了,现在总结一下。初始化WebView /** * 初始化WebView */ private void initWebView() { // 设置setWebChromeClient对象 mWb_main.setWebChromeClient(new WebChromeClient() {

2016-12-21 10:15:12 393

转载 调用百度和高德地图导航,好用

导航百度方式private void openBaiduMap(double lon, double lat, String title, String describle) { try { StringBuilder loc = new StringBuilder(); loc.append(“intent://map/directio

2016-12-17 11:39:10 675

转载 在Fragment中重写返回键以让WebView使用返回功能

首先我是实现一个PagerView的页面滑动效果,并在里面添加了两个Fragment当作子页面。其中一个Fragment中使用WebView显示网页。于是遇到了这样的问题: 1、使用网页的时候,从一个页面跳到另一个页面,当想返回上一个页面时,点击返回按钮,应用直接就退出了。2、解决问题1之后,WebView加载了一个重定向的页面,点击返回按钮页面无法正常返回,多次点击才能返回。问题1:

2016-12-15 16:00:14 2702

转载 Android view的各属性大全

Android:alpha       setAlpha(float)     设置alpha属性 0-1 完全透明到不透明android:backgroud                             背景android:clickable                               是否回应点击事件android:contentDescription    se

2016-12-13 11:07:12 666

转载 Android中MD5加密加盐

MD5加密不加盐方法:MD5是一个安全的散列算法(Hash Functions),是哈希算法中的一种,输入两个不同的明文不会得到相同的输出值。根据密文不能得到明文,其过程不可逆,也就是MD5只能用于加密认证,密文是无法解密。代码:[java] view plain copy print?public String md5(String str) {          MessageDigest me

2016-12-12 15:23:08 1765

转载 Android 6.0权限管理,sdk>=23的请求权限

如果APP运行在Android 6.0或以上版本的手机,并且target sdk>=23,那么在使用一些相对敏感的权限时,需要征求用户的许可。比如读写sdcard,摄像,联系人信息等。 如图所示: android 6.0发布几个月之后,升级率很低,很少应用会使用sdk23编译项目,如果要编译,就必须了解request权限的一些事。一,Android 6.0 运行时权限Android 6.0不

2016-12-05 14:16:04 1436

转载 Glide加载图片并保存到本地返回file,bitmap

不废话,直接上代码 [java] view plain copy print?import android.content.Context;  import android.content.Intent;  import android.graphics.Bitmap;  import android.net.Uri;    import com.baguanv.jinba.utils.Const;

2016-12-03 09:22:17 23149

转载 Google Zxing实现二维码扫描的解决方案

最近因项目需求,需要在App中集成二维码扫描的功能。网上找了很多资料,最后决定使用Google的zxing来实现。实现的过程遇到了很多的坑,也是因为这些坑在网上没有具体的解决方案,今天就把我的实现过程分享给大家。我会分为两步来和大家分享:(1)项目中如何集成zxing(2)如何修改取景框的样式(3)总结填坑1.项目中集成zxing在项目中集成zxing,网上有很多的教程也说的比较详细了,

2016-11-28 14:08:07 388

转载 Glide动态加载圆形图片和圆角图片

最新消息,鼎鼎大名的Yelp应用也转投Glide的阵营了,而且Glide在跟Listview的配合起来非常的顺畅,Glide除了配置简单,还可以本地缓存图片,也可以实现Listview图片的提前预加载,使得listview的更加的顺滑,具体可以查看Yelp的那篇博文。但是如果碰到要把加载下来的图片转成圆角或者圆形的图片,怎么处理呢,Glide原生没有这个方法,于是我拓展了BitmapTransfor

2016-11-25 16:39:37 364

转载 Android CoordinatorLayout解析

一、CoordinatorLayout有什么作用CoordinatorLayout作为“super-powered FrameLayout”基本实现两个功能: 1、作为顶层布局 2、调度协调子布局CoordinatorLayout使用新的思路通过协调调度子布局的形式实现触摸影响布局的形式产生动画效果。CoordinatorLayout通过设置子View的 Behaviors来调度子View。系统

2016-11-23 16:33:47 290

转载 Android中的缩略图加载的内存优化策略

本文链接    http://blog.csdn.net/xiaodongrush/article/details/293556511. Why,为什么要加载缩略图?    有的时候不需要展示原图,只需展示图片的缩略图,可以节省内存。比如:网易新闻中的图片浏览,左边展示的小狮子图片就是一个缩略图,点击这个图片,才会展示原图。        2. How,怎么做呢?     http://d

2016-11-21 15:57:46 466

转载 Android照相、相册获取图片剪裁报错的解决方案

最近在项目中用到了照相和相册取图剪裁上传头像,就在网上逛了逛,基本都是千篇一律,就弄下来用了用,没想到的是各种各样的奇葩问题就出现了。先给大家看看代码问题慢慢来解决这是调用相机 ?12345678910public static File getImageFromCamer(Context context, File cameraFile,        int REQUE_CODE_CAME

2016-11-21 15:43:40 324

转载 Android中com.android.camera.action.CROP(图片裁剪)所有属性解释

Exta Options Table for image/* crop: 附加选项 数据类型 描述 crop String 发送裁剪信号 aspectX int X方向上的比例 aspectY int Y方向上的比例 outputX int 裁剪区的宽 outputY int 裁剪区的高

2016-11-21 15:41:58 3001

转载 简单实现recyclerview禁止滑动

LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false) {          @Override          public boolean canScrollVertically() {

2016-11-21 15:04:38 2090

转载 老司机的RxJava使用场景总结

取数据先检查缓存的场景取数据,首先检查内存是否有缓存 然后检查文件缓存中是否有 最后才从网络中取 前面任何一个条件满足,就不会执行后面的final Observable<String> memory = Observable.create(new Observable.OnSubscribe<String>() { @Override public void call(S

2016-11-19 09:43:24 327

转载 OkHttp解读,好好看好好学

转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/47911083; 本文出自:【张鸿洋的博客】一、概述最近在群里听到各种讨论okhttp的话题,可见okhttp的口碑相当好了。再加上Google貌似在6.0版本里面删除了HttpClient相关API,对于这个行为不做评价。为了更好的在应对网络访问,学习下okhttp

2016-11-18 17:28:07 714

转载 Google官方MVP翻译示例之TODO-MVP

Google官方MVP示例之TODO-MVP欢迎转载,转载请注明源地址:http://blog.csdn.net/lavor_zl/article/details/51180537,谢谢TODO-MVP介绍(翻译自官方文档)摘要这个示例是众多的变体示例的基础。它展示了一个没有使用架构框架的MVP模型的简单实现。它使用人工依赖注入为仓库提供本地和远程数据源。异步任务用回调处理。 注意:在一个MVP环

2016-11-15 10:02:38 776

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除