<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[不良丶青年]]></title><description><![CDATA[将自己逼到绝路，让你的潜能无限涌出]]></description><link>https://blog.youkuaiyun.com/u010829905</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u010829905]]></copyright><item><title><![CDATA[Java IO流总结]]></title><link>https://blog.youkuaiyun.com/u010829905/article/details/46340339</link><guid>https://blog.youkuaiyun.com/u010829905/article/details/46340339</guid><author>u010829905</author><pubDate>Thu, 24 Jan 2019 22:57:01 +0800</pubDate><description><![CDATA[IO流可以简单的理解为两种设备的中间介质，类似于管道，我们要做的就是把这个管道搭建好。有了管道以后就可以两个设备进行一些操作(读写，复制)。

IO流根据操作数据分为字节流和字符流，根据流向分为输入流和输出流(相对于内存而言)，任何一个流必须包含数据和流向。以下四种是IO流的四大基类。下面看一下它们之间的关系。



根据Java命名规则可以想到：前面是功能的扩展，后缀是所属的类型。eg:File...]]></description><category></category></item><item><title><![CDATA[android打包release导致java.lang.NoClassDefFoundError]]></title><link>https://blog.youkuaiyun.com/u010829905/article/details/53130687</link><guid>https://blog.youkuaiyun.com/u010829905/article/details/53130687</guid><author>u010829905</author><pubDate>Fri, 11 Nov 2016 17:53:50 +0800</pubDate><description><![CDATA[由于今天要和深圳和版本，简单演示小半年的成果，为了将App是速度发挥到极致，所以要打release版
本，这个时候问题出现了。


既然抛出java.lang.NoClassDefFoundError，不对啊！平时run as 和 打包debug版本都无问题，为什么release会出现
问题呢？问题出现了，就要分析原因，根据报错的行数469行点进去。


这里也没什么问题，只是正常]]></description><category></category></item><item><title><![CDATA[Android的DrawText详解]]></title><link>https://blog.youkuaiyun.com/u010829905/article/details/50511747</link><guid>https://blog.youkuaiyun.com/u010829905/article/details/50511747</guid><author>u010829905</author><pubDate>Wed, 13 Jan 2016 16:41:57 +0800</pubDate><description><![CDATA[如果你经常使用Canvas的draw***方法去绘制一些图像图形，绘制的坐标是从Canvas左上角开始计算的，如果想要把一个图像放到某个位置，直接drawBitmap传递图片左上角的坐标就行了。那drawText就不一样，如果你传递进去字符串，会发现文字的位置和你指定的不一样。

Android的文档也没有仔细说，打开源码一看，又跑到native代码里去执行了。



对于一段文字来说]]></description><category></category></item><item><title><![CDATA[Android bitmap.recycle()导致trying to use a recycled bitmap报错分析]]></title><link>https://blog.youkuaiyun.com/u010829905/article/details/50233207</link><guid>https://blog.youkuaiyun.com/u010829905/article/details/50233207</guid><author>u010829905</author><pubDate>Wed, 09 Dec 2015 12:09:17 +0800</pubDate><description><![CDATA[在android实际项目中，有时会在Activity的onDestroy()做一些资源释放工作，比如bitmap资源。通常的写法是这样
public class NextActivity extends Activity {

	private ImageView imageView;

	@Override
	protected void onCreate(Bundle savedInstan]]></description><category></category></item><item><title><![CDATA[Java 内部类详解]]></title><link>https://blog.youkuaiyun.com/u010829905/article/details/47667085</link><guid>https://blog.youkuaiyun.com/u010829905/article/details/47667085</guid><author>u010829905</author><pubDate>Sat, 15 Aug 2015 16:14:43 +0800</pubDate><description><![CDATA[内部类顾名思义：就是类中还有类，Java内部类的出现解决了类中被private修饰的变量或引用可以被直接访问到。
成员内部类：
先看一下内部类的写法。
public class Outer {
	private int x=9;
	class Inner{//内部类
		void fun(){
			System.out.println("Inner："+x);
		}
	}

}因为该内部]]></description><category></category></item><item><title><![CDATA[Android Loader简单使用]]></title><link>https://blog.youkuaiyun.com/u010829905/article/details/47280133</link><guid>https://blog.youkuaiyun.com/u010829905/article/details/47280133</guid><author>u010829905</author><pubDate>Tue, 04 Aug 2015 18:32:35 +0800</pubDate><description><![CDATA[Loader在Android3.0引进，它让异步加载数据变得容易。
特征：

1.在Activity、Fragment中都可以使用
2.Loader可以提供异步加载数据
3.监视数据源的变化，当数据源发生变化的时候，会传递新的数据
4.当loader重建的时候，会自动链接到最后一个Loader的cursor数据上，而不去进行重新查找。


在app中使用Loader的时候，可能使]]></description><category></category></item><item><title><![CDATA[Android ContentProvider]]></title><link>https://blog.youkuaiyun.com/u010829905/article/details/47156439</link><guid>https://blog.youkuaiyun.com/u010829905/article/details/47156439</guid><author>u010829905</author><pubDate>Fri, 31 Jul 2015 09:17:17 +0800</pubDate><description><![CDATA[ContentProvider用途
一个应用只能访问属于自己的SQLite数据库，如果访问其他应用的数据库就会抛出异常，但有时的需要必须操作其他APP的数据库，例如：查看通话记录，短信等。这时就会用到ContentProvider类了，既然能够提供本应用的数据库内容，那一定会有增删改查方法。它是四大组件之一，所以在使用的时候需要在AndroidManifest.xml里节点下注册：]]></description><category></category></item><item><title><![CDATA[android四大组件--ContentProvider详解]]></title><link>https://blog.youkuaiyun.com/u010829905/article/details/47164945</link><guid>https://blog.youkuaiyun.com/u010829905/article/details/47164945</guid><author>u010829905</author><pubDate>Fri, 31 Jul 2015 09:04:44 +0800</pubDate><description><![CDATA[原文出处：http://www.2cto.com/kf/201404/296974.html




一、相关ContentProvider概念解析：

1、ContentProvider简介
在Android官方指出的Android的数据存储方式总共有五种，分别是：Shared Preferences、网络存储、文件存储、外储存储、SQLite。但是我们知道一般这些存储都只是在单]]></description><category></category></item><item><title><![CDATA[Android 五大存储方式详解]]></title><link>https://blog.youkuaiyun.com/u010829905/article/details/47028179</link><guid>https://blog.youkuaiyun.com/u010829905/article/details/47028179</guid><author>u010829905</author><pubDate>Wed, 29 Jul 2015 11:32:07 +0800</pubDate><description><![CDATA[SharedPreferences与Editor
SharedPreferences保存的数据只要是类似于配置信息格式的数据，因此它保存的数据主要是简单的key-value对形式。下面关系图



上图完全可以看出，存的时候用SharedPreferences的内部类Editor，取的时候用SharedPreferences。
SharedPreference是接口无法创建实例，Con]]></description><category></category></item><item><title><![CDATA[源码分析Fragmentd的BackStack管理过程]]></title><link>https://blog.youkuaiyun.com/u010829905/article/details/47103441</link><guid>https://blog.youkuaiyun.com/u010829905/article/details/47103441</guid><author>u010829905</author><pubDate>Tue, 28 Jul 2015 12:12:47 +0800</pubDate><description><![CDATA[原文出处：http://blog.youkuaiyun.com/bigconvience/article/details/30502071
1. Fragment基本用法
为了管理Activity中的fragments，需要调用Activity中的getFragmentManager()方法。因为FragmentManager的API是在Android 3.0，也即API level 11开始引入的，所以]]></description><category></category></item><item><title><![CDATA[Android Menu]]></title><link>https://blog.youkuaiyun.com/u010829905/article/details/47083651</link><guid>https://blog.youkuaiyun.com/u010829905/article/details/47083651</guid><author>u010829905</author><pubDate>Mon, 27 Jul 2015 18:25:03 +0800</pubDate><description><![CDATA[OptionsMenu（选项菜单）
1.重写Activity的onCreateOptionsMenu(Menu menu)方法，在该方法里调用Menu对象的方法来添加菜单项或子菜单。
2.如果希望应用程序能响应菜单项的单击事件，重写Activity中的onOptionsItemSelected(MenuItem item)方法即可。
MainActivity.java
public cla]]></description><category></category></item><item><title><![CDATA[Android应用资源]]></title><link>https://blog.youkuaiyun.com/u010829905/article/details/46998625</link><guid>https://blog.youkuaiyun.com/u010829905/article/details/46998625</guid><author>u010829905</author><pubDate>Wed, 22 Jul 2015 19:36:40 +0800</pubDate><description><![CDATA[Java初学者直接在Java源码使用"hello" 和123 类型的字符串和整型，但时间长了就会忘记当初定义的原因，有经验的也许会定义字符串常量ResultSet.TYPE_FORWARD_ONLY，有经验的一看就知道其原因，这种写法已经降低了耦合性，Android则对这些字符串常量、数值常量进行进一步的改进：把用到的各种资源字符串常量、颜色资源、数组资源、菜单资源都集中放到res目录下，应用程序]]></description><category></category></item><item><title><![CDATA[Android scroll和listview事件冲突]]></title><link>https://blog.youkuaiyun.com/u010829905/article/details/46992737</link><guid>https://blog.youkuaiyun.com/u010829905/article/details/46992737</guid><author>u010829905</author><pubDate>Tue, 21 Jul 2015 21:51:21 +0800</pubDate><description><![CDATA[在极小的可能下会有这样的需求，scroll中包含listview，Google不推荐这样嵌套，但是迫不得已必须这么做，这么会导致两种可能
1.ListView只能显示一个Item。 
2.ListView全完失效，无法滚动，
上述第1种原因是嵌套ListView后android系统无法正确计算出宽度，所以这时需要设置高度为固定值。
上述第2种原因是事件分发机制导致的，事件触发是从上向下的，]]></description><category></category></item><item><title><![CDATA[Android Configuration系统设置]]></title><link>https://blog.youkuaiyun.com/u010829905/article/details/46931669</link><guid>https://blog.youkuaiyun.com/u010829905/article/details/46931669</guid><author>u010829905</author><pubDate>Fri, 17 Jul 2015 19:41:57 +0800</pubDate><description><![CDATA[Configuration类是专门用来描述手机设备上的配置信息。这些配置信息包括用户特定的配置项，也包括系统的动态设备配置。

程序中可调用Activity的如下方法来获取Configuration对象

//获取系统的Configuration对象
Configuration cfg = getResources().getConfiguration();


其中以下的参数代表]]></description><category></category></item><item><title><![CDATA[Android Notification的简单应用]]></title><link>https://blog.youkuaiyun.com/u010829905/article/details/46894457</link><guid>https://blog.youkuaiyun.com/u010829905/article/details/46894457</guid><author>u010829905</author><pubDate>Wed, 15 Jul 2015 15:53:05 +0800</pubDate><description><![CDATA[Notification是显示在手机状态栏的通知，手机状态栏位于手机屏幕的最上方，哪里一般显示了手机当前的网络状态、电池状态、时间等。Notification锁代表的是一种具有全局效果的通知，程序一般通过NotificationManager服务来发送Notification。


MainActivity.java
public class MainActivity extends Ac]]></description><category></category></item><item><title><![CDATA[Android ProgressBar以及子类]]></title><link>https://blog.youkuaiyun.com/u010829905/article/details/46878871</link><guid>https://blog.youkuaiyun.com/u010829905/article/details/46878871</guid><author>u010829905</author><pubDate>Tue, 14 Jul 2015 15:38:13 +0800</pubDate><description><![CDATA[ProgressBar组件也是一组重要的组件，progressBar本身代表了进度条组件，它还派生了两个常用的组件，SeekBar和RatingBar。progress及其子类在用法上十分相似，只是显示界面有一定的区别，因此本节归为一类，针对共性讲解，并突出介绍它们的区别。


ProgressBar进度条
进度条也是UI界面中非常实用的组件，通常用于向用户显示某个耗时操作完成的百分比，进]]></description><category></category></item><item><title><![CDATA[Java 线程池ThreadPoolExecutor简单应用]]></title><link>https://blog.youkuaiyun.com/u010829905/article/details/46875445</link><guid>https://blog.youkuaiyun.com/u010829905/article/details/46875445</guid><author>u010829905</author><pubDate>Tue, 14 Jul 2015 11:33:10 +0800</pubDate><description><![CDATA[什么是线程池：

线程池就是控制线程的一个池子。用来控制线程数量。

为什么要使用线程池：

1.避免系统重复创建和销毁线程影响运行的时间（创建+销毁>>执行时间时）
2.控制线程数量，线程过多会导致机器运行卡（大约一个线程占用1M空间）

ThreadPoolExecutor构造方法


public ThreadPoolExecutor(int corePoolSize]]></description><category></category></item><item><title><![CDATA[Java枚举详使用解]]></title><link>https://blog.youkuaiyun.com/u010829905/article/details/46867179</link><guid>https://blog.youkuaiyun.com/u010829905/article/details/46867179</guid><author>u010829905</author><pubDate>Mon, 13 Jul 2015 20:12:31 +0800</pubDate><description><![CDATA[在实际编程中，往往存在着这样的“数据集”，它们的数值在程序中是稳定的，而且“数据集”中的元素是有限的。

例如星期一到星期日七个数据元素组成了一周的“数据集”，春夏秋冬四个数据元素组成了四季的“数据集”。

在java中如何更好的使用这些“数据集”呢？因此枚举便派上了用场，以下代码详细介绍了枚举的用法。

package com.ljq.test;

/**
 * 枚举用法详解
 * ]]></description><category></category></item><item><title><![CDATA[Android启动过程深入解析]]></title><link>https://blog.youkuaiyun.com/u010829905/article/details/46859385</link><guid>https://blog.youkuaiyun.com/u010829905/article/details/46859385</guid><author>u010829905</author><pubDate>Mon, 13 Jul 2015 10:32:24 +0800</pubDate><description><![CDATA[当按下Android设备电源键时究竟发生了什么？





Android的启动过程是怎么样的？
什么是Linux内核？
桌面系统linux内核与Android系统linux内核有什么区别？
什么是引导装载程序？
什么是Zygote？
什么是X86以及ARM linux？
什么是init.rc?
什么是系统服务？




　　当我们想到Android启动过程时，]]></description><category></category></item><item><title><![CDATA[SAX PULL解析实例]]></title><link>https://blog.youkuaiyun.com/u010829905/article/details/46815229</link><guid>https://blog.youkuaiyun.com/u010829905/article/details/46815229</guid><author>u010829905</author><pubDate>Thu, 09 Jul 2015 12:21:00 +0800</pubDate><description><![CDATA[XML三种解析方式：

SAX解析：基于事件驱动，事件机制基于回调函数的，得到节点和节点之间内容时也会回调事件
PULL解析：同样基于事件驱动，只不过回调时是常量
DOM解析：是先把XML文件装入内存中，在解析，耗费资源



student.xml


-


-

张三

男

30

zhangsan@163.com

1900-09-09

组长




-

lisi]]></description><category></category></item></channel></rss>