API变更说明
更新日期:2022.11.1
本页内容
API变更日志
v5.0.2(50299)
createVirtualClass(normalTable)增加__index方法- 作用:使
Manager可以直接赋值
- 作用:使
PermissionUtil.smartRequestPermission(permissions)方法已删除- 作用:被
PermissionUtil.askForRequestPermissions(permissionsLists)代替,更好申请权限
- 作用:被
- 新增
LuaEditorHelper.initKeysTaskFunc(keyWords,jesse205KeyWords) - 新增
LuaEditorHelper.initKeys(editor,editorParent,pencilEdit,progressBar)
v5.0.3(50399)
onCreate(savedInstanceState)先执行模块的onCreate,再执行本身的代码。如果模块的返回true,则不执行本身的代码。- 作用:支持更多功能(如:新增
keys,启动时选择性打开文件)
- 作用:支持更多功能(如:新增
PluginsUtil.callElevents(name, ...)将降低false的优先级- 作用:使程序逻辑更完善
PluginsUtil.loadPlugins()并不总是校验所有插件的启用状态- 作用:提升子页面的打开速度
PluginsUtil升级3.1版本PluginsUtil.getReallyEnabled(enabled,config)是否真的已启用- 模块
init.lua移除minemastercode、targetmastercode、supported,详情请见 Wiki - 模块
init.lua新增icon-night,自适应夜间模式图标
v5.1.0(51099) (原v5.0.4)
API 名称变更
SharedData:
| 原名称 | 新名称 | 说明 |
|---|---|---|
| Jesse205Lib_Highlight | jesse205Lib_support | 更全面设置 Jesse205 库 |
| AndroidX_Highlight | androidX_support | 更全面设置 AndroidX 库 |
| ... | ... | ... |
Jesse205 库:
| 原名称 | 新名称 | 说明 |
|---|---|---|
| Jesse205 | jesse205 | Jesse205库基本上所有的语句 |
| AppPath.AppSdcardCacheDataDir | AppPath.AppSdcardDataCacheDir | 路径:Android/data/<packagename>/cache |
| AppPath.AppShareDir | AppPath.AppMediaDir | 路径:Android/media/<packagename>/cache |
| AppPath.AppShareCacheDir | AppPath.AppMediaCacheDir | 路径:Android/media/<packagename>/cache |
| ... | ... | ... |
其他 API:
| 原名称 | 新名称 | 说明 |
|---|---|---|
| RePackTool.getMainProjectName | RePackTool.getMainModuleName | 那个东西叫模块 |
| EditorsManager.symbolBar.psButtonClick | EditorsManager.symbolBar.onButtonClickListener | 符号栏点击 |
| ... | ... | ... |
页面标识变更
| 原标识 | 新标识 | 说明 |
|---|---|---|
| / | newproject | 新建工程页面 |
| / | about | 关于页面 |
| / | layouthelper | 布局助手页面 |
| / | javaapi | JavaAPI查看器页面 |
| / | viewclass | 查看类页面 |
| ... | ... | ... |
参数变更
| 函数名 | 原参数 | 新参数 | 说明 |
|---|---|---|---|
| FilesTabManager.closeFile | (lowerFilePath,blockOpen,changeEditor) | (lowerFilePath,removeTab,changeEditor) | removeTab: 移除文件标签,默认为true |
| getFilePathCopyMenus | (inLibDirPath,filePath,fileName,isFile,fileType) | (inLibDirPath,filePath,fileRelativePath,fileName,isFile, isResDir,fileType) | |
| ... | ... |
废除的 API
警告
您必须及时删除这些API,否则您的插件将无法运行
| 名称 | 说明 |
|---|---|
| EditorsManager.keyWords | 默认关键词 |
| EditorsManager.jesse205KeyWords | Jesse205 库关键词 |
| EditorsManager.symbolBar.psButtonClick | 符号栏优化 |
| ... | ... |
新增的 API
| 名称 | 说明 |
|---|---|
| AppPath.AppDataTempDir | /data/data/<packagename>/files/temp |
| AppPath.AppSdcardDataTempDir | Android/data/<packagename>/files/temp |
| AppPath.AppMediaTempDir | Android/media/<packagename>/files/temp |
| editorLayouts.LuaEditor.packagesList | 待加载的包映射/列表 |
| editorLayouts.LuaEditor.keywordsList | 待加载的关键词映射/列表 |
| FileTemplates.enName | 模板英文名 |
| FileTemplates.id | 模板标识 |
| FilesBrowserManager.providers | 文件浏览器提供者 |
| ProjectManager.reopenProject() | 重新打开项目。 * 由于此API,项目可能会在未关闭旧项目的情况下打开新的项目。 |
| formatColor2Hex(color) | 将 number 类型的颜色值转换为字符串的16进制 color (number): 颜色值 return (string): 颜色值 |
| getColorAndHex(text) | 获取文字内颜色的数值和16进制 text (number): 待分析的文本 return (number), (string): 颜色值 |
| getTableIndexList(mTable) | 获取table的索引列表 mTable (table): 随便的 table return (table (list)): mTable的索引列表 |
| editorLayouts[EditorName] .onTypefaceChangeListener(ids,config, editor,typeface,boldTypeface,italicTypeface) | 当编辑器字体发生改变时 |
| EditorsManager.typefaceChangeListeners | 编辑器字体改变监听器 |
| EditorsManager.sharedDataChangeListeners | SharedData变更监听器 |
| EditorsManager.symbolBar.symbols | 符号栏里面的符号配置 |
| EditorsManager.refreshTypeface() | 刷新编辑器字体 |
| EditorsManager.checkAndRefreshTypeface() | 检查并刷新编辑器字体 |
| EditorsManager.checkAndRefreshSharedDataListeners() | 检查并刷新SharedData监听器 |
| authorizeHWApplicationPermissions(uri) | 适配华为文件管理 |
| ... | ... |
PluginsUtil:
| 名称 | 说明 |
|---|---|
| clearOpenedPluginPaths() | 清除已启用的插件路径列表 |
| ... | ... |
类库:
| 名称 | 说明 |
|---|---|
| db | LuaDB, 在 Github 上查看 |
| ... | ... |
FilesTabManager.closeFile(lowerFilePath,removeTab,changeEditor)第二个变量由原来没用的blockOpen改为removeTab,默认为true- NoneView 将不在启动时初始化
- 作用:优化代码
- 新增
ProjectManager.reopenProject(),项目可能会在未关闭旧项目的情况下打开新的- 作用:刷新
config.lua
- 作用:刷新
EditorsManager.keyWords与EditorsManager.jesse205KeyWords已废除,已由editorLayouts.LuaEditor.packagesList、editorLayouts.LuaEditor.keywordsList代替- 作用:方便插件添加关键字
- SharedData 中将
Jesse205Lib_Highlight与AndroidX_Highlight已被jesse205Lib_support与androidX_support取代- 作用:统一变量
- 页面标识新增
newproject,about,layouthelper,javaapi,viewclass页面- 作用:更方便地添加内容
- Jesse205 库的
Jesse205改为jesse205,哪里报错就看哪里吧- 作用:好看
main页面bottomAppBar不再固定大小RePackTool工具的getMainProjectName已更名为getMainModuleName- 修复
main页面onResume的notFirstOnResume始终为true的 bug,并且现在可以返回true阻止程序继续运行 AppPath.AppSdcardCacheDataDir已更名为AppPath.AppSdcardDataCacheDir,AppPath.AppShareDir已更名为AppPath.AppMediaDir,AppPath.AppShareCacheDir已更名为AppPath.AppMediaCacheDir,新增AppPath.AppSdcardDataTempDir等路径main页面新增formatColor2Hex(color)与getColorAndHex(text)- FileTemplates 新增
enName与id- 作用:新增中文,切换语言时保持选项不变
getFilePathCopyMenus()的参数改为(inLibDirPath,filePath,fileRelativePath,fileName,isFile,isResDir,fileType),新增了fileRelativePath与isResDir- 作用:能获取到更多的复制菜单
- 新增文件浏览器提供者,
FilesBrowserManager.providers- 作用:更自由添加文件菜单
- 新增模块
db,在 Github 上查看 - 新增
editorLayouts[EditorName].onTypefaceChangeListener(ids,config,editor,typeface,boldTypeface,italicTypeface)- 作用:提供个性化字体
- 新增
onStart与onStop等事件,了解详情 - 新增
PluginsUtil.clearOpenedPluginPaths(),清除已启用的插件路径列表- 作用:方便重载插件
- 新增
getTableIndexList(mTable),获取table的索引列表 - 添加
EditorsManager.typefaceChangeListeners EditorsManager.actions自动获取编辑器事件,getXxx会直接返回值,其他事件返回是否支持- 新增
EditorsManagersymbolBar.symbols- 作用:符号栏内容单独提取
- 废除
EditorsManagersymbolBar.symbols.psButtonClick - 新增
EditorsManager.sharedDataChangeListeners- 作用:更方便刷新配置
- 新增
EditorsManager.refreshTypeface()、EditorsManager.checkAndRefreshTypeface()与EditorsManager.checkAndRefreshSharedDataListeners() - ......
警告
此版本由于更改太多,文档不全,请参考 git 的变更信息和软件源码
v5.1.1(51199)
变更
- main 页面
- PluginsManagerUtil
| 方法 | 说明 |
|---|---|
| uninstall | 在成功之后自动执行 PluginsManagerUtil.clearOpenedPluginPaths() |
| showInstallDialog | 在成功之后自动执行 PluginsManagerUtil.clearOpenedPluginPaths() |
| installByUri | 见 PluginsManagerUtil.showInstallDialog |
- NewProjectManager
| 方法 | 说明 |
|---|---|
| applySingleCheckGroup | 修复未指定默认Chip时虽然有选择但是没有保存数据的bug,并弹出警告 |
- FilesBrowserManager
| 方法 | 说明 |
|---|---|
| refresh | 新增 fileName 参数,用于文件高亮显示 |
- 其他
| 方法 | 说明 |
|---|---|
| createVirtualClass | 返回结果改为 normalTable |
| NewProjectManager.loadTemplate | 允许 keys 为空值 |
| MyCardTitleEditLayout.layout | CardView 下面增加了 FrameLayout,并增加了清除按钮 |
| RePackTool.getSubprojectPathIteratorByList(config,projectPath) | api 去处 Java字符 |
新增
main 页面
- 文件:
| 文件名 | 说明 |
|---|---|
| SubActivityUtil.lua | 子页面相关 |
| ClearContentHelper.lua | 清空按钮 |
- NewProjectManager:
| 方法 | 说明 |
|---|---|
| getNowModuleDirName(fileRelativePath) | 获取当前模块目录名称,如果当前路径不在模块内,则返回主模块名称 |
- 事件:
| 事件 | 说明 |
|---|---|
| onPause | 生命周期:暂停 |
- 其他方法:
| 方法 | 说明 |
|---|---|
| copyFilesFromDocumentFile(documentFile,targetPath) | 复制文件,从 DocumentFile 内 |
| safeLoadLayout(path,parent) | 安全加载 lua 布局,避免污染全局变量 |
- 编辑器:
| 名称 | 说明 |
|---|---|
| FrameView | 想添加啥,就添加啥 |
| WebEditor | 其实就是个浏览器 |
其他:
插件支持
README.md新增RES资源获取工具(
res.lua),一切资源都使用这个工具
废除
main 页面
- EditorManager.symbolBar
| 老方法 | 新方法 |
|---|---|
| onButtonLongClickListener | symbolBar.onButtonTouchListener |
| 老支持库 | 新支持库 |
|---|---|
| sharp | androidsvg |
v5.1.2(51299)
新增
main 页面
- 工具
| 文件名 | 介绍 |
|---|---|
| AnimationHelper.lua | 用于打开和关闭阴影 |
移除
- main 页面
| 变量 | 说明 |
|---|---|
| oldTabIcon | 被 FilesTabManager.tabIconState 代替 |
Jesse205Library
- 大量的RES颜色
- 废弃
theme - 大量的
attr
SettingsLayUtil支持自定义sharedPreferences
我懒,详情请见github更改日志