<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[处处掉坑]]></title><description><![CDATA[一切尽在不言中......]]></description><link>https://blog.youkuaiyun.com/AndroidStudioo</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; AndroidStudioo]]></copyright><item><title><![CDATA[微信小程序Canvas学习]]></title><link>https://blog.youkuaiyun.com/AndroidStudioo/article/details/119302551</link><guid>https://blog.youkuaiyun.com/AndroidStudioo/article/details/119302551</guid><author>AndroidStudioo</author><pubDate>Sun, 01 Aug 2021 19:50:04 +0800</pubDate><description><![CDATA[以涂鸦为例：


	&lt;canvas canvas-id='canvasId' class='myCanvas' bindtouchstart="touchStart" bindtouchmove="touchMove"&gt;&lt;/canvas&gt;

1、获取画布的宽高


  onLoad: function () {
    // 获取画布的宽、高
    wx.createSelectorQuery().select('.myCanvas').boundingClientRect()..]]></description><category></category></item><item><title><![CDATA[flutter开发常用插件整理]]></title><link>https://blog.youkuaiyun.com/AndroidStudioo/article/details/101713158</link><guid>https://blog.youkuaiyun.com/AndroidStudioo/article/details/101713158</guid><author>AndroidStudioo</author><pubDate>Sun, 29 Sep 2019 20:06:43 +0800</pubDate><description><![CDATA[主要整理一些实际项目开发中使用频率较高的插件（持续更新）：


dio: 3.0.1  //网络请求
permission_handler: 3.2.2  //权限获取
connectivity: 0.4.6+1   //检测网络连接
oktoast: 2.2.0  //toast轻提示
shared_preferences: 0.5.3+4  //本地存储
flutter_swiper: 1.1...]]></description><category></category></item><item><title><![CDATA[日期推算/日历（小程序）]]></title><link>https://blog.youkuaiyun.com/AndroidStudioo/article/details/99686376</link><guid>https://blog.youkuaiyun.com/AndroidStudioo/article/details/99686376</guid><author>AndroidStudioo</author><pubDate>Fri, 16 Aug 2019 22:12:55 +0800</pubDate><description><![CDATA[微信小程序项目，遇到这么个需求。效果图如下：



每页显示4个周的日期，可点击日期时间段，也可点击左右箭头图标进行日期翻页，这一块其实就是推算日期，把每个周的起始时间和结束时间推算出来，并正确显示出来就行了。默认（未进行左右翻页）第一个周的起始时间为当前时间即可。




var self;
var day = 0;
var page = 0;
var weekArr = [];

Page(...]]></description><category></category></item><item><title><![CDATA[flutter状态管理---provider]]></title><link>https://blog.youkuaiyun.com/AndroidStudioo/article/details/94969430</link><guid>https://blog.youkuaiyun.com/AndroidStudioo/article/details/94969430</guid><author>AndroidStudioo</author><pubDate>Sun, 07 Jul 2019 10:58:52 +0800</pubDate><description><![CDATA[状态管理的应用，在实际项目开发中应用场景也是不少的，截至目前，关于状态管理的插件也是有很多种了，这里就不罗列了，之前一直用的谷歌的provide，因为相对其他插件来说上手比较容易，but！万万没想到放弃维护了，和GitHub上某位大佬组队共同维护provider去了！没办法，只能再去看看provider，继续用provide的话怕以后出现问题，今天大概看了一下provider的简单用法。

看完之...]]></description><category></category></item><item><title><![CDATA[flutter实现底部Tab和顶部导航条切换]]></title><link>https://blog.youkuaiyun.com/AndroidStudioo/article/details/88566024</link><guid>https://blog.youkuaiyun.com/AndroidStudioo/article/details/88566024</guid><author>AndroidStudioo</author><pubDate>Fri, 15 Mar 2019 09:35:14 +0800</pubDate><description><![CDATA[目录



底部Tab：使用BottomNavigationBar来实现。

顶部Tab（DefaultTabController实现方式）：

还有另一种实现方式：实现SingleTickerProviderStateMixin（适用于已确定要显示Tab标签）

如果是动态添加标签，就需要实现TickerProviderStateMixin，注意：不是SingleTickerProviderS...]]></description><category></category></item><item><title><![CDATA[Android热修复Tinker]]></title><link>https://blog.youkuaiyun.com/AndroidStudioo/article/details/84329844</link><guid>https://blog.youkuaiyun.com/AndroidStudioo/article/details/84329844</guid><author>AndroidStudioo</author><pubDate>Wed, 21 Nov 2018 21:52:48 +0800</pubDate><description><![CDATA[热修复这种东西已经出来挺长时间了，一直想找机会玩玩，但是出于各种原因，一直没玩成！今天终于有时间试试了！关于热修复的文章，网上也很多，比较来比较去，最终选择了Tinker。Github地址：https://github.com/Tencent/tinker

至于为啥很多人都选择Tinker，这张图已经展示的很明白了。



虽然说已经很强大了，但是还是有不完美的地方。

由于原理与系统限制，Ti...]]></description><category></category></item><item><title><![CDATA[使用友盟实现第三方登录和分享]]></title><link>https://blog.youkuaiyun.com/AndroidStudioo/article/details/79705683</link><guid>https://blog.youkuaiyun.com/AndroidStudioo/article/details/79705683</guid><author>AndroidStudioo</author><pubDate>Mon, 26 Mar 2018 22:41:14 +0800</pubDate><description><![CDATA[项目中集成了友盟的SDK，关于jar的获取导入就不多说了，按照官方文档来就行了。大概有如图以下几种， 
我这里面包含了新浪的，如果你不需要，在集成的时候，可以不选择Sina 
jar包都导入进去之后，然后在包名下创建wxapi文件，包里面创建WXEntryActivity。



/**
 * 微信回调
 */

public class WXEntryActivity extends WXCal...]]></description><category></category></item><item><title><![CDATA[CoordinatorLayout的简单使用]]></title><link>https://blog.youkuaiyun.com/AndroidStudioo/article/details/79424376</link><guid>https://blog.youkuaiyun.com/AndroidStudioo/article/details/79424376</guid><author>AndroidStudioo</author><pubDate>Fri, 02 Mar 2018 16:04:27 +0800</pubDate><description><![CDATA[这种折叠式的效果，感觉确实挺不错的，抽点时间，看了几篇文章，整理一下，这里主要就是整理了一个CoordinatorLayout+AppBarLayout+TabLayout的简单用法Demo。关于更多用法后期再细看吧~ 
其实主要就是布局设置一些行为就行了：<android.support.design.widget.CoordinatorLayout xmlns:android="http://s]]></description><category></category></item><item><title><![CDATA[视频播放]]></title><link>https://blog.youkuaiyun.com/AndroidStudioo/article/details/79397200</link><guid>https://blog.youkuaiyun.com/AndroidStudioo/article/details/79397200</guid><author>AndroidStudioo</author><pubDate>Wed, 28 Feb 2018 10:28:13 +0800</pubDate><description><![CDATA[给大伙儿推荐一下这个视频播放框架，我也是在项目中用了一下，发现效果挺牛逼的，也支持自定义。基于原生VideoView有很多使用地方受限制，所以基本上项目中遇到视频播放的需求，都会采用视频框架，而不是采取原生VideoView来播放。传送门：https://github.com/CarGuo/GSYVideoPlayer。下面我就简单的抽取了其中的很常见的功能用法整理成了一个Demo，仅供参考，更多...]]></description><category></category></item><item><title><![CDATA[APP本地数据库简单操作和升级（Android/Flutter）]]></title><link>https://blog.youkuaiyun.com/AndroidStudioo/article/details/78830569</link><guid>https://blog.youkuaiyun.com/AndroidStudioo/article/details/78830569</guid><author>AndroidStudioo</author><pubDate>Mon, 18 Dec 2017 10:37:30 +0800</pubDate><description><![CDATA[项目中用到本地数据库存储数据，数据量以及类型比较多而且繁杂，一个Sp已经显得苍白无力了 - -！于是乎，就用GreenDao来存储了。 
先说一下配置情况： 
1、工程build.gradle中添加如下： 
说明：dependencies节点下添加classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2'repositories节点下添加maven]]></description><category></category></item><item><title><![CDATA[刷新加载库]]></title><link>https://blog.youkuaiyun.com/AndroidStudioo/article/details/78708278</link><guid>https://blog.youkuaiyun.com/AndroidStudioo/article/details/78708278</guid><author>AndroidStudioo</author><pubDate>Mon, 04 Dec 2017 11:58:11 +0800</pubDate><description><![CDATA[今天项目不忙了，决定搜寻一个好一点的刷新库，以前都是用谷歌自带的SwipeRefreshLayout来刷新，用的久了，感觉没什么新鲜感了，功夫不负有心人，发现了一个，而且star数也很高，就按照说明，写了个Demo试了一下。这里试的是传统风格的下拉刷新和上拉加载，当然，库里面有很多风格的。具体可以去细看，地址：https://github.com/scwang90/SmartRefreshLayo...]]></description><category></category></item><item><title><![CDATA[使用阿里云实现简单的直播]]></title><link>https://blog.youkuaiyun.com/AndroidStudioo/article/details/77726803</link><guid>https://blog.youkuaiyun.com/AndroidStudioo/article/details/77726803</guid><author>AndroidStudioo</author><pubDate>Wed, 30 Aug 2017 22:51:29 +0800</pubDate><description><![CDATA[先说点废话，  - -！最近懒癌犯了，都特么俩月没写东西了，是不是要废了？不过确实项目面临上线，时间也有点紧，经常加班，而且！！在这个紧要关头，经理说要加一个简单的直播模块，不要太华丽的那种，只要能实现：一边播，另一边能看就行。说：用阿里云的。 
于是乎，我就去官网上下载了Demo以及SDK等瞅了瞅。传送门：https://help.aliyun.com/document_detail/45270.]]></description><category></category></item><item><title><![CDATA[视频引导页]]></title><link>https://blog.youkuaiyun.com/AndroidStudioo/article/details/53130914</link><guid>https://blog.youkuaiyun.com/AndroidStudioo/article/details/53130914</guid><author>AndroidStudioo</author><pubDate>Fri, 11 Nov 2016 17:45:17 +0800</pubDate><description><![CDATA[传送门：https://github.com/linglongxin24/WelcomeVideoPager，可以先去看看效果。很棒的！！大概流程如下：1、准备需要播放的视频资源文件，res目录下新建raw文件夹，把需要播放的3个mp4文件放进去（资源文件可以去上面的github项目中下载），如下图： 
2、设置xml<?xml version="1.0" encoding="utf-8"?>
<R]]></description><category></category></item><item><title><![CDATA[日夜间模式的切换]]></title><link>https://blog.youkuaiyun.com/AndroidStudioo/article/details/52822538</link><guid>https://blog.youkuaiyun.com/AndroidStudioo/article/details/52822538</guid><author>AndroidStudioo</author><pubDate>Sat, 15 Oct 2016 13:46:46 +0800</pubDate><description><![CDATA[看了网上那么多日夜间模式切换的方法，大概来说就3种吧！不过最好的一种便是通过反射来实现~ 
参考链接：http://yuqirong.me/2016/09/08/对于Android日夜间模式实现的探讨/1：在values文件夹下的colors.xml里添加：<color name="textColor">#3b3b3b</color>
<color name="textColor_night">#F]]></description><category></category></item><item><title><![CDATA[ViewPager引导页实现跟随式小圆点]]></title><link>https://blog.youkuaiyun.com/AndroidStudioo/article/details/52396306</link><guid>https://blog.youkuaiyun.com/AndroidStudioo/article/details/52396306</guid><author>AndroidStudioo</author><pubDate>Thu, 01 Sep 2016 09:29:22 +0800</pubDate><description><![CDATA[众所周知，很多APP都是带引导页的，也就是传说中的ViewPager实现的，当然，我们也可以看到，在引导页的下方有小圆点指示器，小圆点指示器有两种，一种是跳跃式小圆点，也是最常见的一种，另一种就是本篇博客要讲的跟随式小圆点。 
原理：跟随式效果其实就是一个小红点事先覆盖在第一页的小灰点上面，当滑动引导页的时候，小红点根据滑动的距离而不断的改变平移距离。当滑动到第二页的时候，小红点也正好覆盖住了第二个]]></description><category></category></item><item><title><![CDATA[TabLayout+ViewPager+Fragment（懒加载）实现导航栏]]></title><link>https://blog.youkuaiyun.com/AndroidStudioo/article/details/52390072</link><guid>https://blog.youkuaiyun.com/AndroidStudioo/article/details/52390072</guid><author>AndroidStudioo</author><pubDate>Wed, 31 Aug 2016 23:16:19 +0800</pubDate><description><![CDATA[之前，实现导航栏的效果有很多方法，使用第三方库，比如ViewPagerIndicator中的TabPagerIndicator，谷歌可能发现，导航栏使用的挺普遍的，so，也搞了一个属于自己的导航栏！就像侧滑菜单一样，也搞了一个属于自己的侧滑菜单DrawerLayout！

效果图是这样的：



跟ViewPagerIndicator实现的效果是一样的！

接下来看代码：

首先呢！需要compi...]]></description><category></category></item><item><title><![CDATA[DrawerLayout侧滑菜单]]></title><link>https://blog.youkuaiyun.com/AndroidStudioo/article/details/52239446</link><guid>https://blog.youkuaiyun.com/AndroidStudioo/article/details/52239446</guid><author>AndroidStudioo</author><pubDate>Thu, 18 Aug 2016 11:41:32 +0800</pubDate><description><![CDATA[之前写过一篇关于SlidingMenu的侧滑，今天玩了玩谷歌官方的DrawerLayout侧滑。 
代码如下：package com.example.lenovo.demo;import android.app.Activity;
import android.os.Bundle;
import android.support.v4.view.GravityCompat;
import androi]]></description><category></category></item><item><title><![CDATA[自定义EditText的使用(一键删除)|ListView item中多edittext问题]]></title><link>https://blog.youkuaiyun.com/AndroidStudioo/article/details/52179312</link><guid>https://blog.youkuaiyun.com/AndroidStudioo/article/details/52179312</guid><author>AndroidStudioo</author><pubDate>Thu, 11 Aug 2016 08:44:07 +0800</pubDate><description><![CDATA[在实际开发的时候，应用的登录界面和注册界面通常会用到这个，我说的就是EditText末尾处的那个叉号，当输入EditText中的内容不符合自己的意愿，想全部删除的时候，可以点击那个叉号实现一键删除EditText里面的全部内容。效果图如下：当然，EditText里的内容为null的时候，这个叉号是不能显示的，只有输入内容才允许显示。 
有些人会有疑问，包括我一开始的时候也是，为啥要用自定义？直接在x]]></description><category></category></item><item><title><![CDATA[二维码扫描]]></title><link>https://blog.youkuaiyun.com/AndroidStudioo/article/details/51828953</link><guid>https://blog.youkuaiyun.com/AndroidStudioo/article/details/51828953</guid><author>AndroidStudioo</author><pubDate>Tue, 05 Jul 2016 09:50:20 +0800</pubDate><description><![CDATA[在实际项目开发中，有时会遇到二维码的需求，包括扫描识别二维码、生成二维码（包括带Logo的二维码）等，现在用的最多也就是Zxing的第三方库了吧！网上搜了一下库然后下载了下来！接下来就是导入第三方库的步骤了！还是说一下吧！ 
第一步： 
导入Module第二步： 
选择库所在的路径，然后Finish第三步： 
Module依赖一下。第四步：依赖完成后，可能还会有一些配置性的错误需要修改什么的，当然没]]></description><category></category></item><item><title><![CDATA[Android集成推送]]></title><link>https://blog.youkuaiyun.com/AndroidStudioo/article/details/51812435</link><guid>https://blog.youkuaiyun.com/AndroidStudioo/article/details/51812435</guid><author>AndroidStudioo</author><pubDate>Sat, 02 Jul 2016 20:33:37 +0800</pubDate><description><![CDATA[关于推送SDK，也有很多，这里说一下极光推送，因为极光推送成功率比较高，虽然有时偶尔会有点延迟，不过相对于其它的推送平台来说这点缺点完全可以库忽略不计了，所以说，没错！今天的主角就是极光推送。这里就说一下导包流程以及简单使用。Step 1：去极光推送官网注册账号下载SDK压缩包，然后解压打开，你会看到里面有一个libs的文件夹，那正是我们需要的！！ 
Step 2：打开libs，会看到里面有几个文件]]></description><category></category></item></channel></rss>