Android框架解析
文章平均质量分 61
y_hhh
何以解忧,唯有努力
展开
-
安卓错误提示:The following classes could not be found: - LinerLayout
作为一个Android新手,总是出现一些工具栏错误。这两天layout下的布局.xml文件总是提示:The following classes could not be found:- LinerLayout (Change to LinearLayout, Fix Build Path, Edit XML)发现网上也有一些攻略,比如重装啊,在build path当中勾选.jar包原创 2015-03-11 13:30:34 · 8531 阅读 · 1 评论 -
AIDL解析
AIDL解析定义AIDL:Android接口定义语言,顾名思义.aidl文件是一个接口文件。主要是对Binder进行操作。在新建IPersonInterface.aidl文件后,在app/generated/source/aidl/debug/目录下,可以看到具体的.aidl文件实现。 其内部实现主要是内部抽象类:Stub及其内部代理类proxy(); Stub继承了android.os.Bin原创 2017-05-11 14:44:49 · 419 阅读 · 0 评论 -
Handler消息机制
消息机制Android中的消息机制主要是指Handler,MessageQueue,Looper机制。HandlerHandler的主要方法:sendMessage(msg)、handleMessage(msg)、dispatchMessage(msg)。 其中sendMessage(msg)主要负责发送消息,调用enqueueMessage(msg,long)向MessageQueue中插入消息原创 2017-05-11 15:18:15 · 366 阅读 · 0 评论 -
json解析
json解析常见的json解析gson:谷歌推荐 fastjson:阿里巴巴开发 loganSquare:底层使用jackson jackson:通用的java json库Gson用法 String json1 = mGson.toJson(mTestEntityList); Type type = new TypeToken<List<TestEntity>>(){}.getT原创 2017-06-07 23:15:41 · 771 阅读 · 0 评论 -
图片加载框架
图像加载一般来说一图片加载框架应该具有以下基本特性:1、图片的同步/异步加载2、图片缓存(内存缓存/磁盘缓存)3、网络加载4、图片处理(压缩、裁剪、左右变幻等)基本使用UIL 1、设置全局配置 ImageLoaderConfiguration config = new ImageLoaderConfiguration .Builder(context) .memoryCacheExtr原创 2017-06-07 23:16:28 · 771 阅读 · 0 评论 -
View绘制及事件分发机制
View绘制及事件分发机制view绘制机制measure()–>onMeasure();layout()–>onLayout();draw():1、绘制自己background.draw(canvas);2、绘制自己(onDraw);3、绘制children(dispatchDraw);4、绘制服饰(onDrawScrollBars)view分发机制:主要由3个函数组成: dispatchTouc原创 2017-06-07 23:18:20 · 596 阅读 · 0 评论 -
依赖注入框架解析
依赖注入使用ButterKnife 在setContentView(..);之后加入ButterKnife.bind(this), @BindView(R.id.testFre)SimpleDraweeView testFre; @BindView(R.id.test)TextView test;Dagger2:场景:想在一个类中使用新建另外一个类,但是又觉得显示创建耦原创 2017-06-07 23:21:12 · 901 阅读 · 0 评论 -
事件总线源码解析
事件总线基本上都是观察者模式的扩展Google/Guava:Guava是一个庞大的库,EventBus只是它附带的一个小功能,因此实际项目中使用并不多greenrobot/EventBus:简洁体量小square/otto:修改自 Guava,官方已经标记为过时了,并推荐使用RxJava代替它。RxJava:主要用于响应式编程。使用EventBus1、注册和注销:@Overridepublic v原创 2017-06-07 23:21:57 · 434 阅读 · 0 评论 -
Android进程间通信和线程间通信
进程间和线程间通信这个知识点算是高级知识点,线程和进程首先要区分线程和进程的区别: 线程是cup最小调度单元; 进程是一系列线程的集合。进程间方式Bundle文件共享AIDLMessenger,注意不是MessageContentProvider网络编程(Socke和TCP/UDP)线程间的方式Message Handler Looper机制AsnyTask共享变量管道未原创 2017-02-28 16:36:41 · 3166 阅读 · 1 评论 -
Android技术堆栈积累
移动端开发现在移动端的就业形式相对较差,各个公司对员工的技术要求也相应的提高,主要体现在对重要知识点的要求提高以及对第三方的框架原理的熟悉上。总结的Android开发技术堆栈如下:所以为了提高自己的竞争力,你需要: - 对android的高级知识点熟悉; - 对主要的框架熟悉。java基础Android开发以java语言为基础,所以熟练的掌握java的基本使用和特征是非常重要的。 这部分的内容原创 2017-06-13 11:10:49 · 2084 阅读 · 0 评论 -
JNI/NDK开发流程简介
NDK开发一、环境配置1、NDk下载 打开管理器,勾选NDK,Android Studio会自动下载ndk。 下载完成后,可以如下方式查看目录: 2、NDK环境变量配置在PATH系统变量下添加:ndk的目录即可 在cmd中输入:ndk-build,如果出现如下界面,表示成功安装。 二、开发文件配置1、android.useDeprecatedNdk=true,在2、添加ndk,在app级别原创 2017-05-11 11:35:12 · 421 阅读 · 0 评论 -
实用Android库-YFAndroidLibs概述
YFAndroidLibs关于(About)这是抽取的工作日常工作代码形成的一个库,持续更新中。借鉴了一些网上现有的代码,在后续的介绍中会逐一提及。本文是基于android的库,后续会有iOS版本以及JS版本。功能(Features)这个库包含的主要内容有: 1. 起始页splash 2. 第一次导航guidepage 3. 广告banner 4. tab导航和分栏 5. 定位sqlite原创 2016-12-26 21:56:14 · 1567 阅读 · 0 评论 -
常用的三种android分包规范
总感觉Android中关于分包的文章很少,或者几乎可以说没有。但是合理地分包,又可以使整个项目模块化,减少包与包之间的依赖,让整个项目的框架更加清晰,更利于后续功能的拓展。因为没有相关的文章,所以这里晒出三款开源项目的分包方式,供大家学习。(一) eoe社区 Android 客户端src├ cn.eoe.app --存放程序全局性类的包 ├ cn.eoe.app转载 2015-06-12 20:18:35 · 706 阅读 · 0 评论 -
TagView的用法及源码解析
YFAndroidLibs之TagView的用法及源码解析关于(About)TagView的实现思路相对简单,主要是继承ViewGroup,重新相应的onLayout和onMeasure方法:效果图如下:设计思路及主要接口(Features)ViewGroup中主要的方法包括:onLayout和onMeasure方法, 调用的顺序为:onMeasure ——> onLayout ——> onDra原创 2016-12-28 22:22:54 · 1899 阅读 · 0 评论 -
SplashView的用法及源码解析
YFAndroidLibs之SplshView的用法及源码解析关于(About)SplashView故名思意,是指进入应用时的SPlash(闪屏),效果图如下: 设计思路及主要接口(Features)该SplashView主要的技术点有:1.自定义declare-styleable<declare-styleable name = "SplashView"> <attr format="i原创 2016-12-27 21:07:58 · 1605 阅读 · 0 评论 -
GuidePageView的用法及源码解析
YFAndroidLibs之GuidePageView的用法及源码解析关于(About)GuidePageView故名思意,是指第一次进入应用时的导航页,效果图如下: 设计思路及主要接口(Features)主要的技术点有:1.自定义抽样类:GuideAdapterpublic abstract class GuideAdapter { private GuidePageView mG原创 2016-12-28 12:24:33 · 1434 阅读 · 0 评论 -
BannerVIew的用法及源码解析
关于(About)申明:该BannerView控件是在借鉴了两位大神的代码加工形成的:[IT_xiao小巫]大神和stevenhu_223大神。非常感谢。BannerView的效果图如下: 主要暴露接口和设置:BannerStyle样式类:用来设置banner的样式,包括指示器的形式(包括点,数字,图像(待开发)),位置(上下左右),是否显示信息,轮播时间;BannerInfo实体原创 2016-12-28 16:15:17 · 3843 阅读 · 3 评论 -
AddressView的用法与源码详解
关于(About)效果图如下:设计思路及主要接口(Features)使用导入包:详见我的另外一篇博文:http://blog.csdn.net/u011072613/article/details/53889596邮箱:yhcommute@outlook.comgithub:https://github.com/commutescript欢迎交流,欢迎star。原创 2016-12-28 22:44:25 · 680 阅读 · 0 评论 -
DialogView的使用与源码详解
YFAndroidLibs之DialogView的用法及源码解析关于(About)TagView的实现思路相对简单,主要是继承ViewGroup,重新相应的onLayout和onMeasure方法:效果图如下:设计思路及主要接口(Features)其中各种样式均可自定义,每个输入框的值也能回调。未完待续。。。实在写不动了,明天写。使用导入包:详见我的另外一篇博文:http://blog.csdn.n原创 2016-12-28 22:35:28 · 1455 阅读 · 0 评论 -
SearchView的用法与源码详解
关于(About)明天补充完整效果图如下:设计思路及主要接口(Features)使用导入包:详见我的另外一篇博文:邮箱:yhcommute@outlook.comgithub:https://github.com/commutescript欢迎交流,欢迎star。原创 2016-12-28 22:45:50 · 610 阅读 · 0 评论 -
TabView的使用及源码详解
关于(About)tab导航在app中比较常见,实现的方式也较多 。该TabView主要使用Viewpager封装activity进行导航,主要分为四种模式:顶部导航,底部导航,固定界面导航,左右滑动导航。效果图如下:1、顶部导航2、底部导航3、固定导航4、滑动导航技术点分析使用导包:详见我的另外一篇博文:http://blog.csdn.net/u011072613/article/details原创 2016-12-28 22:46:40 · 4468 阅读 · 0 评论 -
网络框架解析
网络框架用法Volly: RequestQueue mQueue; mQueue= Volley.newRequestQueue(this); StringRequest stringRequest = new StringRequest("", new Response.Listener<String>() { @Override public voi原创 2017-06-07 23:14:23 · 414 阅读 · 0 评论