<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[daizheng521的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/daizheng521</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; daizheng521]]></copyright><item><title><![CDATA[android 文件读取（assets）]]></title><link>https://blog.youkuaiyun.com/daizheng521/article/details/42126179</link><guid>https://blog.youkuaiyun.com/daizheng521/article/details/42126179</guid><author>daizheng521</author><pubDate>Wed, 24 Dec 2014 17:16:47 +0800</pubDate><description><![CDATA[﻿﻿
assets文件夹里面的文件都是保持原始的文件格式，需要用AssetManager以字节流的形式读取文件。

      1. 先在Activity里面调用getAssets() 来获取AssetManager引用。

      2. 再用AssetManager的open(String fileName, int accessMode) 方法则指定读取的文件以及访问模式就能得到]]></description><category></category></item><item><title><![CDATA[android中的ellipsize]]></title><link>https://blog.youkuaiyun.com/daizheng521/article/details/42084259</link><guid>https://blog.youkuaiyun.com/daizheng521/article/details/42084259</guid><author>daizheng521</author><pubDate>Mon, 22 Dec 2014 19:53:05 +0800</pubDate><description><![CDATA[﻿﻿
最近为了解决某个bug，textview中内容过长的话自动换行，但是调用measureText函数时发现返回值很不准确，单位也不确定，是pixel还是dip，都不准。后来想起textview中有个内容过长加省略号的属性，即ellipsize，可以较偷懒地解决这个问题，哈哈~
用法如下：
在xml中
android:ellipsize = "end"　　  省略号在结尾
androi]]></description><category></category></item><item><title><![CDATA[响应式WEB设计的9项基本原则]]></title><link>https://blog.youkuaiyun.com/daizheng521/article/details/41356067</link><guid>https://blog.youkuaiyun.com/daizheng521/article/details/41356067</guid><author>daizheng521</author><pubDate>Fri, 21 Nov 2014 19:05:48 +0800</pubDate><description><![CDATA[﻿﻿

app

响应式Web设计对于解决多类型屏幕问题来说是个不错方案，但从印刷的角度来看，其却存在着很多的困难。没有固定的页面尺寸、没有毫米或英寸，没有任何物理限制，让人感到无从下手。随着建立网站可用的各种小工具越来越多，像素设计局限于桌面和移动端也已经成为历史。因此，现在就让我们来说明一下如何运用响应式Web设计的各项基本原则来实现，而不是抗拒流畅的网页体验。为了简单起见，我们将着重]]></description><category></category></item><item><title><![CDATA[IntelliJ Idea 常用快捷键列表]]></title><link>https://blog.youkuaiyun.com/daizheng521/article/details/41311459</link><guid>https://blog.youkuaiyun.com/daizheng521/article/details/41311459</guid><author>daizheng521</author><pubDate>Thu, 20 Nov 2014 13:18:57 +0800</pubDate><description><![CDATA[﻿﻿
IntelliJ Idea 常用快捷键列表
 
Alt+回车 导入包,自动修正
Ctrl+N   查找类
Ctrl+Shift+N 查找文件
Ctrl+Alt+L  格式化代码
Ctrl+Alt+O 优化导入的类和包
Alt+Insert 生成代码(如get,set方法,构造函数等)
Ctrl+E或者Alt+Shift+C  最近更改的代码
Ctrl+R 替换文本
Ct]]></description><category></category></item><item><title><![CDATA[Android TabHost用法详解]]></title><link>https://blog.youkuaiyun.com/daizheng521/article/details/41283629</link><guid>https://blog.youkuaiyun.com/daizheng521/article/details/41283629</guid><author>daizheng521</author><pubDate>Wed, 19 Nov 2014 16:19:43 +0800</pubDate><description><![CDATA[﻿﻿
最近研究了一下Contacts源码，仿照上面自己写了一个TabHostTest程序，现整理如下：
main.xml布局文件：
[html]
 
http://schemas.android.com/apk/res/android" 
    android:id="@android:id/tabhost" 
    android:layout_width="match_par]]></description><category></category></item><item><title><![CDATA[Android 中Parcelable的作用]]></title><link>https://blog.youkuaiyun.com/daizheng521/article/details/40593915</link><guid>https://blog.youkuaiyun.com/daizheng521/article/details/40593915</guid><author>daizheng521</author><pubDate>Wed, 29 Oct 2014 21:50:02 +0800</pubDate><description><![CDATA[android提供了一种新的类型：Parcel。本类被用作封装数据的容器，封装后的数据可以通过Intent或IPC传递。 除了基本类型以
外，只有实现了Parcelable接口的类才能被放入Parcel中。
 
Parcelable实现要点：需要实现三个东西
1）writeToParcel 方法。该方法将类的数据写入外部提供的Parcel中.声明如下：
writeToParcel (Pa]]></description><category></category></item><item><title><![CDATA[android中的ellipsize]]></title><link>https://blog.youkuaiyun.com/daizheng521/article/details/40458531</link><guid>https://blog.youkuaiyun.com/daizheng521/article/details/40458531</guid><author>daizheng521</author><pubDate>Sat, 25 Oct 2014 22:42:09 +0800</pubDate><description><![CDATA[最近为了解决某个bug，textview中内容过长的话自动换行，但是调用measureText函数时发现返回值很不准确，单位也不确定，是pixel还是dip，都不准。后来想起textview中有个内容过长加省略号的属性，即ellipsize，可以较偷懒地解决这个问题，哈哈~
用法如下：
在xml中
android:ellipsize = "end"　　  省略号在结尾
android:el]]></description><category></category></item><item><title><![CDATA[WeakReference与SoftReference的区别]]></title><link>https://blog.youkuaiyun.com/daizheng521/article/details/40458043</link><guid>https://blog.youkuaiyun.com/daizheng521/article/details/40458043</guid><author>daizheng521</author><pubDate>Sat, 25 Oct 2014 22:15:37 +0800</pubDate><description><![CDATA[WeakReference与SoftReference都可以用来保存对象的实例引用，这两个类与垃圾回收有关。

WeakReference是弱引用，其中保存的对象实例可以被GC回收掉。这个类通常用于在某处保存对象引用，而又不干扰该对象被GC回收，通常用于Debug、内存监视工具等程序中。因为这类程序一般要求即要观察到对象，又不能影响该对象正常的GC过程。
最近在JDK的Proxy类的实现代码]]></description><category></category></item><item><title><![CDATA[android面试资料]]></title><link>https://blog.youkuaiyun.com/daizheng521/article/details/40073481</link><guid>https://blog.youkuaiyun.com/daizheng521/article/details/40073481</guid><author>daizheng521</author><pubDate>Tue, 14 Oct 2014 10:41:48 +0800</pubDate><description><![CDATA[﻿﻿
1、 Android dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念 
DVM指dalivk的虚拟机。每一个Android应用程序都在它自己的进程中运行，都拥有一个独立的Dalvik虚拟机实例。而每一个DVM都是在Linux 中的一个进程，所以说可以认为是同一个概念。


2、sim卡的EF 文件有何作用 
sim卡的文件系统有自己规范，主要是为了和手机通讯，s]]></description><category></category></item><item><title><![CDATA[IntentService有何优点？]]></title><link>https://blog.youkuaiyun.com/daizheng521/article/details/40073431</link><guid>https://blog.youkuaiyun.com/daizheng521/article/details/40073431</guid><author>daizheng521</author><pubDate>Tue, 14 Oct 2014 10:38:54 +0800</pubDate><description><![CDATA[﻿﻿
IntentService有何优点？

 




IntentService使用队列的方式将请求的Intent加入队列，然后开启一个worker thread(线程)来处理队列中的Intent，对于异步的startService请求，IntentService会处理完成一个之后再处理第二个，每一个请求都会在一个单独的worker thread中处理，不会阻塞应用程序的主线程]]></description><category></category></item><item><title><![CDATA[我的anroid学习之路-Intent]]></title><link>https://blog.youkuaiyun.com/daizheng521/article/details/40072813</link><guid>https://blog.youkuaiyun.com/daizheng521/article/details/40072813</guid><author>daizheng521</author><pubDate>Tue, 14 Oct 2014 10:19:29 +0800</pubDate><description><![CDATA[﻿﻿
1.Intent作用
        Intent是一个将要执行的动作的抽象的描述，由Intent来协助完成android各个组件之间的通讯。比如调用Activity实例化对象的startActivity()来启动一个activity,或者由broadcaseIntent()来传递给所有感兴趣的BroadcaseReceiver, 或者由startService()/bindservic]]></description><category></category></item><item><title><![CDATA[我的android开发学习之路]]></title><link>https://blog.youkuaiyun.com/daizheng521/article/details/40053841</link><guid>https://blog.youkuaiyun.com/daizheng521/article/details/40053841</guid><author>daizheng521</author><pubDate>Mon, 13 Oct 2014 21:59:12 +0800</pubDate><description><![CDATA[以前零零散散也做过android开发，写过几个小程序，从来]]></description><category></category></item><item><title><![CDATA[java.util.concurrent介绍]]></title><link>https://blog.youkuaiyun.com/daizheng521/article/details/40049055</link><guid>https://blog.youkuaiyun.com/daizheng521/article/details/40049055</guid><author>daizheng521</author><pubDate>Mon, 13 Oct 2014 18:05:50 +0800</pubDate><description><![CDATA[﻿﻿
java.util.concurrent 包含许多线程安全、测试良好、高性能的并发构建块。不客气地说，创建 java.util.concurrent 的目的就是要实现 Collection 框架对数据结构所执行的并发操作。通过提供一组可靠的、高性能并发构建块，开发人员可以提高并发类的线程安全、可伸缩性、性能、可读性和可靠性。
如果一些类名看起来相似，可能是因为 java.util.con]]></description><category></category></item><item><title><![CDATA[架构设计总结]]></title><link>https://blog.youkuaiyun.com/daizheng521/article/details/39963691</link><guid>https://blog.youkuaiyun.com/daizheng521/article/details/39963691</guid><author>daizheng521</author><pubDate>Fri, 10 Oct 2014 15:36:12 +0800</pubDate><description><![CDATA[软件架构设计系统整体架构，从需求到设计的每个细节都要考虑到，把握整个项目，使设计的项目尽量效率高，开发容易，维护方便，升级简单。本文从架构师职责、软件架构定义、设计架构、评估架构、架构管理等方面来描述了解软件架构的含义和怎样设计软件架构。
 
一、软件架构师的职责
架构师分为以下几大类：业务架构师、主题领域架构师、技术架构师、项目架构师（J2EE架构师、.NET架构师等）、系统架构师。
1]]></description><category></category></item><item><title><![CDATA[Android源码分析之原型模式]]></title><link>https://blog.youkuaiyun.com/daizheng521/article/details/39958649</link><guid>https://blog.youkuaiyun.com/daizheng521/article/details/39958649</guid><author>daizheng521</author><pubDate>Fri, 10 Oct 2014 10:54:18 +0800</pubDate><description><![CDATA[模式的定义
用原型实例指定创建对象的种类，并通过拷贝这些原型创建新的对象。

使用场景
1、类初始化需要消化非常多的资源，这个资源包括数据、硬件资源等，通过原型拷贝避免这些消耗；
2、通过 new 产生一个对象需要非常繁琐的数据准备或访问权限，则可以使用原型模式；
3、一个对象需要提供给其他对象访问，而且各个调用者可能都需要修改其值时，可以考虑使用原型模式拷贝多个对象供调用者使用，即保]]></description><category></category></item><item><title><![CDATA[如何把多个Android Project打包成一个APK]]></title><link>https://blog.youkuaiyun.com/daizheng521/article/details/39892489</link><guid>https://blog.youkuaiyun.com/daizheng521/article/details/39892489</guid><author>daizheng521</author><pubDate>Wed, 08 Oct 2014 13:47:00 +0800</pubDate><description><![CDATA[如何把多个Android Project打包成一个APK（你的项目如何引用其他项目）。
如何把多个android project 打包成一个apk呢，其实原理是这样的，一个主project引用其他的project，其他project类似于jar包一样被引用，当然和jar的引用原理有很大的区别。下面是详细的说明。大部分都是翻译的官网开发向导上的文章。
第一步，把普通的android projec]]></description><category></category></item><item><title><![CDATA[Android系列之网络（二）----HTTP请求头与响应头]]></title><link>https://blog.youkuaiyun.com/daizheng521/article/details/39892425</link><guid>https://blog.youkuaiyun.com/daizheng521/article/details/39892425</guid><author>daizheng521</author><pubDate>Wed, 08 Oct 2014 13:39:56 +0800</pubDate><description><![CDATA[一、HTTP头引入：
 
正确的设置HTTP头部信息有助于搜索引擎判断网页及提升网站访问速度。通常HTTP消息包括：客户机向服务器的请求消息和服务器向客户机的响应消息。客户端向服务器发送一个请求，请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应，相应的内容包括消息协议的版本，成功或者错误编码加上包含服务器信息、实体]]></description><category></category></item><item><title><![CDATA[Android多个Activity之间共享类（数据）——Application Context]]></title><link>https://blog.youkuaiyun.com/daizheng521/article/details/39892375</link><guid>https://blog.youkuaiyun.com/daizheng521/article/details/39892375</guid><author>daizheng521</author><pubDate>Wed, 08 Oct 2014 13:37:40 +0800</pubDate><description><![CDATA[﻿﻿
多个Activity中经常使用同一变量时，使用Bundle则每次调用Activity都要设置。在android中想在整个应用中不同Activity多次重复使用相同的变量时利用使用Application context可以方便的实现。
1、新建一个类，继承自Application
package activity.com;
import android.app.Application;]]></description><category></category></item><item><title><![CDATA[Android下拉刷新完全解析]]></title><link>https://blog.youkuaiyun.com/daizheng521/article/details/39892277</link><guid>https://blog.youkuaiyun.com/daizheng521/article/details/39892277</guid><author>daizheng521</author><pubDate>Wed, 08 Oct 2014 13:26:47 +0800</pubDate><description><![CDATA[﻿﻿
首先讲一下实现原理。这里我们将采取的方案是使用组合View的方式，先自定义一个布局继承自LinearLayout，然后在这个布局中加入下拉头和ListView这两个子元素，并让这两个子元素纵向排列。初始化的时候，让下拉头向上偏移出屏幕，这样我们看到的就只有ListView了。然后对ListView的touch事件进行监听，如果当前ListView已经滚动到顶部并且手指还在向下拉的话，那就将]]></description><category></category></item><item><title><![CDATA[Android学习笔记——保存文件（Saving Files）]]></title><link>https://blog.youkuaiyun.com/daizheng521/article/details/39892233</link><guid>https://blog.youkuaiyun.com/daizheng521/article/details/39892233</guid><author>daizheng521</author><pubDate>Wed, 08 Oct 2014 13:22:16 +0800</pubDate><description><![CDATA[Android设备有两种文件存储区域:
                       
                        内部存储和外部存储 （"internal" and "external" storage）。
 
         这名字来自早期Android，那时大多数Android设备提供两种存储方式:内置的非易失的内存(内部存储)和可移动的存储例如micro SD]]></description><category></category></item></channel></rss>