Android笔记
欢喜哥
直立行走的猿
展开
-
H5微信支付webview设置referer无效问题总结
最近在接入H5微信支付时遇到了一个比较坑的问题,所以写篇总结问题描述在接入H5微信支付时,如果是APP里调起H5支付,需要在webview中手动设置referer,如下Map extraHeaders = new HashMap();extraHeaders.put("Referer", "商户申请H5时提交的授权域名");//例如 http://www.baidu.co...原创 2018-02-10 22:37:17 · 25741 阅读 · 7 评论 -
Android banner轮播控件
最近工作用到了一个banner控件,所以写篇文章记录下,功能很简单本文介绍用一种简单的方式实现一个banner轮播控件最终效果实现介绍实现思路很简单,就是在viewpager的原始imageViewList的前后个各增加一个假数据。首先在原始数据的起始位置前面增加一个与最后一张图片一样的imageView,然后在原始数据最后增加一个与第一张原始数据相同的图片。这样,...原创 2018-09-04 10:11:02 · 965 阅读 · 0 评论 -
RecyclerView实现拖拽和分页加载以及emptyView
最近工作中用到了RecyclerView,所以写一篇关于RecyclerView的总结文章热热身本文主要实现3主要功能item上下移动与滑动删除emptyView与RecyclerView的简单绑定RecyclerView实现流畅分页加载功能不是很复杂,稍微介绍下之后就直接上代码。RecyclerView实现item上下移动、滑动删除先看下效果图 这个功能主要...原创 2018-04-18 23:47:30 · 1214 阅读 · 0 评论 -
通过LinkedHashMap缓存图片并实现LRU策略
最近看了下通过LinkedHashMap来缓存图片并且实现LRU机制优化内存使用率的内容,所以做下总结!~~在Android开发过程中,实现图片缓存是一个很重要的问题,如果处理不当很容易引起OOM等问题。很多图片加载框架中都会使用LRU机制来优化内存使用率。今天我们就看下通过LinkedHashMap如何实现LRU机制。LRU(Least Recently Used)策略,即当内存使用不足...原创 2015-07-06 18:06:44 · 1200 阅读 · 4 评论 -
LruCache缓存图片研究小结
上一篇研究了LinkedHashMap实现LRU策略,虽然通过上述方式来实现图片缓存可以优化内存的使用效率,但是这种方式也存在一些问题,例如,LinkedHashMap不是线程安全的,所以在操作时需要考虑线程安全问题。另外在缓存时,只能指定缓存数据条目的数量,不能指定缓存区的大小,如果需要缓存的图片都比较大,可能就会出现问题。。。。其实在Android SDK 中已经为我们提供了一个实现LRU...原创 2015-07-07 16:03:42 · 716 阅读 · 0 评论 -
扫描二维码研究总结(高仿微信扫一扫,轻松实现定制扫描界面)
在正文之前说点题外话,加上这篇我已经写了3篇博客了,其实我写博客的初衷不是想证明自己有多牛,并且我也只是从事安卓开发只有半年时间的小渣,但是不想成为大牛的渣不是好渣,所以我想通过博客把工作学习中遇到的问题进行研究总结,从而提高自己,与此同时如果能给广大从事安卓开发的朋友们提供帮助或者是提供一点点思路我也是很心满意足了!~~好了,废话不多少进入正题吧!先上界面图。由于目前不会录屏,所以直接上截图...原创 2015-07-11 14:07:15 · 14743 阅读 · 6 评论 -
Fragment与Activity相互通信研究总结
最近研究了下activity和fragment之间进行通信,所以做一下总结。先看下效果图 布局很简单,上面部分是一个textView,左半部分和右半部分各为一个frameLayout,这两个frameLayout都是用来填充fragment,分别是LeftFragment和RightFragment。LeftFragment的布局就是一个简单的listview,RightFragment...原创 2015-07-17 15:11:54 · 792 阅读 · 0 评论 -
ViewPager+Fragment研究总结
viewpager+fragment在日常的开发中经常用到,viewpager为了提高用户进行左右切换时的流畅度,实现了一套预加载的功能,在默认情况下,viewpager会预加载一个页面(默认情况下为1,可以自己设置),即当你使用viewpager+fragment时,除了当前可见的第一个fragment会被加载之外,这个fragment后面的一个fragment也会被加载,这样用户进行切屏时就会...原创 2015-08-28 13:20:40 · 704 阅读 · 0 评论 -
底部划出菜单控件总结
最近在开发过程中总是遇到从底部划出菜单的需求,自己研究了下作了一个可以适应各种底部划出需求的控件,使用起来很简单,只要把需要划出的内容set到这个控件中就可以了,先上效果图。 接下来看下这个控件的源码。public class BottomSlideLayout extends FrameLayout { private View mSlideLayout; priv...原创 2015-10-22 10:50:45 · 671 阅读 · 0 评论 -
RecyclerView实现多类型布局和跨列
RecyclerView 如何实现多类型布局和跨列呢?首先为rc设置layoutManger,因为要跨列所以这里选用GridLayoutManager,并且初始为两列。 manager = new GridLayoutManager(this, 2); recyclerView.setLayoutManager(manager);其对应的adapter...原创 2016-05-12 16:24:36 · 6788 阅读 · 1 评论 -
Android线程池
线程池知识点总结 在Android开发中经常会用到线程,简单的方式是去新建一个线程但这样有一些缺点a. 每次new Thread新建对象性能差,内存消耗相对较大b. 线程缺乏统一管理,可能无限制新建线程,相互之间竞争,及可能占用过多系统资源导致死机或oom。c. 缺乏更多功能,如定时执行、定期执行、线程中断。而利用线程池则可以统一管理线程,重复利用线程降低内存消耗,与此同时可以拓...原创 2016-10-25 17:11:49 · 353 阅读 · 0 评论 -
Google 内购总结
Google 内购坑之总结最近项目中增加了 Google 内购的内容,接入并不难,在这里总结下接入过程中的细节和坑的地方。内购接入过程如何接入官方的教程写的很详细(传送门),并且官方也提供了一个 Demo ,结合文档与 Demo 对内购应该会有一个比较全面的理解。坑1.官方 Demo 中是在客户端中做了支付结果的校验,但推荐支付校验最好是放在服务端中处理。因为支付...原创 2017-04-01 17:37:31 · 5993 阅读 · 1 评论 -
Android 静态代码分析
Android 静态代码分析在一些大型项目中,静态代码分析是必不可少的,通过静态代码分析可以避免一些低级的问题,与此同时可以规范代码书写、提高代码质量。本文主要介绍4种分析工具(CheckStyle、Findbugs、PMD、Android Lint)和如何快速接入。功能介绍CheckStyleCheckStyle 主要的功能就是实时检测,代码的规范(Code Styl...原创 2017-04-07 22:39:41 · 2713 阅读 · 0 评论 -
Android四大组件与进程启动关系总结
Android四大组件与进程启动关系总结进程创建方法四大组件(Activity、Service、ContentProvider、Broadcast)在所属进程没有启动的情况下,在调用startActivity、startService、ContentResolver.query、processNextBroadcast方法后经过层层调用最终会调用到ActivityManagerServ...原创 2017-06-06 22:48:21 · 737 阅读 · 0 评论 -
Android Java 层的同步机制
同步关键字synchronized在 java 中可以通过 synchronized 关键字来支持线程间的同步操作。synchronized关键字最常见的用法是保护一段代码,如下所示class Foo implments Runable{ private String mLock; public synchronized void lockMethod(){ ...原创 2017-08-20 19:04:29 · 518 阅读 · 0 评论 -
宿主与插件进行数据交互研究
本文主要介绍通过跨进程通信(aidl)完成宿主与插件数据通信。首先看下项目结构 1.分别在宿主与插件中新增IService.aidl文件,文件名与包名要一致。IService.aidl中增加2个方法interface IService { void init(String str, int i);//宿主将数据传入插件中 String getString();...原创 2018-01-24 20:28:26 · 1879 阅读 · 0 评论 -
Flutter for Anroid 走读
Flutter for Android 走读ViewsIntents异步UI项目结构Activities和FragmentsLayouts手势检测和触摸事件处理数据库与本地存储ViewsFlutter中,Widget代替安卓的view的概念,并且任何东西都Widget。区别在于,Widget仅仅支持一帧,每一帧都会创建Widget实例树,相当于一次性绘制整个界面。Android中的View,...原创 2018-10-27 23:10:24 · 409 阅读 · 0 评论