Android基础
ezview_uniview
android开发,技术、思考、沉淀
展开
-
Aop技术框架在移动端的实施应用
内容目录什么是AOP(What)AOP的定义AOP中的几个概念AspectJ 介绍为什么要有AOP?(Why)怎么在客户端中应用(How)几个重要场景的分析(Where)写在最后AOP原理其他两个小问题面向过程编程(Procedure Oriented Programming),即OPP注重算法,功能不同的函数调用。常用的C语言优点:任务分解,按部就班面向对象编程(Object Orien...原创 2020-03-18 22:50:34 · 374 阅读 · 0 评论 -
可复用MVP架构搭建
Mvp想必做Android开发的同学多多少少都会接触一些,今天来分享下基础的MVP架构如何构建Mvp核心思想:mvp把activity中ui逻辑抽象成View接口,把业务逻辑抽象成Presenter接口,Model还是原来的Model 优点:1、activity职责更加明确,完成UI逻辑和使用哪一个表示层2、代码结构清楚,更容易维护3、方便单元测试4、避免Act...原创 2018-08-28 19:52:04 · 556 阅读 · 0 评论 -
Android图片占用内存的计算
首先明确两个问题:图片大小和占用内存大小没有关系,图片大小之关系到apk的大小webp虽然图片小,占用内存方面和其他图片没有性能上的优势几个基本概念px:像素(pixel),指的是屏幕上的物理点,最小的独立显示单位ppi:每英寸像素点(Pixels Per Inch)dpi:每英寸点(Dots Per Inch)dp:像素无关点(Density-Independent pixel),这个Andro...原创 2018-07-05 20:37:06 · 1054 阅读 · 0 评论 -
分析Universal-Image-Loader的缓存原理
最近阅读了一下UIL的源码,因为在Android开发中,用第三方框架加载图片是很正常的,但是原理一定要自己有所了解,通过github下载源码,看下使用文档,集成到工程中,是最基本的技能。了解框架后面的原理,才是我们真正要学习的东西。 首先说下Android 中的缓存,一般所说的三级缓存分为内存缓存、磁盘缓存、网络缓存。 UIL 网络缓存实际上还是下载后,缓存到...原创 2018-06-26 21:31:23 · 405 阅读 · 0 评论 -
Android vector 标签
Vect简介 Vector 就是 Android 的 SVG 实现。Vector是Android 5.0 之后才出来的,不过从 AppCompat23.2 开始,Google开始支持在5.0版本以下使用Vector. vector功能可以自己通过AS导入,可参考这边文章: https://blog.csdn.net/klxh2009/ar...原创 2018-04-03 14:35:04 · 942 阅读 · 0 评论 -
一张图搞懂android事件分发机制
事件分发机制在安卓中非常重要,这个事情如果搞不懂,会困扰你很多事情。比如说,应用了github上的某个大神的库,如果发现这个库实现了你需求的80%,还有那么20%需要你结合实际需求来实现,改大神代码又不能改,怎么办呢?这个时候往往需要搞清楚自己的布局控件和第三方库的控件事件传递关系。说的比较模糊,没关系,只要知道事件传递必须学会,就ok了。 直接上图:原创 2017-08-27 13:38:12 · 3447 阅读 · 2 评论 -
FragmentManager is already executing transactions after using method setOffscreenPageLimit()
异常处理,记录原创 2017-04-05 21:24:24 · 1161 阅读 · 0 评论 -
使用Fresco加载本地图片
Fresco加载图片的api是设置uri,如何获得本地图片的加载呢?类型Scheme示例远程图片http://, https://HttpURLConnection本地文件file://FileInputStreamContent providercont原创 2017-04-05 18:39:57 · 1762 阅读 · 0 评论 -
Suggestion: add 'tools:replace="android:allowBackup"' to <application> element at AndroidManifest.xm
项目依赖库和主程序的allowBackup冲突解决方法:<application tools:replace="android:allowBackup" android:name=".MyApplication" android:allowBackup="false"添加tools:replace属性,替换要覆盖的标签属性即可。这样库文件中Android原创 2017-02-16 09:58:38 · 14761 阅读 · 1 评论 -
Activity实现透明蒙版效果
经常会遇到要实现某些蒙版效果的需求。今天分享一个activity实现蒙版效果的demo,其实很简单,主要是修改activity在AndroidManifest中的theme属性。而theme属性就是风格属性。首先确定透明颜色及透明度,在color.xml中定义#eff6f6f6color的前两位是透明度,0xef / 0xff = 透明度百分比%之后在style.xml中定义风格,原创 2016-12-08 19:25:26 · 3662 阅读 · 0 评论 -
listview数据局部刷新
在开发过程中,某些效果不希望所有数据都刷新,因为会调用getview,导致效率很低,今天分享一个局部刷新的方法。private static class ViewHolder { ImageView imageView; TextView textView; private void setContent(String string) {原创 2016-12-05 19:46:50 · 313 阅读 · 0 评论 -
com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Unterminated obj
这个异常是服务器返回的字符串中含有多余的特殊字符,或者空格,或者字段内容包裹两层引号引起的,导致客户端解析失败。原创 2016-10-20 15:20:17 · 741 阅读 · 0 评论 -
HashSet删除重复元素
应用场景:经常遇到网络请求回来的数据是一个list形式的列表,这个List的数据类型是自自己定义的数据类型,这里面包含了重复元素,而重复元素的判断重复的标准往往是自己定义数据类型的某个成员变量来区分,比如,返回的是设备信息,则会有一个对应的设备ID字段,如果是人物信息,返回注册手机号等等。如果通过for循环等手段不仅耗时,好需要同步返回的数据列表。是一个非常令人头疼的问题。高效的解决这个问题途径就原创 2016-09-07 21:15:11 · 1666 阅读 · 0 评论 -
android消息处理之Handler
最近在公司分享了消息处理都线程,同时阅读了Handler的源码,特此记录下来,并分享自己demo。首先,我们知道Handler是用来处理消息和发布消息的,而Looper是负责Handler和Thread之间的桥梁,Messagequeen是消息队列,Looper负责将消息不断传递给Handler的回调函数。 public Handler(Callback callback, boo原创 2016-08-28 15:16:28 · 416 阅读 · 0 评论 -
Android Broadcast
1、普通广播2、有序广播3、本地广播4、sticky广播原创 2016-07-12 11:21:09 · 232 阅读 · 0 评论