Cargo 依赖下载慢、设置镜像
在用户目录.cargo目录新建config文件,把以下配置复制到文件中:
1234567[source.crates-io]registry = "https://github.com/rust-lang/crates.io-index"replace-with = 'ustc'[source.ustc]# registry = "git://mirrors.ustc.edu.cn/crates.io-index"# 如果所处的环境中不允许使用 git 协议,可以把上面的地址改为registry = "https://mirrors.ustc.edu.cn/crates.io-index"
参考:https://zhuanlan.zhihu.com/p/74875840?from_voters_page=true
YAML格式
简介YAML 是 “YAML Ain’t Markup Language”(YAML 不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:”Yet Another Markup Language”(仍是一种标记语言)。
基本语法
key: value;kv之间有空格
大小写敏感
使用缩进表示层级关系
缩进不允许使用tab,只允许空格
缩进的空格数不重要,只要相同层级的元素左对齐即可
‘#’表示注释
字符串无需加引号,如果要加,’’与””表示字符串内容 会被 转义/不转义
数据类型
字面量:单个的、不可再分的值。date、boolean、string、number、null。 1key1: value
对象:键值对的集合。map、hash、set、object。 123456行内写法: k: {k1:v1,k2:v2,k3:v3}#或k: k1: v1 k2: v2 k3: v3
数组:一组按次序排列的值。array、list、queue 123456行内写法: k: [v1,v2,v3]#或者k: - v1 - v2 - ...
Fragment之间的通信.md
嵌套关系,使用setArguments()在Fragment B中新建一个函数:newInstance()接收传过来的参数。
1234567public static Fragment2 newInstance(String text) { Fragment2 fragment = new Fragment2(); Bundle args = new Bundle(); args.putString("param", text); fragment.setArguments(args); return fragment;}
在Fragment B的onCreateView中获取参数
123456789public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment2, co ...
Fragment与Activity通信.md
Fragment与Activity的通信交互如上图所示:
如果Activity中包含自己管理的Fragment的引用,可以通过引用直接访问所有的Fragment的public方法
如果Activity中未保存任何Fragment的引用,那么没关系,每个Fragment都有一个唯一的TAG或者ID,可以通过getFragmentManager.findFragmentByTag()或者findFragmentById()获得任何Fragment实例,然后进行操作
在Fragment中可以通过getActivity得到当前绑定的Activity的实例,然后进行操作。
备注:
如果在Fragment中需要Context,可以通过getActivity(),如果该Context需要在Activity被销毁后还存在,则使用getActivity.getApplicationContext();
考虑Fragment的重复使用问题,降低与Activity的耦合,Fragment操作应该由它的管理者Activity决定。
传递数据给Fragment步骤流程:
在Activity中创建Bu ...
Fragment与Activity的联动.md
Fragment和Activity完整的生命周期如图所示。
下面给出Activity与Fragment联动时的执行顺序。
当Fragment在Activity的onCreate()中被添加时
Activity super.onCreate执行完毕
Fragment onAttach
Fragment onCreate
Fragment onCreateView
Fragment onViewCreated
Activity.super.onStart()执行中
Fragment onActivityCreated
Fragment onViewStateRestored
Fragment onStart()
Activity super.onStart执行完毕
Activity super.onPostCreate()
Activity super.onResume()
Activity super.onPostResume()执行中
Fragment onResume()
Activity super.onPosResume()执行完毕
Activity on ...
Fragment基本使用.md
Fragment的使用有两种方式,分别是静态加载和动态加载。
静态加载使用fragment关于静态加载的流程如下:
定义Fragment的xml布局文件
自定义Fragment类,继承Fragment类或其子类,同时实现onCreate()方法,在方法中,通过inflater.inflate加载布局文件,接着返回其View
在需要加载Fragment的Activity对应布局文件中的name属性设为全限定类名,即包名.fragment
最后在Activity调用setContentView()加载布局文件即可
注意点:
静态加载一旦添加就不能在运行中删除。
静态fragment 在哪儿初始化?。
fragment一定是没有参数的构造函数。
不能嵌套使用fragment。
动态加载使用fragment动态加载fragment的流程如下:
通过getSupportFragmentManager()方法,获得FragmentManager对象。
调用FragmentManager对象的beginTransaction()方法,如fm.beginTransaction(),获得Fra ...