自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

江湖夜雨十年灯

天地悠悠,长风破浪会有时

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

转载 Java的动态代理(dynamic proxy)

什么是动态代理(dynamic proxy)动态代理(以下称代理),利用Java的反射技术(Java Reflection),在运行时创建一个实现某些给定接口的新类(也称“动态代理类”)及其实例(对象)(Using Java Reflection to create dynamic implementations of interfaces at runtime)。代理的是接口(Int

2017-03-26 21:10:18 548

转载 Android学习之RecyclerView带刺的玫瑰

上述小诗先逗比一下,接下来切入正题;自从RecyclerView的诞生起,人们就为她贴上了高贵的标签;她灵活华丽高度可定制,而另一边ListView确已是明日黄花;人们趋之若鹜的奔向了RecyclerView赞美她吹捧她似乎一切的一切都尽在他们的掌握中;各大技术论坛开始讲解RecyclerView是多么的好用;于是乎我也加入了使用RecyclerView的行列中,哦不!是混入了;初识Rec

2017-03-26 21:09:05 753

转载 委派模式(Delegate)

委派模式(Delegate)是面向对象设计模式中常用的一种模式。这种模式的原理为类B和类A是两个互相没有任何关系的类,B具有和A一模一样的方法和属性;并且调用B中的方法,属性就是调用A中同名的方法和属性。B好像就是一个受A授权委托的中介。第三方的代码不需要知道A的存在,也不需要和A发生直接的联系,通过B就可以直接使用A的功能,这样既能够使用到A的各种公能,又能够很好的将A保护起来了。一举两得,岂不

2017-03-26 21:06:57 669

转载 如何通过反射来创建对象?getConstructor()和getDeclaredConstructor()区别?

1. 通过类对象调用newInstance()方法,适用于无参构造方法:   例如:String.class.newInstance() 1 public class Solution { 2 3 public static void main(String[] args) throws Exception { 4 5 Solution so

2017-03-22 14:11:06 20844 2

转载 Java Object对象之clone方法

克隆的目的:快速创建一个已有对象的副本。克隆的步骤:创建一个对象将原有对象的数据导入到新创建的数据中1. Object的clone()源代码简介[java] view plain copy /**  * Creates and returns a copy of this {@code Object

2017-03-15 17:04:17 420

转载 那些年,我们一起写过的“单例模式”

题记度娘上对设计模式(Design pattern)的定义是:“一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。”它由著名的“四人帮”,又称 GOF (即 Gang of Four),在《设计模式》(《Design Patterns: Elements of Reusable Object-Oriented Software》)一书中提升到理论高度,并将之规范化。在我看来

2017-03-15 15:46:57 669

原创 自定义view控件

1.组合控件 继承Layout (如RelativeLayout),加载布局,获取控件,添加自定义点击事件,2. 自绘控件在控件的初始化时候,初始化画笔,Rect边界和控件的点击事件;在onDraw中用画布去绘制样式;还可以自定义onTouch点击事件,postInvalidate()去重绘接着就可以在layout布局中去写调用这个自定义的view了。3

2017-02-17 14:24:37 237

转载 美团大众点评 Hybrid 化建设

上周末,精神哥去参加了好友小青在北京办的T沙龙,探讨移动端热更新相关的话题。Bugly曾为大家介绍过不少腾讯内部的热更新的框架,正好这次看到了美团,去哪儿以及微博同学在应用热更新方面的实践,整理出来发给大家,本周整理的是美团大众点评的吴卓同学分享的分享的 美团 Hybrid 化建设,其他的内容也会在后面陆续放出。Hybrid 是移动端热更新最常用的手段,限于 App Store

2017-02-13 14:20:49 721

转载 多线程开发(二)-Thread、 Looper与Handler关系解密

第3节 Handler多个线程之间除了有“执行的同步”关系,还有“数据的共享”关系,以及“功能的委托”关系。例如之前提到的视频信息显示到列表上,委托数据查询功能:主线程启动一个工作线程thread-查询视频信息;委托数据的界面更新功能:工作线程查询完成后,因为不能够修改界面元素,所以必须将结果通知到主线程,委托主线程将结果的结果显示到界面上。为此,Android S

2017-02-10 15:40:55 898

转载 2016年未面试题汇总

Android基础View的绘制流程;自定义View如何考虑机型适配;自定义View的事件分发机制;View和ViewGroup分别有哪些事件分发相关的回调方法;自定义View如何提供获取View属性的接口;Art和Dalvik对比;虚拟机原理,如何自己设计一个虚拟机(内存管理,类加载,双亲委派);JVM内存模型及类加载机制;内存对象的循环引用及避免内存

2017-02-07 16:28:05 303

转载 Android 一张图片(BitMap)占用内存的计算 图片内存优化

在Android开发中,我现在发现很多人还不会对图片占用内存进行很好的计算。因此撰写该博文来做介绍,期望达到抛砖引玉的作用。Android中一张图片(BitMap)占用的内存主要和以下几个因数有关:图片长度,图片宽度,单位像素占用的字节数。 一张图片(BitMap)占用的内存=图片长度*图片宽度*单位像素占用的字节数 注:图片长度和图片宽度的单位是像素。 图片(BitMap)占用的内存

2017-02-07 16:07:26 338

原创 使用Android 5.0的Camera v2拍照

Android 5.0对拍照API进行了全新的设计,新增了全新设计的Camera v2 API,这些API不仅大幅提高了Android系统拍照的功能,还能支持RAW照片输出,甚至允许程序调整相机的对焦模式、曝光模式、快门等。Android 5.0的Camera v2主要涉及如下API。Ø CameraManager:摄像头管理器。这是一个全新的系统管

2017-01-15 18:55:25 1184

原创 zxing 二维码扫描心得

1. CaptureActivityHandler初始化后,开始进入消息循环,一直到解析图片的result不为空,消息循环队列停止2.CameraManager2.PreviewCallback3.DecodeHandler

2017-01-07 17:40:18 415

转载 [Android]利用run-as命令在不root情况下读取data下面的数据

正文  一、关键步骤  主要是run-as命令:  over@over-ThinkPad-R52:~$ adb shell  $ run-as com.package  $ cd /data/data/com.package  $ ls  databases  lib  $ cd databases  $ ls  preferences.db

2017-01-04 17:49:08 2149

原创 一个app的程序是怎么启动的

2016-12-29 11:34:15 591

转载 《28岁未成年》--- 写给程序猿

前段时间看了这场电影,之前没有听说过任何相关内容,完全是冲着名字去的。这部电影具体怎么样就不评价了 毕竟一千个人眼中有一千个哈姆雷特,咳,但可能其中600个都有点磕碜,不过王大陆还是很帅气的。虽然过了这么久 但片末的一句话让我印象深刻,作为文章的开头。原文记不清了,大概意思是17岁的你从未离开过,找回原来的你,还是可以无所不能的      “你丫原来是走鸡汤路线的?

2016-12-29 09:42:28 602

原创 Fragment正规写法,不产生漏洞

1.onCreate中默认显示 不保留活动,从后台切到前台后,不需要去重复创建,系统会自动帮你创建(避免重复创建fragment实例)2.FragmentManager负责activity中的fragment的存储管理 FragmentTransaction负责activity中的fragment的事务操作 如果FragmentManager中已经存储了要显示的frag

2016-12-20 11:49:04 350

转载 用树型模型管理App数字和红点提示

我们平常接触到的大部分App,在收到新消息的时候一般都会以数字或红点的形式提示出来。比如在微信当中,当某位好友给我们发来新的聊天消息的时候,在相应的会话上就会有一个数字来表示未读消息的数目;再比如当微信朋友圈里有人发布新的内容时,朋友圈的入口就会出现一个红点,而当朋友圈里有人给我们点了赞,或者对我们发布的内容进行了评论的时候,朋友圈的入口就会显示一个数字。但是,我们在试用一些新的App产品

2016-12-08 15:55:01 1633

转载 Android开发中高效的数据结构用SparseArray代替HashMap

####Android开发中高效的数据结构android开发中,在java2ee或者android中常用的数据结构有Map,List,Set,但android作为移动平台,有些api(很多都是效率问题)显然不够理想,本着造更好轮子的精神,android团队编写了自己的api用来代替java api1、SimpleArrayMap与ArrayMap实质上ArrayMap继承自Si

2016-11-14 18:20:54 301

转载 Handling App Links

参考https://developer.android.com/about/versions/marshmallow/android-6.0.html 参考https://developer.android.com/training/app-links/index.html当我们在应用中点击一个链接,通常会提示我们选择合适的浏览器或者app去打开它。 从Android6.0开始,你

2016-10-18 14:37:38 714

转载 Android M App Links: 实现, 缺陷以及解决办法

在上次的I/O大会上,谷歌宣布了Android M 支持app链接(App Links),谷歌正在不遗余力的推动深度链接(deep linking)。这将对Android M的用户体验造成深远的积极影响,用户点击一个web链接就能直接跳转到app。在Android M之前,点击一个链接会产生一个弹出框,询问用户打开哪个应用 - 包括浏览器应用。但是谷歌在Android M 实现了一个自动认

2016-10-17 16:20:25 1467

转载 Glide优势与特点

什么是Glide?Glide是一个加载图片的库,作者是bumptech,它是在泰国举行的google 开发者论坛上google为我们介绍的,这个库被广泛的运用在google的开源项目中。Glide解决什么问题?Glide是一个非常成熟的图片加载库,他可以从多个源加载图片,如:网路,本地,Uri等,更重要的是他内部封装了非常好的缓存机制并且在处理图片的时候能保持一个低的内存消

2016-09-30 09:29:28 461

转载 git 解决fatal: Not a git repository

我用git add file添加文件时出现这样错误:fatal: Not a git repository (or any of the parent directories): .git提示说没有.git这样一个目录,解决办法如下:git init就可以了!当一个人找不到出路的时候,最好的办法就是将当前能做好的事情做到极致,做到无人能及。

2016-09-18 09:26:32 209584 19

转载 关于fragment点击能穿透问题

本人在做项目的过程中遇到的这个问题,然后就在网上百度了一下,之后也是在csdn上看到博友发过此类问题的解决办法,所以特此重新总结一下,顺便也给自己提个醒,避免出现此类问题。好!下面我们说一下问题:举例:当我们建立一个fragment A的时候需要点击跳转到fragment B中,为了返回时不重新加载fragment A所以我们会使用add的方法来讲fragment A加入到后退

2016-09-12 14:48:44 284

原创 列表图片等分

1.新建一个计算图片高度的类public class NewRatioImageView extends ImageView { private float mRatio; public NewRatioImageView(Context context) { super(context); } public NewRatioImageVi

2016-09-06 18:04:33 419

转载 Glide 源码解析

泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫 Glide 的图片加载库,作者是bumptech。这个库被广泛的运用在google的开源项目中,包括2014年google I/O大会上发布的官方app。Glide和Picasso使用上有90%的相似度,但是内部实现机制有很大区别 Glide介绍。1.主要特点(1)支持Memory和Disk图片缓存。(2)支持gif和web

2016-08-22 10:22:35 280

转载 Android ORM 框架之 greenDAO 使用心得

原文:http://itangqi.me/android/using-greendao-experience/ 前言我相信,在平时的开发过程中,大家一定会或多或少地接触到 SQLite。然而在使用它时,我们往往需要做许多额外的工作,像编写 SQL 语句与解析查询结果等。所以,适用于 Android 的ORM 框架也就孕育而生了,现在市面上主流的框架有 OrmLite、Sugar

2016-08-18 09:33:26 266

转载 adb操作命令详解及大全

adb是什么?:adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具。adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行

2016-08-15 16:30:34 380

转载 Android 弹簧动画效果

一、概述Rebound 通过胡克定律,实现的一个类似“弹簧”动画效果的第三方工具包,由FaceBook退出,于2013年10月正式发布,旨在解决笨重、缓慢的传统移动网络界面。先上几张效果图:                        特点:Rebound 可以使你的动画看起来像真实自然,像真实世界物理运动Rebound 不是一个物

2016-08-15 15:45:32 2289 1

转载 Rebound-Android的弹簧动画库

Rebound是facebook出品的一个弹簧动画库,与之对应的iOS版本有一个pop动画库,也是非常的强大给力。Facebook真是互联网企业中的楷模,开源了很多的实用开源库,大赞一个!!!讲解Rebound之前,先看看我们根据Rebound高仿的新浪微博弹出菜单,看效果图:话说回来,facebook为啥推出这个库呢?主要就是现有的动画离真实物理世界差别比较明显,为了让动

2016-08-15 15:38:06 589

转载 浅谈Future

Future到底是什么东西?很多人都对这个东西感到特别奇怪(好吧,我承认,那个很多人就只是我自己而已),就我现在的理解,因为本人在并发这方面没有多少实践经验,所以只好就着一些资料和自己的理解给它下个定义,Future就是保存我们任务的完成信息,比如说,任务中会通过返回某些东西告诉别人它已经结束了,而Future中就保存了这种信息。利用Futu保存和得到任务的结果的用法如下: 

2016-08-09 11:41:28 423

转载 转 展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告

展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告 走过的路,回忆起来是那么曲折,把自己的一些心得体会分享给程序员兄弟姐妹们,虽然时代在变化,但是很可能你也会走我已经做过的10年的路程,有些心得体会你可以借鉴一下,觉得说得有道理的你就接纳,觉得说得没道理的,你就抛弃,以下是我发自内心的,给大家的忠告,特别是针对那些小弟弟妹妹们。01. 自己的户口档案、养老保险

2016-07-26 16:41:51 243

转载 Handler一定要在主线程实例化吗?new Handler()和new Handler(Looper.getMainLooper())的区别

Handler一定要在主线程实例化吗?new Handler()和new Handler(Looper.getMainLooper())的区别如果你不带参数的实例化:Handler handler = new Handler();那么这个会默认用当前线程的looper一般而言,如果你的Handler是要来刷新操作UI的,那么就需要在主线程下跑。情况:1.要刷新UI,hand

2016-06-20 10:21:10 882

转载 避免Activity内存泄露

在android中context可以作很多操作,但是最主要的功能是加载和访问资源。在android中有两种context,一种是 application context,一种是activity context,通常我们在各种类和方法间传递的是activity context。比如一个activity的onCreate:protected void onCreate(Bundle state

2016-06-15 10:48:48 289

转载 深入理解Android(一):Gradle详解

编者按:随着移动设备硬件能力的提升,Android系统开放的特质开始显现,各种开发的奇技淫巧、黑科技不断涌现,InfoQ特联合《深入理解Android》系列图书作者邓凡平,开设深入理解Android专栏,探索Android从框架到应用开发的奥秘。Gradle是当前非常“劲爆”的构建工具。本篇文章就是专为讲解Gradle而来。介绍Gradle之前,先说点题外话。一、题外话说实

2016-06-13 11:47:44 711

转载 Android Gradle Plugin指南(二)——基本项目

原文地址:http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Basic-Project3、Basic Project(基本项目)一个Gradle项目的构建过程定义在build.gradle文件中,位于项目的根目录下。3.1 Simple build files(简单的构建

2016-06-13 09:25:00 622

转载 Android Gradle Plugin指南(五)——Build Variants(构建变种版本)

6、 Build Variants(构建变种版本) 新构建系统的一个目标就是允许为同一个应用创建不同的版本。这里有两个主要的使用情景:1、同一个应用的不同版本。例如一个免费的版本和一个收费的专业版本。2、同一个应用需要打包成不同的apk以发布Google Play Store。查看http://developer.android.com/google/p

2016-06-13 09:19:58 403

转载 Android批量打包

使用Ant或者Gradle来给程序进行多渠道批量打包,通常都是在manifest文件中写入一个meta标签:meta-data android:name="CHANNEL" android:value="xxx" />meta的key值固定,通过循环改变meta中的value值来实现市场渠道的写入。Ant批量打包实现相对麻烦,以前写的时候多亏了谦虚的天下-《App自动化之使用A

2016-06-12 17:04:07 347

转载 instanceof, isinstance,isAssignableFrom的区别

instanceof运算符 只被用于对象引用变量,检查左边的被测试对象 是不是 右边类或接口的 实例化。如果被测对象是null值,则测试结果总是false。 形象地:自身实例或子类实例 instanceof 自身类  返回true 例: String s=new String("javaisland");       System.out.println(s instanceof St

2016-06-07 14:14:19 260

转载 深入理解Java:注解(Annotation)--注解处理器

如果没有用来读取注解的方法和工作,那么注解也就不会比注释更有用处了。使用注解的过程中,很重要的一部分就是创建于使用注解处理器。Java SE5扩展了反射机制的API,以帮助程序员快速的构造自定义注解处理器。注解处理器类库(java.lang.reflect.AnnotatedElement):  Java使用Annotation接口来代表程序元素前面的注解,该接口是所有Anno

2016-06-07 11:07:14 353

空空如也

空空如也

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

TA关注的人

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