自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Huxq的博客

Love The Past,Play The Future

  • 博客(43)
  • 资源 (12)
  • 收藏
  • 关注

原创 Android实用的任务管理器—tractor

在平时的android开发工作中,我们经常需要执行耗时操作,有时为了用户体验还需要显示个等待框,我之前的做法都是开一个线程,然后用handler发消息进行显示和关闭等待框以及相关的ui操作。如果任务比较多的话,频繁的new Thread会让代码看上去比较混乱,而且还不好管理,针对这种情况我写了tractor。tractor主要的作用有: 1. 代码变得整洁,不用在到处new Thread和new

2015-12-18 09:43:45 2734 9

原创 让多种类型item的Recyclerview能够上拉和下拉刷新--XRefreshView

什么是XRefreshViewXRefreshView是一款支持任何view上拉加载和下拉刷新的库,之所以说是任何view,是因为他不仅在内部适配了Recyclerview,abslistview,scrollview,webview等view,还提供了让你自己去判断view到达顶部和底部的方法,就像这样

2016-07-28 09:31:29 6387 2

原创 由拉钩app引起的故事

很偶然的一个机会,在用拉钩app的时候发现了一个上拉加载更多的效果,就是列表到达最底部时继续上拉,底部文字会由点击加载变成松开载入。我感觉这个效果不错,所以给XRefreshView加了这个功能,先上图。

2016-07-19 09:16:14 2301 3

原创 一个高大上的SharedPreferences工具类——XPrefs

XPrefs可以直接保存和读取实例对象,是SharedPreferences中的ORM,还可以通过接口来做文章,这种方式用起来是最方便的

2016-06-27 09:44:43 1687

原创 手把手教你打造android侧滑框架

如果项目中遇到了侧滑的需求,主流的做法有两个用android自带的drawerlayout和slidingmenu,因为之前项目中有播放视频的时候滑动菜单就会出现滑动卡顿和闪白的问题,所以个人不推荐slidingmenu;drawerlayout效果可以,但是不一定能符合产品UI设计的要求,因此能自己写侧滑就显得至关重要了。

2015-08-06 10:04:34 6375 17

转载 Android内存泄漏分析及调试

尊重原创作者,转载请注明出处:http://blog.csdn.net/gemmem/article/details/13017999此文承接我的另一篇文章:Android进程的内存管理分析 首先了解一下dalvik的Garbage Collection:如上图所示,GC会选择一些它了解还存活的对象作为内存遍历的根节点(GC Roots),比方说thread

2015-07-30 19:14:21 1556 1

转载 生产者/消费者问题的多种Java实现方式

生产者/消费者问题的多种Java实现方式 实质上,很多后台服务程序并发控制的基本原理都可以归纳为生产者/消费者模式,而这是恰恰是在本科操作系统课堂上老师反复讲解,而我们却视而不见不以为然的。在博文《一种面向作业流(工作流)的轻量级可复用的异步流水开发框架的设计与实现》中将介绍一种生产者/消费者模式的具体应用。生产者消费者问题是研究多线程程序时绕不开的经典问题之一,它描述是有一块缓冲区作

2015-07-27 20:48:37 2634 2

原创 打造Android万能上拉下拉刷新框架--XRefreshView(三)

这段时间一直有朋友给我反馈,让我帮忙解决问题,我汇总了下,有以下几种: 1. 处理listview滑动删除与XRefreshView的冲突 2. 处理viewpager和XRefreshView的冲突 3. listview滑动到底部自动加载更多 4. 刷新时,不让里面的listview上下滑动 5. 自定义headerview和footerview 6. 配置自定义头部广告位

2015-07-21 10:29:54 39153 46

原创 Android通用圆点指示器——android-Universal-CircleIndicator

最近项目中需要加一个圆点指示器,在切换页面的时候使用,网上有开源的项目viewflow和viewpageIndicator,这两者都有很好的效果,但遗憾的是都有局限性,一个是只能用于viewflow,另一个只能用在viewpage上面,而我项目中的页面切换用的是自定义View,上面两个项目中的圆点指示器都不能拿来直接用,于是就借鉴viewflow做了一个简单易用的通用圆点指示器。

2015-07-10 09:10:21 7170 6

原创 Android屏幕适配之使用布局别名

我们在平时的Android开发中总是会遇到屏幕适配的问题,接下来我会介绍下出现的问题以及为什么要使用布局别名。

2015-07-08 09:12:57 3644 1

原创 打造android万能上拉下拉刷新框架——XRefreshView (二)

一、前言       自从上次发表了打造android万能上拉下拉刷新框架——XRefreshView (一)之后,期间的大半个月一直都很忙,但是我每天晚上下班以后都有在更新和维护XRefreshView,也根据一些朋友的意见解决了一些问题,这次之所以写这篇文章,是因为XRefreshView已经到了一个功能相对可靠和稳定的一个阶段。下面我会介绍下XrefreshView的最新功能和用法,以及

2015-06-29 09:17:10 11982 26

转载 Android开发问题

954.上传文件的时候获得文件的MIME content-type1.得到文件的MIME content-type类型mime-util-2.1.3.jarslf4j-api-1.7.5.jarslf4j-nop-1.7.5.jare.g.File f = new File("d:\\new_ailise.png");MimeUtil.registerMimeDetec

2015-06-12 10:49:15 2703 1

原创 打造android万能上拉下拉刷新框架——XRefreshView (一)

一、写在开头的话之所以写这个东西是因为项目中有用到,需要给stickylistheaders加个刷新,其实就是个framelayout里面有个listview的自定义view布局,但是一些知名的刷新框架我试了下都不支持,pulltoRefresh和XListView都是自己实现了一个可刷新的view,然后让我们来直接使用这个可刷新的view,从而达到可以上拉下拉刷新的目的。我这个需求需要的是一

2015-06-09 09:49:58 23192 53

转载 深入理解Java:SimpleDateFormat安全的时间格式化

想必大家对SimpleDateFormat并不陌生。SimpleDateFormat 是 Java 中一个非常常用的类,该类用来对日期字符串进行解析和格式化输出,但如果使用不小心会导致非常微妙和难以调试的问题,因为 DateFormat 和 SimpleDateFormat 类不都是线程安全的,在多线程环境下调用 format() 和 parse() 方法应该使用同步代码来避免问题。下面我们通过一

2015-05-25 14:49:19 1174 1

原创 Android开发之时间刻度盘

一、最近的一个项目中有遇到时间刻度盘的需求,在网上没找到合适的,于是自己就花点时间实现了,现在分享出来,效果如下图:在介绍如何实现之前,先大概介绍一个这个时间刻度盘的功能:1、显示当前时间,并且可以左右拖动至上一天或者下一天,2、根据传入的时间块来绘制蓝色部分二、代码实现public class ScalePanel extends View { public inte

2015-05-19 09:03:16 4898 7

转载 Google推荐的图片加载库Glide介绍

在泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫 Glide 的图片加载库,作者是bumptech。这个库被广泛的运用在google的开源项目中,包括2014年google I/O大会上发布的官方app。它的成功让我非常感兴趣。我花了一整晚的时间把玩,决定分享一些自己的经验。在开始之前我想说,Glide和Picasso有90%的相似度,准确的说,就是Picasso的克隆版本。但是在细

2015-04-22 10:55:55 1305 2

转载 Date类学习总结(Calendar Date 字符串 相互转换 格式化)

1.计算某一月份的最大天数    Calendar time=Calendar.getInstance();  time.clear();  time.set(Calendar.YEAR,year); //year 为 int  time.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0            int day=time.getActualM

2015-04-22 10:06:24 5712 1

转载 【整理】HashMap的原理及遍历

【遍历方法一】[java] view plaincopyfor(Map.Entry entry : hashmap.entrySet()){     System.out.println("Key="+entry.getKey()+"---->value="+entry.getValue().toString())  }  【遍历方法二:用keySet遍历】

2015-03-26 11:24:26 2301 1

转载 JAVA 正则表达式 (超详细,转)

在Sun的Java JDK 1.40版本中,Java自带了支持正则表达式的包,本文就抛砖引玉地介绍了如何使用java.util.regex包。  可粗略估计一下,除了偶尔用Linux的外,其他Linu x用户都会遇到正则表达式。正则表达式是个极端强大工具,而且在字符串模式-匹配和字符串模式-替换方面富有弹性。在Unix世界里,正则表达式几乎没有什么限制,可肯定的是,它应用非常之广泛。  正

2015-03-25 10:27:57 2305 1

转载 Android 扩大view点击范围

Android4.0设计规定的有效可触摸的UI元素标准是48dp,转化为一个物理尺寸约为9毫米。7~10毫米,这是一个用户手指能准确并且舒适触摸的区域。如下图所示,你的UI元素可能小于48dp,图标仅有32dp,按钮仅有40dp,但是他们的实际可操作焦点区域最好都应达到48dp的大小。为使小的UI区域获得良好的触摸交互,根据View的特性,目前碰到了两种情况:1.如ImageVie

2015-03-19 11:15:37 3519 1

转载 开源项目整理

转自:https://github.com/Trinea/android-open-projectAndroid开源项目第一篇——个性化控件(View)篇  包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar、TextView、其他Android开源项目第二篇——工具库篇 

2015-03-10 10:38:10 2111 2

转载 SQLite多线程读写

多线程读写SQLite实质上是将数据写入一个文件,通常情况下,在应用的包名下面都能找到xxx.db的文件,拥有root权限的手机,可以通过adb shell,看到data/data/packagename/databases/xxx.db这样的文件。我们可以得知SQLite是文件级别的锁:多个线程可以同时读,但是同时只能有一个线程写。Android提供了SqliteOpenHelp

2015-03-10 10:18:49 4173 1

转载 apk,task,android:process与android:sharedUserId的区别

来源:http://wenzongliang.iteye.com/blog/1264592http://blog.csdn.net/lynn0708/article/details/13624403apk一般占一个dalvik,一个进程,一个task。通过设置也可以多个进程,占多个task。task是一个activity的栈,其中"可能"含有来自多个App的activity默认

2015-03-09 22:55:35 877 1

转载 Android Keep screen on(保持屏幕唤醒)

方法 1: use PowerManager and WakeLockAndroidManifest.xml权限: 程序中的代码: PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);PowerManager.WakeLock mWakeLock = pm.newWak

2015-03-06 18:41:10 3456 1

原创 Android开发之Scroller的使用详解

其实关于Scroller这篇文章我早就想写了,起初是因为看Xlistview的源码,接触到了Scroller的使用,之后又在网上读了大量的文章,之后自己写了一个demo,对scroller也算是有了自己的看法。我学习的道路是曲折的,所以我要把我会的东西写出来,说不定对别人就有用呢!一、Scroller简介先通过源码里的注释看下Scroller是做什么用的/** * This

2015-03-02 22:05:42 5054 1

原创 Android/java http多线程断点下载(附源码)

先看下项目结构:http多线程断点下载涉及到 数据库,多线程和http请求等几个模块,东西不是很多,想弄清楚也不是很困难,接下来我和大家分享下我的做法。一、先看MainActivity.java成员变量,主要是一些下载过程的变量和handler private String path = "http://192.168.1.3:8080/wanmei/yama

2015-02-11 20:05:09 1815 1

原创 Android http文件上传-本地+服务器一条龙分析

本地:先看下项目结构MainActivity.javapackage com.huxq.uploadexample;import java.io.File;import android.annotation.SuppressLint;import android.app.Activity;import android.app.ProgressDialog;import

2015-02-08 14:34:37 4156 2

转载 java double 保留两位小数

java保留两位小数问题:方式一:四舍五入  double   f   =   111231.5585;  BigDecimal   b   =   new   BigDecimal(f);  double   f1   =   b.setScale(2,   BigDecimal.ROUND_HALF_UP).doubleValue();  保留两位小数  -----

2015-02-08 13:26:05 74277 3

转载 写单元测试的好处

许多开发者都有个习惯,常常不乐意去写个简单的单元测试程序来验证自己的代码。对自己的程序一直非常有自信,或存在侥幸心理每次运行通过后就直接扔给测试组测试了。然而每次测试组的BUG提交过来后就会发现自己的程序还存在许多没有想到的漏洞。但是每次修改好BUG以后还是怀着侥幸心理,认为这次不会有bug了。然后又一次自信地提交,结果又败了。因为这样反复几次后。开发者花在找BUG和修复BUG的这些时间加起来已经

2015-01-29 16:39:03 815 1

转载 Android build system note

1. Android编译系统分析编译脚本及系统变量build/envsetup.sh脚本分析在编译源代码之前通常需要在android源代码顶层目录执行 . ./build/envsetup.sh 目的是为了使用脚本 envsetup.sh 里面定义了一些函数:function help()function get_abs_build_var()function get_

2015-01-29 10:11:15 701 1

原创 Android中Adapter中edittext,checkbox记住状态解决方案(二)

Android中Adapter中edittext,checkbox记住状态解决方案(一)在上篇文章解决了adapter中checkbox记住状态和edittext可编辑的问题,下面谈谈怎么解决记住edittext中的内容和保证在操作加、减按钮的时候,操作的edittext对象是没有错位的问题。一、记住edittext中的内容解决的思路和checkbox差不多,不过还是有些差别,ch

2015-01-27 13:42:42 3876 5

原创 Android中Adapter中edittext,checkbox记住状态解决方案(一)

一、问题原因我们都知道Android中的adapter的view是用了重用机制的,简单地说就是当屏幕中的item占满屏幕以后,我们滑动listview的时候,第一个item退出屏幕,最后一个item进入屏幕View getView(final int position, View convertView, ViewGroup parent)这个时候,getview中convertview就

2015-01-25 22:27:45 4930 2

转载 Android动态加载框架DL的架构与基本原理解析

转载请注明出处http://blog.csdn.net/bboyfeiyu/article/details/42611963

2015-01-17 22:24:18 855 1

原创 Android之不一样的AlertDialog

AlertDialog是Android中的一个标准的对话框,呈献给用户的是一个对话框样式的界面。在我们Android开发过程中会经常被使用,接下来我会逐渐向大家介绍AlertDialog的一些比较另类的使用方式。1、在AlertDialog中,把字符串数组作为数据源以列表的方式显示。一般我们显示一个列表,通常会用ListView,只显示字符串的话用ArrayAdapter就够了,所以要显示

2015-01-16 22:15:14 2532 1

原创 Android之SQLite开发(2)—SQLiteOpenHelper类

SQLiteOpenHelper是Android提供的一个管理数据库的工具类,可用于管理数据库的创建和版本更新。SQLiteOpenHelper是一个抽象类,所以我们想要使用它,就必须创建它的子类,并且拓展它的onCreate(SQLiteDatabase db)和onUpdate(SQLiteDatabase db,int oldVersion,int newVersion)方法。SQLit

2015-01-11 23:07:42 902 1

原创 Android在Activity中获得控件宽高和截屏操作

在Android中怎么获得控件宽高呢?第一反应是使用View.getWIdht()或View.getHeight()来获得。好,敲好代码如下private LinearLayout layout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceS

2015-01-08 23:19:05 2614 1

原创 google固定ip--程序员必备!

自己常用的谷歌固定ip,84.15.64.35。不想吐槽百度了。。。

2015-01-08 17:33:48 1858 1

原创 Android之Sqlite开发(1)—简介

Android系统集成了一个轻量级的数据库:SQLite,SQLite是一个嵌入式的关系型数据库,非常适合在资源有限的设备上使用(如手机,PAD等)。虽然SQLite支持绝大部分SQL92语法,也允许开发者使用SQL语句操作数据库中的数据,但SQLite并不像Oracle,MySQL那样需要安装,启动服务器进程,SQLite数据库本身只是一个文件而已,如果在实际的开发工程中遇到了大批量数据的读

2015-01-07 21:54:06 1380 1

转载 Android面试汇总(百度+360+Tencent+淘宝+Qualcomm+HTC)

汇总笔者经历了一些来自百度,360,淘宝,腾讯,高通中国,htc上海的电话面试及现场面试,还有笔试相关题目百度:百度在北京中关村上地七街奎科科技大厦,不大但是很安静的一个办公地点。百度技术面试分为两轮,第一轮基础技术面试,一般为项目负责人,主要考察基本知识及知识广度,第二轮面试一般为部门负责 人,主要考察技术深度。基础面试感觉个人答的还不错,主要询问了一些关于android基本知识的考察,

2015-01-06 13:41:01 1567 1

原创 Android事件分发机制

最近在项目中遇到了touch冲突的问题,自己在网上看了一些大神的文章,但之后还是似懂非懂的,感觉理解的不够深刻,索性就自己写了个demo动手测试先来看张图,

2015-01-05 15:51:45 1628 1

android侧滑框架-XMenu

项目托管于[github](https://github.com/huxq17/XMenu),欢迎star or follow

2015-08-06

android-Universal-CircleIndicator

项目托管于github,地址是https://github.com/huxq17/android-Universal-CircleIndicator,欢迎star or fork。

2015-07-09

XRefreshView下拉上拉刷新框架_最新版

XRefreshView托管于github,地址https://github.com/huxq17/XRefreshView,欢迎fork,最新代码从github下载

2015-06-29

XRefreshView下拉上拉刷新框架

XRefreshView托管于github,地址https://github.com/huxq17/XRefreshView

2015-06-09

android时间刻度盘

来自博客http://blog.csdn.net/footballclub,欢迎和我交流

2015-05-18

Android之Scroller(滑动)完全解析

来自博客,http://blog.csdn.net/footballclub,欢迎留言交流

2015-03-05

Android http多线程断点下载

资源来自博客http://blog.csdn.net/footballclub,有问题欢迎给我留言,一起探讨!

2015-02-11

Android文件上传+服务器

资源来自博客http://blog.csdn.net/footballclub/article/details/43636813,有问题欢迎给我留言,一起探讨!

2015-02-08

android中adapter与checkbox、editText冲突的解决方案

如有疑问,欢迎和我交流。博客地址http://blog.csdn.net/footballclub/article/details/43193847,

2015-01-27

android 不一样的AlertDialog

博客地址:http://blog.csdn.net/footballclub/article/details/42785617

2015-01-17

Android获取组件高度和截屏

博客地址http://blog.csdn.net/footballclub/article/details/42536671

2015-01-09

Android事件分发测试Demo

出自博客http://blog.csdn.net/footballclub/article/details/42424103,是一个关于Android事件分发机制的一个测试demo

2015-01-06

空空如也

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

TA关注的人

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