- 博客(14)
- 资源 (2)
- 收藏
- 关注
原创 ListView源码分析(一)
这几天把ListView源码看了下,基本整理下思路并写了这篇博客,也是对学习源码的一个记录。首先看ListView的构造方法干了些什么public ListView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle);//父类AbsListview中初始化一些属性,比
2017-02-26 15:45:30 265
原创 ListView源码分析(二)
ListView的setAdapter实现 查看GrepCode网站ListView源码发现setAdapter主要有以下几个重要方法: layoutChildren,fillFromTop,fillDown /fillUp makeAndAddView,obtainView,setupChild先简单看下layoutChildren源码@Override protected
2017-02-26 10:45:32 351
原创 App开发屏幕适配
支持不同屏幕尺寸 通过下列方法支持不同的屏幕尺寸: - 确保您的布局能够根据屏幕适当地调整大小 - 根据屏幕配置提供合适的 UI 布局 - 确保对正确的屏幕应用正确的布局 - 提供可正常缩放的位图 具体适配方案: 1、使用“wrap_content”和“match_parent” 为确保您的布局能够灵活地适应不同的屏幕尺寸,您应该为某些视图组件的宽度和高度使用 “wr
2017-02-25 13:32:31 367
原创 Http协议与TCP协议易混淆点(一)
Http协议与TCP协议1.TCP协议对应于传输层,而HTTP协议对应于应用层,从本质上来说,二者没有可比性。 2.Http协议是建立在TCP协议基础之上的,当浏览器需要从服务器获取网页数据的时候,会发出一次Http请求。Http会通过TCP建立起一个到服务器的连接通道,当本次请求需要的数据完毕后,Http会立即将TCP连接断开,这个过程是很短的。所以Http连接是一种短连接,是一种无状态的连接。
2017-02-24 16:29:53 462
转载 LoadingLayout封装网络请求的各种效果
继承FrameLayout,在xml渲染完成后,加上加载中、无网络、无数据、出错四个页面,根据需要控制显示哪一层,花了些时间,开了很多方法出来,支持很多属性的设置,算是比较实用,源码里已对各个方法的作用都加了注释使用方式gradle引用:compile 'com.lai.weavey:loadinglayout:1.3.1'使用说明Loadi
2016-12-03 22:26:53 1576
原创 比较器comparable和comparator的区别
比较器comparable和comparator的区别Java提供了一个集合工具类,里面有排序方法,Collections使用它提供的方法来完成排序 注意:Collection不是Collections,Collections是在Collection上进行操作的集合的一个工具类,就如Arrays是数组的工具类public class ComparableTest { public stat
2016-09-30 21:46:13 431
原创 Java中的常用集合类
java中的常用集合类1、ArrayList:ArrayList 里面的数据都是有序的,并且可以重复 ArayList 缺点:删除慢,随机插入慢 举例:如何将数组中的元素变为集合String name[] = {"Tom","jack"};List<String >list = Arrays.asList(name);2、LinkedList 共性:有序 可以重复(里面的元素) 区别:数
2016-09-30 21:03:24 355
转载 Android studio关于build/outputs/apk/中apk或arr或jar无法删除的解决方法
android studio关于build/outputs/apk/中apk或arr或jar无法删除的解决方法 Error:Execution failed for task ‘:app:clean’.> Unable to delete file 后面的文件地址,可能是apk,可能是arr,也可能是classes.jar 在使用Android Studio开发时,部分朋友会
2016-09-10 17:43:38 2010
转载 控件抢占焦点事件
控件抢占焦点事件 通常,我们会自定义 ListView Item 的 Layout,当自定义的 Item Layout 含有主动获得焦点的控件时(例如 Button, ImageButton 等),那么我们就没办法点击 ListView Item 自己的点击事件。 解决办法很简单,只要在Item Layout 的根布局中加上 android:descendantFocusability = “b
2016-09-10 17:42:56 404
转载 AndroidStudio小技巧和快捷键
AndroidStudio小技巧和快捷键 1. 书签(Bookmarks)描述:这是一个很有用的功能,让你可以在某处做个标记(书签),方便后面再跳转到此处。 调用:Menu → Navigate → Bookmarks 快捷键: 添加/移除书签:F3(OS X) 、F11(Windows/Linux); 添加/移除书签(带标记):Alt + F3
2016-09-10 17:42:24 362
转载 AcdroidStudio调试技巧
AcdroidStudio调试技巧 写代码不可避免有Bug,通常情况下除了日志最直接的调试手段就是debug;那么你的调试技术停留在哪一阶段呢?仅仅是下个断点单步执行吗?或者你知道 Evaluate Expression , 知道条件断点;可是你听说过日志断点吗, Method Breakpoint , Exception Breakpoint 呢?还有高大上的 Field Watchpoint
2016-09-10 17:41:30 345
翻译 Java.lang.RuntimeException: Can’t marshal non-Parcelable objects across processes.
java.lang.RuntimeException: Can’t marshal non-Parcelable objects across processes. 当Service不需要支持并发操作时Messenger会非常有用。Messenger类使用Handler执行每个传入的消息,所有客户端的调用都按顺序运行在同一个线程上,这和AIDL是有区别的,AIDL每个客户端对应一个线程。使用Mes
2016-09-10 17:40:30 4171
原创 Teh specified child already has a parent
IllegalStateException:Teh specified child already has a parent FATAL EXCEPTION: main java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on th
2016-09-10 17:37:08 439
rtmp中文规范
2017-10-05
交换机原理
2015-07-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人