
android 学习日记
文章平均质量分 87
安卓小小鸟
量变引起质变,要想弥补你的不足,只有比别人更加努力
展开
-
使用Gson解析复杂的json数据
Gson解析复杂的json数据最近在给公司做一个直播APK的项目,主要就是通过解析网络服务器上的json数据,然后将频道地址下载下来再调用Android的播放器进行播放,原先本来打算使用普通的json解析方法即JsonObject和JsonArray的配合使用,这对于解析小数据的json数据还是比较实用,但是当解析json数据比较复杂的时候这种方法就显得比较吃力也比较麻烦了,如果大家感兴趣的话转载 2015-03-06 11:18:59 · 798 阅读 · 1 评论 -
从ViewPager嵌套RecyclerView再嵌套RecyclerView看安卓事件分发机制
这两天伟大的PM下了一个需求,在一个竖滑列表里实现一个横向滑动的列表,没错,又是这种常见但是又经常被具有着强烈责任心和职业操守程序员所嗤之以鼻的效果,废话不多说,先上图: 实现的方式很多,因为项目中已经ViewPager+RV实现基本框架,所以现我也选择再添加一个RV实现相应的效果。不过在写代码之前,先预估一下这个效果所有的坑。 VP是横向滑动的,RV是竖向滑动的,那么现在再添加一个横向原创 2017-01-20 17:30:15 · 12809 阅读 · 12 评论 -
泛型的一些知识点
泛型,一个孤独的守门者。大家可能会有疑问,我为什么叫做泛型是一个守门者。这其实是我个人的看法而已,我的意思是说泛型没有其看起来那么深不可测,它并不神秘与神奇。泛型是 Java 中一个很小巧的概念,但同时也是一个很容易让人迷惑的知识点,它让人迷惑的地方在于它的许多表现有点违反直觉。文章开始的地方,先给大家奉上一道经典的测试题。List l1 = new ArrayList(); List l2 =转载 2017-08-10 16:51:49 · 415 阅读 · 0 评论 -
Android 应用点击图标到Activity界面显示的过程分析
分析这个过程不是单纯为走一遍函数调用的流程,而是更好的理解平常用到的一些方法、对象的初始化时间,对象创建的个数,方法的先后顺序,以及每个类,方法背后的作用和目的。主要是一下几个问题:Application是什么时候创建的,每个应用程序有几个Application 应用的资源路径什么时候初始化的 应用中ContextImpl的个数 Application.attach(),Activity.at转载 2017-08-11 17:50:54 · 395 阅读 · 0 评论 -
一种简单的实现标签标题的混排方式
在很多情况下,尤其是电商类网站,都会有促销活动或者其他一类的活动,在UI设计上通常会出现以下设计: 以及以下设计: 针对第一种情况,标题和标签在一行且标题只有一行的情况下,我们可以使用两个控件,一个imageView(simpleDrawView),一个textView,并设置他们的位置关系即可。(或者drawableLeft) 但是大多数情况下并非是这样的,而是和图2一样,这样设置两个...原创 2018-05-11 15:30:08 · 598 阅读 · 0 评论 -
Java中关于内存泄漏出现的原因以及如何避免内存泄漏
来自:移动开发 - 优快云博客频道作者:Walter_Mr链接:http://blog.youkuaiyun.com/wtt945482445/article/details/52483944 Android 内存泄漏总结 内存管理的目的就是让我们在开发中怎么有效的避免我们的应用出现内存泄漏的问题。内存泄漏大家都不陌生了,简单粗俗的讲,就是该被释放的对象没有释放,一直被某个...转载 2018-10-11 19:38:58 · 286 阅读 · 0 评论 -
ConstraintLayout的居中显示以及常见问题剖析(二)
开局一张图,博客继续编上一期博客中,我们介绍了ConstraintLayout的基本属性以及用法ContraintLayout的基本属性与用法在结尾抛出了几个问题1. 两个控件之间怎么居中对齐?2. 我设置了android:ellipsize="end"为什么没生效3. 在某些逻辑下我要隐藏很多控件,为了方便,我在传统布局里可以将这些控件设置在一个ViewGroup里,就可以达到隐藏...原创 2018-11-03 12:26:44 · 15202 阅读 · 0 评论 -
ContraintLayout 开篇
ContraintLayout 是谷歌在2016年IO大会上新出的一个组件,今年都8012年了,应该有很多开发者在使用这个组件了,不过我也不确定,或许在很多大公司里由于项目原因,并没有使用该控件或者该控件使用率很小。至少我是我们组第一个使用该控件的,使用之后的感触:谷歌爸爸真牛逼。不过话说,都8012年了,我才使用这个控件,落伍了。关于ConstraintLayout的性能优势,可以看谷歌爸爸...原创 2018-11-02 10:43:40 · 361 阅读 · 0 评论 -
ContraintLayout的基本属性与用法(一)
开局一张图,博客全靠编:该布局如果以传统布局方式来写的话是这样的(由于显示逻辑问题实际情况更复杂,demo略做精简)<?xml version="1.0" encoding="utf-8"?&原创 2018-11-02 12:34:26 · 1267 阅读 · 1 评论 -
ConstraintLayout属性之Group,GuideLine(三)
在上期博客中[ConstraintLayout的居中显示以及常见问题剖析](https://blog.youkuaiyun.com/wzlyd1/article/details/83655680)简单介绍了一下居中问题和字符串末尾显示…问题,其实就是写一下新属性在日常使用中的正确姿势。上期还有两个问题没有解决,一个是1.在某些逻辑下我要隐藏很多控件,为了方便,我在传统布局里可以将这些控件设置在一个Vie...原创 2018-11-07 17:23:32 · 6004 阅读 · 1 评论 -
Constraint Layout 动画
参考掘金的这篇文章,写的很好Constraint Layout 动画 | 动态 Constraint | 用 Java 实现的 UI(这到底是什么)[第三部分]原创 2018-11-10 18:19:12 · 429 阅读 · 0 评论 -
ConstraintLayout利用百分比属性来解决一些简单的适配问题(四)
接着上一篇文章讲ConstraintLayout属性之Group,GuideLine(三)先前的几篇文章只是讲了一下ConstraintLayout的基本属性,都很简单,感觉没有眼前一亮的感觉,接下来要讲的东西也很简单,但是会很实用,尤其是在屏幕适配方面,如果运用的灵活,简直美滋滋。在平时写布局的时候我们通常都是以dp为单位的,这也是google推崇的一种方式,但是dp并不能完全适配所有的手...原创 2018-11-07 18:19:33 · 21136 阅读 · 0 评论 -
Android 中的Dalvik和ART是什么,有啥区别?
什么是Dalvik?Dalvik是Google公司自己设计用于Android平台的虚拟机。Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的核心组成部分之一。它可以支持已转换为 .dex格式的Java应用程序的运行,.dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。Dalvik 经过优化,允许在有限的内存中同时运行多转载 2017-05-24 11:11:41 · 441 阅读 · 0 评论 -
由一个bug引起的关于list的思考
今天QA提了一个bug,说是在某些情况下,该显示4个标签的时候却出现了5个标签,某些情况下又是正确的,很奇怪,让我调查一下。翻看了一下代码,发现以下一段代码 肯定是这段代码的问题了,刚开始比较蒙圈,以为是++i的原因,但是后来验证了一下,并不是这个原因,在for循环里,i++和++i最终效果都是一样的,那么,问题到底在哪里?问题出在哪里这段代码的意思很明显,就是在size>4 的时候,删除掉原创 2017-03-17 21:27:20 · 424 阅读 · 0 评论 -
使用ListView保存历史输入记录
惯例,文章转自 http://raising.iteye.com/blog/2189057android应用中,经常需要保存用户的输入记录,以保证用户下次输入时可以在历史记录中直接选择可能要输入的值,这样就提高了用户的体验性!保存用户输入的列表项: <ListView android:id="@+id/listView" android:layout_width=转载 2015-03-06 11:00:57 · 731 阅读 · 0 评论 -
Gson解析复杂json
最进在公司写项目,遇到了一个特别大的json,第一眼看上去这个json特别的复杂,有多复杂呢?json返回的数据有544行,还行吧?要是用传统的json解析,也能够解析,但是过程略显繁琐,而且不符合java面向对象的特性,下面贴上这段json代码,估计不会泄漏公司机密吧?现贴上去吓吓你们,当然这无关紧要,不是我们的重点,我都改过很多内容了,没耐心看完的可以直接跳过去:{ "respons原创 2015-05-03 15:49:54 · 1596 阅读 · 3 评论 -
安卓接口回调之我见-------仅是安卓小小鸟的见解
题外话:这篇博客包含了我两个最耗费我时间去理解的知识点。理解能力渣渣,接口回调技术曾经用了两星期去理解才理解,说理解我都不自信,因为我都不知道我写的是不是接口回调,只是因为我看着长得像,就写出来看看,顺便做自我记录,恳请大神们拍砖。首先感谢loader大神和龙伟大神的指点还有csdn各个大神的博客,没有你们写的接口回调我也不会理解。接口回调技术,说起来高大上,很多人一听云里雾里的,原创 2015-03-01 21:12:45 · 1315 阅读 · 7 评论 -
仿写BaseAdapter而想到的观察者模式-----思考
仿写BaseAdapter而想到的观察者模式以及思考最近在读一篇博客的时候,博客地址(强烈建议先阅读该篇博客再看此博客)看到这个哥们写的代码不太像我们平时用的adapter,我想,既然它都定义成adapter了,为什么不按照规范来,按照我们平时的用法,adapter.setData();adapter.notifyDataSetChanged(),就可以直接来显示内容了,这哥们写的不是这样的,看他的原创 2016-03-31 17:21:40 · 812 阅读 · 0 评论 -
安卓事件分发机制
详细的不说了,只写一下总结:view的分发机制 1、事件入口是dispatchTouchEvent(),它会先执行注册的onTouch监听,如果一切顺利的话,接着执行onTouchEvent,在onTouchEvent里会执行onClick监听。 2、无论是dispatchTouchEvent还是onTouchEvent,如果返回true表示这个事件已经被消费、处理了,不再往下传了。在di原创 2016-04-05 17:31:06 · 800 阅读 · 0 评论 -
viewPager的 transformPage方法中position含义
在 transformPage 方法中, 会传递两个参数, 且 该View 对应 当前的 position position 有一下几个区间: [-∞ , -1) : 表示左边 的View 且已经看不到了 [-1 , 0] : 表示左边的 View ,且可以看见 ( 0 , 1] : 表示右边的VIew ,原创 2016-05-06 15:13:46 · 2053 阅读 · 0 评论 -
RecyclerView实现分组展示信息
前言转载请注明出处 http://blog.youkuaiyun.com/wzlyd1/article/details/52292548 一直在鸿洋大神的安卓群里水群,渐渐的loader和安卓弟等人都成长了起来,还记得当初他们清纯的模样。小L在群里不水了,安卓弟成长为CTO了,只有我依然默默无闻,于是决定再写博客了,之前不写,一是因为工作比较忙,二是因为我水平有限,简单的不想写,因为写了也没用,网上d...原创 2016-08-23 18:33:24 · 26103 阅读 · 16 评论 -
写代码仅仅是“写”代码吗?
写代码仅仅是“写”代码吗?前言最近一直忙于新功能的开发,一直没有时间写博客,之前说的坚持写博客又被中断了,我的错。 话说在今年三月份我被调到了一个新的部门,说新的 也不是很对,因为这个部门是我们公司最老的部门了,因为缺开发,所以把我调了过来。 看到标题,很多人都会不假思索的在心里默道,肯定不是”写”代码,因为还有逻辑等巴拉巴拉,但是又说不出个所以然,那么今天我们就来扯一扯代码究竟该怎么写。目录写原创 2016-09-23 15:17:22 · 1128 阅读 · 7 评论 -
再次学习java语言中值传递和引用传递
上个月做了一个房型筛选的功能,里面牵扯到了数据的克隆操作,说道克隆操作,大家都很熟悉,数据为什么要克隆,简单说主要是为了操作现有数据而不影响之前的数据,那么,就必然牵扯到java的引用传递。今天我们并不去讲怎么克隆对象,主要是再走一边大学里面我们经常听到的两个概念 “引用传递”和“值传递”。 查阅资料发现有人说java只有值传递,这个不同的角度不同的看法,我们今天也不讨论,只是按照最初的认知来了解原创 2016-11-16 19:11:20 · 321 阅读 · 0 评论 -
Activity的启动模式解惑
在做一个需求的时候需要设置一个activity的启动模式,由于之前的启动模式是默认的standard ,怕出问题,所以没有在AndroidManifest.xml文件设置启动方式,需要代码设置,但是却遇到了一些小问题,在讲问题之前,先回顾一下activity的四种启动方式standard 方式:标准模式,这是系统默认是模式,如果你没有指定特定的启动模式的话,默认该方式。每次启动一个Activity原创 2016-11-16 21:13:08 · 440 阅读 · 0 评论 -
AndroidStudio 遇到的一些问题
FBI Warning:欢迎转载,但请标明出处:http://blog.youkuaiyun.com/codezjx/article/details/38669939,未经本人同意请勿用于商业用途,感谢支持!整理了一些这段时间遇到的常见问题,希望对各位猿们有帮助。。。如果觉得有用就点个赞哦问题一:Error:(26, 9) Attribute applica转载 2017-01-10 14:03:18 · 413 阅读 · 0 评论 -
彻底掌握Android多分包技术MultiDex-用Ant和Gradle分别构建(一)
版权声明:本文为博主原创文章,未经博主允许不得转载;来自http://blog.youkuaiyun.com/mynameishuangshuai目录(?)[+] Andrid多分包技术在大型项目编译方面起着至关重要的作用,作为一个高级开发者我们有必要掌握此技能,现在我带领大家统一学习此项技能,并教会大家分别使用Ant和Gradle构建。什么是Dex转载 2017-01-29 12:11:08 · 859 阅读 · 0 评论 -
利用注解和APT生成模板代码
这里写自定义目录标题开题注解的核心方法APTJavaPoet为什么要写这么一套代码?apt-annotaitionapt-processorapp的build.gradle自定义我们的注解ViewHolder创建核心代码 ViewHolderProcessor整体架构遇到的问题代码生成办法开题注解在很多框架中频繁的使用,比如大名鼎鼎的ButterKnife,ButterKnife运用的...原创 2018-12-14 16:28:03 · 735 阅读 · 0 评论