
Android
文章平均质量分 78
云涛yuntao
好记性不如烂笔头
展开
-
使用Android Studio调试Android Framework代码
使用Android Studio调试Android Framework代码阅读源码很枯燥,如果能单步调试岂不是能使逻辑更清晰,更轻松的学习,本文章讲如何使用Android Studio调适Android Framework。原创 2016-01-20 14:53:42 · 10463 阅读 · 0 评论 -
Android的Html类分析与扩展
Android中的Html类可以把一些html标签转换成Android对应的Spanned,因此我们可以解析服务端返回的Html来显示富文本信息。 有两个核心方法fromHtml把html转为span,另一个方法把span转为html。 public static Spanned fromHtml原创 2017-11-19 19:42:52 · 929 阅读 · 0 评论 -
SimpleArrayMap源码分析
由于在移动端内存与CPU都是很宝贵的资源。在Android中可以使用SimpleArrayMap来代替HashMap实现Map的功能,SimpleArrayMap内部使用了两个数组,一个是Hash数组mHashes,另一个是2倍大小的Object数组mArray。Object数组中使用key+value间隔存取的方式;另外Hash数组,则是对应的 Key 的Hash值数组,并且这是一个递增的int数组,这样在进行Ke原创 2017-06-05 20:27:54 · 2026 阅读 · 0 评论 -
搭建ReactNative开源应用f8app环境与踩坑
f8app是facebook官方开发的ReactNative开源APP,github地址https://github.com/fbsamples/f8app,github地址中有详细的搭建步骤,但是坑太多,这里记录下。原创 2017-06-15 20:21:28 · 5577 阅读 · 6 评论 -
Android插件中使用EventBus出现java.lang.IllegalArgumentException: Expected receiver of type xxx, but got xx
使用场景由于所开发的Android项目是个老项目,EventBus使用的还是EventBus2,整个项目是插件化架构,不同插件使用的ClassLoader不同。插件1中有个onEvent方法,用来更新插件1中的一些信息。在插件2中发送一个EventBus消息更新插件1。在插件升级的时候(新老插件ClassLoader不同)偶现下述异常。java.lang.IllegalArgumentExcepti原创 2017-06-02 18:51:06 · 13584 阅读 · 0 评论 -
Android中NestedScrollingParent嵌套ListView
使用CoordinatorLayout,AppBarLayout,RecyclerView很容易就能完成。由于当前开发的工程由于一些原因不能使用AndroidDesignSupport包。只能自己解决滑动嵌套的问题,这里顺便学习了下NestedScrollingParent,NestedScrollingChild的用法。原创 2017-04-21 19:46:02 · 3649 阅读 · 0 评论 -
Ubuntu下Android开发环境配置
Ubuntu下配置Android开发环境,jdk,android studio,sdk,git,repo等等原创 2017-02-04 16:51:06 · 9573 阅读 · 1 评论 -
Android中使用AbstractProcessor在编译时生成代码
根据注解生成新的Java类,这也就是EventBus,Retrofit,Dragger等开源库的基本原理。Java API已经提供了扫描源码并解析注解的框架,我们可以继承AbstractProcessor类来提供实现自己的解析注解逻辑。下边我们将学习如何在Android Studio中通过编译时注解生成java文件。原创 2016-12-29 22:00:28 · 15473 阅读 · 11 评论 -
Android中判断子View从ListView中移除
在使用ListView的时候,有一些场景,可能需要在子View中判断是否已经从ListView移出,然后做一些列操作。一般我们在普通的Layout,例如LinearLayou中,会把这些操作写在了子View的onDetachedFromWindow里。但是在使用ListView的是,发现子View这个方法不会调用。接下来一起探究下如何解决这个问题。原创 2016-12-27 11:37:37 · 6619 阅读 · 4 评论 -
Android自定义圆角Span背景
在Android开发中,有时候需要对TextView中文字进行特殊化处理,例如给局部文字设置超链接、颜色、字体,背景色等。文主要讲了怎么自定义圆角背景Span,同时讲述了ReplacementSpan这个高度定式化的Span。原创 2016-12-06 21:14:58 · 11873 阅读 · 2 评论 -
基于Fragment的轻量级Android插件化框架
本文写了一个简单的插件化框架学习的Demo,下载地址https://github.com/pengyuntao/yuntao-plugin本插件使用fragment来构建页面,没有实现service,receiver,provider等的动态加载,这里只是作为学习的例子,当然纯界面应用也可以使用这种架构来分模块开发,动态升级。例子核心类只有PluginInstallUtils,PluginHostActivity原创 2016-09-01 18:49:24 · 4680 阅读 · 1 评论 -
Android面试题目总结
最近刚换了工作,在这里把各互联网公司问到的题目做下总结。涉及的内容都是Android研发应该掌握的基础问题,我把题目大概分为JAVA,设计模式,Android,网络,算法五类。最后边列一下自己看过的技术书籍,希望大家都能提高自己。原创 2016-06-03 18:30:17 · 3493 阅读 · 1 评论 -
Android的消息机制学习(一)Looper,Handler,MessageQueue
Message,Handler是在Android中最常用的,更新UI点手段。与其他图形界面的原理类似,Android系统中UI也是靠消息驱动来工作的,具体有以下一些概念。消息发送者:发生消息到队列消息队列:存储消息的队列消息循环:不断的循环取出消息,发给处理者消息处理者:处理消息原创 2016-03-19 22:16:49 · 1139 阅读 · 0 评论 -
ListView学习(一)-ListView使用
ListView是android最常用的控件之一,可以实现各种列表:例如通讯录,聊天列表,好友列表等等。这里学习一下如何使用android的ListView原创 2016-01-03 21:39:11 · 663 阅读 · 0 评论 -
ListView学习(二)-ListView缓存机制
ListView作为列表,可以显示成百上千个item。如果有多少数据,就创建多少个item,会占用很大内存,但是大多数item并没有显示在屏幕上,造成了内存浪费,所以移除屏幕的view就可以缓存起来,以便下次重用。这里就探究下ListView是如何缓存的。原创 2016-01-24 23:21:06 · 2269 阅读 · 0 评论 -
Android绘图drawText垂直居中与FontMetrics
自定义了一个MyView控件,重写它的onDraw来绘制一个点,和一串文字。绘制圆的坐标为200,300,绘制文字的坐标也为200,300。最初以为文字也是以中心为基准的,然后绘制之后发现文字并不是垂直居中的,它的中心与圆心并不在一条水平线上。文字会偏上。这里就要说到FontMetrics,绘制文本时,使用FontMetrics对象,计算位置的坐标。文字的基准线为baseLine原创 2016-03-29 21:01:19 · 2200 阅读 · 0 评论 -
Hello World,使用OpenGL ES绘制一个三角形
1.Android中创建OpenGL ES环境为了使用OpenGL画图,我们首先需要创建OpenGL环境。a.第一步当然要在Manifest中声明一些东西首先要声明下使用的OpenGL ES版本,由于OpenGL ES 2.0支持Android 2.2 (API Level 8)以上版本,兼容版本比较广泛,这里使用 OpenGL ES 2.0<uses-feature...原创 2018-03-13 10:54:31 · 760 阅读 · 0 评论