<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[happy++, worry--]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/chunho</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; chunho]]></copyright><item><title><![CDATA[android EditText输入手机号自动带空格(344格式)]]></title><link>https://blog.youkuaiyun.com/chunho/article/details/80184149</link><guid>https://blog.youkuaiyun.com/chunho/article/details/80184149</guid><author>chunho</author><pubDate>Thu, 03 May 2018 18:09:31 +0800</pubDate><description><![CDATA[在android开发过程中，有时候需要这样展示手机号：186 0000  0000。


案例 





代码块

代码块语法遵循标准markdown代码，例如：



@Override
public void onTextChanged(CharSequence charSequence, int start, int before, int count) {

        if (ch...]]></description><category></category></item><item><title><![CDATA[[React]调用系统命令，替换文件内容，并且提交到git仓库]]></title><link>https://blog.youkuaiyun.com/chunho/article/details/77962093</link><guid>https://blog.youkuaiyun.com/chunho/article/details/77962093</guid><author>chunho</author><pubDate>Wed, 13 Sep 2017 09:46:15 +0800</pubDate><description><![CDATA[/**
 * 系统命令替换版本号，并且提交git仓库
 * @param odlVersion
 * @param newVersion
 */
function actionCommand(odlVersion, newVersion) {
    var exec = require('child_process').exec;
    var sedCmd = "sed -i '' 's/"]]></description><category></category></item><item><title><![CDATA[[ReactNative][iOS]之真机调试与离线包方式]]></title><link>https://blog.youkuaiyun.com/chunho/article/details/76418969</link><guid>https://blog.youkuaiyun.com/chunho/article/details/76418969</guid><author>chunho</author><pubDate>Mon, 31 Jul 2017 10:19:36 +0800</pubDate><description><![CDATA[（一）前言
  这篇文章讲解以下关于React Native中iOS开发的常见调试方式以及离线包开发方式。做过ios开发的同学都知道，iOS开发真机调试需要注册苹果开发者账号，自从XCode7之后，iOS开发者不需要付费就可以在真机上调试程序。所以，要真机调试，只需要两步：1. 注册成为苹果开发者；2. 下载XCode7 或者以上版本的IDE.
（二）真机设备调试
  在开发的阶段，我们可以使用本地]]></description><category></category></item><item><title><![CDATA[Android 截屏]]></title><link>https://blog.youkuaiyun.com/chunho/article/details/75307969</link><guid>https://blog.youkuaiyun.com/chunho/article/details/75307969</guid><author>chunho</author><pubDate>Tue, 18 Jul 2017 15:58:59 +0800</pubDate><description><![CDATA[代码块/**
     * 直接调用该方法可以截图，但没有状态栏
     *
     * @param context
     */
    public static File create(Context context) {        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd_HH-mm-ss", Locale.U]]></description><category></category></item><item><title><![CDATA[Android获取设备IMEI和Mac地址]]></title><link>https://blog.youkuaiyun.com/chunho/article/details/74713064</link><guid>https://blog.youkuaiyun.com/chunho/article/details/74713064</guid><author>chunho</author><pubDate>Fri, 07 Jul 2017 15:02:16 +0800</pubDate><description><![CDATA[public static boolean checkPermission(Context context, String permission) {
        boolean result = false;
        if (Build.VERSION.SDK_INT >= 23) {
            try {
                Class clazz = C]]></description><category></category></item><item><title><![CDATA[[React]react-router跳转传值]]></title><link>https://blog.youkuaiyun.com/chunho/article/details/60776603</link><guid>https://blog.youkuaiyun.com/chunho/article/details/60776603</guid><author>chunho</author><pubDate>Tue, 07 Mar 2017 19:11:53 +0800</pubDate><description><![CDATA[跳转1.引入包  
import {hashHistory} from ‘react-router’2.跳转传值    handleClick = (value) => {
        hashHistory.push({
            pathname: 'message/detailMessage',
            query: {
                tit]]></description><category></category></item><item><title><![CDATA[Android 实现ScrollView自定义翻页宽度(每次滑动一页) - 类似钉钉工作台]]></title><link>https://blog.youkuaiyun.com/chunho/article/details/55213332</link><guid>https://blog.youkuaiyun.com/chunho/article/details/55213332</guid><author>chunho</author><pubDate>Wed, 15 Feb 2017 22:06:34 +0800</pubDate><description><![CDATA[【效果】：]]></description><category></category></item><item><title><![CDATA[Android ScrollView取消惯性滚动]]></title><link>https://blog.youkuaiyun.com/chunho/article/details/55212279</link><guid>https://blog.youkuaiyun.com/chunho/article/details/55212279</guid><author>chunho</author><pubDate>Wed, 15 Feb 2017 17:11:03 +0800</pubDate><description><![CDATA[【Android ScrollView取消惯性滚动】ScrollView中惯性滚动的效果，想让这个ScrollView慢一点滑动或者接近drag(拖拽)操作，就提出了添加阻尼的说法。public class CustomHorizontalScrollView extends HorizontalScrollView {
    private Context context;
    privat]]></description><category></category></item><item><title><![CDATA[android 动态设置actionbar背景色(代码修改)]]></title><link>https://blog.youkuaiyun.com/chunho/article/details/54964775</link><guid>https://blog.youkuaiyun.com/chunho/article/details/54964775</guid><author>chunho</author><pubDate>Fri, 10 Feb 2017 10:56:24 +0800</pubDate><description><![CDATA[一、将十六进制颜色值转为int类型color
int color = Color.parseColor(“#ff00ff”); 
 
二、将int类型color值转为Drawable类型
ColorDrawable drawable = new ColorDrawable(color); 
 
三、将drawable设置给actionbar
actionBar.setBackgroundDrawab]]></description><category></category></item><item><title><![CDATA[[ReactNative]在android上真机调试]]></title><link>https://blog.youkuaiyun.com/chunho/article/details/52605475</link><guid>https://blog.youkuaiyun.com/chunho/article/details/52605475</guid><author>chunho</author><pubDate>Wed, 21 Sep 2016 10:46:38 +0800</pubDate><description><![CDATA[具体操作如下：
1.先在android project下android/app/src/main/下新建assets目录，然后新建文件index.android.bundle
2.在终端进入react native的根目录下，执行命令：
curl "http://localhost:8081/index.android.bundle?platform=android"
 -o "andro]]></description><category></category></item><item><title><![CDATA[Android Studio JNI生成so库]]></title><link>https://blog.youkuaiyun.com/chunho/article/details/52478671</link><guid>https://blog.youkuaiyun.com/chunho/article/details/52478671</guid><author>chunho</author><pubDate>Thu, 08 Sep 2016 23:45:27 +0800</pubDate><description><![CDATA[JNI生成so文件1.新建Android studio工程2.新建class：AppKey.java.主要为了保存密钥代码块package com.qianmi.adminapp.lib.utils.jni;/**
 * Created by seven on 16/9/8.
 */public class AppKey {    static {
        System.loadLibrar]]></description><category></category></item><item><title><![CDATA[Android网络数据请求优化]]></title><link>https://blog.youkuaiyun.com/chunho/article/details/82847637</link><guid>https://blog.youkuaiyun.com/chunho/article/details/82847637</guid><author>chunho</author><pubDate>Wed, 15 Jun 2016 23:41:00 +0800</pubDate><description><![CDATA[网络请求的优化

一个成功的app，在处理网络请求方面需要注意很多，最低要求：在用户使用2G网络时可以成功加载一次请求。常用优化方式：


	gzip压缩 ：在服务端接口返回数据时，可以在数据量大于1kb时，使用gzip进行压缩之后再返回给客户端；
	
	
	避免频繁调用接口 ：请求数据、返回数据一来一回很浪费时间，所以能调用一次接口取到的数据，就不要调用两次；
	
	
	添加取消网络请求机制 ：...]]></description><category></category></item><item><title><![CDATA[Android登录成功后的各种场景分析]]></title><link>https://blog.youkuaiyun.com/chunho/article/details/82847636</link><guid>https://blog.youkuaiyun.com/chunho/article/details/82847636</guid><author>chunho</author><pubDate>Mon, 13 Jun 2016 16:33:00 +0800</pubDate><description><![CDATA[登录成功后的各种场景

首先，贯穿App 的，应该有一个User 全局变量，在每次登录成功后，会将其isLogin 属性设置为true ，在退出登录后，则将该属性设置为false 。这个User 全局变量要支持序列化到本地的功能，这样数据才不会因内存回收而丢失。
其次，登录分为3 种情形：情形1 ：点击登录按钮，进入登录页面LoginActivity ，登录成功后，直接进入个人中心
PersonC...]]></description><category></category></item><item><title><![CDATA[Android跑马灯效果]]></title><link>https://blog.youkuaiyun.com/chunho/article/details/51547251</link><guid>https://blog.youkuaiyun.com/chunho/article/details/51547251</guid><author>chunho</author><pubDate>Tue, 31 May 2016 17:00:48 +0800</pubDate><description><![CDATA[跑马灯效果，需要添加下面红色属性即可


&lt;NiceTextView
    android:id="@+id/nice_textview_name"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_vertical"
 ...]]></description><category></category></item><item><title><![CDATA[java中遍历实体类属性和类型、赋值和取值]]></title><link>https://blog.youkuaiyun.com/chunho/article/details/51480253</link><guid>https://blog.youkuaiyun.com/chunho/article/details/51480253</guid><author>chunho</author><pubDate>Mon, 23 May 2016 11:21:30 +0800</pubDate><description><![CDATA[public static void testReflect(Object model) throws SecurityException,
        NoSuchMethodException, IllegalArgumentException,
        IllegalAccessException, InvocationTargetException, Instantiation]]></description><category></category></item><item><title><![CDATA[Android Selector和Shape的组合]]></title><link>https://blog.youkuaiyun.com/chunho/article/details/51425962</link><guid>https://blog.youkuaiyun.com/chunho/article/details/51425962</guid><author>chunho</author><pubDate>Mon, 16 May 2016 16:16:08 +0800</pubDate><description><![CDATA[1.自定义控件背景是需要selector，需要使用自定义颜色(图片不方便)，所以需要两者组合



&lt;selector xmlns:android="http://schemas.android.com/apk/res/android"&gt;




    &lt;item android:state_pressed="false"&gt;
        &lt;shape...]]></description><category></category></item><item><title><![CDATA[Android很nice的Spinner(NiceSpinner)]]></title><link>https://blog.youkuaiyun.com/chunho/article/details/51360446</link><guid>https://blog.youkuaiyun.com/chunho/article/details/51360446</guid><author>chunho</author><pubDate>Tue, 10 May 2016 09:36:47 +0800</pubDate><description><![CDATA[import android.content.Context;
import android.util.AttributeSet;
import android.util.DisplayMetrics;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
impo...]]></description><category></category></item><item><title><![CDATA[Android Spinner显示周月跨度列表]]></title><link>https://blog.youkuaiyun.com/chunho/article/details/51360338</link><guid>https://blog.youkuaiyun.com/chunho/article/details/51360338</guid><author>chunho</author><pubDate>Tue, 10 May 2016 09:10:30 +0800</pubDate><description><![CDATA[1.获取周跨度列表

  直接调用getWeekList(0)这个方法即可，得到周列表




/**
 * 获取周日期列表
 */
public static ArrayList&lt;String&gt; getWeekList(int startId) {
    ArrayList&lt;String&gt; list = new ArrayList&lt;String&gt;();...]]></description><category></category></item><item><title><![CDATA[Google推荐的图片加载库Glide介绍]]></title><link>https://blog.youkuaiyun.com/chunho/article/details/51014098</link><guid>https://blog.youkuaiyun.com/chunho/article/details/51014098</guid><author>chunho</author><pubDate>Wed, 30 Mar 2016 14:20:30 +0800</pubDate><description><![CDATA[﻿﻿










在泰国举行的谷歌开发者论坛上，谷歌为我们介绍了一个名叫 Glide 的图片加载库，作者是bumptech。这个库被广泛的运用在google的开源项目中，包括2014年google I/O大会上发布的官方app。

毫无疑问，这个库引起了我的兴趣。于是我花了一个晚上研究和把玩它，将它的实现原理分析清楚以后，我决定写一篇博文分享一些自己的经验。在开始]]></description><category></category></item><item><title><![CDATA[List和Array相互转化]]></title><link>https://blog.youkuaiyun.com/chunho/article/details/51004824</link><guid>https://blog.youkuaiyun.com/chunho/article/details/51004824</guid><author>chunho</author><pubDate>Tue, 29 Mar 2016 12:27:31 +0800</pubDate><description><![CDATA[﻿﻿

数组转成list




1
String[] userid = {"aa","bb","cc"};


List userList = new ArrayList();


Collections.addAll(userList, userid);


2
String[] userid = {"aa","bb","cc"};


List us]]></description><category></category></item></channel></rss>