GitHubAction详解
一.GitHubAction简介🧅什么是Github Action ?GitHubActions是一个持续集成和持续交付的平台,它可以帮助你通过自动化的构建(包括编译、发布、自动化测试)来验证你的代码,从而尽快地发现集成错误。github于2019年11月后对该功能全面开放,现在所有的github用户可以直接使用该功能。GitHub 提供 Linux、Windows 和 macOS 虚拟机来运行您的工作流程,或者您可以在自己的数据中心或云基础架构中托管自己的自托管运行器。在使用Github Action之前首先需要了解以下前置知识: 持续集成/持续交付的概念。 Git相关知识。 Linux或Windows或macOS脚本相关知识。 Yaml基础语法。 🍤什么是Yaml ?编写GithubAction的流程时,需要创建一个workflow工作流,workflow必须存储在你的项目库根路径下的.github/workflows目录中,每一个 workflow对应一个具体的.yml 文件(或者 .yaml)。yml是YAML(YAML Ain’t Markup...
使用Getx框架简化Flutter开发
一. GetX的作用GetX 是 Flutter 上的一个轻量且强大的解决方案,包含了以下的功能. 页面状态管理(跨页面交互) 路由管理 国际化、主题的适配 全局BuildContext 无Context弹窗 依赖注入 二. GetX安装GetX 1. 引入GetX依赖在pubspec.yaml文件中添加Getx依赖: 1get: ^4.x.x 2. GetX入口配置各模块导包,均使用下面包即可 1import 'package:get/get.dart'; 只需要将MaterialApp改成GetMaterialApp便可以使用GetX提供的相关功能. 123456789101112void main() { runApp(MyApp());}class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return GetMaterialApp( home: HomePage(), ...
AndroidJetpack分页组件paging3
一.什么是pagingJetpack Paging提供了列表中分页数据加载的解决方案,已经被广泛熟知和使用,目前这个库升级到了3.0版本。Paging3 基于Kotlin协程进行了重写,兼容Flow、Rxjava、LiveData等多种API方式。 每一页的数据会缓存至内存中,以此保证处理分页数据时更有效的使用系统资源 内置请求重复数据删除功能,确保应用有效地使用网络带宽和系统资源 支持Kotlin协程、Flow、LiveData以及RxJava 内置错误处理支持,如刷新和重试功能。 二.引入依赖1234//javaimplementation 'androidx.paging:paging-runtime:3.0.0-alpha07'//kotlinimplementation 'androidx.paging:paging-runtime-ktx:3.0.0-alpha07' 三.初步使用1. 配置数据源12345678910111213141516171819202122232425262728class...
Web前端后端渲染
渲染以Jade,YAML为代表的模板渲染引擎一般作用于服务器作为后端的视图部分。互联网早期,用户使用浏览器浏览的都是一些没有复杂逻辑的、简单的页面,这些页面都是在后端将html拼接好的然后将之返回给前端完整的html文件,浏览器拿到这个html文件之后就可以直接解析展示了,而这也就是所谓的服务器端渲染了。因为后端拼接完了html,浏览器只需要直接渲染出来。 1、为什么会有服务端渲染和客户端渲染? 越来越复杂的 UI 意味着越来越多的渲染工作。目前,通常有两种选择:服务端渲染和客户端渲染。 以 Jade 和 YAML 为代表的模板渲染引擎一般作为后端视图部分作用于服务器。 使用直接处理HTML DOM 作用于前端,本质是客户端进行渲染。 最终用户看到的效果在两者之间是相同的。 最后,Web App 必须在 HTML 和 CSS 中实现,然后才能反映在用户界面中。 后端渲染归根结底就是将一些模板规范语言翻译成以上三种语言,传回给前端;而前端渲染则是将生成的整个逻辑代码传回前端,再由客户端生成用户界面。 一开始,Web...
网页拉起Android应用实现
如果目标App没有启动,那么就拉起App,并跳转到App内指定页面 如果目标App已经启动,那么就把App拉到前台并跳转App内指定页面 命令行adb测试deeplink 直接使用命令行adb测试deeplink,使用命令: 1adb shell am start -a android.intent.action.VIEW -d "rsdkdemo://rs.com/test?referer=Deeplink_Test" 方式一将MainActivity设置为scheme接受方,并且设置launchMode1234567891011121314<activity android:name="com.example.imageloader.MainActivity" android:exported="true" android:launchMode="singleTask"> <intent-filter> <action...
使用Fastlane编写Android自动打包脚本
一.什么是Fastlane?Fastlane 是一款为 iOS 和 Android 开发者提供的自动化构建工具,它可以帮助开发者将 App 打包、签名、测试、发布、信息整理、提交 App Store 等工作完整的连接起来, 实现完全自动化的工作流。Fastlane本身没有一套特殊语法,使用的Ruby语言。Fastlane的插件工具叫做action,每一个action都对应一个具体的功能。 二.安装FastlaneFastlane是基于Ruby编写得因此需要先安装Ruby开发环境,如果使用Docker可以拉取Ruby镜像进行操作。gem是ruby的包管理工具,首先确认下你的gem版本,最好是2.6+, 12gem -v2.6.6 正式开始安装fastlane之前,建议再换一下源: 1gem sources --add https://gems.ruby-china.org/ --remove https://ruby gems.org/ 换完后确认一下: 123gem sources -l*** CURRENT SOURCES...
CI-CD工具之GitLab-Runner
一.GitLab-CI和GitLab-Runner简介1.GitLab-CI是什么?GitLab-CI就是一套配合GitLab使用的持续集成系统(当然,还有其它的持续集成系统,同样可以配合GitLab使用,比如Jenkins)。GitLab8.0以后的版本默认集成了GitLab-CI并且默认启用的。 2.GitLab-Runner是什么?Gitlab只是个代码仓库,想要实现CI/CD还需安装gitlab-runner,gitlab-runner相当于是Gitlab-CI中的任务的执行器,Gitlab会在需要执行任务时调用它。GitLab-CI的作用是管理各个项目的构建状态,运行构建任务这种浪费资源的事情就交给 GitLab Runner 来做。因为 GitLab Runner 可以安装到不同的机器上,所以在构建任务运行期间并不会影响到 GitLab 的性能...
x96max+-电视盒子如何刷入EmuELEC游戏系统
一. 了解相关概念1. Kodi是什么?Kodi(以前称为XBMC)是一个免费的开放源代码媒体播放器软件应用程序,它可以运行在Linux、OSX、Windows、Android等多种操作系统和硬件平台。它是一个优秀的开源的(GPL)媒体中心软件。最初为Xbox而开发,叫XBMC(全称是XBOX Media Center),也就是XBOX平台的媒体中心。因为全世界开发者的参与,这个软件已经拥有远远超过以往的功能,这已经不能用‘一个简单播放器’来包含所有的一切了。因为这个原因,XBMC.14后更名为Kodi。Kodi的图形用户界面让用户方便地从硬盘、光盘、局域网和互联网浏览和观看视频、图片,收听广播和音乐。Kodi项目由非营利的XBMC基金会管理,并由分布在世界各地的志愿者参与开发。不仅如此Kodi还能通过插件提供各种扩展的功能,有Kodi开发团队,也有第三方人员开发的插件。kodi中文网 2. LibreELEC是什么?LibreELEC 是基于 Linux 的多媒体播放系统,其宗旨是在一个高度精简的 Linux 系统下通过 KODI 播放多媒体音视频,LibreELEC 是...
UEFI与BIOS-有什么区别
一.BIOS🐒BIOS是什么BIOS(Basic Input Output System)译为基本输入输出系统。它是一组固化到计算机内主板上一个ROM芯片上的程序 ,保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,为计算机提供最低级的、最直接的硬件控制。和其它程序不同的是,BIOS是储存在BIOS芯片中的,而不是储存在磁盘中,因此它属于主板的一部分。大家有时就称呼它一个既不同于软件也不同于硬件的名字“Firmware”(固件)。一般而言,BIOS ROM芯片是主板上唯一贴有标签的芯片,上面印有“BIOS”字样, 虽然有些主板上的BIOS 芯片没有明确印出“BIOS”,但凭借外贴的标签也能很容易地将它认出,BIOS ROM芯片在主板上很引人注目(如下图)。BIOS是一种程序,其内容是软件,由生产厂商在出厂时用烧录的形式集成在主板上的一块ROM芯片中,因此它的表现形式为硬件。通常所说的BIOS芯片实际上指的是存储BIOS的ROM芯片,ROM只是BIOS的载体。 为了在关机后使 BIOS 不会丢失,早期的 BIOS...
Flutter之主题和多语言
支持国际化为了尽可能小而且简单,flutter包中仅提供美国英语值的MaterialLocalizations和WidgetsLocalizations接口的实现(实现类分别为DefaultMaterialLocalizations和DefaultWidgetsLocalizations)。所以Material组件库和开发人员的UI都需要进行国际化: Material组件库比如:日历组件默认在任何环境下都会以英文显示,所以需要国际化。需要依赖flutter_localizations包,包含GlobalMaterialLocalizations和GlobalWidgetsLocalizations的本地化接口的多语言实现。 开发人员的UI。需要实现Localizations。 iOS需要在info.plist中添加Localizations项(在其中添加语言,默认有一个英文) 添加依赖默认情况下,Flutter...