<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Wesnoth的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Wesnoth</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Wesnoth]]></copyright><item><title><![CDATA[Android可缩放矢量图形（SVG）]]></title><link>https://blog.youkuaiyun.com/Wesnoth/article/details/66478075</link><guid>https://blog.youkuaiyun.com/Wesnoth/article/details/66478075</guid><author>Wesnoth</author><pubDate>Sun, 26 Mar 2017 19:04:30 +0800</pubDate><description><![CDATA[以下为心形图标的xml文件：<!-- res/drawable/heart.xml -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    <!-- 生成图形的尺寸 -->
    android:height="256dp"
    android:width="256dp"
    <!-- 虚拟画布的]]></description><category></category></item><item><title><![CDATA[MIUI8去广告攻略]]></title><link>https://blog.youkuaiyun.com/Wesnoth/article/details/53244859</link><guid>https://blog.youkuaiyun.com/Wesnoth/article/details/53244859</guid><author>Wesnoth</author><pubDate>Sun, 20 Nov 2016 21:37:00 +0800</pubDate><description><![CDATA[基于MIUI8.0.14（MAGCNDH）稳定版]]></description><category></category></item><item><title><![CDATA[Android自定义WheelView的40行关键代码]]></title><link>https://blog.youkuaiyun.com/Wesnoth/article/details/51348400</link><guid>https://blog.youkuaiyun.com/Wesnoth/article/details/51348400</guid><author>Wesnoth</author><pubDate>Sun, 08 May 2016 22:55:54 +0800</pubDate><description><![CDATA[@Override
    public void onScrollStateChanged(AbsListView view, int scrollState) {
        if(scrollState == AbsListView.OnScrollListener.SCROLL_STATE_IDLE) {
            View firstVisibleView = view.]]></description><category></category></item><item><title><![CDATA[Git使用指南（一）：初始化配置]]></title><link>https://blog.youkuaiyun.com/Wesnoth/article/details/50793419</link><guid>https://blog.youkuaiyun.com/Wesnoth/article/details/50793419</guid><author>Wesnoth</author><pubDate>Fri, 04 Mar 2016 00:14:28 +0800</pubDate><description><![CDATA[1.5 起步 - 安装 Git 
分布式版本控制系统Git的官网下载地址：http://git-scm.com/download1.6 起步 - 初次运行 Git 前的配置控制 Git 外观和行为的配置文件存储在三个不同的位置（后者会覆盖前者）：1、系统级：/etc/gitconfig 文件，包含所有用户及他们仓库的通用配置。若要用git config命令来修改配置，需加上--system选项。
2]]></description><category></category></item><item><title><![CDATA[Git使用指南（二）：常用命令]]></title><link>https://blog.youkuaiyun.com/Wesnoth/article/details/50762222</link><guid>https://blog.youkuaiyun.com/Wesnoth/article/details/50762222</guid><author>Wesnoth</author><pubDate>Sun, 28 Feb 2016 22:30:46 +0800</pubDate><description><![CDATA[注：目录（文件夹）的处理方式（递归处理其子文件）与文件雷同，下文将它们合称为文件。1.3 起步 - Git 基础2.2 Git 基础 - 记录每次更新到仓库添加文件// 开始跟踪新文件 或 把已跟踪的（且又有新改动的）文件放到暂存区。
$ git add README// add还能用于合并时把有冲突的文件标记为已解决状态等检查当前文件状态$ git status状态简览$ git status -]]></description><category></category></item><item><title><![CDATA[（未完成）Android版本更新变迁]]></title><link>https://blog.youkuaiyun.com/Wesnoth/article/details/50762212</link><guid>https://blog.youkuaiyun.com/Wesnoth/article/details/50762212</guid><author>Wesnoth</author><pubDate>Sun, 28 Feb 2016 22:28:48 +0800</pubDate><description><![CDATA[Android 6.0（API 23，代号棉花糖Marshmallow） 
1、运行时授权（Runtime Permissions） 
    应用将在运行时获取用户授权，而不是在安装时。 
    权限分为两种：普通权限，不会触及用户隐私，系统自动准许；危险权限，能访问到用户的私密数据，需要用户明确地授予。 
2、打盹模式和APP待机（Doze and App Standby） 
    当设备未]]></description><category></category></item><item><title><![CDATA[Android媒体播放：MediaPlayer]]></title><link>https://blog.youkuaiyun.com/Wesnoth/article/details/50173609</link><guid>https://blog.youkuaiyun.com/Wesnoth/article/details/50173609</guid><author>Wesnoth</author><pubDate>Fri, 04 Dec 2015 13:18:16 +0800</pubDate><description><![CDATA[一、基本的类 
MediaPlayer 
播放音频和视频。 
AudioManager 
管理音频资源和音频输出。三、使用MediaPlayer 
播放应用的内置raw资源：MediaPlayer mediaPlayer = MediaPlayer.create(context, R.raw.sound_file_1);
// create()中已调用prepare()，不必再调用后者
mediaP]]></description><category></category></item><item><title><![CDATA[让Android应用保持灵敏响应：AsyncTask]]></title><link>https://blog.youkuaiyun.com/Wesnoth/article/details/50024223</link><guid>https://blog.youkuaiyun.com/Wesnoth/article/details/50024223</guid><author>Wesnoth</author><pubDate>Wed, 25 Nov 2015 01:30:44 +0800</pubDate><description><![CDATA[任何可能需要较长时间的操作都不应该放在UI主线程里，而应该创建一个工作线程去处理。当前台Activity未在5秒内对用户点击事件或者BroadcastReceiver接收到广播后未在10秒内返回，Android就会抛出一个应用无响应（ANR）的对话框，以供用户选择是否关闭该应用。如何避免ANR？创建一个处理长时间操作的工作线程的最佳方式是继承AsyncTask类：// AsyncTask<Param]]></description><category></category></item><item><title><![CDATA[Android进程和线程]]></title><link>https://blog.youkuaiyun.com/Wesnoth/article/details/50004911</link><guid>https://blog.youkuaiyun.com/Wesnoth/article/details/50004911</guid><author>Wesnoth</author><pubDate>Tue, 24 Nov 2015 00:10:28 +0800</pubDate><description><![CDATA[当某个应用组件启动且该应用没有运行其他任何组件时，Android 系统会使用单个执行线程为应用启动新的 Linux 进程。默认情况下，同一应用的所有组件在相同的进程和线程（称为“主”线程）中运行。 如果某个应用组件启动且该应用已存在进程（因为存在该应用的其他组件），则该组件会在此进程内启动并使用相同的执行线程。 但是，您可以安排应用中的其他组件在单独的进程中运行，并为任何进程创建额外的线程。本文档介]]></description><category></category></item><item><title><![CDATA[Android进程间通信（二）：AIDL]]></title><link>https://blog.youkuaiyun.com/Wesnoth/article/details/50002441</link><guid>https://blog.youkuaiyun.com/Wesnoth/article/details/50002441</guid><author>Wesnoth</author><pubDate>Mon, 23 Nov 2015 22:45:35 +0800</pubDate><description><![CDATA[AIDL (Android Interface Definition Language)即Android接口定义语言。若需多线程同时处理其他应用进程的请求才有必要使用AIDL。如果不需多线程交互，则可使用Messager（请看《Android进程间通信（一）：Messager》）；而如果不需跨进程通信，使用Binder即可。 
AIDL接口通常与Service联合使用。客户端通过bindServic]]></description><category></category></item><item><title><![CDATA[任务和返回栈]]></title><link>https://blog.youkuaiyun.com/Wesnoth/article/details/49967115</link><guid>https://blog.youkuaiyun.com/Wesnoth/article/details/49967115</guid><author>Wesnoth</author><pubDate>Sat, 21 Nov 2015 19:47:22 +0800</pubDate><description><![CDATA[打开一个最近未使用过的APP时，系统会创建一个新的任务（它是一个后进先出的栈），把APP的主Activity放入其中。默认模式下，后续启动的获得用户焦点的Activity会堆叠在栈顶。当用户按下返回键时，栈顶的Activity会被弹出销毁，并返回前一个Activity（此时为新的栈顶）。一个任务可以包含不同APP的Activity（比如APP A启动了APP B的Activity来拍照），一个Act]]></description><category></category></item><item><title><![CDATA[给ListView异步加载Cursor]]></title><link>https://blog.youkuaiyun.com/Wesnoth/article/details/49785585</link><guid>https://blog.youkuaiyun.com/Wesnoth/article/details/49785585</guid><author>Wesnoth</author><pubDate>Wed, 11 Nov 2015 19:27:17 +0800</pubDate><description><![CDATA[LoaderManager 
每个Activity或者Fragment只有一个LoaderManager， 
它可以根据前两者的生命周期来管理若干个Loader。LoaderManager.LoaderCallbacks 
它提供三个接口和LoaderManager进行互动：onCreateLoader（怎么创建一个Loader）、onLoadFinished（当某个Loader加载完毕）、onLo]]></description><category></category></item><item><title><![CDATA[数据保存（三）：数据库]]></title><link>https://blog.youkuaiyun.com/Wesnoth/article/details/49625015</link><guid>https://blog.youkuaiyun.com/Wesnoth/article/details/49625015</guid><author>Wesnoth</author><pubDate>Wed, 04 Nov 2015 00:24:53 +0800</pubDate><description><![CDATA[一、继承SQLiteOpenHelper类public class MySQLiteOpenHelper extends SQLiteOpenHelper {
        public static final int DATABASE_VERSION = 1;
        public static final String DATABASE_NAME = "wesnoth.db";]]></description><category></category></item><item><title><![CDATA[数据保存（二）：文件]]></title><link>https://blog.youkuaiyun.com/Wesnoth/article/details/49573699</link><guid>https://blog.youkuaiyun.com/Wesnoth/article/details/49573699</guid><author>Wesnoth</author><pubDate>Mon, 02 Nov 2015 01:42:16 +0800</pubDate><description><![CDATA[Internal Storage指内部存储，每个应用都有属于自己的目录：/data/data/应用程序包名，适合保存较小的流式数据，比如截图、铃声等。// 如果没有context对象或者想缓存（临时）文件
if(!hasContextAndNotCache)
{
    // 1.获取文件夹
    File dir = null;
    if(isCache)
    {
        //]]></description><category></category></item><item><title><![CDATA[数据保存（一）：SharedPreference]]></title><link>https://blog.youkuaiyun.com/Wesnoth/article/details/49564833</link><guid>https://blog.youkuaiyun.com/Wesnoth/article/details/49564833</guid><author>Wesnoth</author><pubDate>Sun, 01 Nov 2015 23:57:04 +0800</pubDate><description><![CDATA[方法一：SharedPreference 
适合保存零散的不重要的数据， 以键值对的形式保存在/data/data/应用程序包/shared_prefs目录下的xml文件中。SharedPreferences sharedPreferences = null;// A.获取SharedPreferences对象
if (noName)
{
    // 这种方式的文件名为“Activity的类名.x]]></description><category></category></item><item><title><![CDATA[用Fragment创建模块化组件]]></title><link>https://blog.youkuaiyun.com/Wesnoth/article/details/49369119</link><guid>https://blog.youkuaiyun.com/Wesnoth/article/details/49369119</guid><author>Wesnoth</author><pubDate>Fri, 23 Oct 2015 23:47:29 +0800</pubDate><description><![CDATA[Fragment类似于Activity，有自己的layout布局，也有一系列相关的生命周期方法。在Activity运行（resumed）期间，它的生命周期可以独立地控制，但当Activity停止或销毁时，尚未销毁的它将一起被停止或销毁。它是View的子类ViewGroup的子类。package com.company.app;import android.app.Fragment;
import a]]></description><category></category></item><item><title><![CDATA[将输入流（InputStream）转换为位图（Bitmap）]]></title><link>https://blog.youkuaiyun.com/Wesnoth/article/details/48880661</link><guid>https://blog.youkuaiyun.com/Wesnoth/article/details/48880661</guid><author>Wesnoth</author><pubDate>Sat, 03 Oct 2015 21:00:00 +0800</pubDate><description><![CDATA[InputStream is = null;
...
Bitmap bitmap = BitmapFactory.decodeStream(is);
ImageView imageView = (ImageView) findViewById(R.id.image_view);
imageView.setImageBitmap(bitmap);]]></description><category></category></item><item><title><![CDATA[Android连接网络]]></title><link>https://blog.youkuaiyun.com/Wesnoth/article/details/48880545</link><guid>https://blog.youkuaiyun.com/Wesnoth/article/details/48880545</guid><author>Wesnoth</author><pubDate>Sat, 03 Oct 2015 20:49:49 +0800</pubDate><description><![CDATA[一、所需权限：<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />二、关键方法public class HttpExampleActivity extends Activity {]]></description><category></category></item><item><title><![CDATA[Android适配不同语言、屏幕，提高兼容性]]></title><link>https://blog.youkuaiyun.com/Wesnoth/article/details/48558205</link><guid>https://blog.youkuaiyun.com/Wesnoth/article/details/48558205</guid><author>Wesnoth</author><pubDate>Fri, 18 Sep 2015 23:34:09 +0800</pubDate><description><![CDATA[一、语言适配MyProject/
    res/
       values/          // 默认英文en
           strings.xml
       values-es/       // 适配西班牙语
           strings.xml
       values-fr/       // 适配法语
           strings.xml二、屏幕适配调]]></description><category></category></item><item><title><![CDATA[Android布局相关]]></title><link>https://blog.youkuaiyun.com/Wesnoth/article/details/48557755</link><guid>https://blog.youkuaiyun.com/Wesnoth/article/details/48557755</guid><author>Wesnoth</author><pubDate>Fri, 18 Sep 2015 23:22:30 +0800</pubDate><description><![CDATA[一、关于layout_weight<LinearLayout
    android:orientation="横向或垂直"
    ...>    <EditText
        android:layout_weight="布局比重值"
        ... />    ...</LinearLayout>布局比重（layout_weight）属性只在线性布局（LinearLayout）中]]></description><category></category></item></channel></rss>