<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[xuewater的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/xuewater</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xuewater]]></copyright><item><title><![CDATA[用Hexo搭建github博客]]></title><link>https://blog.youkuaiyun.com/xuewater/article/details/46776279</link><guid>https://blog.youkuaiyun.com/xuewater/article/details/46776279</guid><author>xuewater</author><pubDate>Mon, 06 Jul 2015 16:40:17 +0800</pubDate><description><![CDATA[上次用octopress搭建了一个github博客，但是一直没在上面写文章，还是用的csdn，最近看到大家都在用hexo搭建github博客，效果的确好看，所以就又搭建了一个hexo博客，以后要逼着自己学习一下markdown。创建octopress过程如下：http://blog.youkuaiyun.com/xuewater/article/details/40146257  一、准备工作（nodejs安]]></description><category></category></item><item><title><![CDATA[Android中创建快捷方式]]></title><link>https://blog.youkuaiyun.com/xuewater/article/details/46730423</link><guid>https://blog.youkuaiyun.com/xuewater/article/details/46730423</guid><author>xuewater</author><pubDate>Thu, 02 Jul 2015 19:50:32 +0800</pubDate><description><![CDATA[在Android中创建快捷方式是很普遍的，是增加流量的一种方式。如果是原生系统，直接调用系统API就行了，但是众多厂商都有自己定制的桌面（Launcher），因此导致在适配、兼容方面存在很多问题。暂时虽然没有办法搞定所有的，但是仍然需要寻求一个最优的方案。  一、简单实现  增加快捷方式，这个需要在manifest文件中添加权限：      uses-permission android:name]]></description><category></category></item><item><title><![CDATA[Android中Dialog设置外部点击事件]]></title><link>https://blog.youkuaiyun.com/xuewater/article/details/46675123</link><guid>https://blog.youkuaiyun.com/xuewater/article/details/46675123</guid><author>xuewater</author><pubDate>Sun, 28 Jun 2015 22:56:49 +0800</pubDate><description><![CDATA[一、点击外部取消显示  一般来说，在android中用到的都是设置dialog点击外部取消dialog的显示，这个直接设置setCanceledOnTouchOutside方法即可。          public void setCanceledOnTouchOutside(boolean cancel) {
        if (cancel && !mCancelable) {
   ]]></description><category></category></item><item><title><![CDATA[Python学习笔记-环境搭建]]></title><link>https://blog.youkuaiyun.com/xuewater/article/details/45917327</link><guid>https://blog.youkuaiyun.com/xuewater/article/details/45917327</guid><author>xuewater</author><pubDate>Fri, 22 May 2015 15:01:42 +0800</pubDate><description><![CDATA[一、下载sublime  在网上看了下，很多人推荐sublime，比较轻量级，还可以装各种插件，用起来很舒服，虽然sublime3出来了，但是2还是比较稳定的，我就下载了sublime2，下载地址：http://www.sublimetext.com/  下载之后就可以直接安装了，安装完sublime text2，在第一次运行的时候，sublime text2 会在%appdata%目录下生成一个]]></description><category></category></item><item><title><![CDATA[Android中Toast使用总结，源码剖析]]></title><link>https://blog.youkuaiyun.com/xuewater/article/details/45896303</link><guid>https://blog.youkuaiyun.com/xuewater/article/details/45896303</guid><author>xuewater</author><pubDate>Thu, 21 May 2015 20:19:46 +0800</pubDate><description><![CDATA[最近看到折800刷新成功弹出的效果挺好看的，就想着自己也实现一下，下面是折800的刷新效果     感觉这个可以用popupwindow或者toast来实现，就用toast来实现了。布局比较简单，不贴图了，直接贴上代码：     public void showToast() {

        LayoutInflater inflater = LayoutInflater.from(Ba]]></description><category></category></item><item><title><![CDATA[Android中关于Service的一些事]]></title><link>https://blog.youkuaiyun.com/xuewater/article/details/45540271</link><guid>https://blog.youkuaiyun.com/xuewater/article/details/45540271</guid><author>xuewater</author><pubDate>Wed, 06 May 2015 20:14:16 +0800</pubDate><description><![CDATA[最近在看android开发指南，感觉有些细节知识还是挺耐人寻味的，特在此记录一下：  一、IntentService  这是一个Service的子类,该子类使用线程处理所有启动请求,一次一个.这是不使用服务处理多任务请求的最佳选择.你需要做的只是实现onHandleIntent()方法即可.可以为每个启动请求接收到intent,放到后台工作即可.  需要注意一点的是，IntentService所有]]></description><category></category></item><item><title><![CDATA[android中的ListView中的item获取焦点事件或者绘制状态]]></title><link>https://blog.youkuaiyun.com/xuewater/article/details/45248003</link><guid>https://blog.youkuaiyun.com/xuewater/article/details/45248003</guid><author>xuewater</author><pubDate>Fri, 24 Apr 2015 16:17:46 +0800</pubDate><description><![CDATA[最近遇到一个需求，就是需要把listview的item的点击事件传递给里面的ImageView，本来打算是重写onInterceptTouchEvent方法，使其返回false，让imageview可以传递事件的，但是感觉挺麻烦的，经大牛指导，原来普通的view有一个duplicateParentState属性，可以设置从父容器获取绘图状态，如：     ImageView
          ]]></description><category></category></item><item><title><![CDATA[Android绘图总结（Bitmap，Canvas，Paint，圆角）]]></title><link>https://blog.youkuaiyun.com/xuewater/article/details/45247885</link><guid>https://blog.youkuaiyun.com/xuewater/article/details/45247885</guid><author>xuewater</author><pubDate>Fri, 24 Apr 2015 16:11:16 +0800</pubDate><description><![CDATA[最近老是和绘图打交道，经常用到Canvas，bitmap，Paint，但是对它们的理解总是模糊，这里作下总结，加深对绘图的理解。    要掌握Android的画图，首先就要了解一下，基本用到的图形接口：   1.Bitmap，可以来自资源/文件，也可以在程序中创建，实际上的功能相当于图片的存储空间，保存着像素   2.Canvas，紧密与Bitmap联系，把Bitmap比喻内容的话，那么Canva]]></description><category></category></item><item><title><![CDATA[ubuntu13.10安装minidwep-gtk（PJ无线密码）]]></title><link>https://blog.youkuaiyun.com/xuewater/article/details/44712807</link><guid>https://blog.youkuaiyun.com/xuewater/article/details/44712807</guid><author>xuewater</author><pubDate>Sun, 29 Mar 2015 00:43:09 +0800</pubDate><description><![CDATA[各种依赖      sudo apt-get install build-essential libssl-dev iw libpcap-dev sqlite3 libsqlite3-dev libpcap0.8-dev libssl0.9.8 aircrack-ng reaver     下载安装   wget http://yjiang.tk/wp-content/uploads/2013/0]]></description><category></category></item><item><title><![CDATA[Android error:Can not perform this action after onSaveInstanceState]]></title><link>https://blog.youkuaiyun.com/xuewater/article/details/44712565</link><guid>https://blog.youkuaiyun.com/xuewater/article/details/44712565</guid><author>xuewater</author><pubDate>Sun, 29 Mar 2015 00:34:05 +0800</pubDate><description><![CDATA[最近在项目中发现了这个bug，不是每次都发生，偶然会出现的，抓取的log日志：     java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at android.app.FragmentManagerImpl.checkStateLoss(FragmentManager.ja]]></description><category></category></item><item><title><![CDATA[Android error: Failed to install *.apk on device *: timeout]]></title><link>https://blog.youkuaiyun.com/xuewater/article/details/44705713</link><guid>https://blog.youkuaiyun.com/xuewater/article/details/44705713</guid><author>xuewater</author><pubDate>Sat, 28 Mar 2015 20:47:25 +0800</pubDate><description><![CDATA[最近eclipse连接手机的时候老是出现failed to install *.apk on device * :timeout这个错误，原本以为是手机usb头有问题了你，接触不良，今天突然google了一下，竟然发现不是手机的问题，是ddms设置的问题，特在此mark一下：  eclipse中的ddms默认的adb连接时间是5000ms，如果调试的apk进程比较多，运行比较缓慢的话，就会超过这个]]></description><category></category></item><item><title><![CDATA[Android中的Webview加载URL支持其他协议Protocols]]></title><link>https://blog.youkuaiyun.com/xuewater/article/details/44342809</link><guid>https://blog.youkuaiyun.com/xuewater/article/details/44342809</guid><author>xuewater</author><pubDate>Tue, 17 Mar 2015 15:44:40 +0800</pubDate><description><![CDATA[关于URL Scheme的基本原理，这里不多说了，简单介绍一下使用到的scheme参数格式，比如启动天猫客户端的url scheme格式：  tmall://tmallclient/?{"action":”item:id=xxxxx”}   其中xxxxx是商品的id。  比如：某个天猫商品的http链接为：http://detail.tmall.com/item.htm?spm=a215v.72]]></description><category></category></item><item><title><![CDATA[ViewPager无限循环]]></title><link>https://blog.youkuaiyun.com/xuewater/article/details/44342009</link><guid>https://blog.youkuaiyun.com/xuewater/article/details/44342009</guid><author>xuewater</author><pubDate>Tue, 17 Mar 2015 15:05:22 +0800</pubDate><description><![CDATA[最近项目中用到了无限循环，也就是从第一个向左滑可以滑到最后一个，从最后一个右滑可以滑到第一个，整理了一下资料，大概就是两种情况。  ViewPager的原理  首先说明一下ViewPager的工作机制，严格意义上就是PagerAdapter的执行顺序。  PagerAdapter作为ViewPager的适配器，无论ViewPager有多少页，PagerAdapter在初始化时也只初始化开始的2个V]]></description><category></category></item><item><title><![CDATA[ViewPager的PagerAdapter中的notifyDataSetChanged更新数据总结]]></title><link>https://blog.youkuaiyun.com/xuewater/article/details/44339861</link><guid>https://blog.youkuaiyun.com/xuewater/article/details/44339861</guid><author>xuewater</author><pubDate>Tue, 17 Mar 2015 11:57:31 +0800</pubDate><description><![CDATA[最近在工作中遇到了一个问题，就是在viewpager中调用pageradapter.notifydatasetchanged方法，好像没有任何效果，相应的view也没有更新数据，根据官方API是这样解释的：大概是说明Adapter会自动管辖ViewPager每一页(Item)的状态，而notifyDataSetChanged()是用在当ViePager要新增一页、刪除一页或改变各个页面的排列的時候]]></description><category></category></item><item><title><![CDATA[Can't find API database; API check was not performed]]></title><link>https://blog.youkuaiyun.com/xuewater/article/details/44339041</link><guid>https://blog.youkuaiyun.com/xuewater/article/details/44339041</guid><author>xuewater</author><pubDate>Tue, 17 Mar 2015 11:05:37 +0800</pubDate><description><![CDATA[最近用eclipse开发android项目时候，经常遇到这个错误提示，然后只能通过clean project消除错误，在网上查了下，说是项目里面配置的版本在本地sdk中不存在，然我我把我项目中的最低minimum sdk版本和target sdk版本与本地的sdk版本做了匹配，但是还是不行，最后在stackoverflow上面找到了一个很好的解决方法：  1.确认manifest文件中的mini ]]></description><category></category></item><item><title><![CDATA[LocalBroadcastManager的使用]]></title><link>https://blog.youkuaiyun.com/xuewater/article/details/43938359</link><guid>https://blog.youkuaiyun.com/xuewater/article/details/43938359</guid><author>xuewater</author><pubDate>Wed, 25 Feb 2015 16:31:54 +0800</pubDate><description><![CDATA[今天无意中看到了android中的LocalBroadcastManager，就google了一下，从名字看就是一个本地广播管理工具类，必然跟广播脱不开关系了，因此下面简单整理一下它的使用方法。  在说LocalBroadcastManger之前，先说一下广播（BroadcastReceiver）的安全性问题：  BroadcastReceiver设计的初衷是从全局考虑可以方便应用程序和系统、应用]]></description><category></category></item><item><title><![CDATA[Android应用程序的debug属性]]></title><link>https://blog.youkuaiyun.com/xuewater/article/details/42836837</link><guid>https://blog.youkuaiyun.com/xuewater/article/details/42836837</guid><author>xuewater</author><pubDate>Sun, 18 Jan 2015 17:52:42 +0800</pubDate><description><![CDATA[一、Manifest文件设置debug属性  在开发Android应用程序时，我们可以在AndroidManifest.xml中设置其debug属性，     application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:the]]></description><category></category></item><item><title><![CDATA[单例模式（Singleton）的同步锁synchronized]]></title><link>https://blog.youkuaiyun.com/xuewater/article/details/42266385</link><guid>https://blog.youkuaiyun.com/xuewater/article/details/42266385</guid><author>xuewater</author><pubDate>Tue, 30 Dec 2014 14:59:36 +0800</pubDate><description><![CDATA[单例模式，有“懒汉式”和“饿汉式”两种。  懒汉式  单例类的实例在第一次被引用时候才被初始化。     public class Singleton {  
    private static Singleton instance=null;  
     
    private Singleton() {  
         
    }  
     
    publi]]></description><category></category></item><item><title><![CDATA[Android中的@TargetApi and @SuppressLint]]></title><link>https://blog.youkuaiyun.com/xuewater/article/details/41963707</link><guid>https://blog.youkuaiyun.com/xuewater/article/details/41963707</guid><author>xuewater</author><pubDate>Tue, 16 Dec 2014 17:57:01 +0800</pubDate><description><![CDATA[@TargetApi  这个注解的意思就是告诉Android的Lint工具，下面的类或者方法是与一个指定的API相对应的，忽略manifeset文件里面的minSdk的设置。  假如你不加这个注解的话，当你在用一个较新的api方法时候，如果manifest文件中定义的minSdk比这个方法对应的版本要低，Lint检测的时候会报错误或者警告。  注意这个注解，并不意味着在低版本的sdk中就可以使用高]]></description><category></category></item><item><title><![CDATA[Android中的图片处理（包括缓存、大小、优化等）]]></title><link>https://blog.youkuaiyun.com/xuewater/article/details/41870839</link><guid>https://blog.youkuaiyun.com/xuewater/article/details/41870839</guid><author>xuewater</author><pubDate>Thu, 11 Dec 2014 19:17:27 +0800</pubDate><description><![CDATA[加载一副位图到你的用户界面是很简单的，然而如果你需要马上加载一组更大的图片的话就会复杂的多.在许多情况下（例如有些组件像ListView,GridView以及ViewPager等），出现在屏幕上的图片总量，其中包括可能马上要滚动显示在屏幕上的那些图片，实际上是无限的.   那些通过回收即将移除屏幕的子视图的组件，内存使用得以保留.如果你不长期保持你对象的引用的话，垃圾收集器也会释放你所加载的位图内]]></description><category></category></item></channel></rss>