<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zfzlsj1的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/zfzlsj1</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zfzlsj1]]></copyright><item><title><![CDATA[Android Studio Git工具栏各个按钮功能整理]]></title><link>https://blog.youkuaiyun.com/zfzlsj1/article/details/117327753</link><guid>https://blog.youkuaiyun.com/zfzlsj1/article/details/117327753</guid><author>zfzlsj1</author><pubDate>Thu, 27 May 2021 14:18:58 +0800</pubDate><description><![CDATA[如您所知，最佳实践是始终对项目（甚至是个人项目）使用源代码管理（SCM）。 您是否知道Android Studio与Git集成了惊人的源代码管理管理功能？ 如果您不知道或没有使用它的经验，请继续阅读这篇文章。 即使您已经使用了Android Studio的Git集成，您仍然可以在本文中学到一些有用的技巧。

我将向您展示Android Studio中Git支持的许多功能，以及从Android Studio内部进行不同的Git操作（提交，推入，拉出，分支等）有多容易。

在本教程中，我将带您浏览Android]]></description><category></category></item><item><title><![CDATA[关于Retrofit网络请求中不同类型参数的处理方式]]></title><link>https://blog.youkuaiyun.com/zfzlsj1/article/details/116192890</link><guid>https://blog.youkuaiyun.com/zfzlsj1/article/details/116192890</guid><author>zfzlsj1</author><pubDate>Tue, 27 Apr 2021 10:23:51 +0800</pubDate><description><![CDATA[总结下 retrofit的不同类型的参数，请求方式。包含URL含参、？号后带参、表单、POST数据对象

1.GET请求 

 1.）普通get请求

 https://192.168.1.101/api/MovieList


@GET("MovieList")
Observable&lt;ResultEntity&lt;MovieEntity&gt;&gt; getMovieList();

 2.) url中含有参数

 https://192.16...]]></description><category></category></item><item><title><![CDATA[android studio git 取消某个文件的版本管理]]></title><link>https://blog.youkuaiyun.com/zfzlsj1/article/details/115520370</link><guid>https://blog.youkuaiyun.com/zfzlsj1/article/details/115520370</guid><author>zfzlsj1</author><pubDate>Thu, 08 Apr 2021 14:51:42 +0800</pubDate><description><![CDATA[先进git的安装目录运行git-bash.exe


然后用cd命令切换到项目的根目录如下如





然后再执行命令


git rm -r .idea --cached

其中.idea是我想删除的文件夹，所以用了rm -r命令，如果你想删除的是文件，则用rm就行，慎用rm -r！！！！


然后执行提交命令


git commit -m '删除不必要的文件'

最后进android studio 推送


你可能会问为啥不直接在命令行里推送，多数情况家可能你项目还有其他的提交，如果盲目推送可能...]]></description><category></category></item><item><title><![CDATA[Android Studio 新建项目通过git上传到码云图文教程详解]]></title><link>https://blog.youkuaiyun.com/zfzlsj1/article/details/115491729</link><guid>https://blog.youkuaiyun.com/zfzlsj1/article/details/115491729</guid><author>zfzlsj1</author><pubDate>Wed, 07 Apr 2021 17:53:00 +0800</pubDate><description><![CDATA[一 创建远程码云代码仓库

 首先我们打开码云，注册一个账号，接着在左上角处点击加号新建一个远程的项目仓库用于待会AS项目的上传，具体如下：



按照上图所示，点击创建即生成远程代码仓库。

 二 开始进行AS代码的上传

 首先我们打开新建好的AS项目，点击AS顶部的如下：





接着点击项目名称如下将项目加入到本地的git仓库中



之后红色的字体会变成绿色。

接着点击顶部vcs上传代码，加入备注后点击conmit and push ,接着点击de...]]></description><category></category></item><item><title><![CDATA[高并发的常见互联网架构及扩展原理]]></title><link>https://blog.youkuaiyun.com/zfzlsj1/article/details/114975762</link><guid>https://blog.youkuaiyun.com/zfzlsj1/article/details/114975762</guid><author>zfzlsj1</author><pubDate>Thu, 18 Mar 2021 13:50:03 +0800</pubDate><description><![CDATA[互联网分层架构

常见互联网分布式架构如上，分为：

（1）客户端层：典型调用方是浏览器 browser 或者手机应用 APP

（2）反向代理层：系统入口，反向代理

（3）站点应用层：实现核心应用逻辑，返回 html 或者 json

（4）服务层：如果实现了服务化，就有这一层

（5）数据-缓存层：缓存加速访问存储

（6）数据-数据库层：数据库固化数据存储 整个系统各层次的水平扩展，又分别是如何实施的呢？
1、分层水平扩展架构
1.1 反向代理层的水平扩展


反向代理层的水平扩展，是通过“DNS.]]></description><category></category></item><item><title><![CDATA[ANR的定位与解决]]></title><link>https://blog.youkuaiyun.com/zfzlsj1/article/details/114701830</link><guid>https://blog.youkuaiyun.com/zfzlsj1/article/details/114701830</guid><author>zfzlsj1</author><pubDate>Fri, 12 Mar 2021 17:42:22 +0800</pubDate><description><![CDATA[1、前言

ANR对于Android开发者来说一定不会陌生，从刚开始学习Android时的一不注意就ANR，到后来知道主线程不能进行耗时操作注意到这点后，程序出现ANR的情况就大大减少了，甚至于消失了。那么真的是只要在主线程做耗时操作就会产生ANR吗？为什么在有时候明明觉得自己没在主线程做耗时操作也出现了ANR呢？一旦出现莫名其妙的ANR，怎么定位导致ANR的产生的位置和解决问题呢？那么接下来就来一个个的解决这些问题。

2、ANR是什么？

ANR全称Application Not Responding即]]></description><category></category></item><item><title><![CDATA[Android GreenDao使用注意事项]]></title><link>https://blog.youkuaiyun.com/zfzlsj1/article/details/114334407</link><guid>https://blog.youkuaiyun.com/zfzlsj1/article/details/114334407</guid><author>zfzlsj1</author><pubDate>Wed, 03 Mar 2021 20:48:08 +0800</pubDate><description><![CDATA[使用注解

@unique 唯一约束(这个会默认创建索引)
@NameInDb：有的时候数据库中的字段跟你的对象字段不匹配的时候，可以使用此注解。

DaoMaster：用于创建数据库以及获取DaoSession
DaoSession：用于获取各个表对应的Dao类,可以缓存数据.

这个没有具体用过
DatabaseManager.getInstance().getSession().clear();//清楚 session 的所有缓存
DatabaseManager.getInstance().getSe]]></description><category></category></item><item><title><![CDATA[Android Studio配置Git及创建本地文件]]></title><link>https://blog.youkuaiyun.com/zfzlsj1/article/details/111590907</link><guid>https://blog.youkuaiyun.com/zfzlsj1/article/details/111590907</guid><author>zfzlsj1</author><pubDate>Wed, 23 Dec 2020 15:19:06 +0800</pubDate><description><![CDATA[使用快捷键Ctrl+Alt+S打开Settings，接着点击Version Control --&gt; Git在Path To Git Executable上输入Git的存放位置，如下图所示：

	
	
	
	2

	之后点击旁边的Test按钮，如果出现如下的成功提示，说明Git配置成功，如下图所示：

	
	
	
	3

	接着配置你的Github账号密码，输入完成之后点击Test按钮，如果账号密码都正确的话就会提示成功，那么就可以继续往下走了，如下图所示：

	

	END
	
创建本地仓库


..]]></description><category></category></item><item><title><![CDATA[Android M扫描WiFi列表的问题]]></title><link>https://blog.youkuaiyun.com/zfzlsj1/article/details/81488521</link><guid>https://blog.youkuaiyun.com/zfzlsj1/article/details/81488521</guid><author>zfzlsj1</author><pubDate>Tue, 07 Aug 2018 21:02:38 +0800</pubDate><description><![CDATA[Android 6.0发布近一年之后，我们遇到了第一个Android 6.0的兼容性问题，getScanResults在Android6.0上返回了一个空列表，纳尼，你是在逗我么？去看了下Android 6.0某个分支下的getScanResult源码：


 public List&amp;lt;ScanResult&amp;gt; getScanResults(String callingPackage) {...]]></description><category></category></item><item><title><![CDATA[解决绕过android下apk使用usb设备权限查询相应问题，自动获取usb权限]]></title><link>https://blog.youkuaiyun.com/zfzlsj1/article/details/81142651</link><guid>https://blog.youkuaiyun.com/zfzlsj1/article/details/81142651</guid><author>zfzlsj1</author><pubDate>Sat, 21 Jul 2018 11:18:36 +0800</pubDate><description><![CDATA[转载请注明：http://blog.youkuaiyun.com/hubbybob1/article/details/50263925

很多android的应用在使用usb设备时，尤其是usb摄像头，前段时间编写了一个有关usb设备的apk，但是在使用时总是会跳出系统对话框，用户体验很差，如下图所示，所以一直想要解决这个问题，在网上说了很多办法，但是我的能力有限都没有走通，在同事的帮助下终于解决的这个问题，...]]></description><category></category></item><item><title><![CDATA[Android Studio中的CmakeList NDK配置]]></title><link>https://blog.youkuaiyun.com/zfzlsj1/article/details/79469077</link><guid>https://blog.youkuaiyun.com/zfzlsj1/article/details/79469077</guid><author>zfzlsj1</author><pubDate>Wed, 07 Mar 2018 11:53:51 +0800</pubDate><description><![CDATA[Android Studio2.2之后直接可以在创建工程时添加NDK支持了，添加之后，main文件夹下会多出一个native-lib.cpp这个文件，如果只为了一个简单的NDK接口，貌似这就结束了。直接在native-lib.cpp下编程即可。　　但是，如果使用第三方库，就得重新配置了。到目前为止，网上大半文章都是.mk的配置方法，按照他们的步骤，在AS上一步一步做下去好像很难成功。　　Andro...]]></description><category></category></item><item><title><![CDATA[GreenDao深入学习]]></title><link>https://blog.youkuaiyun.com/zfzlsj1/article/details/78470685</link><guid>https://blog.youkuaiyun.com/zfzlsj1/article/details/78470685</guid><author>zfzlsj1</author><pubDate>Tue, 07 Nov 2017 18:07:47 +0800</pubDate><description><![CDATA[目录

session 缓存
多表关联
多表查询
 自定义参数类型
与数据库操作相关的AS插件

session 缓存
如果你有多个相同的查询语句去执行，猜猜看返回给你的对象是一个还是多个？比如说像下面这样
QueryBuilder projectQueryBuilder = projectDao
                .queryBuilder()
                .w]]></description><category></category></item><item><title><![CDATA[Android高级动画（1）]]></title><link>https://blog.youkuaiyun.com/zfzlsj1/article/details/74561215</link><guid>https://blog.youkuaiyun.com/zfzlsj1/article/details/74561215</guid><author>zfzlsj1</author><pubDate>Thu, 06 Jul 2017 16:09:13 +0800</pubDate><description><![CDATA[为什么要学好动画

动画在移动App开发中的重要性不言而喻，通俗点讲，动画可以让我们的App界面不那么死板，可以带来酷炫的交互效果，用Material Design专业点的说法，动画是一种高级的用户反馈，对用户操作、选择结果的一种反馈，对程序执行过程的动态展示，对用户视觉和注意力的引导，帮助用户更好地理解App的功能设计，Android5.0新生的动画更是体现出这个理念。所以从这点上说，动画的]]></description><category></category></item><item><title><![CDATA[最详细的 Toolbar 开发实践总结]]></title><link>https://blog.youkuaiyun.com/zfzlsj1/article/details/74225378</link><guid>https://blog.youkuaiyun.com/zfzlsj1/article/details/74225378</guid><author>zfzlsj1</author><pubDate>Mon, 03 Jul 2017 17:12:22 +0800</pubDate><description><![CDATA[最详细的 Toolbar 开发实践总结

过年前发了一篇介绍 Translucent System Bar 特性的文章 Translucent System Bar 的最佳实践，收到很多开发者的关注和反馈。今天开始写第二篇，全面的介绍一下 Toolbar 的使用。说起 Toolbar ，可能有很多开发的童鞋还比较陌生，没关系，请接着往下看。

初识 Toolbar

Toolbar 是]]></description><category></category></item><item><title><![CDATA[性能优化 - 消除卡顿]]></title><link>https://blog.youkuaiyun.com/zfzlsj1/article/details/72722974</link><guid>https://blog.youkuaiyun.com/zfzlsj1/article/details/72722974</guid><author>zfzlsj1</author><pubDate>Thu, 25 May 2017 10:25:41 +0800</pubDate><description><![CDATA[性能优化系列阅读

Android性能优化性能优化 - 消除卡顿性能优化 - 内存优化性能分析工具 - TraceViewAndroid性能分析工具

消除卡顿

什么是卡顿及卡顿的衡量标准产生卡顿的原因通用优化流程定位卡顿原因

什么是卡顿

卡顿是人的一种视觉感受，比如我们滑动界面时，如果滑动不流程我们就会有卡顿的感觉，这种感觉我们需要有一个量化指标，在编程时如果开发的程序]]></description><category></category></item><item><title><![CDATA[使用HttpURLConnection和HttpClient的区别]]></title><link>https://blog.youkuaiyun.com/zfzlsj1/article/details/72295497</link><guid>https://blog.youkuaiyun.com/zfzlsj1/article/details/72295497</guid><author>zfzlsj1</author><pubDate>Tue, 16 May 2017 15:52:59 +0800</pubDate><description><![CDATA[转载请注明出处：http://blog.youkuaiyun.com/guolin_blog/article/details/12452307




最近在研究Volley框架的源码，发现它在HTTP请求的使用上比较有意思，在Android 2.3及以上版本，使用的是HttpURLConnection，而在Android
 2.2及以下版本，使用的是HttpClient。我也比较好奇这么使用的原]]></description><category></category></item><item><title><![CDATA[安装APK的错误码（PackageManager.java)]]></title><link>https://blog.youkuaiyun.com/zfzlsj1/article/details/71439881</link><guid>https://blog.youkuaiyun.com/zfzlsj1/article/details/71439881</guid><author>zfzlsj1</author><pubDate>Tue, 09 May 2017 10:39:25 +0800</pubDate><description><![CDATA[安装APK的错误码，定义在android源码中的这个文件中：

frameworks\base\core\java\Android\content\pm\PackageManager.java





[java] view
 plain copy


 



/** 
 * if the package is already installed. 
 * ]]></description><category></category></item><item><title><![CDATA[一句代码实现标题栏、导航栏滑动隐藏。ByeBurger库的使用和实现]]></title><link>https://blog.youkuaiyun.com/zfzlsj1/article/details/53063654</link><guid>https://blog.youkuaiyun.com/zfzlsj1/article/details/53063654</guid><author>zfzlsj1</author><pubDate>Mon, 07 Nov 2016 09:31:14 +0800</pubDate><description><![CDATA[本文同步自wing的地方酒馆

现在，ByeBuger可以轻易地将任何view在滑动的时候隐藏或者显示。同时支持头部(标题栏)和底部(导航栏)效果。

ByeBurger项目地址

先看一下全新的效果：





还不错吧。然而，实现这么炫酷的效果，仅仅需要一句代码！

使用

1.在gradle 编译库文件

allprojects {
    reposito]]></description><category></category></item><item><title><![CDATA[设计模式学习--代理模式]]></title><link>https://blog.youkuaiyun.com/zfzlsj1/article/details/52942869</link><guid>https://blog.youkuaiyun.com/zfzlsj1/article/details/52942869</guid><author>zfzlsj1</author><pubDate>Thu, 27 Oct 2016 10:00:32 +0800</pubDate><description><![CDATA[概述

———————————————————————————————————————————————————

代理模式—为另一对象提供替身或占位符以访问这个对象。







OO原则

———————————————————————————————————————————————————


封装变化多用组合，少用继承针对接口编程，不针对实现编程为交互对象]]></description><category></category></item><item><title><![CDATA[缓存工具类LruCache]]></title><link>https://blog.youkuaiyun.com/zfzlsj1/article/details/52908938</link><guid>https://blog.youkuaiyun.com/zfzlsj1/article/details/52908938</guid><author>zfzlsj1</author><pubDate>Mon, 24 Oct 2016 09:39:35 +0800</pubDate><description><![CDATA[LruCache是android提供的一个缓存工具类，其算法是最近最少使用算法。它把最近使用的对象用“强引用”存储在LinkedHashMap中，并且把最近最少使用的对象在缓存值达到预设定值之前就从内存中移除。其在API12被引进，低版本可以用support包中的类。

一、分析源码

这个源码是从网上找的，自己懒得去找源码了。

具体分析也是来自网络：http://www.open-]]></description><category></category></item></channel></rss>