Build 持续集成
Build 持续集成
Reference
Fastlane入门:介绍篇
iOS持续集成:Xcode Server、Jenkins、Travis和fastlane
Jenkins+fastlane的自动化搭建之路
Android Audio & Video
Android Audio & Video
MediaPlayer
issues
prepareAsync called in state 8
MediaPlayer.prepare()调用多次, 如果使用MediaPlayer.create工厂方法, 那么create
方法内已经调用prepare()方法
Error (1,-2147483648)
前面一个1表示MEDIA_ERROR_UNKNOWN, -2147483648对应十六进制0x80000000
定义frameworks/native/include/utils/Errors.h, 表示错误很难定位.
一般是因为视频格式不支持.
Reference
...
Flutter package
Flutter package
Using packages
Using Packages
Package versioning
flutter 使用pub管理包:
pub-cn
pub
dependencies
url_launcher: ^5.4.0 配置pub管理
plugin1:
path: ../plugin1/ 配置本地库
plugin1:
url: git://github.com/flutter/plugin1.git 配置git库
plugin1:
url: git://github.com/flutter/plugin1.git 配置git库
path: packages/package1 ...
Lang 语言标准
Lang 语言标准
C/C++
K&R C => ANSI C = IOS C
History of C
History of C++
C: C90 C99 C11 C17
Java
Java (programming language)
Free Java Guide
OpenJDK
Java Community Process
Kotlin
Kotlin
Python
2020开始 Python2.0 不再维护
Python
Dart
Dart
Javascript
ECMAScript
EC6.0
Objective-c
About Objective-C
Swift
Welcome to Swift.org
Refe...
Lang 编程范式
Lang 编程范式
declarative vs imperative programming
declarative - 声明式编程 what to do, not how to do it
imperative - 命令式编程 how to do it, not what to do
不同抽象级别上使用的编程范式, declaretive 比 imperative 更高等一些, 只描述有哪些
对象, 并且这些对象做什么. 背后会有一个解析器, 解析描述语句, 所以性能不太好.
imperative 更贴近底层, 关注一个算法或者一个问题, 一步步的解的步骤.
Procedural programming paradigm
过程式编程, 注重...
Lang MVC系统设计模式
Lang MVC系统设计模式
MVC: Model-View-Controller
MVA: Model-View-Adapter
MVP: Model-View-Presenter
MVVM: Model-View-ViewModel
使用MVC系列设计模式, 使用在用户界面开发上. 可以把视图, 模型与控制分离开, 实现松
耦合设备, 方便重用, 测试与维护
MVC
Model: 模式的中心组成部分. 它是应用程序的动态数据结构, 独立于用户界面.
它直接管理应用程序的数据, 逻辑和规则.
View: 信息的任何表示形式,例如图表,图表或表格。可以使用同一信息的多种视图
,例如用于管理的条形图和用于会计的...
Oth 开源协议说明
Oth 开源协议说明
通过Open Source Initiative
组织批准的开源协议目前有58种, 常用的有BSD, GPL, LGPL, MIT, Apache五种.
BSD
可以对BSD库进行修改, 修改后需要在版权声明中包含库的BSD协议
不可以用BSD库的作者/机构名称/库名称做市场推广
允许开发商业软件与销售, 是商业软件的首选
Apache
与BSD类似
需要有一份Apache Licence, 如果修改了代码, 需要在被修改的文件中说明. 在延伸的代码
中需要带有原来代码的协议, 商标, 专利声明和其他原来作者规定需要包含的说明
如果项目有Notice文件, 需要包含原Apache Licence, 不能修改
G...
Flutter Desktop
Flutter Desktop
使用Flutter开发桌面, 目前有两种google维护的flutter-desktop-embedding和第三方
go-flutter.
go-flutter使用go和glfw开发.
flutter 原生支持desktop开发
macOS: Cocoa
windows: win32 UWP
linux: GTK GLFW
Reference
Desktop support for Flutter
Desktop support for Flutter
flutter-desktop-embedding
Flutter Desktop shells
go-flutter
Windows
Buil...
453 post articles, 57 pages.