<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[K_Hello的博客]]></title><description><![CDATA[个人博客]]></description><link>https://blog.youkuaiyun.com/K_Hello</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; K_Hello]]></copyright><item><title><![CDATA[PreferenceScreen 中如何自定义SwitchPreferenceCompat的布局]]></title><link>https://blog.youkuaiyun.com/K_Hello/article/details/126343003</link><guid>https://blog.youkuaiyun.com/K_Hello/article/details/126343003</guid><author>K_Hello</author><pubDate>Mon, 15 Aug 2022 11:05:06 +0800</pubDate><description><![CDATA[Android Preference 使用]]></description><category></category></item><item><title><![CDATA[Android 开发常用Color，Launcher图标的尺寸]]></title><link>https://blog.youkuaiyun.com/K_Hello/article/details/115937750</link><guid>https://blog.youkuaiyun.com/K_Hello/article/details/115937750</guid><author>K_Hello</author><pubDate>Wed, 21 Apr 2021 10:34:00 +0800</pubDate><description><![CDATA[文章目录Android 开发 常用ColorLauncher 对应的图标尺寸Android  drawable/mipmap 文件夹对应的dpiAndroid 8.0 支持 自适应启动图标
Android 开发 常用Color
 &lt;color name="purple_200"&gt;#FFBB86FC&lt;/color&gt;
    &lt;color name="purple_500"&gt;#FF6200EE&lt;/color&gt;
    &lt;color name="purple_]]></description><category></category></item><item><title><![CDATA[Flutter JSON序列化的插件和Template]]></title><link>https://blog.youkuaiyun.com/K_Hello/article/details/115527333</link><guid>https://blog.youkuaiyun.com/K_Hello/article/details/115527333</guid><author>K_Hello</author><pubDate>Thu, 08 Apr 2021 17:52:48 +0800</pubDate><description><![CDATA[列举一下浏览及使用过的方式吧：
1.在线转化
JSON to Dart
好久没更新了
2.Plugins

FlutterJsonBeanFactory

​       支持null-safe
​      2021/4/8 号更新了4.1.1版本
​     功能比较完善，看个人习惯
​      除了生成响应的entity外，其他生成的代码在generated目录下
3. json_serializable 库
由于实在不想写fromJson，toJson，我就简单创建了template，起名为jso]]></description><category></category></item><item><title><![CDATA[Flutter使用json_serializable泛型化的问题]]></title><link>https://blog.youkuaiyun.com/K_Hello/article/details/115525018</link><guid>https://blog.youkuaiyun.com/K_Hello/article/details/115525018</guid><author>K_Hello</author><pubDate>Thu, 08 Apr 2021 16:58:47 +0800</pubDate><description><![CDATA[文章目录version支持泛型化？实际使用请求状态码创建RoadBean创建BaseResult类，并使用泛型参数（T）测试Note
没使用过json_serializable的，可以参考Flutter 中的JSON序列化
version
dependencies:
  flutter:
    sdk: flutter
  #  handling JSON
  json_serializable: ^4.1.0  

支持泛型化？
json_serializable 是支持泛型的（genericArgum]]></description><category></category></item><item><title><![CDATA[Flutter  http包的简单封装]]></title><link>https://blog.youkuaiyun.com/K_Hello/article/details/115490100</link><guid>https://blog.youkuaiyun.com/K_Hello/article/details/115490100</guid><author>K_Hello</author><pubDate>Wed, 07 Apr 2021 17:03:04 +0800</pubDate><description><![CDATA[Flutter  http包的简单封装
文章目录依赖http网络请求类数据转换Example
依赖http
dependencies:
  flutter:
    sdk: flutter
    #网络
  http: ^0.13.1

执行 flutter pub get
网络请求类
import 'package:http/http.dart' as http;

typedef onError = void Function(int statusCode, Object error);
typed]]></description><category></category></item><item><title><![CDATA[Flutter 中的JSON序列化]]></title><link>https://blog.youkuaiyun.com/K_Hello/article/details/115485499</link><guid>https://blog.youkuaiyun.com/K_Hello/article/details/115485499</guid><author>K_Hello</author><pubDate>Wed, 07 Apr 2021 14:47:57 +0800</pubDate><description><![CDATA[Flutter 中的 JSON序列化
文章目录Flutter 中的 JSON序列化使用 dart:convert手动序列化JSON内连序列化JSON在模型类中序列化JSON使用代码生成库序列化JSON使用[json_serializable](https://pub.dartlang.org/packages/json_serializable)生成序列化json的代码在项目中设置json_serializable以json_serializable的方式创建model类运行代码生成器
使用 dart:co]]></description><category></category></item><item><title><![CDATA[Flutter 包管理的三种常见方式]]></title><link>https://blog.youkuaiyun.com/K_Hello/article/details/115461015</link><guid>https://blog.youkuaiyun.com/K_Hello/article/details/115461015</guid><author>K_Hello</author><pubDate>Tue, 06 Apr 2021 14:58:37 +0800</pubDate><description><![CDATA[Flutter 包管理的三种常见方式
文章目录Flutter 包管理的三种常见方式Pub 仓库本地依赖依赖Git
Pub 仓库
name: flutter_origin
description: A new Flutter application.

# The following line prevents the package from being accidentally published to
# pub.dev using `pub publish`. This is preferred fo]]></description><category></category></item><item><title><![CDATA[Flutter 动画（一）]]></title><link>https://blog.youkuaiyun.com/K_Hello/article/details/115210492</link><guid>https://blog.youkuaiyun.com/K_Hello/article/details/115210492</guid><author>K_Hello</author><pubDate>Thu, 25 Mar 2021 15:46:00 +0800</pubDate><description><![CDATA[Flutter 动画
文章目录Flutter 动画准备AnimationControllerTicker providers生命周期TweenSampleFlutterLogo从30-50的放大动画CurvedAnimationInterval
准备
void main() {
  runApp(MyWidget());
}

class MyWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {]]></description><category></category></item><item><title><![CDATA[Flutter 设置null-safely 版本]]></title><link>https://blog.youkuaiyun.com/K_Hello/article/details/115204972</link><guid>https://blog.youkuaiyun.com/K_Hello/article/details/115204972</guid><author>K_Hello</author><pubDate>Thu, 25 Mar 2021 11:53:43 +0800</pubDate><description><![CDATA[Flutter   设置null-safely 版本
官方文档：迁移至空安全
第一步：修改配置
pubspec.yaml
environment:
  sdk: "&gt;=2.12.0 &lt;3.0.0"

点上方蓝色的Pub get 更新依赖
第二步：纠错
这时，你会发现项目中有些文件变红了，那是因为这些文件没有通过null safety 检查,通常表示某些变量可为null,某些变量不能为null，解决这些需要添加字符 如：? , required,!
项目中也可能依赖了某些不支持null-safel]]></description><category></category></item><item><title><![CDATA[H5 div 居中显示]]></title><link>https://blog.youkuaiyun.com/K_Hello/article/details/114986366</link><guid>https://blog.youkuaiyun.com/K_Hello/article/details/114986366</guid><author>K_Hello</author><pubDate>Thu, 18 Mar 2021 17:44:27 +0800</pubDate><description><![CDATA[H5 div 居中显示
文章目录H5 div 居中显示推荐：[浏览器同步测试工具](http://www.browsersync.cn/#install)H5 引入外部CSS文件div居中显示块水平垂直居中子块水平垂直居中
推荐：浏览器同步测试工具
Browsersync能让浏览器实时、快速响应您的文件更改（html、js、css、sass、less等）并自动刷新页面
H5 引入外部CSS文件
&lt;link type="text/css" rel="stylesheet" href="login.css]]></description><category></category></item><item><title><![CDATA[Flutter 创建Web 应用]]></title><link>https://blog.youkuaiyun.com/K_Hello/article/details/114365286</link><guid>https://blog.youkuaiyun.com/K_Hello/article/details/114365286</guid><author>K_Hello</author><pubDate>Thu, 04 Mar 2021 12:07:43 +0800</pubDate><description><![CDATA[Flutter 创建Web 应用
文章目录创建新的Web项目开启 Web 支持创建项目对已有的应用添加 Web 支持1.开启Web支持（如上）2.创建web 目录3.运行应用在浏览器中使用 build 命令
From:flutter.cn
运行环境如下(仅供参考)：
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip

dependencies {
    classpath 'com.android]]></description><category></category></item><item><title><![CDATA[Flutter widgets（二）]]></title><link>https://blog.youkuaiyun.com/K_Hello/article/details/114120680</link><guid>https://blog.youkuaiyun.com/K_Hello/article/details/114120680</guid><author>K_Hello</author><pubDate>Fri, 26 Feb 2021 11:19:11 +0800</pubDate><description><![CDATA[文章目录Flutter widgets（二）BackdropFilterSizedBoxMediaQuerySpacer
Flutter widgets（二）
BackdropFilter
一个将筛选器应用于现有的绘制内容，然后绘制child 的widget
与ImageFilter结合,
Stack(
  children: [
    Image.asset("images/bg.jpg"),
    //指定范围
    Positioned(
      top: 50,
      bottom:]]></description><category></category></item><item><title><![CDATA[Flutter widgets（一）]]></title><link>https://blog.youkuaiyun.com/K_Hello/article/details/114028178</link><guid>https://blog.youkuaiyun.com/K_Hello/article/details/114028178</guid><author>K_Hello</author><pubDate>Wed, 24 Feb 2021 16:59:31 +0800</pubDate><description><![CDATA[Flutter widgets（一）
文章目录Flutter widgets（一）SafeAreaExpandedWrapAnimatedContainerOpacityFutureBuilderFadeTransitionFadeInImageClipRRectTooltipLayoutBuilderAbsorbPointerTransform
来自于Google Flutter Widgets 介绍合集
SafeArea
保证应用内容正常显示
可以和Scaffold搭配使用
Expanded
一般在行或]]></description><category></category></item><item><title><![CDATA[Flutter  去掉右上角Debug式样]]></title><link>https://blog.youkuaiyun.com/K_Hello/article/details/113887981</link><guid>https://blog.youkuaiyun.com/K_Hello/article/details/113887981</guid><author>K_Hello</author><pubDate>Sat, 20 Feb 2021 17:34:10 +0800</pubDate><description><![CDATA[Flutter  去掉右上角Debug式样
去掉 右上角Debug Banner
 MaterialApp(
  debugShowCheckedModeBanner: false,
  )

系统设置为深色模式时，应用也做相应的深色模式
MaterialApp(
  darkTheme: ThemeData(brightness: Brightness.dark),
  )

Locale一种标识符，用于选择用户的语言和格式化偏好
//fr法语，CH瑞士
static const Locale swiss]]></description><category></category></item><item><title><![CDATA[Kotlin 中 的 get 和 lateinit]]></title><link>https://blog.youkuaiyun.com/K_Hello/article/details/113615403</link><guid>https://blog.youkuaiyun.com/K_Hello/article/details/113615403</guid><author>K_Hello</author><pubDate>Wed, 03 Feb 2021 17:18:11 +0800</pubDate><description><![CDATA[Kotlin 中 的 get 和 lateinit
get
注意:在Kotlin和一般的编程中，您经常会遇到属性名前面有下划线。这通常意味着不打算直接访问该属性。在您的例子中，您使用binding属性访问LetterListFragment中的视图绑定。然而，_binding属性不需要在LetterListFragment之外访问
private var _binding: FragmentLetterListBinding? = null
//get()意味着这个属性是“get-only”。这意味着您可以]]></description><category></category></item><item><title><![CDATA[Kotlin中的Set 和 Map]]></title><link>https://blog.youkuaiyun.com/K_Hello/article/details/113248646</link><guid>https://blog.youkuaiyun.com/K_Hello/article/details/113248646</guid><author>K_Hello</author><pubDate>Wed, 27 Jan 2021 14:45:22 +0800</pubDate><description><![CDATA[Kotlin中的Set 和 Map
文章目录Kotlin中的Set 和 MapSetSamplePrintMapSamplePrint处理集合的有用函数forEachPrintmapprintfilterprintprintprint
Set
Sample
val numbers = listOf(0, 3, 8, 4, 0, 5, 5, 8, 9, 2)
val setOfNumbers = numbers.toSet()
println("set:${setOfNumbers}")
val set1 =]]></description><category></category></item><item><title><![CDATA[Kotlin中的List]]></title><link>https://blog.youkuaiyun.com/K_Hello/article/details/113127431</link><guid>https://blog.youkuaiyun.com/K_Hello/article/details/113127431</guid><author>K_Hello</author><pubDate>Mon, 25 Jan 2021 17:53:48 +0800</pubDate><description><![CDATA[Kotlin中的List
文章目录Kotlin中的ListSampleRun and OutList只读列表创建List常见方法SampleRun and OutMutable List创建Mutable ListSampleRun and Out循环Use Case
在Kotlin中有两种类型的列表:
List：只读列表,列表创建后不能被修改。
MutableList: 可以在创建后被修改，这意味着你可以添加、删除或更新它的元素。
Sample
fun main() {
    val numbers: ]]></description><category></category></item><item><title><![CDATA[Kotlin 中的Class 简单使用]]></title><link>https://blog.youkuaiyun.com/K_Hello/article/details/112993538</link><guid>https://blog.youkuaiyun.com/K_Hello/article/details/112993538</guid><author>K_Hello</author><pubDate>Fri, 22 Jan 2021 17:43:26 +0800</pubDate><description><![CDATA[Kotlin 中的Class
文章目录Kotlin 中的Class特点abstract classSubclass（子类）正确继承错误示范注意Sample（例子）Run and output（运行和输出）关键字with多个参数的构造SampleRun and output（运行和输出）
特点
默认情况下，在Kotlin中，类是final类，不能子类化(被继承)，只允许继承abstract class 或者被关键字open标记的class
abstract class
abstract class Dwell]]></description><category></category></item><item><title><![CDATA[Android LiveData + Retrofit 取消请求(二)]]></title><link>https://blog.youkuaiyun.com/K_Hello/article/details/112849339</link><guid>https://blog.youkuaiyun.com/K_Hello/article/details/112849339</guid><author>K_Hello</author><pubDate>Tue, 19 Jan 2021 18:27:17 +0800</pubDate><description><![CDATA[Android LiveData + Retrofit 取消请求(二)
接着继续之前,我们来看
Retrofit + RxJava 取消请求
添加RxJava2的CallAdapter
private static final Retrofit RETROFIT_CLIENT =
        new Retrofit.Builder().baseUrl(BASE_URL).
        addConverterFactory(ScalarsConverterFactory.create())
   ]]></description><category></category></item><item><title><![CDATA[Android LiveData + Retrofit 取消请求]]></title><link>https://blog.youkuaiyun.com/K_Hello/article/details/112790494</link><guid>https://blog.youkuaiyun.com/K_Hello/article/details/112790494</guid><author>K_Hello</author><pubDate>Mon, 18 Jan 2021 18:06:26 +0800</pubDate><description><![CDATA[Android LiveData + Retrofit 取消请求(一)
文章目录Android LiveData + Retrofit 取消请求(一)OkHttp 中取消请求OkHttp 创建、发送请求取消请求Retrofit中取消请求创建存放Tag的集合在Activity中管理页面状态创建请求Service Interface,添加Head注解创建Retrofit对象，并在OkHttpClient中添加Cancel 拦截器在Activity中发起请求
我们先看看OkHttp是怎么取消请求的
OkHttp ]]></description><category></category></item></channel></rss>