<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_38363256的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_38363256</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_38363256]]></copyright><item><title><![CDATA[OKhttp的回调里更新UI的问题]]></title><link>https://blog.youkuaiyun.com/qq_38363256/article/details/104796608</link><guid>https://blog.youkuaiyun.com/qq_38363256/article/details/104796608</guid><author>qq_38363256</author><pubDate>Wed, 11 Mar 2020 16:01:57 +0800</pubDate><description><![CDATA[常识:

 1.Android是单线程,只能在主线程中更新UI,

 2.主线程也不能阻塞,一些比较耗时的操作就得的创建子线程进行编码,

 3.子线程中获取到数据后可以使用Handler机制给发送主线程



当你使用OKHttp取获取数据时，在成功的的回调里，如果要刷新UI不能直接写。不然会出错。应这样写：


client.newCall(request).enqueue(ne...]]></description><category></category></item><item><title><![CDATA[Android网路编程之okhttp项目中封装使用,'com.zhy:okhttputils:2.6.2'基础上再封装MyOkhttpUtils]]></title><link>https://blog.youkuaiyun.com/qq_38363256/article/details/103952844</link><guid>https://blog.youkuaiyun.com/qq_38363256/article/details/103952844</guid><author>qq_38363256</author><pubDate>Mon, 13 Jan 2020 17:01:37 +0800</pubDate><description><![CDATA[一.使用场景,及业务需求

   在Android项目开发中,为了让你的App能够连接后台服务器获取后台数据,在数据加载过程中弹出相应的"正在加载...."提示语,在网络或者服务器异常时请求失败弹出"加载失败,请重新请求",

二.写这篇博客原因

  com.zhy:okhttputils:2.6.2'这个可以依赖的项目是Android大神鸿洋封装好的一个网络请求框架,我们可以把它集...]]></description><category></category></item><item><title><![CDATA[抽屉布局DrawerLayout使用]]></title><link>https://blog.youkuaiyun.com/qq_38363256/article/details/92835416</link><guid>https://blog.youkuaiyun.com/qq_38363256/article/details/92835416</guid><author>qq_38363256</author><pubDate>Wed, 19 Jun 2019 16:59:03 +0800</pubDate><description><![CDATA[前言

第一次使用DrawerLayout时,实现了App左右侧拉的效果.在main_layout布局中,然后在对应的 LinerarLayout中排版组件


&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.a...]]></description><category></category></item><item><title><![CDATA[ConstraintLayout 约束布局]]></title><link>https://blog.youkuaiyun.com/qq_38363256/article/details/92831223</link><guid>https://blog.youkuaiyun.com/qq_38363256/article/details/92831223</guid><author>qq_38363256</author><pubDate>Wed, 19 Jun 2019 14:53:12 +0800</pubDate><description><![CDATA[https://www.jianshu.com/p/502127a493fb

https://baijiahao.baidu.com/s?id=1627226443616499705&amp;wfr=spider&amp;for=pc

一、前言

在以前，android是使用布局如LinearLayout 、RelativeLayout等来构建页面，但这些布局使用起来很麻烦，并且经常需要一层一...]]></description><category></category></item><item><title><![CDATA[App启动页(欢迎页,闪屏页)分析]]></title><link>https://blog.youkuaiyun.com/qq_38363256/article/details/92812299</link><guid>https://blog.youkuaiyun.com/qq_38363256/article/details/92812299</guid><author>qq_38363256</author><pubDate>Wed, 19 Jun 2019 14:27:39 +0800</pubDate><description><![CDATA[启动页：为增加品牌或用户友好度而增加的页面，大部分情况下打开APP的情况下都会展示。现在有很多APP在这个页面中进行品牌露出、广告、活动等展示，展示方式也有静态图片、动态图片、动画等多种方式。

很多设计师都喜欢在启动和引导页做大量的设计，因为这样不但可以提高品牌辨识度、也能增强用户友好度。但是请尽量避免在闪屏上做过多设计，让用户能识别点击响应后尽可能做简化设计，避免大段文字、品牌形象和其他突兀的...]]></description><category></category></item><item><title><![CDATA[Android实现文件选择]]></title><link>https://blog.youkuaiyun.com/qq_38363256/article/details/91980875</link><guid>https://blog.youkuaiyun.com/qq_38363256/article/details/91980875</guid><author>qq_38363256</author><pubDate>Fri, 14 Jun 2019 17:16:36 +0800</pubDate><description><![CDATA[一.FilePicker一个Android文件选择器

https://blog.youkuaiyun.com/dodod2012/article/details/88868770



二.FileSelector文件选择器

https://www.jianshu.com/p/07918609f4c4

分别使用遍历文件夹的方式和查询 Androd MediaStore多媒体库资源



	1.使用遍...]]></description><category></category></item><item><title><![CDATA[AsyncTask异步任务]]></title><link>https://blog.youkuaiyun.com/qq_38363256/article/details/91862844</link><guid>https://blog.youkuaiyun.com/qq_38363256/article/details/91862844</guid><author>qq_38363256</author><pubDate>Thu, 13 Jun 2019 14:58:31 +0800</pubDate><description><![CDATA[https://www.runoob.com/w3cnote/android-tutorial-ansynctask.html

微信支付有用过

https://mp.youkuaiyun.com/postedit/91043001


  /**
     * 生成二维码
     */
    private void createQRCode() {
        new AsyncTask&lt;...]]></description><category></category></item><item><title><![CDATA[Android将App应用包Apk发布到应用商店]]></title><link>https://blog.youkuaiyun.com/qq_38363256/article/details/91840926</link><guid>https://blog.youkuaiyun.com/qq_38363256/article/details/91840926</guid><author>qq_38363256</author><pubDate>Thu, 13 Jun 2019 13:13:07 +0800</pubDate><description><![CDATA[1.https://www.jianshu.com/p/e73edc9d907f

2.修改项目包名

因为在项目开发的初期没有给App弄正式的签名,每次Android studio连着手机跑程序它都会使用默认的签名,而后边自己生成签名后,将新的Apk装在手机里时,它不会覆盖老版本,而会安装失败提示"包名已存在",即使你手动去卸载老版的,因为卸载不干净也会安装失败,所以需要修改项目包名

htt...]]></description><category></category></item><item><title><![CDATA[微信支付之扫码支付Native支付 模式二]]></title><link>https://blog.youkuaiyun.com/qq_38363256/article/details/91043001</link><guid>https://blog.youkuaiyun.com/qq_38363256/article/details/91043001</guid><author>qq_38363256</author><pubDate>Thu, 06 Jun 2019 15:16:21 +0800</pubDate><description><![CDATA[一.使用场景

1.福袋机上的屏幕是一个Android平板,相当于一个Android手机

2.需要给用户生成一张二维码,让用户扫描付款

3.得到用户付款的消息后,转动对应的电机,给用户掉落福袋

二.准备资料

1.研究微信支付文档https://pay.weixin.qq.com/wiki/doc/api/index.html 根据我的需求,我选择了Native支付

2.模式二比较简单...]]></description><category></category></item><item><title><![CDATA[VideoView的使用]]></title><link>https://blog.youkuaiyun.com/qq_38363256/article/details/90034454</link><guid>https://blog.youkuaiyun.com/qq_38363256/article/details/90034454</guid><author>qq_38363256</author><pubDate>Thu, 09 May 2019 14:51:43 +0800</pubDate><description><![CDATA[https://blog.youkuaiyun.com/jayrier/article/details/50965124

https://www.cnblogs.com/xiaoxiaing/p/5570847.html
]]></description><category></category></item><item><title><![CDATA[使用ApkTool将apk反编译得到源码]]></title><link>https://blog.youkuaiyun.com/qq_38363256/article/details/89948018</link><guid>https://blog.youkuaiyun.com/qq_38363256/article/details/89948018</guid><author>qq_38363256</author><pubDate>Wed, 08 May 2019 11:13:26 +0800</pubDate><description><![CDATA[https://blog.youkuaiyun.com/guolin_blog/article/details/49738023

https://blog.youkuaiyun.com/renwudao24/article/details/79032889
]]></description><category></category></item><item><title><![CDATA[Json数据解析]]></title><link>https://blog.youkuaiyun.com/qq_38363256/article/details/89945116</link><guid>https://blog.youkuaiyun.com/qq_38363256/article/details/89945116</guid><author>qq_38363256</author><pubDate>Wed, 08 May 2019 10:39:39 +0800</pubDate><description><![CDATA[1.json的含义

JSON 指的是 JavaScript 对象表示法（JavaScriptObjectNotation）
	JSON 是轻量级的文本数据交换格式
	JSON 独立于语言*
	JSON 具有自我描述性，更易理解
2. json的作用

 1.json的作用于前后端进行数据传输
 2.与json有这同样作用的还有xml
 3.介绍了json和xml的区别http...]]></description><category></category></item><item><title><![CDATA[BAT大型安卓项目开发之旅-------组件化架构(二)]]></title><link>https://blog.youkuaiyun.com/qq_38363256/article/details/89672273</link><guid>https://blog.youkuaiyun.com/qq_38363256/article/details/89672273</guid><author>qq_38363256</author><pubDate>Mon, 29 Apr 2019 13:20:35 +0800</pubDate><description><![CDATA[做一个测试

需求是 在MainActivity中有三个按钮,点击后跳转



一.创建一个普通的Android项目

二.创建两个Module,分别命名为loginRunAlone 和 mineRunAlone,这两个module可以单独运行(开发阶段),若要发布就要把这两个module配置成libraries(让它两不能单独运行,运行MainActivity可以执行这两个Module中的代...]]></description><category></category></item><item><title><![CDATA[BAT大型安卓项目开发之旅-------组件化架构(一)]]></title><link>https://blog.youkuaiyun.com/qq_38363256/article/details/89672201</link><guid>https://blog.youkuaiyun.com/qq_38363256/article/details/89672201</guid><author>qq_38363256</author><pubDate>Mon, 29 Apr 2019 12:25:43 +0800</pubDate><description><![CDATA[一.一般项目



二.什么是组件化?

三.组件化使用场景

 不要因为学习了组件化 就去在你的项目里用组件化,要根据你的项目的实际情况,时间是否充足,去决定使用,组件化里边还有很多坑.配置的东西很多,



四.组件化的优点



五.组件化的不足



六.组件化项目架构



七.组件化要解决的问题


...]]></description><category></category></item><item><title><![CDATA[SharedPreferences 的一个单利工具类MyPrefs]]></title><link>https://blog.youkuaiyun.com/qq_38363256/article/details/89512529</link><guid>https://blog.youkuaiyun.com/qq_38363256/article/details/89512529</guid><author>qq_38363256</author><pubDate>Thu, 25 Apr 2019 11:43:38 +0800</pubDate><description><![CDATA[这个工具类来自https://www.jianshu.com/p/43c0e22daa15  密码锁

MyPrefs.java


package com.share.jack.numberlockdemo.util;

import android.content.Context;
import android.content.SharedPreferences;
import andro...]]></description><category></category></item><item><title><![CDATA[轮播图总结]]></title><link>https://blog.youkuaiyun.com/qq_38363256/article/details/89011251</link><guid>https://blog.youkuaiyun.com/qq_38363256/article/details/89011251</guid><author>qq_38363256</author><pubDate>Thu, 04 Apr 2019 10:01:05 +0800</pubDate><description><![CDATA[记录一下现在为止 遇到到的轮播图效果

一.Gallery 画廊 (已过时)

第一次看到Gallery是在这片菜鸟教程 自定义View中

http://www.runoob.com/w3cnote/android-tutorial-bitmap-demo.html



看到这种能显示左右两边的效果,现在Gallery已经过时,让 用HorizontalScrollView和ViewPag...]]></description><category></category></item><item><title><![CDATA[Android mina长连接 (三)]]></title><link>https://blog.youkuaiyun.com/qq_38363256/article/details/85265804</link><guid>https://blog.youkuaiyun.com/qq_38363256/article/details/85265804</guid><author>qq_38363256</author><pubDate>Wed, 26 Dec 2018 17:28:41 +0800</pubDate><description><![CDATA[第二篇帖子中 没有心跳  断线从连 

我的第一次使用

Android客户端

MinaClient.java


package com.wjbzg.www.ernie_yaojiangji;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bu...]]></description><category></category></item><item><title><![CDATA[Android mina长连接 (二)]]></title><link>https://blog.youkuaiyun.com/qq_38363256/article/details/85260581</link><guid>https://blog.youkuaiyun.com/qq_38363256/article/details/85260581</guid><author>qq_38363256</author><pubDate>Wed, 26 Dec 2018 17:09:43 +0800</pubDate><description><![CDATA[文章出处:https://blog.youkuaiyun.com/chenzheng8975/article/details/53558387

本篇文章和出处一样 只是加了一些注释 

1.mina服务器搭建

搭建思路 --调用mina为我们提供的服务器API即可完成



package com.czhappy.mina;
 
import java.net.InetSocketAddress;
imp...]]></description><category></category></item><item><title><![CDATA[Android mina长连接 (一)]]></title><link>https://blog.youkuaiyun.com/qq_38363256/article/details/85257499</link><guid>https://blog.youkuaiyun.com/qq_38363256/article/details/85257499</guid><author>qq_38363256</author><pubDate>Wed, 26 Dec 2018 11:29:15 +0800</pubDate><description><![CDATA[慕课网视频地址:https://www.imooc.com/learn/686

1.长连接基本概念

与http短连接相反,通过某种方式与服务器一直保持连接就叫长连接

http短连接:每次与服务器通信,要先建立连接,通信,断开连接

长连接:一旦我们与服务器连接成功后,我们的连接一直保持存在,随时都可以和服务器进行通信

2.长连接的原理

底层都是基于TCP/IP协议

通过Socket,S...]]></description><category></category></item><item><title><![CDATA[反射机制]]></title><link>https://blog.youkuaiyun.com/qq_38363256/article/details/81915222</link><guid>https://blog.youkuaiyun.com/qq_38363256/article/details/81915222</guid><author>qq_38363256</author><pubDate>Tue, 21 Aug 2018 22:33:48 +0800</pubDate><description><![CDATA[
public class Fu {
    public Fu() {
        syso(this.getClass);
    } 
}

public class Zi {
    public Zi() {
        syso(this.getClass);
    } 
}

public main() {
    Fu fu = new Fu();  //输出 class...]]></description><category></category></item></channel></rss>