自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (2)
  • 问答 (2)
  • 收藏
  • 关注

转载 EventBus事件优雅地替换Handler

什么是EventBusEventBus是Android下高效的发布/订阅事件总线机制。作用是可以代替传统的Intent,Handler,Broadcast或接口函数在Fragment,Activity,Service,线程之间传递数据,执行方法。特点是代码简洁,是一种发布订阅设计模式(Publish/Subsribe),或称作观察者设计模式。下载EventBus1.

2017-06-29 17:00:30 1096

转载 单例模式的七种写法

定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。单例模式结构图: 单例模式有多种写法各有利弊,现在我们来看看各种模式写法。1. 饿汉模式public class Singleton { private static Singleton instance = new Singleton(); private Singleton

2017-06-29 16:29:18 2524

转载 otto与EventBus对比

otto 是 Square公司发布的一个发布-订阅模式框架,它基于Google Guava 项目中的event bus模块开发,针对Android平台做了优化和加强。虽然Square已经停止了对otto的更新并推荐使用RxJava和RxAndroid来替代它,但是otto的设计理念和源码仍旧值得学习,这一篇先来学习下otto的使用方法。添加依赖库首先配置gradle,如下所

2017-06-29 15:47:21 1184

转载 EventBus3.0用法全解析

EventBus是一款针对Android优化的发布/订阅事件总线。简化了应用程序内各组件间、组件与后台线程间的通信。优点是开销小,代码更优雅,以及将发送者和接收者解耦。如果Activity和Activity进行交互还好说,如果Fragment和Fragment进行交互着实令人头疼,我们会使用广播来处理,但是使用广播稍显麻烦并且效率也不高,如果传递的数据是实体类需要序列化,那么很显然成本会有点高。今

2017-06-29 15:21:40 720

转载 EventBus的四个函数

EventBus还有另外有个不同的函数,他们分别是:1、onEvent2、onEventMainThread3、onEventBackgroundThread4、onEventAsync这四种订阅函数都是使用onEvent开头的,它们的功能稍有不同,在介绍不同之前先介绍两个概念:告知观察者事件发生时通过EventBus.post函数实现,这个过程叫做事件的发布,

2017-06-29 14:57:29 409

转载 EventBus使用

基本使用(1)自定义一个类,可以是空类,比如:[java] view plain copypublic class AnyEventType {       public AnyEventType(){}   }  (2)在要接收消息的页面注册:[java] view pla

2017-06-29 14:54:45 241

转载 Zxing实现工作原理之QRCode

QRCode是被广泛应用的一种二维码,解码速度快。二维码相对于条形码来说,二维码的存储数据量更大,空间利用率高,有一定的容错性。二维码原理介绍:二维码是用某种特定的几何图形按一定的规律在平面上分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙的利用构成计算机内部逻辑基础的0/1比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图像输入设备或光电扫

2017-06-29 14:23:52 8259

原创 Zxing自定义(实际应用中实例)

首先看看部分代码和类ViewfinderView 类 /** * 自定义组件实现,扫描功能 */public final class ViewfinderView extends View { private static final long ANIMATION_DELAY = 100L; private static final int OPAQUE = 0xF

2017-06-29 14:02:40 1037

转载 zxing实现二维码扫描完美解决方案

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

2017-06-29 11:32:29 10875 3

原创 handler.postDelayed循环倒计时

int time = 120; handler.postDelayed(new Runnable() { @Override public void run() { tv_record_time.setText(time + "s");

2017-06-29 11:16:17 1983

原创 高德地图签名

一、创建生成keystore;二、SHA1值的申请;三、高德地图key值申请;四、android studio 打包生成apk;       好了,废话不多说,直接开始图文说明:一、keystore(一)android studio界面找到菜单栏 Build 选择Generate Signed APK  子菜单。 (二

2017-06-26 10:35:08 2724

原创 新闻的离线下载功能仿网易之(二) 带缓存的功能实现

上次是单一频道的离线下载,这次要做更难一点儿的默认频道下载,包括后期的未加载页面的缓存和获取接口如下按照上面的接口解析时处理的比较复杂,相当于自己解析了两层之后再调用的gson解析,看代码private DownNonet downNonetbean; private HttpInstance httpInstance; private List downDetai

2017-06-22 16:56:33 624

原创 Edittext设置身份证输入格式

ad_edit2.setKeyListener(new NumberKeyListener() { @Override public int getInputType() { return android.text.InputType.TYPE_CLASS_PHONE; } @Override protected char[] getA

2017-06-19 14:40:56 1369

转载 Android Widget桌面小部件二

一、Widget设计步骤  需要修改三个XML,一个class:  1.第一个xml是布局XML文件(如:main.xml),是这个widget的。一般来说如果用这个部件显示时间,那就只在这个布局XML中声明一个textview就OK了。  2.第二个xml是widget_provider.xml,主要是用于声明一个appwidget的。其中,Layout就是指定上面那个main.xm

2017-06-15 17:03:23 342

原创 @SuppressLint("NewApi")从何而来

在Android代码中,我们有时会使用比我们在AndroidManifest中设置的android:minSdkVersion版本更高的方法,此时编译器会提示警告,解决方法是在方法上加上@SuppressLint("NewApi")或者@TargetApi()。那他们之间有什么区别呢,很简单,@SuppressLint("NewApi")屏蔽一切新api中才能使用的方法报的andr

2017-06-15 17:01:29 834

转载 osgi框架基础原理与实例一

OSGI(Open Services Gateway Initiative),或者通俗点说JAVA动态模块系统,定义了一套模块应用开发的框架。OSGI容器实现方案如Knopflerfish, Equinox, and Apache Felix允许你把你的应用分成多个功能模块,这样通过依赖管理这些功能会更加方便。和Servlet和EJB规范类似,OSGI规范包含两大块:一个OSGI容器需要实

2017-06-15 16:36:19 18169

转载 App Widget简介案例

1 App Widget简介App Widget是应用程序窗口小部件(Widget)是微型的应用程序视图,它可以被嵌入到其它应用程序中(比如桌面)并接收周期性的更新。你可以通过一个App Widget Provider来发布一个Widget。本文参考Android官方文本,先介绍App Widget的主要组件,然后再以示例来详细说明。  2 App

2017-06-13 17:05:13 399

转载 Android 图片缓存之内存缓存技术LruCache

每当碰到一些大图片的时候,我们如果不对图片进行处理就会报OOM异常,这个问题曾经让我觉得很烦恼,后来终于得到了解决,那么现在就让我和大家一起分享一下吧。这篇博文要讲的图片缓存机制,我接触到的有两钟,一种是软引用,另一种是内存缓存技术。先来看下两者的使用方式,再来作比较。除了加载图片时要用到缓存处理,还有一个比较重要的步骤要做,就是要先压缩图片。1、压缩图片至于要压缩

2017-06-13 14:25:23 316

转载 Android中图片的三级缓存详解

图片的三级缓存机制一般是指应用加载图片的时候,分别去访问内容,文件,网络获取图片的一种行为。一、三级缓存流程图三级缓存流程图二、代码框架搭建这里我仿造 Picasso 的加载图片代码,也做出了with,load,into等方法。2.1 with(context)这个方法传入上下文,返回ImageManager对象。/** * 初

2017-06-13 14:08:50 854

原创 线程池简述

Sun在Java5中,对Java线程的类库做了大量的扩展,其中线程池就是Java5的新特征之一,除了线程池之外,还有很多多线程相关的内容,为多线程的编程带来了极大便利。为了编写高效稳定可靠的多线程程序,线程部分的新增内容显得尤为重要。   有关Java5线程新特征的内容全部在java.util.concurrent下面,里面包含数目众多的接口和类,熟悉这部分API特征是一项艰难的学习过程。

2017-06-12 14:45:16 388 1

转载 Android应用性能优化之使用SparseArray替代HashMap

HashMap是java里比较常用的一个集合类,我比较习惯用来缓存一些处理后的结果。最近在做一个Android项目,在代码中定义这样一个变量,实例化时,Eclipse却给出了一个 performance 警告。sparsearray意思就是说用SparseArray  来替代,以获取更好性能。老实说,对SparseArray并不熟悉,第一感觉应该是Android提供

2017-06-01 13:50:19 250

转载 基于XMPP的即时通讯

一、常见即时通讯实现socketopenfire+asmack环信信鸽融云 二、XMPP优势1. 开放性XMPP协议是自由、开放、公开的,并且易于了解。而且在客户端、服务器、组件、源码库等方面,都已经各自有多种实现。 2.跨平台客户端只要基于XMPP协议,不管是什么平台(包括不同的移动终端)都可以互联互

2017-06-01 10:18:05 5945

Android 开发范例代码大全(第2版).pdf

Android 开发范例代码大全(第2版)包含基础android应用开发中的许多例子,实际操作可靠性非常高,对基础的稳固有很大帮助

2018-06-29

[Android.UI基础教程].Jason.Ostrander.扫描版.pdf

[Android.UI基础教程].Jason.Ostrander.扫描版,关于android的UI设计方面的知识,学习过程的经典书

2018-06-29

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

TA关注的人

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