1.aliԴ??
2.阿里云ACE的应用模板移植
3.使用Qt开发一个简单的嵌入式IDE
aliԴ??
an情景专栏将作为重点打造,期待您的关注与宝贵意见。
以INATabLayout为例,本文将首发介绍如何推广和引入an情景系列的livery框架。通过使用alidd框架中的INATabLayout,我们能够快速拓展Android原生TabLayout的源码分析框架功能。
alidd框架集成了实用的功能和技巧,以简洁友好的方式助力Android平台的便捷开发。它是一款专为快速集成和便捷开发而设计的框架。
在alidd框架中,INATabLayout基于androidx包中的TabLayout进行了功能扩展。它不仅保留了原有功能,还增加了修改选中项字体大小、字体粗体、字体和指示器颜色等功能。此外,指示器可设置、分割线、指示器长度,以及限制屏幕显示范围内显示的大脑王者辅助源码Tab个数。
本文最后将提供源码。以下是效果图展示。
下面视频展示了具体效果。
接下来,我们将介绍INATabLayout的使用步骤:
1. 在app目录(或module)下的build.gradle的dependencies中添加livery依赖库的引用。
2. 在布局文件中设置INATabLayout属性。
3. 更多详细的属性设置信息请参考本文。
4. 源码下载地址:github.com/qydq/alidd-s...
以上是INATabLayout的使用方法。如果您认为文章有不足之处,欢迎提出可行性意见和建议,共同进步。
请尊重作者的劳动成果,注意文中版权声明。Android专栏将不定时更新,欢迎点击关注。同时,您也可以关注人工智能专栏。本文作者sunst,如有问题请联系qyddai@gmail.com。树状图网站源码
作者:sunst 发布日期:-- : 最后修改日期:年月日 :
阿里云ACE的应用模板移植
Aliyun Cloud Engine(以下简称ACE)是基于弹性计算平台的可线性伸缩的应用托管运行环境。应用模板是我们借鉴了业内的App Store的概念,简化用户创建应用的步骤,方便应用的推广。本文只讲述PHP应用的模板移植,其它语言请参考相关文档。
1. 文件、目录读写
出于安全角度考虑,ACE对本地文件读写进行了一些限制,用户数据建议放在我们的OSS中(开放存储服务,具备高可靠性及可扩展性的海量数据存储),文件读写都需使用ACE提供的统一接口。ACE支持创建用户数据目录,也支持创建源代码文件上的目录。
PHP自带的fread、fwite 已被ACE默认关闭,请使用以下方法实现。
?php
Class CeFile{ }
Function write($fileName, $content, $sync=0) 文件写入
$fileName 文件路径(相对路径)
$content 文件内容
$sync是否需要同步到所有web端,为保证多台web数据同步,黑客测试php源码默认设为0
返回 true|false
Function read($fileName) 读取文件内容
$fileName 文件路径(相对路径)
返回文件内容|false
Function delete($fileName) 删除文件
$fileName 文件路径(相对路径)
返回 true|false
成员变量errno 为错误代号
成员变量errmsg 为返回的错误信息供debug时使用
ACE文件读写方法如下:
//创建cefile对象
$ce = new CeFile();
//文件写入
$ce-write($fileName, $content, $sync=0);
//读取文件内容
$ce-read($fileName);
//删除文件
$ce-delete($fileName);
2. 文件缓存部署
文件缓存的主要目的是把经常访问的数据保存在本地文件中,当有请求访问的时候,直接将数据调出,避免了再次对数据库的请求的I/O操作,减少数据库的负载压力。
ACE给每个应用默认部署两个实例,当有请求访问的时候,该请求就会路由到其中的一个实例。ACE具有伸缩性,随着请求的增加和减少,可以增加或减少实例。为了提高性能,ACE也具有文件缓存功能,如缓存配置信息。当用户修改配置文件时,应调用文件缓存的功能,实现多台实例间配置信息的同步。
因此,应用中若用到文件缓存,房卡捕鱼源码必须使用ACE提供的文件读写接口,使用方法同文件读写。使用文件缓存部署应将write方法$sync同步参数设置为1。
3. Memcache缓存部署
Memcache缓存管理是AACE为开发者提供的分布式缓存服务,以共享的方式缓存用户的key-value形式的小数据,以加快数据响应速度,减轻后端数据处理的压力。
ACE环境下的memchae是默认为开启的,默认给用户免费提供M。若用户需要使用memcache缓存,注意以下事项。
ACE支持的Memcache 的API如下:
bool Memcache::init ()
array Memcache::get ( array $keys [, array $flags ] )
bool Memcache::set ( string $key , mixed $var [, int $flag [, int $expire ]] )
bool add ( string $key , mixed $var [, int $flag [, int $expire ]] )
bool replace ( string $key , mixed $var [, int $flag [, int $expire ]] )
bool decrement ( string $key [, int $value = 1 ] )
bool increment ( string $key [, int $value = 1 ] )
bool delete ( string $key [, int $timeout = 0 ] )
bool close ()
ACE不支持的Memcache 的API 如下:
bool addServer* *( string $host [, int $port =
[, bool $persistent [, int $weight [, int $timeout [, int $retry_interval [, bool
$status [, callback $failure_callback [, int $timeoutms ]]]]]]]] )
bool connect* *( string $host [, int $port [, int $timeout ]] )
bool flush* *( void )
bool* *pconnect ( string $host [, int $port [, int $timeout ]] )
bool setServerParams* *( string $host [, int $port =
[, int $timeout [, int $retry_interval = false [, bool $status [, callback$failure_callback ]]]]] )
应用如果使用Memcache缓存,就必须使用ACE提供的memcache缓存接口。Memcache缓存使用方法如下:
?php
//连接
$mem = new Memcache(); //创建memcache对象,内部会访问agent获取地址 及ID
$mem-init();
//保存数据
$mem-set('key1', 'This is first value', 0, );
$val = $mem-get('key1');
//替换数据
$mem-replace('key1', 'This is replace value', 0, );
$val = $mem-get('key1');
//保存数组
$arr = array('aaa', 'bbb', 'ccc', 'ddd');
$mem-set('key2', $arr, 0, );
$val2 = $mem-get('key2');
//删除数据
$mem-delete('key1');
$val = $mem-get('key1');
//关闭连接
$mem-close();
4. 文件上传
通过Web上传的文件都是基于OSS的存储(OSS是阿里云提供的开放存储服务,用户可以利用OSS搭建、视频等多媒体分享网站,个人/企业数据备份等基于大规模数据的服务)。
由于ACE平台的限制,其上传的文件不能存储在本地,只能存储在OSS中,必须使用ACE提供的上传文件接口,文件上传后会生成对应的url。PHP自带的move_uploaded_file 方法已不能使用,请使用ACE提供方法。
文件上传方法如下:
move_uploaded_file($tmp_name, $filename)
替换为:
$ce = new ACEStorage();
$result = $ce-upload($tmp_name, $filename);
#$rs1 = $ce-errmsg(); 输出错误信息
#$rs2 = $ce-errno();
$result为返回的附件文件路径,可直接访问,如:
www.domain.com/aliyun_ce_storage/$filename
5. 缩略、水印等特殊问题
受本地文件读写条件限制等问题,缩略、水印等功能暂不支持,我们会在后续的版本中支持。
6. 数据备份恢复问题
ACE提供在线备份数据功能,在创建应用时,可以选择备份时间点。
如果想从应用中导出数据,则需要使用数据库客户端工具进行操作。
使用Qt开发一个简单的嵌入式IDE
开发了一个简单的嵌入式IDE,使用Qt实现,主要功能包括:下载安装、软件介绍、软件使用说明、项目创建、菜单栏功能、项目窗口、工程配置、设置、主界面和调试。下载地址:[阿里云盘]( alipan.com/s/qBGczbEQiK...)
源码地址:[Gitee]( gitee.com/collimator/cn...)
版本信息:目前仅支持Windows系统。
首次启动后,界面显示如下,IDE会自动设置为中文环境,如需更改,点击编辑->设置->环境->外观->语言,然后重启软件。
新建项目:通过项目->新建项目创建,仅支持STMFRC和Other STM Device,STMFRC用于测试,与CubeMX集成,使用CubeMX搭建工程。
导入工程:创建工程后,导入到IDE中,名称和文件夹与CubeMX配置保持一致,导入成功后,编译显示错误,需关闭CubeMX,重新编译。
菜单栏功能:文件、编辑、视图、代码、项目和调试菜单,包括文件编辑、项目管理、视图控制、代码编辑和调试工具。
项目窗口:展示文件、项目、函数和寄存器信息。
工程配置:目标、C/C++和调试设置,包括输出路径、编译参数、头文件路径、调试选项等。
设置:编辑器样式设置,如主题、字体、语言切换、代码样式等。
主界面:编辑界面用于查看和编辑代码,添加书签、断点,PDF文件查看和编辑,提供目录、放大缩小和文字提取功能。
测试例程编写:编写代码,添加自定义关键字,测试编译、下载和调试过程。
下载和调试:完成代码编写后,进行下载验证,连接目标设备,调试例程。
总结:当前版本为初版,功能尚不完善,存在一些问题,后续将持续改进和更新,欢迎参考源码,共同开发和优化。