自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android自己动手打造XML解析框架

我们在工作中,经常会从服务器获取数据并进行解析,服务器返回的数据有两种:json和xml。json我们可以用gson或者fastjson等优秀的开源框架去进行解析,省去不少麻烦,通常我们只需要把bean设计出来,然后调用一句话就可以解析成功了。而解析xml数据,我们得去一个标签一个标签的去比较,修改起来也非常麻烦,比如我们现在不需要某一个标签上的数据了,我们还得去把代码中那一行给删除,如果我们的需

2015-07-20 09:11:39 11561 9

原创 Android性能优化之提高ListView性能的技巧

ListView优化一直是一个老生常谈的问题,不管是面试还是平常的开发中,ListView永远不会被忽略掉,那么这篇文章我们来看看如何最大化的优化ListView的性能。

2015-07-29 15:13:27 18322 16

翻译 Android原生下拉刷新SwipeRefreshLayout实践

本篇文章翻译自Ravi Tamada的Android Swipe Down to Refresh ListView Tutorial首先来看一下效果图你应该发现许多的android app例如Twitter,Google+都提供了一个下拉刷新数据的功能,只要用户从上往下滑动,新的内容就会加载出来,这篇文章我们将学习如何开发出同样的功能。

2015-07-27 22:25:37 6987 1

原创 不需要任何权限获得Android设备的唯一ID

这个问题来自于Is there a unique Android device ID? 我对这个问题的答案做了整理,包括将另一篇文章加入进来作为补充,可以完美解决此问题。作者提出的问题: Android设备有没有唯一的id?如果有的话,我怎么通过java代码获得这个id?答案: 我读了stack OverStack上每一个答案,谷歌的开发者博客和Android文档,我认为’Pseudo ID’

2015-07-22 14:42:46 27388 10

原创 彻底明白如何设置minSdkVersion和targetSdkVersion

minSdkVersion和targetSdkVersion相信很多人都不太理解,我在网上也看了许多关于这两者区别的文章,感觉说的都很模糊,直到我在stackOverFlow看到Android Min SDK Version vs. Target SDK Version这篇文章后,我才终于弄清楚如何去设置minSdkVersion和targetSdkVersion,现在我将分享给大家。简言之,这篇文

2015-07-21 16:23:20 9328 2

原创 获取Android屏幕尺寸、控件尺寸、状态栏/通知栏高度、导航栏高度

1.获取屏幕尺寸2.获取控件尺寸3.获取状态栏/通知栏高度4.获取导航栏高度5.去除导航栏6.去除状态栏

2015-07-21 11:04:38 16665 2

翻译 绝对让你理解Android中的Context

这个问题是StackOverFlow上面一个热门的问题What is Context in Android? 整理这篇文章的目的是Context确实是一个很抽象的东西,我们在项目中随手都会用到它,可是很多人根本不理解它到底是干什么的,这篇文章还会添加Context in Andorid – INSIGHT的翻译,绝对让读者理解Context的意义。

2015-07-20 18:45:45 4489

翻译 Android启动Activity之后阻止EditText自动获得焦点

这个问题是StackOverFlow上面一个热门的问题Stop EditText from gaining focus at Activity startup。现在我将这个问题翻译并且将各路答案进行整理,保证可以解决这个问题作者遇到的问题如下:我有一个Activity,里面有一个EditText和一个ListView,每当我启动Activity的时候,EditText都会自动获取焦点(光标在那里一闪

2015-07-20 17:32:30 6459 2

转载 Android 通过反射随手可得的Application对象

在Android的开发当中,Application和Context对象应该是我们接触最多的对象了,特别是Context对象。当我们在某个Activity或者Service当中时,由于它们本身就是Context的子类,因此“this”可以等价于Context对象使用。然而,在很多时候这个Context并不是那么随手可得,试想一下以下情况:需要用到Context的SDK,开发者为了

2015-07-17 15:48:17 3879 1

原创 Android 通过反射让SQlite建表如此简单

我们通常使用SQlite的时候,如果我们有10张表,我们要写10个建表语句,而建表语句中只有一些字段的名字需要改而已,这样既费时又费力,还容易出错,我们知道写sql语句的时候经常会写错,如果写错程序就会崩掉,而且检查10个建表语句还可以,如果有100条我么就要疯了。这篇文章告诉大家如何通过反射来快速建表。

2015-07-17 13:46:29 8926 7

原创 Android通过反射打造可以存储任何对象的万能SharedPreferences

我们通常使用SharedPreferences存储一些需要保存在本地,但又不至于存储在数据库里的一些数据,一般我们用它来存储一些用户名,密码等数据是非常方便的,那么如果我们想要存储的信息有10几条,我们就得写10几行重复的代码把他们存进去,取出来的时候还得写10几行代码将他们一条一条取出来,那么有没有什么办法可以只需要一行代码就可以将他们存进去,一行代码就将他们取出来?答案是有

2015-07-16 16:08:22 8773 1

翻译 Android网络框架-Volley实践 使用Volley打造自定义ListView

这篇文章翻译自Ravi Tamada博客中的Android Custom ListView with Image and Text using Volley最终效果这个ListView呈现了一些影视信息,每一行是一个影片的信息,每一行中有一张电影的图片,电影的名字、评分、类型、年份等信息。1.json数据我们通过解析json然后拿到数据,这个json数据包括json数组,每个j

2015-07-16 12:57:19 2850 4

原创 Android网络框架-Volley(五) 使用Volley发送自定义Request

自定义一个RequestVolley已经帮我们实现好了StringRequest、JsonObjectRequest、JsonArrayRequest以及ImageRequest。如果我们想要发送一个xml请求,我们可以自定义一个Request。自定义一个Request我们需要: 1. 继承Request,其中泛型T就是我们想要解析的格式, 2. 重写parseNetworkResponse

2015-07-15 22:54:22 3044

原创 Android网络框架-Volley(四) 使用get和post方法发送json请求

这一篇文章我们介绍如何使用Volley发起请求,前提是我们得建立一个RequestQueue。在Android网络框架-Volley(二) RequestQueue源码分析以及建立一个RequestQueue中我们介绍了如何创建一个单例的RequestQueue,如果不会的朋友可以看一下。1.发出JSON请求Volley提供了解析JSON数据的

2015-07-14 13:05:01 9797

原创 Android网络框架-Volley(三) CacheDispatcher和NetworkDispatcher源码分析

在Android网络框架-Volley(一) 工作原理分析中的流程图中我们知道Volley工作是有三个线程的:主线程、缓存线程和网络线程。这些线程的工作是建立在RequestQueue上的,上一篇文章 Android网络框架-Volley(二) RequestQueue源码分析以及建立一个RequestQueue中我们分析了RequestQueue的源码以及最佳使用方式,这篇文章我们来分析

2015-07-13 14:02:37 1941 1

原创 Android网络框架-Volley(二) RequestQueue源码分析以及建立一个RequestQueue

从上一篇文章我们可以知道,Volley的整个工作都是建立在一个RequestQueue上的,所以理解RequestQueue对于我们使用Volley是很有必要的,上一篇文章的例子中,我们使用Volley.newRequestQueue()创建了一个RequestQueue实例,那么我们就先来看一看Volley是怎么把RequestQueue创建出来的吧。

2015-07-10 15:18:15 2252 2

原创 Android网络框架-Volley(一) 工作原理分析

使用Volley可以让我们轻松访问网络,不用每次都要写大量重复的代码,而且它是异步的,不用我们再去写异步任务,这样代码非常简洁。还有很重要的一点,他还可以异步加载图片并且有缓存机制,防止OOM发生,Volley把该干的全都干了,我们只需要专注于我们自己的业务逻辑就可以了。Volley适合于小数据量,多次数的网络访问情况,比如常见的一个listview,每行都是从网络上获取的一个图片和几行文本,使用

2015-07-10 13:25:45 6005 4

原创 Android Studio-R文件错误的解决办法

我们在使用Android Studio的时候,有时候会无缘无故R文件错误,我们又没法像elipse一样去clean工程,出现这样的问题我们应该怎么解决呢?第一步:检查xml文件,R文件错误通常是由于我们的xml文件有问题,首先把xml文件的错误排除掉,然后进行下一步第二步:MainActivity.java同包下新建一个类,这个类起名为R.class这时我们发现项目中的

2015-07-06 22:58:47 45734 17

原创 Android实践-自定义dialog从屏幕底部弹出并且充满屏幕宽度

通常我们使用dialog的时候会遇到一些问题,比如我想用自己定义的布局来替代系统那个黑乎乎的布局时我要怎么做?我想要指定dialog从底部弹出而不是在屏幕中央弹出要怎么做?我设置了dialog布局的宽度为填充父窗体然而实际效果却不是充满全屏的,这时我该怎么做?

2015-07-06 22:57:06 15587 9

原创 Android实践-使用ViewPager和Fragment实现带Tab导航条的仿新闻类页面

ViewPager+Fragment可以让我们快速搭建出一个新闻类app的框架,我们先来看一下效果其实实现起来非常简单,我们先来看一下主页面的布局文件<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.c

2015-07-03 22:29:53 2241 1

原创 Android属性动画-Property Animation(四) 组合动画

之前我们研究的都是一个动画一个动画的单独播放,而在很多时候,我么需要将几个动画,以某种逻辑顺序来执行。我们可以用AnimatorSet来组合各种各样的动画。

2015-07-03 09:54:50 2456 1

原创 Android属性动画-Property Animation(三) 使用ValueAnimator完成动画

上一篇文章我们分析了ObjectAnimator的使用方法,这篇文章我们将分析ValueAnimator的使用方法。如果还不会使用ObjectAnimator的朋友可以看一下在原理分析那篇文章中我们提到过,使用ValueAnimator的话必须要实现ValueAnimator.AnimatorUpdateListener接口,并且要在onAnimationUpdate()方法中手动更新属性值,

2015-07-02 15:37:25 2048 2

原创 Android属性动画-Property Animation(二) 使用ObjectAnimator完成动画

使用属性动画时我们通常使用Animator的两个子类,ValueAnimator和ObjectAnimator。这两个子类如何选择呢?在大多数情况下我们会使用ObjectAnimator,它比较轻量级,使用非常简单,但是它也有一些局限性,就是必须要实现属性的getter和setter方法,因为使用ValueAnimator的时候我们必须实现ValueAnimator.An

2015-07-02 09:55:08 2353 2

万能SharedPreferencesDemo

Android通过反射打造可以存储任何对象的万能SharedPreferences SharedPreferences的高级应用

2015-07-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除