再次探究Android ListView缓存机制

概述虽然现在5.0后Google推出了RecycleView,但在5.0 Lollipop普及前Listview仍会被广泛使用,所以打算再次探究一下Listview的源码,了解一下Listview 的构成及加载机制。探究上图简单梳理了Listview的构成及与其相关类之间的关系,并简要地列出了些重要的方法和内部类。AdapterView从上图可以清晰的看出Listview归根究底是继承自Adapt...
缓存机制 Android ListView

Android JSON解析数据

一:json的简介json指的是Javascript对象表示法,是一种轻量级文本数据交换格式,类似于XML,但比XML更小、更快、更易解析二:Json与XML的比较(copy网上的)优点:比xml格式简单;json是更好的数据交换格式;xml是更好的文档交换格式;json更易于机器阅读,使用简单的客户端库或者自身支持(javascript);json可被浏览器客户端支持;可支持各种通用的数据结构,...
Android开发 JSON解析数据

Android应用解决65K方法数限制

近日,Android Developers在Google+上宣布了新的Multidex支持库,为方法总数超过65K的Android应用提供了官方支持。如果你是一名幸运的Android应用开发者,正在开发一个前景广阔的应用,不断地加入新功能、添加新的类库,那么终有一天,你会不幸遇到这个错误: ConversiontoDalvikformatfailed:Unabletoexecutedex:met...
Android应用 Android开发

Android实现延迟退出主界面功能

想必大家在平常使用Android应用的时候,经常会看到退出应用时,需要点击两下才能退出的功能,这就是延迟退出功能、防止用户误操作。实现代码其实很简单,主要是通过handler消息实现:publicclassMainActivityextendsFragmentActivity{ privatebooleanisExit=false; @SuppressLint(HandlerLeak) pr...
延迟退出 Android开发

Android Traceroute 功能实现

经常在windows下开发网络功能的人 经常会使用的命令就是tracert 。而实际上 在app开发中,我们也经常要碰到类似的情况。比如你的app出现了问题,你总不能让用户想办法 去tracert吧。你肯定要知道你的app 是在网络中的哪一个部分出了问题。我举个最简单的例子。国内有很多做外包的公司 在开发过程中 需要调用 facebook 等公司提供的sdk 或者接口。当然了 我们 在天朝吗 所以...
Android开发 Traceroute实现

Android布局学习——android:gravity和android:layout_gravity的区别

1.分别是什么?android:gravity :定义了一个对象在X,Y坐标轴,在它自己的边界内,应该如何放置它的内容。是上(top)还是下(bottom),左(left)或是右(right)。比如一个TextView,设置它的android:gravity,对它的内容的位置有影响。android:layout_gravity :标准的gravity常量,是子组件提供给它的父组件的。定义了子Vie...
layout_gravity Android布局

Android string.xml如何输入空格、换行等符号——转义字符

在Android中,用户往往会把所有的字符串保存在string.xml中,目的是方便统一管理,并且利于国际化,但是在这些字符串中直接输入一些符号是不起任何效果的,比如空格,换行,大于号小于号等,这就需要使用转义字符来进行转移,这样才能在使用时正确显示字符。常用的XML转义字符记录如下: 空格:stringname=out_bound_submit出库/string其中的就代表空格 换行:str...
Android开发 转义字符

Android内存泄漏监测(MAT)及解决办法

BitmapFactory.Optionsoptions=newBitmapFactory.Options(); //只加载图片的部分信息,减少内存占用 options.inJustDecodeBounds=true; BitmaptmpBitmap=BitmapFactory.decodeStream(newByteArrayInputStream(newURL(url).openStre...
Android开发 内存泄漏

Android集合中对象排序

如果将集合中的对象进行排序,最近使用了一个简单的方法解决了,随笔记下来。主要思路:首先,新建类实现Comparator?,这个类是做比较的关键类,一般做比较的类型 int 或 String类型。如果属性为Int类型比较方式为 rhs.getAge() - lhs.getAge();如果属性为String类型方式为 rhs.getName.compareTo(lhs.Name);以上为降序写法...
Android开发 对象排序

Android Studio ADB响应失败解决方法

当启动Android Studio时,如果弹出adbnotresponding.youcanwaitmore,orkilladb.exeprocessmanuallyandclickRestart说明ADB响应失败,此时点击 wait more 就会不断弹出这个对话框,点击 Restart 也无济于事。解决方法:1.打开cmd,输入 adb kill-server , adb start-serv...
ADB响应失败解决 android studio