<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[chen1234219的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/chen1234219</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; chen1234219]]></copyright><item><title><![CDATA[AdServices归因和iAd归因集成]]></title><link>https://blog.youkuaiyun.com/chen1234219/article/details/134451392</link><guid>https://blog.youkuaiyun.com/chen1234219/article/details/134451392</guid><author>chen1234219</author><pubDate>Thu, 16 Nov 2023 22:06:50 +0800</pubDate><description><![CDATA[AdServices归因和iAd归因集成]]></description><category></category></item><item><title><![CDATA[nodejs升级或降级]]></title><link>https://blog.youkuaiyun.com/chen1234219/article/details/134162345</link><guid>https://blog.youkuaiyun.com/chen1234219/article/details/134162345</guid><author>chen1234219</author><pubDate>Wed, 01 Nov 2023 15:25:42 +0800</pubDate><description><![CDATA[node有一个模块叫n，是专门用来管理node.js的版本。2、 升级node.js到最新稳定版。]]></description><category></category></item><item><title><![CDATA[Google pay java 后端验证方式二]]></title><link>https://blog.youkuaiyun.com/chen1234219/article/details/129867217</link><guid>https://blog.youkuaiyun.com/chen1234219/article/details/129867217</guid><author>chen1234219</author><pubDate>Thu, 30 Mar 2023 21:55:26 +0800</pubDate><description><![CDATA[Google Pay主要支付流程1.手机端向Java服务端发起支付，生成预订单，给手机端返回生成的订单号2.手机端向Google发起支付（传入本地服务器生成的订单号）3.Google服务器将支付结果返回给手机端（因这边用到的是消耗型的产品，所以购买后必须要通知gp我已经消耗了这次交易）4.手机端向Java服务端发送校验请求，校验通过后即可处理订单（服务端重试校验，发货，保证订单正常发货成功）packageName：应用包名credential：密钥。]]></description><category></category></item><item><title><![CDATA[Google Pay Java 后端验证方式一]]></title><link>https://blog.youkuaiyun.com/chen1234219/article/details/129867164</link><guid>https://blog.youkuaiyun.com/chen1234219/article/details/129867164</guid><author>chen1234219</author><pubDate>Thu, 30 Mar 2023 21:26:13 +0800</pubDate><description><![CDATA[将上面的{XX}替换成创建api项目时填写的重定向地址，和clientId，然后将连接放到浏览器中打开，就会吊起授权界面，使用你的开发者账号授权登录。，它只会在第一次请求中返回，后续用在发一样的请求不会返回refreshtoken，如果不慎弄丢了，需要去重新创建一个WebClientId。这里可以看到，重定向地址上有两个参数code和scope，我们只需要code就行了，这里的code是。client_id=创建api项目是的clientId（客户端ID）]]></description><category></category></item><item><title><![CDATA[使用CocoaPods安装SDK]]></title><link>https://blog.youkuaiyun.com/chen1234219/article/details/125120437</link><guid>https://blog.youkuaiyun.com/chen1234219/article/details/125120437</guid><author>chen1234219</author><pubDate>Sat, 04 Jun 2022 12:24:58 +0800</pubDate><description><![CDATA[CocoaPods 基础使用]]></description><category></category></item><item><title><![CDATA[Android Studio 为项目更改git仓库 或者 为拷贝的git项目清除重新设置]]></title><link>https://blog.youkuaiyun.com/chen1234219/article/details/105120051</link><guid>https://blog.youkuaiyun.com/chen1234219/article/details/105120051</guid><author>chen1234219</author><pubDate>Thu, 26 Mar 2020 15:39:48 +0800</pubDate><description><![CDATA[常见方法：


通过git命令直接进行设置
Git remote set-url origin [url]
例如：git remote set-url origin gitlab@gitlab.chumob.com:PHP/hasoffer.git


通过git命令先删除之前的仓库地址、在进行设置仓库地址
清除


git remote rm origin

重新设置
git remote ad...]]></description><category></category></item><item><title><![CDATA[布局控件完结篇]]></title><link>https://blog.youkuaiyun.com/chen1234219/article/details/105105254</link><guid>https://blog.youkuaiyun.com/chen1234219/article/details/105105254</guid><author>chen1234219</author><pubDate>Wed, 25 Mar 2020 22:03:20 +0800</pubDate><description><![CDATA[首先这篇文章是转载的，原文是这里
https://juejin.im/post/5bab35ff5188255c3272c228
我在最近的学习布局控件中主要看的就是这个。结合自己的一些理解，和测试。
下面是主要内容
本文对Flutter的29种布局控件进行了总结分类，讲解一些布局上的优化策略，以及面对具体的布局时，如何去选择控件。
1. 单节点控件
分类
在这小节里，我尝试从多个维度去对这些控件...]]></description><category></category></item><item><title><![CDATA[Flutter学习第三课-布局组件 Container Padding Align Center Offstage Baseline]]></title><link>https://blog.youkuaiyun.com/chen1234219/article/details/105102925</link><guid>https://blog.youkuaiyun.com/chen1234219/article/details/105102925</guid><author>chen1234219</author><pubDate>Wed, 25 Mar 2020 21:29:45 +0800</pubDate><description><![CDATA[目录
Container 
Padding
Align
Center
Offstage
Baseline
Container
Container在Flutter最常用的组件。是一个结合了绘制（painting）、定位（positioning）以及尺寸（sizing）widget的widget。
组成

Container的组成如下：


最里层的是child元素；
child元素首先会被paddi...]]></description><category></category></item><item><title><![CDATA[Flutter学习第三课-布局组件 Stack和Positioned]]></title><link>https://blog.youkuaiyun.com/chen1234219/article/details/105097843</link><guid>https://blog.youkuaiyun.com/chen1234219/article/details/105097843</guid><author>chen1234219</author><pubDate>Wed, 25 Mar 2020 18:06:24 +0800</pubDate><description><![CDATA[层叠布局

子组件根据距父容器四个角的位置来确定自己位置。子元素按照代码中声明的顺序作为层级，最后一个声明的子元素会放置在最上层。Flutter中使用Stack和Positioned这两个组件来配合使用决定子元素的坐标位置。

Stack
  Stack({
    Key key,
    this.alignment = AlignmentDirectional.topStart,
    t...]]></description><category></category></item><item><title><![CDATA[Flutter学习第三课-布局组件 Wrap和Flow]]></title><link>https://blog.youkuaiyun.com/chen1234219/article/details/105081597</link><guid>https://blog.youkuaiyun.com/chen1234219/article/details/105081597</guid><author>chen1234219</author><pubDate>Wed, 25 Mar 2020 11:35:25 +0800</pubDate><description><![CDATA[流式布局

我们在学习 Row 时默认只有一行，如果超出屏幕不会换行。我们把超出屏幕显示范围会自动折行的布局称为流式布局。Flutter中通过Wrap和Flow来支持流式布局，将上例中的Row换成Wrap后溢出部分则会自动换行

Wrap
  Wrap({
    Key key,
    this.direction = Axis.horizontal,
    this.alignment =...]]></description><category></category></item><item><title><![CDATA[Flutter学习第三课-布局组件 Row和Column]]></title><link>https://blog.youkuaiyun.com/chen1234219/article/details/105051221</link><guid>https://blog.youkuaiyun.com/chen1234219/article/details/105051221</guid><author>chen1234219</author><pubDate>Tue, 24 Mar 2020 21:19:13 +0800</pubDate><description><![CDATA[线性布局

所谓线性布局，即指沿水平或垂直方向排布子组件。Flutter中通过Row和Column来实现线性布局。
Row 水平布局，Column 垂直布局
Row 和 Column 组件是不可以滚动的，所以在 Row 和Column 组件中不会放置过多子组件，如果你需- 要滚动应该使用 ListView。
如果只有一个子组件的话，应该考虑使用使用 Align 或者 Container 组件来定位...]]></description><category></category></item><item><title><![CDATA[Flutter学习第二课-基础组件 TextFormField和From]]></title><link>https://blog.youkuaiyun.com/chen1234219/article/details/105047845</link><guid>https://blog.youkuaiyun.com/chen1234219/article/details/105047845</guid><author>chen1234219</author><pubDate>Mon, 23 Mar 2020 14:22:22 +0800</pubDate><description><![CDATA[/*
  TextFormField({
    Key key,
    controller,//常用于赋值和取值操作
    String initialValue,
    FocusNode focusNode,//用于监听焦点状态
    InputDecoration decoration = const InputDecoration(), //输入框的装饰器，用来修改外观
  ...]]></description><category></category></item><item><title><![CDATA[Flutter学习第二课-基础组件 Image]]></title><link>https://blog.youkuaiyun.com/chen1234219/article/details/104954972</link><guid>https://blog.youkuaiyun.com/chen1234219/article/details/104954972</guid><author>chen1234219</author><pubDate>Wed, 18 Mar 2020 21:56:48 +0800</pubDate><description><![CDATA[在 Flutter 中有多种方式，用来加载不同形式的图片：

Image：通过ImageProvider来加载图片
Image.asset：用来加载本地资源图片
Image.file：用来加载本地（File文件）图片
Image.network：用来加载网络图片
Image.memory：用来加载Uint8List资源（byte数组）图片



Image


Image 的一个参数是 Image...]]></description><category></category></item><item><title><![CDATA[Flutter学习第二课-基础组件 Radio]]></title><link>https://blog.youkuaiyun.com/chen1234219/article/details/104950403</link><guid>https://blog.youkuaiyun.com/chen1234219/article/details/104950403</guid><author>chen1234219</author><pubDate>Wed, 18 Mar 2020 18:11:28 +0800</pubDate><description><![CDATA[/*
const Radio({
Key key,
@required this.value, 是否选中
@required this.groupValue,分组
@required this.onChanged,选中回调
this.activeColor,//控件颜色
this.focusColor,
this.hoverColor,
this.materialTapTargetSize,
  ...]]></description><category></category></item><item><title><![CDATA[Flutter学习第二课-基础组件 DropdownButton]]></title><link>https://blog.youkuaiyun.com/chen1234219/article/details/104950313</link><guid>https://blog.youkuaiyun.com/chen1234219/article/details/104950313</guid><author>chen1234219</author><pubDate>Wed, 18 Mar 2020 18:07:21 +0800</pubDate><description><![CDATA[/*DropdownButton({
Key key,
@required this.items,菜单列表
this.selectedItemBuilder,//自定义下拉菜单样式
this.value,是否选中
this.hint,
this.disabledHint,
@required this.onChanged,回调
this.elevation = 8,下划线偏离距离
this.sty...]]></description><category></category></item><item><title><![CDATA[Flutter学习第二课-基础组件 Checkbox]]></title><link>https://blog.youkuaiyun.com/chen1234219/article/details/104950293</link><guid>https://blog.youkuaiyun.com/chen1234219/article/details/104950293</guid><author>chen1234219</author><pubDate>Wed, 18 Mar 2020 18:06:02 +0800</pubDate><description><![CDATA[/*
    const Checkbox({
    Key key,
    @required this.value,
    this.tristate = false,//在原true flase两种状态下，增加第三种状态 null 。显示为破折号
    @required this.onChanged,//点击时回调
    this.activeColor,//选中时背景颜色
  ...]]></description><category></category></item><item><title><![CDATA[Flutter学习第二课-基础组件 BottomNavigationBar]]></title><link>https://blog.youkuaiyun.com/chen1234219/article/details/104950272</link><guid>https://blog.youkuaiyun.com/chen1234219/article/details/104950272</guid><author>chen1234219</author><pubDate>Wed, 18 Mar 2020 18:04:50 +0800</pubDate><description><![CDATA[/*
BottomNavigationBar({
Key key,
@required this.items,
this.onTap,点击响应事件回调
this.currentIndex = 0,选中索引
this.elevation = 8.0,
BottomNavigationBarType type, 导航样式类型 fixed（等分选项）: shifting（选中的选项加大占比）;
Colo...]]></description><category></category></item><item><title><![CDATA[Flutter学习第二课-基础组件 Switch]]></title><link>https://blog.youkuaiyun.com/chen1234219/article/details/104950177</link><guid>https://blog.youkuaiyun.com/chen1234219/article/details/104950177</guid><author>chen1234219</author><pubDate>Wed, 18 Mar 2020 18:00:37 +0800</pubDate><description><![CDATA[/*
  const Switch({
    Key key,
    @required this.value, //是否选中
    @required this.onChanged, //点击后回调
    this.activeColor,//选中时滑块颜色
    this.activeTrackColor,//选中时滑道颜色
    this.inactiveThumbColor,/...]]></description><category></category></item><item><title><![CDATA[Flutter学习第一课-环境搭建]]></title><link>https://blog.youkuaiyun.com/chen1234219/article/details/104906752</link><guid>https://blog.youkuaiyun.com/chen1234219/article/details/104906752</guid><author>chen1234219</author><pubDate>Mon, 16 Mar 2020 20:02:11 +0800</pubDate><description><![CDATA[基本资料


官网：https://flutter.dev/
中文网：https://flutterchina.club/
教程网：http://www.flutterj.com/
官网第三方库：https://pub.flutter-io.cn/
优秀资源：https://github.com/Solido/awesome-flutter


FlutterSDK下载


下载地址：https...]]></description><category></category></item><item><title><![CDATA[Flutter学习第二课-基础组件 Text]]></title><link>https://blog.youkuaiyun.com/chen1234219/article/details/104906305</link><guid>https://blog.youkuaiyun.com/chen1234219/article/details/104906305</guid><author>chen1234219</author><pubDate>Mon, 16 Mar 2020 19:36:34 +0800</pubDate><description><![CDATA[文本控件 Text

import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';

//void main() =&gt; runApp(MyApp());
//void main() =&gt; runApp(MyApp1());
void main() =&gt; runApp(MyApp2(...]]></description><category></category></item></channel></rss>