<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Alex_csd的专栏]]></title><description><![CDATA[态度决定一切]]></description><link>https://blog.youkuaiyun.com/Alex_csd</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Alex_csd]]></copyright><item><title><![CDATA[添加发送键值按钮]]></title><link>https://blog.youkuaiyun.com/Alex_csd/article/details/16117909</link><guid>https://blog.youkuaiyun.com/Alex_csd/article/details/16117909</guid><author>Alex_csd</author><pubDate>Thu, 14 Nov 2013 15:55:07 +0800</pubDate><description><![CDATA[在android 4.2.2中视频播放器当中看到有虚拟音量键，对于这种发送键值的按钮，看看源码怎么实现：
private void sendKeyIntent(int keycode){
  final int keyCode = keycode;
  // to avoid deadlock, start a thread to perform operations
        Th]]></description><category></category></item><item><title><![CDATA[android handler详解]]></title><link>https://blog.youkuaiyun.com/Alex_csd/article/details/14057431</link><guid>https://blog.youkuaiyun.com/Alex_csd/article/details/14057431</guid><author>Alex_csd</author><pubDate>Sat, 02 Nov 2013 17:52:38 +0800</pubDate><description><![CDATA[Google参考了Windows的消息处理机制，在Android系统中实现了一套类似的消息处理机制。学习Android的消息处理机制，有几个概念（类）必须了解：






1.       Message
消息，理解为线程间通讯的数据单元。例如后台线程在处理数据完毕后需要更新UI，则可发送一条包含更新信息的Message给UI线程。
2.       Message Queue]]></description><category></category></item><item><title><![CDATA[探讨android 导航栏中的recent_app界面]]></title><link>https://blog.youkuaiyun.com/Alex_csd/article/details/14004471</link><guid>https://blog.youkuaiyun.com/Alex_csd/article/details/14004471</guid><author>Alex_csd</author><pubDate>Fri, 01 Nov 2013 17:25:39 +0800</pubDate><description><![CDATA[有空研究一下android 导航栏中的recent_app。
 
从资源文件下手，找到位于 frameworks\base\tools\layoutlib\bridge\src\com\android\layoutlib\bridge\bars的NavigationBar.java文件，这是一个linearlayout的子类，setBackgroundColor(0xFF000000);这个设]]></description><category></category></item><item><title><![CDATA[Intent在Android中的几种用法 .]]></title><link>https://blog.youkuaiyun.com/Alex_csd/article/details/12561065</link><guid>https://blog.youkuaiyun.com/Alex_csd/article/details/12561065</guid><author>Alex_csd</author><pubDate>Thu, 10 Oct 2013 11:10:54 +0800</pubDate><description><![CDATA[如果是从BroadcastReceiver 启动一个新的Activity , 不要忘记i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

  
public class MyReceiver extends BroadcastReceiver{ 
public static final String action="acc";
 public void]]></description><category></category></item><item><title><![CDATA[android 5种布局]]></title><link>https://blog.youkuaiyun.com/Alex_csd/article/details/12505785</link><guid>https://blog.youkuaiyun.com/Alex_csd/article/details/12505785</guid><author>Alex_csd</author><pubDate>Wed, 09 Oct 2013 14:32:05 +0800</pubDate><description><![CDATA[大家好,我们这一节讲一下Android对用五大布局对象,它们分别是FrameLayout(框架布局:不知道是不是这么翻译的),LinearLayout (线性布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout(表格布局).
 
FrameLayout: 
 
FrameLayout是最简单的一个布局对象。它被定制为你屏幕上的一]]></description><category></category></item><item><title><![CDATA[Android数据库(SQLiteDatabase)使用小结 .]]></title><link>https://blog.youkuaiyun.com/Alex_csd/article/details/12384639</link><guid>https://blog.youkuaiyun.com/Alex_csd/article/details/12384639</guid><author>Alex_csd</author><pubDate>Mon, 07 Oct 2013 14:51:47 +0800</pubDate><description><![CDATA[任何程序离不了数据，因此数据存储是个非常重要的环节。
 
android中进行数据存储有三种方式，一种是文件存储，一种是SharedPreferences，最后一种就是SQLiteDatabase.下面来看下怎样使用SQLiteDatabase.
 
1.首先要创建一个类，该类继承自android.database.sqlite.SQLiteOpenHelper，由于这个是abstract]]></description><category></category></item><item><title><![CDATA[android 开发--获取文件的扩展名和去掉文件的扩展名]]></title><link>https://blog.youkuaiyun.com/Alex_csd/article/details/12347891</link><guid>https://blog.youkuaiyun.com/Alex_csd/article/details/12347891</guid><author>Alex_csd</author><pubDate>Sun, 06 Oct 2013 15:26:27 +0800</pubDate><description><![CDATA[/*   * Java文件操作 获取文件扩展名   *    */        public static String getExtensionName(String filename) {             if ((filename != null) && (filename.length() > 0)) {                 int dot = filename.la]]></description><category></category></item><item><title><![CDATA[Android中播放声音的两种方法]]></title><link>https://blog.youkuaiyun.com/Alex_csd/article/details/12140043</link><guid>https://blog.youkuaiyun.com/Alex_csd/article/details/12140043</guid><author>Alex_csd</author><pubDate>Sat, 28 Sep 2013 17:57:02 +0800</pubDate><description><![CDATA[在Android中，音频、视频等多媒体元素的加入，使得应用程序的用户体验更好。可以说，现在的手机，已经远远不只作为通信工具，更成为娱乐、办公的必备产品。


Android提供了简单的音频API。一般大家使用的是MediaPlayer播放音频，这也是最常见的一种播放声音的工具。这种工具在互联网上有大量的实例，因此在此只做简单的介绍。


对播放行为的控制是三个大家非常熟悉的方法：sta]]></description><category></category></item><item><title><![CDATA[java synchronized]]></title><link>https://blog.youkuaiyun.com/Alex_csd/article/details/12108963</link><guid>https://blog.youkuaiyun.com/Alex_csd/article/details/12108963</guid><author>Alex_csd</author><pubDate>Fri, 27 Sep 2013 19:22:13 +0800</pubDate><description><![CDATA[Java语言的关键字，当它用来修饰一个方法或者一个代码块的时候，能够保证在同一时刻最多只有一个线程执行该段代码。 

一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时，一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。

二、然而，当一个线程访问object的一个synchronized(t]]></description><category></category></item><item><title><![CDATA[JAVA 中int类型转String类型的通常方法]]></title><link>https://blog.youkuaiyun.com/Alex_csd/article/details/12087435</link><guid>https://blog.youkuaiyun.com/Alex_csd/article/details/12087435</guid><author>Alex_csd</author><pubDate>Fri, 27 Sep 2013 11:47:09 +0800</pubDate><description><![CDATA[JAVA 中int类型转String类型的通常方法,有三种:




from http://sdylag.iteye.com/blog/932559
 
JAVA 中int类型转String类型的通常方法,有三种:
 
 1、String.valueOf(int i)
 2、Integer.toString(int i)
 3、i+"";     //i 为 int类型
]]></description><category></category></item><item><title><![CDATA[Android有效解决加载大图片时内存溢出的问题]]></title><link>https://blog.youkuaiyun.com/Alex_csd/article/details/12084933</link><guid>https://blog.youkuaiyun.com/Alex_csd/article/details/12084933</guid><author>Alex_csd</author><pubDate>Fri, 27 Sep 2013 11:04:15 +0800</pubDate><description><![CDATA[Android游戏虚拟机算法JNI

尽量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResource来设置一张大图，
因为这些函数在完成decode后，最终都是通过java层的createBitmap来完成的，需要消耗更多内存。

因此，改用先通过BitmapFactory.decodeStream方法，创建出一个bi]]></description><category></category></item><item><title><![CDATA[Android程序主动点亮&解锁屏幕的实现]]></title><link>https://blog.youkuaiyun.com/Alex_csd/article/details/11746569</link><guid>https://blog.youkuaiyun.com/Alex_csd/article/details/11746569</guid><author>Alex_csd</author><pubDate>Mon, 16 Sep 2013 20:11:10 +0800</pubDate><description><![CDATA[在android开发中，经常会遇到一些情形需要程序主动维持屏幕的点亮状态，或者自己点亮屏幕并且解除屏幕锁定状态，这时可以用下面的方法予以解决。
 
 
情形一：类似于阅读软件，在阅读过程中忽视系统的屏幕超时设置保持屏幕长亮。可以直接
在 onCreat() 方法中加上下面一句：
 
getWindow().addFlags(WindowManager.LayoutParams.FLAG]]></description><category></category></item><item><title><![CDATA[android 4种存储方式]]></title><link>https://blog.youkuaiyun.com/Alex_csd/article/details/11674651</link><guid>https://blog.youkuaiyun.com/Alex_csd/article/details/11674651</guid><author>Alex_csd</author><pubDate>Sat, 14 Sep 2013 10:55:10 +0800</pubDate><description><![CDATA[android有4中存储方式，sharedpreference,file,SQlite,contentprovider]]></description><category></category></item><item><title><![CDATA[Preference 监听点击事件方法]]></title><link>https://blog.youkuaiyun.com/Alex_csd/article/details/11568007</link><guid>https://blog.youkuaiyun.com/Alex_csd/article/details/11568007</guid><author>Alex_csd</author><pubDate>Wed, 11 Sep 2013 15:51:56 +0800</pubDate><description><![CDATA[安卓程序开发中常用Preference布局结构来做程序的设置项。Android系统会将Preference元素的值存储在sharedPreference文件中，方便了数据的管理。该文件存放路径位DDMS视图下data/data/[packgename]/shared_prefs/文件下，命名约定为：packagename_preferencse.xml。Preference的优点在于布局界面的可控]]></description><category></category></item><item><title><![CDATA[TreeMap.HashMap，LiskedHashMap的区别]]></title><link>https://blog.youkuaiyun.com/Alex_csd/article/details/10432649</link><guid>https://blog.youkuaiyun.com/Alex_csd/article/details/10432649</guid><author>Alex_csd</author><pubDate>Wed, 28 Aug 2013 10:46:27 +0800</pubDate><description><![CDATA[Map主要用于存储健值对，根据键得到值，因此不允许键重复(重复了覆盖了),但允许值重复。
Hashmap 是一个最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值，具有很快的访问速度，遍历时，取得数据的顺序是完全随机的。HashMap最多只允许一条记录的键为Null;允许多条记录的值为 Null;HashMap不支持线程的同步，即任一时刻可以有多个线程同时写Hash]]></description><category></category></item><item><title><![CDATA[android Style属性介绍]]></title><link>https://blog.youkuaiyun.com/Alex_csd/article/details/9717917</link><guid>https://blog.youkuaiyun.com/Alex_csd/article/details/9717917</guid><author>Alex_csd</author><pubDate>Fri, 02 Aug 2013 15:44:15 +0800</pubDate><description><![CDATA[Android平台定义的主题样式：
android:theme="@android:style/Theme.Dialog"   将一个Activity显示为对话框模式
•android:theme="@android:style/Theme.NoTitleBar"  不显示应用程序标题栏
•android:theme="@android:style/Theme.NoTitleBar.Full]]></description><category></category></item><item><title><![CDATA[android  init.rc]]></title><link>https://blog.youkuaiyun.com/Alex_csd/article/details/9714915</link><guid>https://blog.youkuaiyun.com/Alex_csd/article/details/9714915</guid><author>Alex_csd</author><pubDate>Fri, 02 Aug 2013 11:46:28 +0800</pubDate><description><![CDATA[init.rc由许多的Action和Service组成。每一个语句占据一行，并且各个关键字被空格分开.

由 # （前面允许有空格）开始的行都是注释行(comment)

一个actions 或 services 的开始隐含声明了一个新的段，所有commands 或 options 属于最近的声明。在第一个段之前的 commands 或 options 都会被忽略

每一个action]]></description><category></category></item><item><title><![CDATA[android Parcelable接口序列化对象]]></title><link>https://blog.youkuaiyun.com/Alex_csd/article/details/9663707</link><guid>https://blog.youkuaiyun.com/Alex_csd/article/details/9663707</guid><author>Alex_csd</author><pubDate>Wed, 31 Jul 2013 09:50:49 +0800</pubDate><description><![CDATA[对于Android来说传递复杂类型，主要是将自己的类转换为基础的字节数组，Activity之间传递数据是通过Intent实现的。 Android序列化对象主要有两种方法，实现Serializable接口、或者实现Parcelable接口。实现Serializable接口是Java
SE本身就支持的，而Parcelable是Android特有的功能，效率比实现Serializable接口高，而且还]]></description><category></category></item><item><title><![CDATA[Android Service学习之AIDL, Parcelable和远程服务]]></title><link>https://blog.youkuaiyun.com/Alex_csd/article/details/9630755</link><guid>https://blog.youkuaiyun.com/Alex_csd/article/details/9630755</guid><author>Alex_csd</author><pubDate>Tue, 30 Jul 2013 17:45:24 +0800</pubDate><description><![CDATA[AIDL的作用

    由于每个应用程序都运行在自己的进程空间，并且可以从应用程序UI运行另一个服务进程，而且经常会在不同的进程间传递对象。在Android平台，一个进程通常不能访问另一个进程的内存空间，所以要想对话，需要将对象分解成操作系统可以理解的基本单元，并且有序的通过进程边界。
    通过代码来实现这个数据传输过程是冗长乏味的，Android提供了AIDL工具来处理这项工作。
]]></description><category></category></item><item><title><![CDATA[Android中asset文件夹和raw文件夹区别 .]]></title><link>https://blog.youkuaiyun.com/Alex_csd/article/details/9446349</link><guid>https://blog.youkuaiyun.com/Alex_csd/article/details/9446349</guid><author>Alex_csd</author><pubDate>Wed, 24 Jul 2013 09:58:11 +0800</pubDate><description><![CDATA[摘自：http://www.cnblogs.com/leizhenzi/archive/2011/10/18/2216428.html
Android中asset文件夹和raw文件夹区别

*res/raw和assets的相同点：
1.两者目录下的文件在打包后会原封不动的保存在apk包中，不会被编译成二进制。

*res/raw和assets的不同点：
1.res/raw中的文件会被]]></description><category></category></item></channel></rss>