API变更说明

更新日期:2022.11.1

本页内容

API变更日志

v5.0.2(50299)

  1. createVirtualClass(normalTable) 增加 __index 方法
    • 作用:使 Manager 可以直接赋值
  2. PermissionUtil.smartRequestPermission(permissions) 方法已删除
    • 作用:被 PermissionUtil.askForRequestPermissions(permissionsLists) 代替,更好申请权限
  3. 新增 LuaEditorHelper.initKeysTaskFunc(keyWords,jesse205KeyWords)
  4. 新增 LuaEditorHelper.initKeys(editor,editorParent,pencilEdit,progressBar)

v5.0.3(50399)

  1. onCreate(savedInstanceState) 先执行模块的 onCreate ,再执行本身的代码。如果模块的返回 true ,则不执行本身的代码。
    • 作用:支持更多功能(如:新增 keys ,启动时选择性打开文件)
  2. PluginsUtil.callElevents(name, ...) 将降低 false 的优先级
    • 作用:使程序逻辑更完善
  3. PluginsUtil.loadPlugins() 并不总是校验所有插件的启用状态
    • 作用:提升子页面的打开速度
  4. PluginsUtil 升级3.1版本
  5. PluginsUtil.getReallyEnabled(enabled,config) 是否真的已启用
  6. 模块 init.lua 移除 minemastercodetargetmastercodesupported ,详情请见 Wiki
  7. 模块 init.lua 新增 icon-night ,自适应夜间模式图标

v5.1.0(51099) (原v5.0.4)

API 名称变更

SharedData:

原名称新名称说明
Jesse205Lib_Highlightjesse205Lib_support更全面设置 Jesse205 库
AndroidX_HighlightandroidX_support更全面设置 AndroidX 库
.........

Jesse205 库:

原名称新名称说明
Jesse205jesse205Jesse205库基本上所有的语句
AppPath.AppSdcardCacheDataDirAppPath.AppSdcardDataCacheDir路径:Android/data/<packagename>/cache
AppPath.AppShareDirAppPath.AppMediaDir路径:Android/media/<packagename>/cache
AppPath.AppShareCacheDirAppPath.AppMediaCacheDir路径:Android/media/<packagename>/cache
.........

其他 API:

原名称新名称说明
RePackTool.getMainProjectNameRePackTool.getMainModuleName那个东西叫模块
EditorsManager.symbolBar.psButtonClickEditorsManager.symbolBar.onButtonClickListener符号栏点击
.........
页面标识变更
原标识新标识说明
/newproject新建工程页面
/about关于页面
/layouthelper布局助手页面
/javaapiJavaAPI查看器页面
/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.jesse205KeyWordsJesse205 库关键词
EditorsManager.symbolBar.psButtonClick符号栏优化
......
新增的 API
名称说明
AppPath.AppDataTempDir/data/data/<packagename>/files/temp
AppPath.AppSdcardDataTempDirAndroid/data/<packagename>/files/temp
AppPath.AppMediaTempDirAndroid/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.sharedDataChangeListenersSharedData变更监听器
EditorsManager.symbolBar.symbols符号栏里面的符号配置
EditorsManager.refreshTypeface()刷新编辑器字体
EditorsManager.checkAndRefreshTypeface()检查并刷新编辑器字体
EditorsManager.checkAndRefreshSharedDataListeners()检查并刷新SharedData监听器
authorizeHWApplicationPermissions(uri)适配华为文件管理
......

PluginsUtil:

名称说明
clearOpenedPluginPaths()清除已启用的插件路径列表
......

类库:

名称说明
dbLuaDB, 在 Github 上查看在新窗口打开
......
新增事件
名称说明
onStart()了解详情
onStop()了解详情
onKeyShortcut(keyCode, event)了解详情
......
  1. FilesTabManager.closeFile(lowerFilePath,removeTab,changeEditor) 第二个变量由原来没用的 blockOpen 改为 removeTab ,默认为 true
  2. NoneView 将不在启动时初始化
    • 作用:优化代码
  3. 新增 ProjectManager.reopenProject() ,项目可能会在未关闭旧项目的情况下打开新的
    • 作用:刷新 config.lua
  4. EditorsManager.keyWordsEditorsManager.jesse205KeyWords 已废除,已由 editorLayouts.LuaEditor.packagesListeditorLayouts.LuaEditor.keywordsList 代替
    • 作用:方便插件添加关键字
  5. SharedData 中将 Jesse205Lib_HighlightAndroidX_Highlight 已被 jesse205Lib_supportandroidX_support 取代
    • 作用:统一变量
  6. 页面标识新增 newprojectaboutlayouthelperjavaapiviewclass 页面
    • 作用:更方便地添加内容
  7. Jesse205 库的 Jesse205 改为 jesse205 ,哪里报错就看哪里吧
    • 作用:好看
  8. main 页面 bottomAppBar 不再固定大小
  9. RePackTool 工具的 getMainProjectName 已更名为 getMainModuleName
  10. 修复 main 页面 onResumenotFirstOnResume始终为 true 的 bug,并且现在可以返回true阻止程序继续运行
  11. AppPath.AppSdcardCacheDataDir 已更名为 AppPath.AppSdcardDataCacheDirAppPath.AppShareDir已更名为AppPath.AppMediaDirAppPath.AppShareCacheDir 已更名为 AppPath.AppMediaCacheDir ,新增 AppPath.AppSdcardDataTempDir等路径
  12. main 页面新增 formatColor2Hex(color)getColorAndHex(text)
  13. FileTemplates 新增 enNameid
    • 作用:新增中文,切换语言时保持选项不变
  14. getFilePathCopyMenus() 的参数改为 (inLibDirPath,filePath,fileRelativePath,fileName,isFile,isResDir,fileType),新增了 fileRelativePathisResDir
    • 作用:能获取到更多的复制菜单
  15. 新增文件浏览器提供者,FilesBrowserManager.providers
    • 作用:更自由添加文件菜单
  16. 新增模块 db在 Github 上查看在新窗口打开
  17. 新增 editorLayouts[EditorName].onTypefaceChangeListener(ids,config,editor,typeface,boldTypeface,italicTypeface)
    • 作用:提供个性化字体
  18. 新增 onStartonStop 等事件,了解详情
  19. 新增 PluginsUtil.clearOpenedPluginPaths(),清除已启用的插件路径列表
    • 作用:方便重载插件
  20. 新增 getTableIndexList(mTable),获取table的索引列表
  21. 添加 EditorsManager.typefaceChangeListeners
  22. EditorsManager.actions 自动获取编辑器事件,getXxx 会直接返回值,其他事件返回是否支持
  23. 新增 EditorsManagersymbolBar.symbols
    • 作用:符号栏内容单独提取
  24. 废除 EditorsManagersymbolBar.symbols.psButtonClick
  25. 新增 EditorsManager.sharedDataChangeListeners
    • 作用:更方便刷新配置
  26. 新增 EditorsManager.refreshTypeface()EditorsManager.checkAndRefreshTypeface()EditorsManager.checkAndRefreshSharedDataListeners()
  27. ......

警告

此版本由于更改太多,文档不全,请参考 git 的变更信息和软件源码

v5.1.1(51199)

变更
  • main 页面
    • PluginsManagerUtil
方法说明
uninstall在成功之后自动执行 PluginsManagerUtil.clearOpenedPluginPaths()
showInstallDialog在成功之后自动执行 PluginsManagerUtil.clearOpenedPluginPaths()
installByUriPluginsManagerUtil.showInstallDialog
  • NewProjectManager
方法说明
applySingleCheckGroup修复未指定默认Chip时虽然有选择但是没有保存数据的bug,并弹出警告
  • FilesBrowserManager
方法说明
refresh新增 fileName 参数,用于文件高亮显示
  • 其他
方法说明
createVirtualClass返回结果改为 normalTable
NewProjectManager.loadTemplate允许 keys 为空值
MyCardTitleEditLayout.layoutCardView 下面增加了 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
老方法新方法
onButtonLongClickListenersymbolBar.onButtonTouchListener
老支持库新支持库
sharpandroidsvg

v5.1.2(51299)

新增
  • main 页面

    • 工具
文件名介绍
AnimationHelper.lua用于打开和关闭阴影
移除
  • main 页面
变量说明
oldTabIconFilesTabManager.tabIconState 代替

Jesse205Library

  • 大量的RES颜色
  • 废弃 theme
  • 大量的 attr
  1. SettingsLayUtil 支持自定义sharedPreferences

我懒,详情请见github更改日志

相关链接