<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[从不曾离开的只有自由和梦想！]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/dylankeepmoving</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dylankeepmoving]]></copyright><item><title><![CDATA[Java抽象类和接口的区别]]></title><link>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8759111</link><guid>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8759111</guid><author>dylankeepmoving</author><pubDate>Thu, 04 Apr 2013 16:09:16 +0800</pubDate><description><![CDATA[abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制，正是由于这两种机制的存在，才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性，甚至可以相互替换，因此很多开发者在进行抽象类定义时对于abstract class和interface的选择显得比较随意。其实，两者之间还是有很]]></description><category></category></item><item><title><![CDATA[Android dialog自定义样式]]></title><link>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8758154</link><guid>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8758154</guid><author>dylankeepmoving</author><pubDate>Thu, 04 Apr 2013 01:03:12 +0800</pubDate><description><![CDATA[有些时候默认的样式不能满足需求，这个时候我们可以自己写xml来布局我们的dialog代码如下，
package com.example.testdialogdemo;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import androi]]></description><category></category></item><item><title><![CDATA[Android提交数据到服务器的两种方式四种方法]]></title><link>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8645347</link><guid>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8645347</guid><author>dylankeepmoving</author><pubDate>Thu, 07 Mar 2013 10:22:14 +0800</pubDate><description><![CDATA[Android应用开发中，会经常要提交数据到服务器和从服务器得到数据，本文主要是给出了利用http协议采用HttpClient方式向服务器提交数据的方法。
代码比较简单，这里不去过多的阐述，直接看代码。

/**
 * @author Dylan
 * 本类封装了Android中向web服务器提交数据的两种方式四种方法
 */
public class SubmitDataByHttpCli]]></description><category></category></item><item><title><![CDATA[Andorid中的Spinner编写实例]]></title><link>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8645344</link><guid>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8645344</guid><author>dylankeepmoving</author><pubDate>Thu, 07 Mar 2013 10:22:12 +0800</pubDate><description><![CDATA[Spinner在android开发中也是用的比较多的一个控件，提供了类似于Web中一个下拉列表样式的输入控件。下面先给出一个比较简单的实例，这里我们没有自己去定义下来列表的布局，而是采用android系统提供的布局。效果图如下：


android给Spinner控件提供了这样一个属性：android:entries="@array/books" 它可以指定Spinner的下拉选项，我们可以]]></description><category></category></item><item><title><![CDATA[Android的Widget编写实例]]></title><link>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8645342</link><guid>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8645342</guid><author>dylankeepmoving</author><pubDate>Thu, 07 Mar 2013 10:22:03 +0800</pubDate><description><![CDATA[Android有个非常好的功能，就是Widget控件，Widget作为应用的快捷方式和缩略展示，它在桌面上可以展示用户感兴趣的应用程序提供的信息，并且可以点击widget上的控件从而进入到应用的Activity。那么怎么去开发一个Widget呢，可以说是非常的人性化和方便的。下面是我在学习中创建的一个小实例。
参照Google的文档，我们首先得在清单文件中declare一个widget，代码如下]]></description><category></category></item><item><title><![CDATA[继承BaseAdapter实现自定义Adapter]]></title><link>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8645341</link><guid>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8645341</guid><author>dylankeepmoving</author><pubDate>Thu, 07 Mar 2013 10:22:01 +0800</pubDate><description><![CDATA[android开发中会经常用来自定义的Adapter，如下就是一个简单的自定义Adapter实例。
 
import android.app.Activity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup]]></description><category></category></item><item><title><![CDATA[Android利用ContentResolver查询的三种方式]]></title><link>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8645339</link><guid>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8645339</guid><author>dylankeepmoving</author><pubDate>Thu, 07 Mar 2013 10:21:58 +0800</pubDate><description><![CDATA[今天做到一个小项目，查询手机中短信的信息，当让得去系统暴露出来的数据库中去查询了，后来发现有三种方式可以选择，下面一一写出来。
 
 第一种方式，采用 getContentResolver().query()方法在主线程中查询数据。这种查询方式是不是异步查询的，直接在UI线程中查询数据，代码如下：
 
		Cursor cursor1 = getContentResolver().quer]]></description><category></category></item><item><title><![CDATA[TelephonyManager使用]]></title><link>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8645338</link><guid>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8645338</guid><author>dylankeepmoving</author><pubDate>Thu, 07 Mar 2013 10:21:56 +0800</pubDate><description><![CDATA[下面在网络上Copy的一段代码，介绍TelephonyManager类的常用方法。只为收藏着用
import android.os.Bundle;
import android.telephony.TelephonyManager;
public class TelManager extends Activity {  
 
@Override 
protected void onCreate(]]></description><category></category></item><item><title><![CDATA[Android SQLite数据库操作实例]]></title><link>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8645337</link><guid>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8645337</guid><author>dylankeepmoving</author><pubDate>Thu, 07 Mar 2013 10:21:54 +0800</pubDate><description><![CDATA[Android的自带数据库SQLite小巧且功能强大，Android提供了两种方式去操作数据库，第一种是用SQL语句去操作数据，SQLite支持标准的SQL，其分页等操作与Mysql一样，以下是利用SQL操作SQLite：

import java.util.ArrayList;
import java.util.List;

import android.content.Context;
i]]></description><category></category></item><item><title><![CDATA[Android中使用PULL方式解析XML和XmlSerializer进行序列化]]></title><link>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8645336</link><guid>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8645336</guid><author>dylankeepmoving</author><pubDate>Thu, 07 Mar 2013 10:21:52 +0800</pubDate><description><![CDATA[XML解析方式一般有DOM解析，SAX解析，而Android中推荐的解析方式是PULL解析，以下是最近写的一个Demo中的关键代码。

import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Ar]]></description><category></category></item><item><title><![CDATA[Andriod异常搜集]]></title><link>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8645334</link><guid>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8645334</guid><author>dylankeepmoving</author><pubDate>Thu, 07 Mar 2013 10:21:50 +0800</pubDate><description><![CDATA[每次把碰到的各种问题记录在下，供自己参考.
 1.Binary XML file line #7: You must supply a layout_width attribute.
Google发现，我在 android:layout_weight="1"这样写的时候没有去android:layout_width=""添加这个属性。]]></description><category></category></item><item><title><![CDATA[android uri用法]]></title><link>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8645333</link><guid>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8645333</guid><author>dylankeepmoving</author><pubDate>Thu, 07 Mar 2013 10:21:48 +0800</pubDate><description><![CDATA[以下是常用到的Intent的URI及其示例，包含了大部分应用中用到的共用Intent。

　　一、打开一个网页，类别是Intent.ACTION_VIEW

　　Uri uri = Uri.parse(“http://blog.3gstdy.com/”);

　　Intent intent = new Intent(Intent.ACTION_VIEW, uri);

　　二、打开]]></description><category></category></item><item><title><![CDATA[android之XmlResourceParser类使用实例]]></title><link>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8645332</link><guid>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8645332</guid><author>dylankeepmoving</author><pubDate>Thu, 07 Mar 2013 10:21:45 +0800</pubDate><description><![CDATA[android开发过程会经常使用XML文件，下面提供小实例，看看XmlResourceParser类是怎么样解析XML文件的。
XML文件名称为test.xml。内容如下：
 


	
	
	

 布局文件main.xml内容如下：
 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"]]></description><category></category></item><item><title><![CDATA[JavaI/O之缓冲输入文件]]></title><link>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8645329</link><guid>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8645329</guid><author>dylankeepmoving</author><pubDate>Thu, 07 Mar 2013 10:21:38 +0800</pubDate><description><![CDATA[编写一个类，读取硬盘上的一个文本文件，并且每次读取一行内容， 将每行作为一个String读入，并将String对象置入LinkedList中，最后按照相反的顺序打印出所有行。JavaI/O关键是要分清各种类组合的使用，掌握常用的几种组合是关键。还有集合类的学习，熟悉各种容器的属性才知道什么时候用什么容器才能达到目的。

package com.dylan.java.io;

import ja]]></description><category></category></item><item><title><![CDATA[java.net.InetAddress类详解]]></title><link>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8645328</link><guid>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8645328</guid><author>dylankeepmoving</author><pubDate>Thu, 07 Mar 2013 10:21:35 +0800</pubDate><description><![CDATA[Java定义了操作服务器主机的ip和HostName的类 java.net.InetAddress，如下就是一个实例：

package com.dylan.java.net;

import java.net.InetAddress;
import java.net.UnknownHostException;

public class TestInetAddress {
	
	public]]></description><category></category></item><item><title><![CDATA[java.net.URL类详解]]></title><link>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8645327</link><guid>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8645327</guid><author>dylankeepmoving</author><pubDate>Thu, 07 Mar 2013 10:21:33 +0800</pubDate><description><![CDATA[java.net.URL中定义了URL相关的操作，其主要利用的是openStream();方法来返回一个InputStream，然后可以使用InputStreamReader和BufferedReader来封装从而获取网上已发布的资源内容。具体使用如下:

package com.dylan.java.net;

import java.io.BufferedReader;
import ja]]></description><category></category></item><item><title><![CDATA[集合中几个比较重要的接口和类简介]]></title><link>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8645326</link><guid>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8645326</guid><author>dylankeepmoving</author><pubDate>Thu, 07 Mar 2013 10:21:31 +0800</pubDate><description><![CDATA[几个比较重要的接口和类简介
1、List接口
List 关心的是索引，与其他集合相比，List特有的就是和索引相关的一些方法：get(int index) 、 add(int index,Object o) 、 indexOf(Object o) 。
ArrayList 可以将它理解成一个可增长的数组，它提供快速迭代和快速随机访问的能力。
LinkedList 中的元素之间是双链接的，当需]]></description><category></category></item><item><title><![CDATA[策略模式(Strategy)实例分析与讲解]]></title><link>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8645325</link><guid>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8645325</guid><author>dylankeepmoving</author><pubDate>Thu, 07 Mar 2013 10:21:29 +0800</pubDate><description><![CDATA[面向对象的编程中经常会用到设计模式，而其中的策略模式(Strategy)使用算是最频繁的模式之一，策略模式定义了一系列的算法，并将每一个算法封装起来，而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。下面将用一个简单的小实例来谈谈策略模式(Strategy)是怎么实现的。

      两个int类型的整数可有多重操作方式，例如相加、相减、相乘等，我们可以写出这些算法的实现]]></description><category></category></item><item><title><![CDATA[Android异步从网络下载图片并且缓存图片到本地的demo]]></title><link>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8149279</link><guid>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8149279</guid><author>dylankeepmoving</author><pubDate>Mon, 05 Nov 2012 15:53:50 +0800</pubDate><description><![CDATA[在Android开发中我们经常有这样的需求，从服务器上下载xml或者JSON类型的数据，其中包括一些图片资源，本demo模拟了这个需求，从网络上加载XML资源，其中包括图片，我们要做的解析XML里面的数据，并且把图片缓存到本地一个cache目录里面，并且用一个自定义的Adapter去填充到LIstView，demo运行效果见下图：




通过这个demo，要学会有一下几点

1.怎]]></description><category></category></item><item><title><![CDATA[Android获取SD卡上的APK文件，并且判断是否安装过、是否可以更新到新版本的工具类]]></title><link>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8149252</link><guid>https://blog.youkuaiyun.com/dylankeepmoving/article/details/8149252</guid><author>dylankeepmoving</author><pubDate>Mon, 05 Nov 2012 15:44:06 +0800</pubDate><description><![CDATA[如下就是一个工具类，其作用是采用递归扫描SD卡上的apk文件，判断该应用是否在手机上安装过，如果安装过再去判断是否可以升级。具体代码如下：

/**
 * 获取手机上apk文件信息类，主要是判断是否安装再手机上了，安装的版本比较现有apk版本信息
 * @author  Dylan
 */
public class ApkSearchUtils {
	private static int IN]]></description><category></category></item></channel></rss>