<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[DASHBB的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/DASHBB</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; DASHBB]]></copyright><item><title><![CDATA[Android圆角和阴影]]></title><link>https://blog.youkuaiyun.com/DASHBB/article/details/124838180</link><guid>https://blog.youkuaiyun.com/DASHBB/article/details/124838180</guid><author>DASHBB</author><pubDate>Wed, 18 May 2022 11:57:52 +0800</pubDate><description><![CDATA[1.圆角
其实圆角有两种
(1)背景
这种一般是通过shape来实现
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle"&gt;

    &lt;solid android:color="#80FFFFFF" /&gt;

    &lt;size
        andr]]></description><category></category></item><item><title><![CDATA[自定义View遇到的问题-——drawText局中详解]]></title><link>https://blog.youkuaiyun.com/DASHBB/article/details/123775541</link><guid>https://blog.youkuaiyun.com/DASHBB/article/details/123775541</guid><author>DASHBB</author><pubDate>Sun, 27 Mar 2022 16:42:32 +0800</pubDate><description><![CDATA[1.这就是最常用的绘制文字
public void drawText(@NonNull String text, float x, float y, @NonNull Paint paint) {
        super.drawText(text, x, y, paint);
    }

1.第一个参数就是你要绘制的文字
2.绘制开始的X坐标(这也是我为什么发这篇文章的理由，所以要多尝试，理解其中是如何设计的)
 private var buttonBgPaint = Paint()
 button]]></description><category></category></item><item><title><![CDATA[最强大的布局——约束布局(ConstraintLayout)的一些技巧]]></title><link>https://blog.youkuaiyun.com/DASHBB/article/details/123291793</link><guid>https://blog.youkuaiyun.com/DASHBB/article/details/123291793</guid><author>DASHBB</author><pubDate>Sat, 05 Mar 2022 13:41:29 +0800</pubDate><description><![CDATA[一.使用viewBinding
1.想开启那个模块的viewBinding就进入对应模块的build.gradle

2.进入app的build.gradle

开启viewbinding
viewBinding {
        enabled = true
    }

3.当你开启viewbinding后，app目录下的所有布局文件都会生成一个绑定类。这个类的类名是以xml布局文件名去掉下换线后，单词首字母大写加上Binding命名的。如activity_main.xml生成的绑定类为Activit]]></description><category></category></item><item><title><![CDATA[视图动画的常用用法]]></title><link>https://blog.youkuaiyun.com/DASHBB/article/details/123150996</link><guid>https://blog.youkuaiyun.com/DASHBB/article/details/123150996</guid><author>DASHBB</author><pubDate>Sat, 26 Feb 2022 17:15:06 +0800</pubDate><description><![CDATA[动画的种类
Android动画大体可以分为以下3种：
逐帧动画(Drawable Animation)
视图动画(View Animation)
属性动画(Property Animation)
一般来说，属性动画是首选的使用方法，因为它更灵活，并提供更多功能。视图动画和逐帧动画仿佛将退出历史的舞台，但有时使用起来也挺方便的。
下面来看一下视图动画的四种动画
1.平移(translate)
&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;set xmlns:]]></description><category></category></item><item><title><![CDATA[谷歌浏览器保存的密码突然去旅游了，怎么找回来呢？]]></title><link>https://blog.youkuaiyun.com/DASHBB/article/details/123134003</link><guid>https://blog.youkuaiyun.com/DASHBB/article/details/123134003</guid><author>DASHBB</author><pubDate>Fri, 25 Feb 2022 15:30:58 +0800</pubDate><description><![CDATA[1.按顺序点击
2.点自动填充后点击密码或者直接在搜索栏搜索密码
3.然后你会发现你的密码不见了
4.解决方案
进入设置，点击关于Chrome,再检查更新，然后浏览器重启就可以了


]]></description><category></category></item><item><title><![CDATA[MacBook 编辑 .bash_profile 文件]]></title><link>https://blog.youkuaiyun.com/DASHBB/article/details/122666384</link><guid>https://blog.youkuaiyun.com/DASHBB/article/details/122666384</guid><author>DASHBB</author><pubDate>Mon, 24 Jan 2022 14:36:45 +0800</pubDate><description><![CDATA[1.推荐大家用这个iTerm2终端，自带的那个终端太老了。

2.如果没有.bash_profile文件，要创建这个文件
1.进入当前用户的home目录
终端输入：cd ~
 或 cd /Users/YourMacUserName  
2.终端输入：touch .bash_profile


有的话，如果.bash_profile文件不为锁定状态
1.终端输入 ：open -e .bash_profile (可编辑)
open .bash_profile（只查看）
2.编辑后关闭即可保存修改
3.更新刚配置]]></description><category></category></item><item><title><![CDATA[android通过mqtt协议连接OneNET云平台设备并传输数据]]></title><link>https://blog.youkuaiyun.com/DASHBB/article/details/122636755</link><guid>https://blog.youkuaiyun.com/DASHBB/article/details/122636755</guid><author>DASHBB</author><pubDate>Sat, 22 Jan 2022 14:15:59 +0800</pubDate><description><![CDATA[1.build.gradle(app)添加依赖
implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.1.0'
implementation 'org.eclipse.paho:org.eclipse.paho.android.service:1.1.1'

2.AndroidManifest.xml
&lt;uses-permission android:name="android.permission.INTERNET" /&]]></description><category></category></item><item><title><![CDATA[android与OneNET云平台的获取数据与发送数据]]></title><link>https://blog.youkuaiyun.com/DASHBB/article/details/122636030</link><guid>https://blog.youkuaiyun.com/DASHBB/article/details/122636030</guid><author>DASHBB</author><pubDate>Sat, 22 Jan 2022 13:28:34 +0800</pubDate><description><![CDATA[这篇文章对于大学学生来说应该是一个福利，因为可能跟你的毕业设计相关联。
1.GET 获取云平台的数据
private static final String DeviceID = "715410157";
    private static final String ApiKey = "=0nEsfHhq5sfImFv4oQYGHv=wDg=";
    private static final String humistream = "humistream";//onenet平台上对应设备的其中一个数据]]></description><category></category></item><item><title><![CDATA[RecyclerView添加footerview]]></title><link>https://blog.youkuaiyun.com/DASHBB/article/details/122513764</link><guid>https://blog.youkuaiyun.com/DASHBB/article/details/122513764</guid><author>DASHBB</author><pubDate>Sat, 15 Jan 2022 19:02:39 +0800</pubDate><description><![CDATA[class FooterViewAdapter :RecyclerView.Adapter&lt;RecyclerView.ViewHolder&gt;() {

    companion object {
        const val TYPE_FOOTER: Int = 1
        const val TYPE_NORMAL: Int = 0
    }

    var isFooterView: Boolean = false

    fun setFooterView() {
 ]]></description><category></category></item><item><title><![CDATA[Mac Android Studio Git出现port 80:Operation timed out]]></title><link>https://blog.youkuaiyun.com/DASHBB/article/details/122509262</link><guid>https://blog.youkuaiyun.com/DASHBB/article/details/122509262</guid><author>DASHBB</author><pubDate>Sat, 15 Jan 2022 13:49:24 +0800</pubDate><description><![CDATA[出现这种情况是你没有访问这个项目里相关如github或gitlab的资源权限，这就需要你自己去处理了，如果是公司的项目，就找相关负责人申请权限。

]]></description><category></category></item><item><title><![CDATA[小米手机开启开发者模式以及INSTALL_FAILED_USER_RESTRICTED报错处理]]></title><link>https://blog.youkuaiyun.com/DASHBB/article/details/122277987</link><guid>https://blog.youkuaiyun.com/DASHBB/article/details/122277987</guid><author>DASHBB</author><pubDate>Sun, 02 Jan 2022 17:46:18 +0800</pubDate><description><![CDATA[打开【设置】


2.点击【我的设备】

3.下滑选择【全部参数】

4.下滑找到【MIUI版本】,并且连续点击5下，此页面也会用Toast提示：【现在只需要在执行？步操作即可进入开发者模式】

5.当提示你已经是开发者模式后，在返回【设置】菜单，下滑点击【更多设置】

6.下滑点击【开发者选项】（如果没有开启开发者模式，这里是不会显示的）

7.点击开启开发者选项按钮

8.调试和安装都要选中，而且你如果要【USB安装】还必须要插入SIM卡

如果你不选中【USB安装】，Android Studio会出.]]></description><category></category></item><item><title><![CDATA[Mac Android studio 解决Out of memory:Java heap space]]></title><link>https://blog.youkuaiyun.com/DASHBB/article/details/122245978</link><guid>https://blog.youkuaiyun.com/DASHBB/article/details/122245978</guid><author>DASHBB</author><pubDate>Thu, 30 Dec 2021 21:52:52 +0800</pubDate><description><![CDATA[原因：根据异常说明OOM:java heap space可知，就是打包时 java的堆溢出了;所以解决方法是，将堆的最大值调大一些，就不容易溢出了。
解决方法一：在android studio的项目里修改gradle文件夹下的gradle.properties文件，
增加如下配置
org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=4g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

然后重启andr..]]></description><category></category></item><item><title><![CDATA[Mac Android Studio Git查看提交代码中文乱码解决方案]]></title><link>https://blog.youkuaiyun.com/DASHBB/article/details/122095830</link><guid>https://blog.youkuaiyun.com/DASHBB/article/details/122095830</guid><author>DASHBB</author><pubDate>Wed, 22 Dec 2021 22:15:28 +0800</pubDate><description><![CDATA[（1）下面是乱码的情况，如果不是这种情况就不必继续看了，继续你的寻找解决方案之路吧。

（2）点击Android Studio的Preferences

(3)勾选Use custom font,在点击Apply就可以了！
(4)感悟：就这么简单，但我为了解决这个问题找了很多资料，很多时间。在这个互联网时代，人人都会百度，谷歌，各种技术博客，但我认为这是一门学问，之前有一个大佬的一句话分享给大家“当你组织好语言，理清楚逻辑关系，问出一个“高质量问题”，你其实已经解决了90%”。所以当你搜索问题时是否注意自己]]></description><category></category></item><item><title><![CDATA[shape绘制形状基础详细解析]]></title><link>https://blog.youkuaiyun.com/DASHBB/article/details/122011007</link><guid>https://blog.youkuaiyun.com/DASHBB/article/details/122011007</guid><author>DASHBB</author><pubDate>Sat, 18 Dec 2021 15:08:23 +0800</pubDate><description><![CDATA[android 的样式主要则是通过 shape、selector、layer-list、level-list、style、theme、layer、bitmap 等组合实现
这篇文章主要介绍最基础的形状定义工具shape
1.Android develelopers官方解释
Defines a generic graphical “shape.”
Any Shape can be drawn to a Canvas with its own draw() method, but more graphical.]]></description><category></category></item><item><title><![CDATA[浅谈屏幕适配 dp dip sp dpi ppi px sp]]></title><link>https://blog.youkuaiyun.com/DASHBB/article/details/121871712</link><guid>https://blog.youkuaiyun.com/DASHBB/article/details/121871712</guid><author>DASHBB</author><pubDate>Sat, 11 Dec 2021 17:04:55 +0800</pubDate><description><![CDATA[一、Drawable资源文件夹之间的关系
Android开发中，UI一般会制作多种图片素材，根据素材的分辨率大小，放在如下几个文件夹中：
Android 工程里 res 目录下的 drawable-hdpi, drawable-xhdpi, drawable-xxhdpi 等文件夹。我们知道 Android 会根据屏幕的 dpi 去选择对应的 drawable 文件夹，Android项目的资源文件下存在以下目录：
drawable-ldpi ( 当dpi为120时，使用此目录下的资源),如QVGA (240]]></description><category></category></item><item><title><![CDATA[ImageView.ScaleType属性分析]]></title><link>https://blog.youkuaiyun.com/DASHBB/article/details/121723074</link><guid>https://blog.youkuaiyun.com/DASHBB/article/details/121723074</guid><author>DASHBB</author><pubDate>Sat, 04 Dec 2021 22:46:05 +0800</pubDate><description><![CDATA[ImageView的Scaletype决定了图片在View上显示时的样子，包括是否进行缩放、等比缩放、缩放后展示位置及显示图片的整体还是部分等。Android 提供了八种scaleType的属性值。
分为三个类型：
（1） 以FIT_开头的4种，它们的共同点是都会对图片进行缩放；
（2） 以CENTER_开头的3种，它们的共同点是居中显示，图片的中心点会与ImageView的中心点重叠；
（3） ScaleType.MATRIX

android:scaleType=“center”

(1)当图片大于Im]]></description><category></category></item><item><title><![CDATA[TextView带你深入了解你可能不知道的用法]]></title><link>https://blog.youkuaiyun.com/DASHBB/article/details/121722220</link><guid>https://blog.youkuaiyun.com/DASHBB/article/details/121722220</guid><author>DASHBB</author><pubDate>Sat, 04 Dec 2021 22:29:59 +0800</pubDate><description><![CDATA[1.在textview的周围添加图片
android:drawableBottom：在text的下方输出一个drawable，可以是图片，样式，颜色等。其他举一反三
android:drawableLeft
android:drawableRight
android:drawableTop
android:drawableStart
android:drawableEnd
android:drawablePadding：设置text与drawable的间距，是与drawableLeft、 drawableR]]></description><category></category></item><item><title><![CDATA[ConstraintLayout带你深入了解约束布局的使用]]></title><link>https://blog.youkuaiyun.com/DASHBB/article/details/121720631</link><guid>https://blog.youkuaiyun.com/DASHBB/article/details/121720631</guid><author>DASHBB</author><pubDate>Sat, 04 Dec 2021 21:26:07 +0800</pubDate><description><![CDATA[1.关于约束布局居中如何实现
(1)
app:layout_constraintStart_toStartOf=“parent”
app:layout_constraintEnd_toEndOf=“parent”
(2)
app:layout_constraintLeft_toLeftOf=“parent”
app:layout_constraintRight_toRightOf=“parent”
一般通过Start和End(left和right)指定同一个控件就可以实现居中,相信聪明的你举一反三也知道通.]]></description><category></category></item><item><title><![CDATA[BaseQuickAdapter和RecycleView基础使用]]></title><link>https://blog.youkuaiyun.com/DASHBB/article/details/121593596</link><guid>https://blog.youkuaiyun.com/DASHBB/article/details/121593596</guid><author>DASHBB</author><pubDate>Sun, 28 Nov 2021 17:39:22 +0800</pubDate><description><![CDATA[一.添加依赖
maven { url ‘https://jitpack.io’ }

implementation ‘com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.1’

二.适配器
class BaseAdapter(
    layoutId: Int,//可以传入item的布局
    data: MutableList&lt;InfoBean&gt;? = null//数据
) : BaseQuickAdapter&lt;Bean, Bas]]></description><category></category></item><item><title><![CDATA[Kotlin协程]]></title><link>https://blog.youkuaiyun.com/DASHBB/article/details/121440436</link><guid>https://blog.youkuaiyun.com/DASHBB/article/details/121440436</guid><author>DASHBB</author><pubDate>Sat, 20 Nov 2021 16:42:04 +0800</pubDate><description><![CDATA[首先协程是轻量级的线程
1.创建方式
(1)GlobalScope.launch
GlobalScope.launch(Dispatchers.Main) {
    println("")
}

这函数创建了一个协程的作用域，Lambda表达式就在协程中运行了，这个函数创建的是一个顶层协程，这种协程当程序运行结束也结束，你会发现执行后日志不会打印，因为还没有来得及执行代码块中的代码执行，程序就结束了。
2.delay
这个时候加一个延时就行了，delay函数是一个非阻塞的挂起函数，delay函数会挂起当前]]></description><category></category></item></channel></rss>