自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

编程是一门艺术

遇到问题要思考

原创 语录

思维一定要活,想不通的时候试着换个方向想。人们在遇到新的问题时常常希望通过借比和类比找到解决问题的方法。人工智能发展了十年最终才放弃语义分析学而改用统计学,如果不是莱特基于空气动力学发明了飞机,可能现在的飞行器研究者还在讨论该模仿鸟儿还是模仿蜻蜓。由此可知通过借比和类比不是不能找到解决问题的办法,...

2013-11-07 10:52:34 1348 0

转载 Android开发规范之编码规范

1,java代码中不出现中文,最多注释中可以出现中文,中文统一写在strings.xml中; 2,局部变量命名、静态成员变量命名 只能包含字母,单词首字母大写,其他字母都为小写 3,常量命名只能包含字母和_,字母全部大写,单词之间用_隔开 4,布局文件中的id命名 命名模式为:view缩写...

2012-08-28 18:15:09 13594 2

转载 Android开发性能优化简介

这篇文章来自北京大学Android研究实验室,不得不说写的真是好,没给PKU丢脸~ ============================================================== 作者:贺小令        随着技术的发展,智能手机硬件配置越来越高,可是它和...

2012-06-16 22:31:18 4768 3

原创 Android插件化开发 第五篇 [360 Droid Plugin]

引言上篇文章为止我们有完整的介绍Android插件开发的流程。简单的回顾一下就是通过系统的ClassLoader加载插件apk里的方法,通过反射与插件交互。说起来容易实现起来却是一步一个坑,所以这篇文章起我们会了解一下目前网上流行的开源插件库。本文介绍DroidPlugin,它是360手机助手团队...

2016-02-26 17:46:35 8753 7

原创 Android插件化开发 第四篇 [加载插件Activity]

引言上篇文章我们有介绍如何获取插件的Resource加载其资源,例子支持加载res文件夹下的素材资源例如动画、图片、布局、字符串等,本篇文章介绍宿主如何跳转到插件的Activity。跳转到插件的Activity方法比较多,但是目前为止都是一件挺复杂的事儿。常见的方法有宿主代理Activity模式和...

2016-02-25 17:00:00 4180 0

原创 Android插件化开发 第三篇 [加载插件资源]

引言本文讲解宿主如何从插件apk中获取到资源,为啥要从插件中获取资源呢?这种需求可能来自于显示插件的名字啊,图标之类的。比如宿主的一个按键上显示“扫一扫”或者”摇一摇”之类的,这个字符串是插件提供的。Demo创建引入插件的AssetManagerprivate static AssetManage...

2016-02-24 16:44:54 3884 0

原创 Android插件化开发 第二篇 [动态加载apk优化]

引言上篇文章我们有提到过ClassLoader类加载器,通过学习了解到系统提供的类加载器有* PathClassLoader*和* DexClassLoader*两种。它们的不同之处是: * PathClassLoader只能加载系统/data/data/包名目录下的apk; * DexCla...

2016-02-24 14:05:44 3093 1

原创 Android插件化开发 第一篇 [动态加载apk]

引言随着应用版本的不断迭代,App变得非常庞大而臃肿。新需求接踵而至,旧需求废弃无用而占着空间,工程变得混乱。虽然会采用不同的包名隔离开各个需求模块,但是往往还是觉得如果需求能像插件一样分模块,需要的时候插上去,废弃的时候拔下来就好了。携程开源了其插件化开发框架(携程插件化开发框架),接下来我会学...

2016-02-24 11:34:44 6636 0

原创 android-gif-drawable 无效 失效 不能用 not working

项目之前一直使用android-gif-drawable加载GIF图片,一切正常。最近突然发现不能自动播放GIF了,检查了一整天的代码都没找到原因。 从官网下载Demo却可以正常运行,一旦把代码整合到我们的工程里就不能运行了。 折腾了一天之后终于发现工程本地库里面莫名其妙的升级成了“1.1.1...

2016-01-01 20:11:03 1492 0

转载 Java(Android)线程池

http://www.trinea.cn/android/java-android-thread-pool/ 介绍new Thread的弊端及Java四种线程池的使用,对Android同样适用。本文是基础篇,后面会分享下线程池一些高级功能。 1、new Thread的弊端 执...

2015-12-07 12:02:56 792 0

转载 移动端网络优化

http://www.trinea.cn/android/mobile-performance-optimization/ 一个网络请求可以简单分为连接服务器 -> 获取数据两个部分。 其中连接服务器前还包括 DNS 解析的过程;获取数据后可能会对数据进行缓存。   ...

2015-12-07 11:32:48 737 0

转载 codepath教程:浮动操作按钮详解

http://www.open-open.com/lib/view/open1437207632162.html 原文:Floating Action Buttons  概览 浮动操作按钮 (简称 FAB) 是: “一个特殊的promoted操作案例。因为一个浮动在UI之上的...

2015-10-12 18:05:40 1186 0

原创 RecyclerView 拖动才刷新内容

RecyclerView 拖动才刷新内容遇到问题是在ViewPager中的某个RecyclerView明明在UI线程调用了它的adapter.notifydatasetchanged()方法,但是UI就是没有刷新,且用手指拖动界面之后其才会刷新。 这个问题常见于内存消耗比较大,貌似Fragme...

2015-07-22 11:33:49 3699 3

原创 Android Camera遇到的坑

拍照后onPictureTaken()不能回调在小米手机3上发现正常运行的程序拍照无法正常回调,且点击拍照按钮后会停留在最后拍照的界面,且日志里不会有任何报错信息。经排查发现是初始化相机的时候设置了setPictureSize()导致的。奇怪的是系统相机一切正常,且可以用硬件最大分辨率,可是我的代...

2015-04-01 16:24:38 1951 0

原创 Android 实现遮罩

关键方法paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));说明canvas原有的图可以理解为Dst新画上去的前景图可以理解为SreMode值如下图一般用法Canvas canvas = new Canvas(bitm...

2015-03-25 12:07:31 15471 1

转载 Java容器总结

http://www.bysocket.com/?p=162#0-tsina-1-86659-397232819ff9a47a7b7e80a40613cfe1 Vector和ArrayList       1,vector是线程同步的,所以它也是线程安全的,而arraylist是线...

2015-03-24 10:23:53 723 0

原创 Markdown 语法的简要规则

标题 标题是每篇文章都需要也是最常用的格式,在 Markdown 中,如果一段文字被定义为标题,只要在这段文字前加 # 号即可。 # 一级标题 ## 二级标题 ### 三级标题 以此类推,总共六级标题,建议在井号后加一个空格,这是最标准的 Mark...

2015-03-12 19:28:20 1235 0

原创 在AndoridStudio中引入GreenDAO

在AndoridStudio中引入GreenDAOGreenDAO整个运行的逻辑是通过配置其提供的JavaSE代码,自动在一个文件夹下生成需要Bean、DAO、DaoMaster、DaoSession;然后在Android代码中通过创建DaoSession来操作数据库,具体方法如下:1.配置工程在...

2015-02-06 16:40:23 27158 22

转载 Android Studio Tips Of the Day - Roundup #3

http://www.developerphil.com/android-studio-tips-of-the-day-roundup-3/ This is the third roundup of my Android Studio Daily Tips that I post...

2015-02-02 14:04:49 1172 0

转载 Android Studio Tips Of the Day - Roundup #2

http://www.developerphil.com/android-studio-tips-of-the-day-roundup-2/ This is the second roundup of my Android Studio Daily Tips that I pos...

2015-02-02 11:55:43 1103 0

转载 Android Studio Tips Of the Day - Roundup #1

http://www.developerphil.com/android-studio-tips-of-the-day-roundup-1/ Turns out that I am not that good at keeping a commitment. The previous p...

2015-02-02 09:44:26 2256 0

转载 用TextureView实现视频录制

https://android.googlesource.com/platform/development/+/4b737b6/samples/browseable/MediaRecorder/src/com.example.android.mediarecorder/MainActivity.j...

2015-01-29 10:58:40 6712 0

原创 操蛋的百度地图SDK onReceiveLocation收不到回调

之前项目应为用百度地图各种操蛋,所以放弃使用百度地图SDK改用腾讯地图SDK。     虽然腾讯地图SDK比百度地图SDK各种好用,但是考虑到做地图闭经百度能力是强于腾讯的,而且百度出了新的5.0SDK,于是想试试。     新版SDK接口科学,文档简单可读性高,没几分钟就全部弄好进入调试模式...

2015-01-28 15:27:06 8036 3

原创 Android 强制获取屏幕方向

最近在做照相机功能,简单的封装系统相机,遇到一个问题就是无法获取屏幕的当前方向导致屏幕旋转之后无法获得正确的方向,所以照片方向不对。     在网上查了一下都是通过windowManager的Display或Configuration的getOrientation方法获取当前屏幕方向。但是问题来...

2015-01-27 18:11:23 5928 1

原创 Android Studio debug使用release的签名

当我们在做微信微博sdk分享的时候调试非常麻烦,因为要使用对应的签名版本才能调用sdk成功。 当我们使用AndroidStudio的Gradle之后会很简单的解决这个问题。 1.我们把签名文件放到工程根目录下(这样做是为了保持路径的统一) 2.在Gradle中引入如下代码:     //配置key...

2014-12-18 21:23:49 49922 9

原创 AndroidClipSquare安卓实现方形头像裁剪

安卓实现方形头像裁剪 实现思路,界面可见区域为2层View 最顶层的View是显示层,主要绘制半透明边框区域和白色裁剪区域,代码比较容易。 第二层继承ImageView,使用ImageView的Matrix实现显示部分图片,及挪动,放大缩小等操作。 比较复杂的地方在于多指操作对ImageV...

2014-12-15 15:02:57 4318 1

原创 Matrix中set/post/per区别

1、setScale(sx,sy),首先会将该Matrix设置为对角矩阵,即相当于调用reset()方法,然后在设置该Matrix的MSCALE_X和MSCALE_Y直接设置为sx,sy的值  2、preScale(sx,sy),不会重置Matrix,而是直接与Matrix之前的MSCA...

2014-12-12 16:11:57 1038 0

转载 Android--Matrix图片变换处理

http://www.cnblogs.com/plokmju/p/android_matrix.html 前言   本篇博客主要讲解一下如何处理对一个Bitmap对象进行处理,包括:缩放、旋转、位移、倾斜等。在最后将以一个简单的Demo来演示图片特效的变换。    本篇博客的...

2014-12-12 15:43:24 1563 0

原创 关于Android旋转屏幕丢失数据的新读

根据之前的经验,一直以为当Android屏幕旋转的时候会重新调用onCreate(),从而导致界面上所有的数据都会被重置,需要在Manifest中对Activity设置一个属性才能让他不重新走onCreate方法。或者很麻烦的需要在 onSaveInstanceState()方法中保存界面所有数据...

2014-12-12 11:58:22 4228 2

原创 Android Animating Layout Changes布局的默认动画

系统默认支持了对于Layout中addView和removeView

2014-11-22 14:56:10 959 0

原创 Android Card Filp Animations

准备开始 想要创建一个Card flips动画

2014-11-22 12:25:10 869 0

原创 Android使用ViewPager来滑动屏幕

屏幕滑动就是在两个或多个满屏页面间相互移动,主要用于新手引导或幻灯片。这节课我们会介绍如何用ViewPager实现屏幕间的滑动切换,其中也会介绍到创建Fragment,和利用PageTransformer自定义动画样式。 准备开始 首先为fragment创建一个content布局: <...

2014-11-22 11:58:35 1512 0

原创 Android Crossfading animation 淡出淡入动画

淡出淡入动画就是我们常说的渐隐动画,一个界面逐渐消失的时候另一个逐渐显现。当你需要在应用中切换两个视图的时候这个动画效果就显得非常实用了。 这个动画短小但很精致,巧妙的衔接了视图的切换。如果你不使用这种动画会让整个切换过程显得生硬且急促。 准备开始 1.创建成员变量链接到你需要时间动画的view上...

2014-11-22 11:02:51 4327 0

原创 Java的Clone简要

对于一个普通的对象来说,如果实现Cloneable接口,并重写clone方法可以实现对象的深拷贝。 但是对于List/Set等集合来说不管是用集合的clone方法还是对象的clone方法都是浅拷贝,即指针的引用,如果要实现java集合的深拷贝必须将对象实现Serializable接口后写一个深拷...

2014-11-07 20:40:40 949 0

原创 Mac下的Apk多渠道验证工具

我之前写过一个在Windows平台下基于jre环境的Apk多渠道验证工具,详见http://blog.csdn.net/h3c4lenovo/article/details/10041047 这种场景比较局限,而且之后修改渠道提供商之后再做修改很麻烦需要重新编译jar包。 于是这次我写了一个基...

2014-11-05 13:41:59 1486 4

转载 美团Android自动化之旅—生成渠道包

META-INF 本文介绍了美团利用

2014-11-04 18:47:35 3765 0

原创 Android方法数超过65536的解决办法

印度佬写的,挺厉害的,虽然里面有很多坑,但是把坑填完之后确实好用,还是给他点赞! https://github.com/creativepsyco/secondary-dex-gradle

2014-09-06 15:27:26 5852 2

原创 Java构建器模式

构建器模式只适用于需要传入很多种情况参数的时候,比如大于4种参数的配合,才比较划算。 而且值得注意的是:最好在类的设计之初就考虑是否使用构建器,否则日后扩展起来新构建器旧构造器一起用维护起来不方便。

2014-08-19 20:05:34 7725 0

原创 关于Android创建Activity需要注意的地方

1.在onCreate()中加载UI,在onStart()/onResume()中刷新UI 2.在onCreate()中用Handler延时请求数据,数据处理最好是二次callback回调(第一次来自DB,第二次来自网络) 3.在Activity中尽量少创建Handler,创建一个UIHand...

2014-08-09 15:47:08 2170 1

原创 不会内存溢出的Android Handler写法

private static class ThisHandler extends Handler {     private final WeakReference wrActivity;     @Override     private void handleMessage() { ...

2014-08-09 15:09:07 3070 1

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