<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[fckdenny的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/fckdenny</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; fckdenny]]></copyright><item><title><![CDATA[android attrs.xml declare-styleable 属性]]></title><link>https://blog.csdn.net/fckdenny/article/details/49099797</link><guid>https://blog.csdn.net/fckdenny/article/details/49099797</guid><author>fckdenny</author><pubDate>Tue, 13 Oct 2015 16:04:08 +0800</pubDate><description><![CDATA[首先来看看attrs.xml文件。

该文件是定义属性名和格式的地方，需要用包围所有属性。其中name为该属性集的名字，主要用途是标识该属性集。那在什么地方会用到呢？主要是在第三步。看到没？在获取某属性标识时，用到"R.styleable.ToolBar_buttonNum"，很显然，他在每个属性前面都加了"ToolBar_"。

在来看看各种属性都有些什么类型吧：string , int]]></description><category></category></item><item><title><![CDATA[android拍照，截图，保存并显示在ImageView控件中]]></title><link>https://blog.csdn.net/fckdenny/article/details/48710513</link><guid>https://blog.csdn.net/fckdenny/article/details/48710513</guid><author>fckdenny</author><pubDate>Thu, 24 Sep 2015 14:06:17 +0800</pubDate><description><![CDATA[以下是activity中的代码，代码如下：package com.fk.test;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

import andr]]></description><category></category></item><item><title><![CDATA[ListView与CheckBox混用焦点的问题]]></title><link>https://blog.csdn.net/fckdenny/article/details/48710123</link><guid>https://blog.csdn.net/fckdenny/article/details/48710123</guid><author>fckdenny</author><pubDate>Thu, 24 Sep 2015 13:31:55 +0800</pubDate><description><![CDATA[android:focusable="false" 
android:focusableInTouchMode="false" 
android:clickable="false" 
这三句很重要，如果不加就会出现错误。 

由于checkbox的点击事件优先级比listview的高，所以要在checkbox中添加android:focusable="false"，使得checkbox初]]></description><category></category></item><item><title><![CDATA[Android网络通信的六种方式]]></title><link>https://blog.csdn.net/fckdenny/article/details/48654161</link><guid>https://blog.csdn.net/fckdenny/article/details/48654161</guid><author>fckdenny</author><pubDate>Tue, 22 Sep 2015 14:52:11 +0800</pubDate><description><![CDATA[具体参见如下链接的介绍！
http://blog.csdn.net/yuzhiboyi/article/details/7733054]]></description><category></category></item><item><title><![CDATA[Android异步下载网络图片(其三：ExecutorService)]]></title><link>https://blog.csdn.net/fckdenny/article/details/48654003</link><guid>https://blog.csdn.net/fckdenny/article/details/48654003</guid><author>fckdenny</author><pubDate>Tue, 22 Sep 2015 14:47:50 +0800</pubDate><description><![CDATA[在第一节中，我们使用Handler、Thread/Runnable 、URL、HttpURLConnection等等来进行异步下载网络图片。然后第二节中换了AsyncTask方式。那么这一节我们再应用其他方式，这个方式与第一节有点雷同，感觉走了一圈回到原地，只是风景更加美丽。人生很多时候也是如此，从NULL中来再回到NULL中。


那么它是谁呢？java.util.concurrent]]></description><category></category></item><item><title><![CDATA[Android异步下载网络图片(其一Handler)]]></title><link>https://blog.csdn.net/fckdenny/article/details/48653821</link><guid>https://blog.csdn.net/fckdenny/article/details/48653821</guid><author>fckdenny</author><pubDate>Tue, 22 Sep 2015 14:37:44 +0800</pubDate><description><![CDATA[项目中有时候需要获取网络上的图片，并下载下来到手机客户端显示。怎么做呢？

实现思路是：

 1：在UI线程中启动一个线程,让这个线程去下载图片。

 2：图片完成下载后发送一个消息去通知UI线程

 2：UI线程获取到消息后，更新UI。

 这里的UI线程就是主线程。

 这两个步骤涉及到一些知识点，即是：﻿﻿﻿ProgressDialog,Handler,Thread/]]></description><category></category></item><item><title><![CDATA[Android异步下载网络图片(其二AsyncTask)]]></title><link>https://blog.csdn.net/fckdenny/article/details/48653707</link><guid>https://blog.csdn.net/fckdenny/article/details/48653707</guid><author>fckdenny</author><pubDate>Tue, 22 Sep 2015 14:31:41 +0800</pubDate><description><![CDATA[使用Handler、Thread/Runnable 、URL、HttpURLConnection等等来进行异步下载网络图片，采用这几种方式有一些缺点，如下：

线程的开销较大，如果每个任务都要创建一个线程，那么程序的效率要低很多。线程无法管理，匿名线程创建并启动后就不受程序的控制了，如果有很多个请求发送，那么就会启动非常多的线程，系统将不堪重负。另外，前面已经看到，在新线程中更新UI还必须要引]]></description><category></category></item><item><title><![CDATA[Android 点击空白处自动隐藏输入法]]></title><link>https://blog.csdn.net/fckdenny/article/details/48630143</link><guid>https://blog.csdn.net/fckdenny/article/details/48630143</guid><author>fckdenny</author><pubDate>Mon, 21 Sep 2015 18:03:03 +0800</pubDate><description><![CDATA[方法1: 简单但有时会无效
InputMethodManager manager= (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);  
@Override 
public boolean onTouchEvent(MotionEvent event) {   
// TODO Auto-generated m]]></description><category></category></item><item><title><![CDATA[【Android】android:windowSoftInputMode属性详解]]></title><link>https://blog.csdn.net/fckdenny/article/details/48626519</link><guid>https://blog.csdn.net/fckdenny/article/details/48626519</guid><author>fckdenny</author><pubDate>Mon, 21 Sep 2015 15:12:45 +0800</pubDate><description><![CDATA[首先，我们从这个属性的名称中，可以很直观的看出它的作用，这个属性就是来设置窗口软键盘的交互模式的。activity主窗口与软键盘的交互模式，可以用来避免输入法面板遮挡问题，Android1.5后的一个新特性。


这个属性能影响两件事情：

【一】当有焦点产生时，软键盘是隐藏还是显示  state

【二】是否减少活动主窗口大小以便腾出空间放软键盘 adjust



它的设]]></description><category></category></item><item><title><![CDATA[android:windowSoftInputMode属性使用]]></title><link>https://blog.csdn.net/fckdenny/article/details/48393083</link><guid>https://blog.csdn.net/fckdenny/article/details/48393083</guid><author>fckdenny</author><pubDate>Sat, 12 Sep 2015 12:10:31 +0800</pubDate><description><![CDATA[活动的主窗口如何与包含屏幕上的软键盘窗口交互。这个属性的设置将会影响两件事情 :

1>     软键盘的状态——是否它是隐藏或显示——当活动 (Activity)成为用户关注的焦点。

2>     活动的主窗口调整——是否减少活动主窗口大小以便腾出空间放软键盘或是否当活动窗口的部分被软键盘覆盖时它的内容的当前焦点是可见的。

它的设置必须是下面列表中的一个值，或一个 ”state…]]></description><category></category></item><item><title><![CDATA[Xutils和Volley请求服务器的使用]]></title><link>https://blog.csdn.net/fckdenny/article/details/48261269</link><guid>https://blog.csdn.net/fckdenny/article/details/48261269</guid><author>fckdenny</author><pubDate>Mon, 07 Sep 2015 09:30:06 +0800</pubDate><description><![CDATA[public void getSmsCode(final String phoneNumber) {
		RequestParams params = new RequestParams();
		params.addQueryStringParameter("phoneNumber", phoneNumber);
		String httpurl = Constant.httpUrl + "se]]></description><category></category></item><item><title><![CDATA[使用Volley框架，不走onResponse和onError方法]]></title><link>https://blog.csdn.net/fckdenny/article/details/48137259</link><guid>https://blog.csdn.net/fckdenny/article/details/48137259</guid><author>fckdenny</author><pubDate>Mon, 31 Aug 2015 17:51:46 +0800</pubDate><description><![CDATA[一般正常使用Volley框架后，请求成功，网络畅通的情况下就会执行onResponse,返回服务器传回来的一些值，如果网络不畅通的情况下，就会走ErrorResponse的方法。以前都能正常运行，但是今天却遇到了难题，既不走onResponse,也不走ErrorResponse方法。
经过检查，发现最后少了一步，没有把请求加入到请求队列里面：加上这一步，就可以了。
requestQueue.a]]></description><category></category></item><item><title><![CDATA[Android AsyncTask onPostExecute()不执行，与JPush冲突]]></title><link>https://blog.csdn.net/fckdenny/article/details/48132099</link><guid>https://blog.csdn.net/fckdenny/article/details/48132099</guid><author>fckdenny</author><pubDate>Mon, 31 Aug 2015 12:12:18 +0800</pubDate><description><![CDATA[今天做项目的时候，出现了奇怪的状况,AsyncTask 的onPostExecute()方法不执行，上网查找了一番，都没有找到原因，但是网上大多数原因介绍是需要UI主线程中调用AsynTask，突然想起今天还添加了极光推送相关代码，于是，将极光推送代码注释后，果然onPostExecute()能够正常执行。

        于是去极光推送官网查找，果然发现有相关问题，JPUSH会影响Asyn]]></description><category></category></item><item><title><![CDATA[Android AsyncTask实现异步任务的执行]]></title><link>https://blog.csdn.net/fckdenny/article/details/48131479</link><guid>https://blog.csdn.net/fckdenny/article/details/48131479</guid><author>fckdenny</author><pubDate>Mon, 31 Aug 2015 11:26:41 +0800</pubDate><description><![CDATA[Android的AsyncTask比Handler更轻量级一些，适用于简单的异步处理。 

首先明确Android之所以有Handler和AsyncTask，都是为了不阻塞主线程（UI线程），且UI的更新只能在主线程中完成，因此异步处理是不可避免的。 

Android 1.5提供了一个工具类：AsyncTask，它使创建需要与用户界面交互的长时间运行的任务变得更简单。不需要借助线程和Ha]]></description><category></category></item><item><title><![CDATA[Android Bitmap详解，Bitmap(位图)转InputStream, InputStream转BitMap(位图)]]></title><link>https://blog.csdn.net/fckdenny/article/details/48051487</link><guid>https://blog.csdn.net/fckdenny/article/details/48051487</guid><author>fckdenny</author><pubDate>Fri, 28 Aug 2015 15:02:10 +0800</pubDate><description><![CDATA[package com.fk.utils;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Iterator;

import ]]></description><category></category></item><item><title><![CDATA[安卓下验证身份证号是否有效]]></title><link>https://blog.csdn.net/fckdenny/article/details/47836245</link><guid>https://blog.csdn.net/fckdenny/article/details/47836245</guid><author>fckdenny</author><pubDate>Fri, 21 Aug 2015 16:16:30 +0800</pubDate><description><![CDATA[package com.sinosoft.utils;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.GregorianCalendar;
import java.util.Hashtable;
import java.]]></description><category></category></item><item><title><![CDATA[Android中验证输入是否为汉字及手机号，邮箱验证]]></title><link>https://blog.csdn.net/fckdenny/article/details/47834017</link><guid>https://blog.csdn.net/fckdenny/article/details/47834017</guid><author>fckdenny</author><pubDate>Fri, 21 Aug 2015 14:26:19 +0800</pubDate><description><![CDATA[1，验证是否为汉字
		// 验证昵称
		    private boolean verifyNickname() {
		        String nickname = edt_username.getText().toString();
		        if (nickname == null || nickname.length() == 0) {
		            ed]]></description><category></category></item><item><title><![CDATA[Android UI线程和非UI线程]]></title><link>https://blog.csdn.net/fckdenny/article/details/47658753</link><guid>https://blog.csdn.net/fckdenny/article/details/47658753</guid><author>fckdenny</author><pubDate>Fri, 14 Aug 2015 11:01:31 +0800</pubDate><description><![CDATA[当应用启动，系统会创建一个主线程（main thread）。

　　这个主线程负责向UI组件分发事件（包括绘制事件），也是在这个主线程里，你的应用和Android的UI组件（components from the Android UI toolkit (components from the android.widget and android.view packages)）发生交互。

]]></description><category></category></item><item><title><![CDATA[Android进步之十六：badgeView的简单测试和介绍]]></title><link>https://blog.csdn.net/fckdenny/article/details/46445023</link><guid>https://blog.csdn.net/fckdenny/article/details/46445023</guid><author>fckdenny</author><pubDate>Wed, 10 Jun 2015 17:58:29 +0800</pubDate><description><![CDATA[数字提醒大家肯定都见识过。QQ、微信等app中如果有消息或者提醒的时候，就会展现给用户一个红点或者带有数字的点。前段时间微信上流行把自己的头像换成带有数字提醒的头像，让那些有强迫症的人真是抓狂。




    下面我们就看一下怎么在自己的app中实现这种效果。

    开发者当然可以自己用相对布局来实现这样的效果。一个还好，但是多了呢！就会很繁琐。GitHub上有一个开源的第三方]]></description><category></category></item><item><title><![CDATA[Android进步之十五：android中string.xml中%1$s、%1$d等的用法]]></title><link>https://blog.csdn.net/fckdenny/article/details/46441587</link><guid>https://blog.csdn.net/fckdenny/article/details/46441587</guid><author>fckdenny</author><pubDate>Wed, 10 Jun 2015 14:36:06 +0800</pubDate><description><![CDATA[一、使用xliff的用法：


标签介绍： 
属性id可以随便命名 
属性值举例说明
%n$ms：代表输出的是字符串，n代表是第几个参数，设置m的值可以在输出之前放置空格 
%n$md：代表输出的是整数，n代表是第几个参数，设置m的值可以在输出之前放置空格，也可以设为0m,在输出之前放置m个0 
%n$mf：代表输出的是浮点数，n代表是第几个参数，设置m的值可以控制小数位数，如m=]]></description><category></category></item></channel></rss>