- 博客(79)
- 资源 (4)
- 收藏
- 关注
原创 RecyclerView万能适配器加强版———可选择添加头和尾(含点击事件)
最近项目中要实现RecyclerView添加头尾,后在度娘的帮助下完成任务;就在自己为此而窃喜的时候,一个念头飞入我的脑海:将添加头尾的逻辑封装到RecyclerView的万能适配器中,实现可以选择添加。真是飞来横祸啊,我最怕这些想法了,一旦心里这样想了,那便是种下了一颗邪恶的种子,让我心里直痒痒,结果在本能的作用下:开始了一个不眠之夜…… 罪过啊,罪过……阿弥陀佛!…. 废话少说,下面我们来谈
2016-09-21 03:46:29
2167
原创 号外 ! 号外 ! V7包下的View都来此参加同学会 , 快来看,快来看...
考虑到V7包实在大—–既庞大又强大 , 请所有与会的同学到门口来 我们先拍一张全家福: 1 . android.support.v7.widget.Toolbar 2 . android.support.v7.widget.CardView 3 . com.android.support:recyclerview-v7:xx 4 . com.android.support:design包.
2016-09-20 11:59:47
2803
1
原创 ImageLoader的原理以及定制
Imangeloader相关配置,原理,使用以及定制相关优秀博客推荐http://blog.csdn.net/vipzjyno1/article/details/23206387 http://www.open-open.com/lib/view/open1433940304473.html http://www.bubuko.com/infodetail-393997.html http:/
2016-09-20 10:14:45
618
原创 Handler与内层泄漏以及深层理解MessageQuene和Looper
首先我们来看一段关于Handler代码:public class SampleActivity extends Activity { private final Handler mLeakyHandler = new Handler() { @Override public void handleMessage(Message msg) { // ... }
2016-09-18 17:58:38
430
原创 Mvp模式的进一步探索
对于MVC模式的熟悉以及先入为主的观念造成我对MVP的写法内心深处多少有些抵触,毕竟还是理智的,相信群众的眼镜是雪亮的,大家觉得MVP比MVC好那就是真的好;这不在朋友的帮助下,我也逐渐接受和理解了MVP的一些道道,再加上相信大家对于MVC模式下的代码维护和重构,版本跟新时对繁琐的逻辑感到无比的厌烦吧,那好,今天就将我的一点粗浅的认知说出来请大家指正,大牛请绕行。。。这里拿一个简单的登录案例来写个例
2016-09-17 22:16:56
469
原创 Java对象的强软弱虚四种引用的作用与回收
Java对引用的分类有 Strong reference, SoftReference, WeakReference, PhatomReference 四种。 在Android应用的开发中,为了防止内存溢出,在处理一些占用内存大而且声明周期较长的对象时候,可以尽量应用软引用和弱引用技术。软/弱引用可以和一个引用队列(ReferenceQueue)联合使用,如果软引用所引用的对象被垃圾回收器回收
2016-09-15 23:21:00
1511
原创 Android中各种context的使用范围
在android开发中要经常使用Context类,我们知道能作为Context的类有Application,Activity,Service,由于Application的Context类作用域是整个应用程序,所以在很多时候我们都会重写Application类来定义一个全局的context,但是Application的全局context并不是万能的,很多时候我们又必须用Activity或者Servic
2016-09-15 17:51:36
829
原创 在单例模式中如何避免传入非Application的Context造成的内存泄漏
下面我们先来看一个非常常见的单例模式:public class GCSingleTon{ private static GCSingleTon singleTon; private Context context; private GCSingleTon(Context context){ this.context=context; } public
2016-09-15 16:51:56
1293
原创 慕课网实现自定义多指触控双击缩放的IamgeView以及解决和ViewPager的滑动冲突代码摘要
首先就是自定义ZoomImageView/** * Created by 90720 on 2016/9/10. */public class ZoomImageView extends ImageView implements ViewTreeObserver.OnGlobalLayoutListener, ScaleGestureDetector.OnScaleGestureListene
2016-09-12 01:27:20
818
原创 RecyclerView万能适配器,点击事件,分割线,间距等写法
public class RecyclerHolder extends RecyclerView.ViewHolder { private final SparseArray<View> mViews; public RecyclerHolder(View itemView) { super(itemView); //一般不会超过8个吧
2016-09-11 17:34:42
1050
转载 理解Java和Android原生注解
声明:本博客转载自C . Shawn,优秀博客值得多次转播。 地址 http://blog.csdn.net/CShawnX/article/details/51605919 原文1.引言从JDK1.5开始,引入了注解类Annotation,Annotation其实是一种接口,可以作用于类、方法、属性等等 ,它可以通过反射机制来访问annotation信息,获取所加上注解信息,做相应的操作。相
2016-09-06 16:19:12
770
转载 自定义LyricView实现歌词显示控件
声明:本博客转账自鸿洋微信公众号,优秀博客值得多次转播。 地址http://mp.weixin.qq.com/s?__biz=MzA5MzI3NjE2MA==&mid=2650236950&idx=1&sn=d51e6420df7f7533bc81cfe98541c3c0&scene=1&srcid=0906oyCeaFXlCFdpHQGfTNKZ#rd 原文 码农小阿飞 之前发表的《做一个炫
2016-09-06 15:14:40
1308
转载 Android Bottom Sheet详解
声明:优秀博客值得多次转播,本博客转账自鸿洋微信公众号。 地址http://mp.weixin.qq.com/s?__biz=MzAxMTI4MTkwNQ==&mid=2650820999&idx=1&sn=4a999c1840d9464514cd2b6f5a34ee3f&scene=1&srcid=0906PeAKmatiepw4jayHTQ8U#rd 原文 本文由亓斌授权本公众号发布。
2016-09-06 14:59:28
1145
转载 Android一整套图片解决方案
声明:本博客转账自鸿洋微信公众号,优秀博客值得多次转播。 地址http://mp.weixin.qq.com/s?__biz=MzAxMTI4MTkwNQ==&mid=2650820998&idx=1&sn=c9670674dcfb71a24521e898776f234e&scene=1&srcid=0906C9qcxCNr7Ojh1vy5zPD4#rd原文 本文由hss01248投稿。 hs
2016-09-06 14:51:16
797
原创 Volley+Gson
String addUrl="xxxxx/index"; String url= "www.baidu.com"+addUrl; public void initView(){ Map<String, String> params = new HashMap<>(); params.put("location", "1"); params.
2016-09-05 16:38:41
546
原创 Android两秒内按返回键两次退出程序
//两秒内按返回键两次退出程序代码private long exitTime = 0; @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_D
2016-09-05 16:33:40
721
原创 PendingIntent详解
pendingIntent字面意义:等待的,未决定的Intent。 要得到一个pendingIntent对象,使用方法类的静态方法 getActivity(Context, int, Intent, int),getBroadcast(Context, int, Intent, int),getService(Context, int, Intent, int) 分别对应着Intent的3个行为
2016-09-04 22:04:13
446
原创 欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2016-09-04 22:02:39
484
原创 WebView的用法
以前WebView每次自动打开系统浏览器感觉糟糕透了,这回这样写之后居然没有和系统浏览器发生关系,感觉好极了,特写次博客; protected void initView(Bundle savedInstanceState) { String url=getIntent().getStringExtra("chooseUrl"); WebSettings webSetti
2016-08-30 19:11:25
337
原创 RecyclerView万能适配器以及点击事件
首先是ViewHolder类,RecyclerHolder.javapublic class RecycleHolder extends RecyclerView.ViewHolder { /** 用于存储当前item当中的View */ private SparseArray<View> mViews; public RecycleHolder(View itemView) {
2016-08-30 18:58:36
903
原创 Android屏幕适配笔记
至于为什么android的屏幕需要适配?这就不说了,如果你现在还不知道,那么这篇博客你是没有必要继续看下去….. 这篇博客主要是自己总结,如有问题还请指正….. 第一个笔记:屏幕适配的对象: 主要针对分辨率是:1280x720 , 800x480 , 854x480 , 1920x1080 , 960x540 , 480x320的六种屏幕; 第二个笔记:屏幕适配的重要概念: 屏幕尺寸 ,
2016-08-30 15:32:29
523
转载 Android系统ApiDemo中发散动画核心代码
今天就不做解说了,日后再来完善private void showMenuBar() { //设置动画时间 int duration = 5000; //动画距离,屏幕宽度的60% float distance = getScreenWidth()*0.6f;//432 //相邻ImageView运动角度式22.5度
2016-08-27 11:57:43
956
原创 消息推送之Socket----长连接和心跳
最近学习郭霖讲的消息推送其中讲到使用原生的Socket保持长链接来实现消息的推送,这是我的短板,所以跟着仔细学习了一遍,郭神还是依旧的那么仔细那么认真,赞赞,不要骄傲要保持,而对于我就是不要急躁,要踏实做好每一点小事,加油! 废话不多说,这里附上服务器和客户端的代码,就不做解说了,这是慕课网视频教程地址:http://www.imooc.com/learn/223客户端代码如下:public cl
2016-08-23 16:04:23
2151
原创 RenderScript----Android图片模糊效果的简单实现
现在图片模糊化已经是很常用的,有多背景图片都选择了磨砂效果,感觉也是将图片模糊化了.一般来说,考虑到效率,渲染一张图片最好的方法是使用OpenGL,其次是使用C++/C,使用Java代码是最慢的。但是Android推出RenderScript之后,我们就有了新的选择,测试表明,使用RenderScript的渲染效率和使用C/C++不相上下,但是使用RenderScript却比使用JNI简单地多!同时
2016-08-19 21:03:00
759
原创 极光推送JPush------目前用的最爽的第三方推送平台
近日接触到极光推送 , 果然如人们所说的那样十分的easy! 基本根据官方API就OK , 但是是不是我直接复制的Demo里面的jar包还是什么原因,我在完全按照官方API执行的时候已然跳了坑,一度很怀疑是不是很垃圾.最后讲报错进行百度,发现不止我一个如此,解决方法还是挺常见挺简单的;遇到的第一个坑: app的libs下的so包加载失败 解决方法: 1. 在src/main下新建jniLibs
2016-08-19 17:02:22
2118
原创 一个常用项目的演进,重构和版本更新的历程
一个项目的版本更新的过程总是伴随着技术的演进和代码的重构,只要你在维护你总是会发现有更好的或者说是更合适的控件,框架值得去适用,这个过程可以是几个星期或者是几个月。 在这里我试着去分析一下孤独星球的更新跌代的维护历程。 孤独星球—-是一款阅读类的软件,精选了各种时尚,娱乐,旅游,教育,异国风情等等主题的这样一款图文并茂的阅读软件.他的产品模块也从最开始的以书城模块为主发展到现在的书城 , 支付
2016-08-17 20:46:24
1736
转载 Android开发小技巧
本文摘自:https://github.com/jiang111/awesome-android-tipssetBackgroundResource(0) 可以移除 View 的背景色Resources.getSystem().getDisplayMetrics().density 可以不用 Context 也能获取屏幕密度哦通过重载 ViewGroup 的 dispatchDraw 可以实现
2016-08-14 14:20:14
703
原创 初识----RecyclerView
整体认知RecyclerView , 他的特点和方案:特点一: 不关心Item是否显示在正确的位置,也不关心它如何显示; 特点二: 不关心Item之间如何分隔; 特点三: 不关注Item增加和删除的动画效果; 特点四 :仅仅关注如何回收和复用View特点一解决方案:通过LayoutManager来确定RecyclerView的显示风格:recyclerView.setLayoutManage
2016-08-12 14:06:51
433
转载 Android 线程的正确使用姿势
线程是程序员进阶的一道重要门槛。对于移动开发者来说,“将耗时的任务放到子线程去执行,以保证UI线程的流畅性”是线程编程的第一金科玉律,但这条铁则往往也是UI线程不怎么流畅的主因。我们在督促自己更多的使用线程的同时,还需要时刻提醒自己怎么避免线程失控。除了了解各类开线程的API之外,更需要理解线程本身到底是个什么样的存在,并行是否真的高效?系统是怎么样去调度线程的?开线程的方式那么多,什么样的姿势才正
2016-08-12 11:23:57
323
原创 WaveProgressView-----水纹进度球
首先我们来看看效果图:怎么样是不是很酷很炫?很想在自己的程序中使用?下面我们就来看看它在AndroidStudio中的简单实现吧:第一步:在app的Build.gradle中的dependencies中添加第三方依赖: 第二步:修改最低适配sdk为19 , 由于WaveProgressView最低兼容sdk版本是19 , 所以如果你开发的项目兼容最低版本小于19,那么狠抱歉……defaultCon
2016-08-11 21:56:36
1111
1
原创 Ticker---若只如初见---一个显示滚动文字的UI控件
Ticker是一款非常强大的,可扩展的一个自定义的显示滚动文字的控件,他由Robinhood(罗宾侠)工程师团队创建的UI控件.Ticker处理了字符切换与数字增长的动画。他具有以下优点:高性能:动画不会导致任何卡顿,尤其是在滚动和滑动的时候。 低内存消耗:比如:不能使用多个View。 可插入:核心逻辑应该被合理的封装,这样UI模块可以在不同的地方重用。 简单,可扩展的API:只需定义文字的渲
2016-08-09 00:35:09
2035
转载 RecyclerView
转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/45059587; 本文出自:【张鸿洋的博客】概述RecyclerView出现已经有一段时间了,相信大家肯定不陌生了,大家可以通过导入support-v7对其进行使用。 据官方的介绍,该控件用于在有限的窗口中展示大量数据集,其实这样功能的控件我们并不
2016-07-27 20:51:24
383
转载 Android面试知识点汇集
Handler在子线程里面创建 Handler 对象会抛出异常Can't create handler inside thread that has not called Looper.prepare()。但是加上Looper.prepare();不会抛出异常, 这个因为 Handler 对应一个 Looper,一个 Looper 对应一个线程。new Thread(new R
2016-07-27 20:30:01
339
转载 多核和单核中多线程及单线程的特点
关键词:单线程;多线程;线程同步;优先级 “Andy Grove giveth, and Bill Gates taketh away”是流行在业界的一句谚语,它描述了一个有趣的现象:无论处理器能够提供多高的性能,软件都能够将它们统统“消化”掉。在过去几十年里,被处理器技术领域奉为金科玉律的“摩尔定律”一直处于雷打不动的地位。但就在近两年,传统处理器体系结构技术面临着性能的瓶颈。人们逐渐发现
2016-07-27 20:04:44
5190
1
原创 夫妻银行卡取钱之初识单例模式
第一步创建银行账号public class BankAccount {//配合单例模式1,2//private static BankAccount mAccount;//配合单例模式3private static BankAccount mAccount=new BankAccount();//卡里钱数int mNumber=Const.NOW_MONEY;//私有构造方法priv
2016-07-20 18:34:12
695
转载 学android先过计算机英语关
A abstract 抽象的 abstract base class (ABC)抽象基类 abstract class 抽象类 abstraction 抽象、抽象物、抽象性 access 存取、访问 access function 访问函数 access level访问级别 account 账户 action 动作 activate 激活 active 活动的 actual parameter
2016-07-05 19:00:46
845
转载 java.lang.UnsatisfiedLinkError: Couldn't load xxx from loader dalvik.system.PathClassLoader的终极解决方法
java.lang.UnsatisfiedLinkError: Couldn't load xxx from loader dalvik.system.PathClassLoader的解决方法本人在用新浪微博API的时候碰到此问题:java.lang.UnsatisfiedLinkError: Couldn't load weibosdkcore from loader dalvik.
2016-06-22 21:01:00
16799
转载 慕课网ListViewCommonAdapter万能适配器代码摘要
1.ViewHolder类中代码 主要三个方法加上构造方法 主要三个方法:get(),getView(),getConvertView();public class ViewHolder { SparseArray mView;//这是一种的更高效的Map int mPosition; View mConvertView; public View
2016-06-07 19:51:23
369
原创 android今日记
走了太多弯路走到今天,我自己也烦了希望自己在android的路上走的不在让自己心酸,在这个技术的舞台,走出自己的路,菜鸟我来了,今天才认识到,AS的开发,不是凭借记忆来写一行一行代码,而是靠复制粘贴来完成的,但是自己心中要有谱,要有流程结构框架,说起来自己也糊涂了,流程是个什么东西,结构是个什么东西,怎么才算心里有谱了,一肚子的疑惑也算开始新的探索之旅没有豪言壮语,没有信心百倍,只
2016-05-24 23:30:54
318
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人