自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

XXXAndroidXXX

信佛的和尚

  • 博客(70)
  • 资源 (5)
  • 收藏
  • 关注

原创 java中的线程池实现以及代码分析

为什么要使用线程池: 我的理解是线程池可以使线程复用,避免了每次线程都new一个新的线程,另外我们可以给线程池一个固定大小,从而避免了大量线程对CPU的占用。 我们看一下javaapi对线程池的描述: 线程池可以解决两个不同问题:由于减少了每个任务调用的开销,它们通常可以在执行大量异步任务时提供增强的性能,并且还可以提供绑定和管理资源(包括执行任务集时使用的线程)的方法。每个 ThreadPoo

2016-12-27 16:08:39 2046

翻译 Android开发中联网时Http选择

这边文章来自Android博客,其实很早就看过,因为需要翻墙并且原文为英文,所以现在翻译下来,记录一下,因为联网也是android开发最基本的一项, 也给了一些刚接触android开发的Http选择建议,因水平有限,关键部分附上了英文原文,语句不通顺也请谅解。 原文地址:http://android-developers.blogspot.jp/2011/09/androids-http-cli

2016-11-09 11:35:58 764

原创 Android线程间通信 Handler、Looper、MessageQueue

涉及到的类:android.os.Looper 消息分发器,负责从MessageQueue中取出Message并交由Handler的dispatchMessage方法处理。android.os.Handler 消息处理器,可以往MessageQueue中插入Message,并处理从MessageQueue中取出的消息。一个Looper可以有多个Handlerandroid.os.Messa

2016-11-01 14:16:28 496

原创 Android应用线程详解

文章概要Android应用三种线程 UI Thread Binder Thread Background Thread之间的区别与联系UI Thread我们先来看一下App与Linux进程之间的关系,一般情况下,Android应用组件运行在同一个进程之中,app与Dalvik和Linux系统进程之间的关系如图: UI Thread又称作Main Thread,它的生命周期和Android应用生命周

2016-10-28 15:42:04 1259 1

转载 Android中的进程与线程

文章来源:谷歌官方文档 https://developer.android.com/guide/components/processes-and-threads.html当某个应用组件启动且该应用没有运行其他任何组件时,Android 系统会使用单个执行线程为应用启动新的 Linux 进程。默认情况下,同一应用的所有组件在相同的进程和线程(称为“主”线程)中运行。 如果某个应用

2016-10-12 14:43:22 565

转载 tcp/ip 上,丢包重传机制

废话少说,首先,我们需要知道TCP在网络OSI的七层模型中的第四层——Transport层,IP在第三层——Network层,ARP在第二层——Data Link层,在第二层上的数据,我们叫Frame,在第三层上的数据叫Packet,第四层的数据叫Segment。首先,我们需要知道,我们程序的数据首先会打到TCP的Segment中,然后TCP的Segment会打到IP的Packet中,然后

2016-10-10 15:08:15 6615 1

原创 代码可读性优化

最近整理项目时发现有个方法为判断两个记录的md5是否相等,源代码如下 private boolean isMd5Equal(DownloadRecord oldRecord, DownloadRecord newRecord) { if (newRecord.getMd5() == null && oldRecord.getMd5() == null) {

2016-10-09 17:49:25 404

原创 AsyncTask源码解析

我们从AsyncTask的excute方法看起,执行的是excuteOnExecutor方法public final AsyncTaskParams, Progress, Result> execute(Params... params) {    return executeOnExecutor(sDefaultExecutor, params);}这里传进去的是一个静态

2016-09-23 17:19:18 373

转载 线程

新生状态(New): 当一个线程的实例被创建即使用new关键字和Thread类或其子类创建一个线程对象后,此时该线程处于新生(new)状态,处于新生状态的线程有自己的内存空间,但该线程并没有运行,此时线程还不是活着的(not alive);  就绪状态(Runnable): 通过调用线程实例的start()方法来启动线程使线程进入就绪状态(runnable);处于就绪状态的线程已经具备

2016-09-21 19:47:43 261

原创 关于HttpURLConnection的一个疑问解析

关于HttpURLConnection的一个疑问解析关于下段语句: URLConnection conn = url.openConnection(); url.openConnection();返回的是URLConnection类型的对象,而URLConnection类是个抽象类。 我的重点疑惑点是:我理解的抽象类未经子类覆盖其抽象方法之前,是不能new对象,也不能实例化的,这句通过open

2016-09-19 17:44:34 457

原创 JAVA获取文件MD5值

/** * Md5校验工具类 * @author Fengwx */public class MD5Util { private static final char[] hexDigits = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};

2016-09-18 15:58:51 5531

原创 android startService调用流程(一) (android6.0源码)

我们知道要开启一个Service,首先在AndroidManifest.xml注册该Service,然后在Activity中startService现在我们就看下Service是怎么一步步通过ActivityManagerService启动的。Context.startService是一个抽象方法,我们知道真正实现Context的类ContextImpl(./frameworks/base

2016-09-08 15:19:52 1468

原创 Activity启动过程(一):通过ActivityThread send message启动activity

大家都知道一个应用开始的地方为ActivityThread的main方法,main方法中有以下代码:ActivityThread thread = new ActivityThread();thread.attach(false);下面我们看attanch方法    private void attach(boolean system) {        sCu

2016-08-31 18:58:42 799

原创 Activity启动过程(二):(handler接收LANUNCH_ACITIVITY)

ActivityThread中的mH处理LAUNCH_ACTIVITY消息:               case LAUNCH_ACTIVITY: {                    Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "activityStart");                    fina

2016-08-31 17:36:36 786

转载 java多态解释

Java多态性理解Java中多态性的实现什么是多态面向对象的三大特性:封装、继承、多态。从一定角度来看,封装和继承几乎都是为多态而准备的。这是我们最后一个概念,也是最重要的知识点。多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用)实现多态的技术称为:动态绑定(dynamic

2016-06-17 17:41:54 750

转载 jenkins参数化构建过程

1,首先增加Jenkisn插件https://wiki.jenkins-ci.org/display/JENKINS/Extended+Choice+Parameter+plugin 直接在管理界面增加。 比如一个工程下面有多个服务的时候需要参数部署,比如maven下面有多个soa服务。需要增量部署,而不是全部部署。2,配置jenkins在配置value的时

2016-04-18 16:50:02 14918 1

原创 android中activity相关任务栈(1)

原文地址:http://developer.android.com/guide/components/tasks-and-back-stack.html一个应用通常有多个activity,每个activity被赋予一个详细的action描述方便用户去start.例如我们想去呼叫一个电话的时候可以这样编写代码:Intent intent=new Intent(); intent.set

2016-02-15 11:27:39 413

原创 Android Recipes笔记 通过一个自定义控件看android view测量过程。

首先我们自定义一个简单的控件,代码如下:package com.osblog.androidrecipes;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android

2016-02-01 11:51:19 386

原创 Android Recipes笔记

最近发现了一本好书,感觉这本书比较适合已经对android比较熟悉的但是还不够系统的人去学习。书名:android recipes也准备写点博客去记录读书的一些笔记。在我们新建一个Activity的时候都知道会重写一个onCreate方法,示例如下@Override protected void onCreate(Bundle savedInstanceState) {

2016-01-29 15:05:56 486

原创 读volley源码(1)

先看volley这个类 volley有四种构造方法四种构造方法实质都是调用的第一个。只不过写一个参数的时候其他参数为默认的值。public static RequestQueue newRequestQueue(Context context) { return newRequestQueue(context, null); }第一个就是传进去一个c

2015-09-25 15:52:45 418

原创 android利用draglayout实现菜单栏顶部悬浮效果

效果图如下

2015-09-23 14:53:18 2905 4

原创 setUserVisibleHint-- fragment真正的onResume和onPause方法

现在越来越多的应用会使用viewpager+fragment显示自己的内容页,fragment和activity有很多共同点,如下图就是fragment的生命周期但是fragment和activity不同的是当调用本身的onResume和onPause方法的时候可能并不是当前的fragment在显示,例如当加载下面这张图时,当我打开MainActivity时显示的是第一个fragment 但此

2015-08-11 13:30:38 28925 24

原创 android常用工具 --- 简单的FragmentAdapter

public class FragmentAdapter extends FragmentPagerAdapter { private ArrayList fragList; public FragmentAdapter(FragmentManager fm, ArrayList fragList) { super(fm); this.fragLi

2015-08-05 17:29:13 1001

原创 android常用封装 --- BaseActivity

public abstract class BaseActivity extends Activity { /** * 记录处于前台的Activity */ private static BaseActivity mForegroundActivity = null; /** * 记录所有活动的Activity */ priv

2015-08-05 17:16:43 8317

原创 android常用封装 --- BaseFragment

public abstract class BaseFragment extends Fragment { public FragmentActivity mActivity; /** * 此方法可以得到上下文对象 */ @Override public void onCreate(Bundle savedInstanceState) {

2015-08-05 17:13:46 6562

原创 android常用工具类 --- 网络、手机信息封装

public class CommonUtils{ public static String getMyUniqueId(Activity mActivity) { TelephonyManager tm = (TelephonyManager) mActivity.getBaseContext() .getSystemService(Context.TELEPHONY_SERV

2015-08-05 17:10:41 625

原创 android常用工具类 --- UI操作

public class UIUtils { public static Context getContext() { return XJYApplication.getApplication(); } public static Thread getMainThread() { return XJYApplication.getMainT

2015-08-05 17:08:25 1262

原创 android常用工具类 -- 打印log日志

public class LogUtils { // public static final boolean IsNeedLog = true; public static final boolean IsNeedLog = true; /** 日志输出时的TAG */ private static String mTag = "xjy_logutils_tag:"; /** 日

2015-08-05 17:05:59 1470

原创 android常用工具类 --事件

public class DisplayTime{ public static String getBriefTime(Date time) { Calendar calendarStandard = Calendar.getInstance(); Calendar calendar = Calendar.getInstance(); calendar.setTime(time)

2015-08-05 17:04:00 604 1

原创 android面试题总结02 在android中本地写入一个xml文件

上次去面试一家做framework层的公司,问到了很多java基础,还有怎么在android本地用java写一个xml。然后想了半天想起来看黑马视频里学过XmlSerializer这个xml序列化工具,然后我就回答有个XML序列化工具,然后里面有setTag方法(这个其实应该是startTag)反正就是回答的很不清楚,然后面试官说可以理解,毕竟这个不常用,我知道你知道,用过就行了,就这样过

2015-07-27 23:50:10 537

原创 android面试总结01 activity生命周期

面试经常会被问到的:Q:能说一下Activity的生命周期吗?Activity生命周期如下:onCreatonStartonResumeonPauseonStoponDestory外加一个 onRestart就像图示一样,当一个activity第一次启动时会调用的函数分别是onCreatonStartonResume方法此时activty

2015-07-25 10:21:16 1373 3

原创 Android读源码--application篇

感觉android好水好水,然后又突然迷失了方向,感觉最近工作中总是在做一些重复的事情,前些天做了下ListView嵌套,就类似QQ空间评论那种,这周又做了个类美团的双ListView联动菜单,本来该总结一下,可是写出来之后又懒得总结了,东西太多,然后闲着没事,看下源码吧。原谅我的才疏学浅,估摸自己现在的身份也就是个开发小菜鸡,鸟都算不上 ~~衰~~~  看代码都不知道从何处下手,本来想着接触

2015-07-10 15:49:38 502

原创 Android即时聊天系统-随聊App之接口实现

接口定义请参考上篇,实现接口采用的是成熟的第三方asmack包,asmack是smack的android版,而smack是一个已经相对成熟的封装xmpp协议的第三方jar包。服务器端安装openfire服务器,通过调用asmack的相关接口可以进行用户间通信。在写代码之前先简单介绍几个常用类1:ConnectionConfiguration  这是一个xmpp连接的配置类 可以通过 Con

2015-07-06 18:12:08 2942

原创 Android即时聊天系统--随聊APP之接口定义

接口定义大约包括了登陆、添加联系人、设置联系人备注、删除联系人、发送文字消息、发送文件(用作发送语音和图片)、退出等接口。因当时想实现AIDL接口,让聊天服务在另一个新的线程中,为了方便,就没有设置获取联系人列表这个接口,因为获取联系人表返回的是一个自定义javabean的arraylist。获取联系人列表在实现接口的时候添加了,具体接口定义如下public interface IMChatImp

2015-06-13 15:17:56 1511

原创 Android自定义无下划线ClickableSapn超链接文本样式

最近在做评论的时候需要实现这种效果网上百度了一下,就是自定义一个类继承4ClickableSpan,然后在updateDrawState方法中设置是否下划线为false,但是看了一下网上实现的方法是直接在新类的OnClick方法中实现onClick操作,感觉不太容易扩展使用,于是我自定义了一个接口,通过接口实现了外部代码调用,具体代码如下:public class NoLineClickabl

2015-06-08 12:08:07 1019

转载 落单的数算法(巧妙的异或运算)

问题描述:有2n+1个数,其中2n个数两两成对,1个数落单,找出这个数。要求O(n)的时间复杂度,O(1)的空间复杂度。进阶问题:如果有2n+2个数,其中有2个数落单,该怎么办? Java 实现:public class Tst { public static void main(String[] args) { int arr[] = {1,2,

2015-06-04 10:43:34 559

转载 翻转句子中单词顺序

题目描述翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。如:"I am a student."翻转成"student. a am I"具体算法C++实现如下:#include#include#include#includeusing namespace std; void swap(char &a, char &b){

2015-06-03 16:58:15 444

原创 Android即时聊天系统--随聊APP之前序

我的毕业设计项目,做完之后一直想总结一下,不过话说一直没时间啊,今天总算是抽出空来了。随聊APP,自己命名的,取自随时随地,想聊就聊。通过第三方openfire开源客户端以及asmack开源api实现了语音文字与图片聊天。很简陋,但聊天的大部分东西都基本上实现了,我也想着后期可以再完善一下。先贴效果图吧, 以上为随聊APP运行截图,基本上涵盖了一个聊天通讯APP的功能,

2015-06-01 18:12:08 762

原创 XListView使用指南

XListView是一个带下拉刷新和上拉加载更多的扩展listview 首先将xlistview的相关资源放到新建的android 工程中,然后在layout界面使用<com.example.xlistview.XListView android:id="@+id/myxlistview" android:layout_width="match_parent"

2015-03-23 16:27:01 2045

原创 leetcode:String to Integer (atoi)

题目描述:Implement atoi to convert a string to an integer.Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself what are the possib

2015-01-18 14:46:26 452

Android无下划线text超链接

网上实现的方法是直接在新类的OnClick方法中实现onClick操作,感觉不太容易扩展使用,于是我自定义了一个接口,通过接口实现了外部代码调用

2015-06-08

Android远程服务小demo

自己做的Android调用远程服务的demo,将两个文件夹导入eclipse,先运行alipay,在运行consumer,会看到实际效果,没什么技术含量,只是为了加深对aidl的理解。

2014-12-22

Androdi 简易实现多线程下载

通过httpUrlconnection 这个类实现了简易Android下载,代码间接明了,可读性强

2014-12-12

Android圆形图片

通过自定义控件实现android端圆形图片,代码简单易懂

2014-12-11

Xstream 类与Json之间转换

自己写的简单测试demo

2014-09-25

空空如也

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

TA关注的人

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