0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙开发实战:基于【Markwon】移植和开发

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-03-25 16:27 次阅读

本项目是基于开源项目Markwon进行适用harmonyos的移植和开发的。

移植版本:v4.6.2

1. 项目介绍

项目名称:Markwon

所属系列:harmonyos的第三方组件适配移植

功能:

  • Emphasis (*, _)
  • Strong emphasis (**, __)
  • Strike-through (~~)
  • Headers (#{1,6})
  • Links () && [][])
  • Images
  • Thematic break (---, ***, ___)
  • Quotes & nested quotes (>{1,})
  • Ordered & non-ordered lists & nested ones
  • Strike-through (, , )~~
  • Link (a).

项目移植状态:

项目已完成移植,完成度50%,差异如下

  • 主界面点击右上角图标,进入README.md界面不能正常显示内容
  • 主界面stable 版本信息栏使用固定信息及样式
  • 主界面CHECK FOR UPDATE 点击检测更新版本无对应链接
  • 主界面列表条目点击后进入页面不能正常显示内容
  • 主界面列表条目标签4个以上不能自动换行
    添加了demo模块用于效果展示;

编程语言:java

2. 集成指引

方式一

  1. 下载或自行编译生成Markwon的.har文件,文件路径为:./demo/libs/Markwon-debug.har。
  2. 自行编译时,需要注意要自行添加签名。
  3. 导入你的harmonyos项目模块的**./libs**中。
  4. 在模块下的build.gradle中确认依赖**./libs**下的.har包,implementation fileTree(dir: 'libs', include: ['*.jar', '*.har'])
  5. 在代码中使用。

方式二:

  1. 在根目录的build.gradle文件中添加mavenCentral()
    // Top-level build file where you can add configuration options common to all sub-projects/modules.
    ...
    buildscript {
        repositories {
            ...
            mavenCentral()
        }
        ...
    }
    
    allprojects {
        repositories {
            ...
            mavenCentral()
        }
    }
    
  2. 在module目录下的build.gradle文件中添加``
    ...
    dependencies {
        ...
        implementation 'com.gitee.ts_ohos:markwon:1.0.1'
    }
    

3. 使用说明

更多用法参考本项目的 demo ,原项目Java DocOHOS的文档。
主要用法如下:

Inline HTML

< u >< i >H< sup >T< sub >M< /sub >< /sup >< b >< s >L< /s >< /b >< /i >< /u >

*HTML*


< ScrollView
  android:id="@+id/scroll_view"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:layout_marginTop="?android:attr/actionBarSize" >

  < TextView
    android:id="@+id/text"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="16dip"
    android:lineSpacingExtra="2dip"
    android:textSize="16sp"
    tools:text="yonman" / >

< /ScrollView >
// username, repo, branch, lastPathSegment

    String RE_FILE = "^"+TextUtils.getHttps()+"github.com/([w-.]+?)/([w-.]+?)/(?:blob|raw)/([w-.]+?)/(.+)$";
    private static final String RE_REPOSITORY = "^"+TextUtils.getHttps()+"github.com/([w-.]+?)/([w-.]+?)/*$";

    public static Pair< String, String > parseRepository(String url) {

        Pattern pattern = Pattern.compile(RE_REPOSITORY);
        Matcher matcher = pattern.matcher(url);
        if (matcher.matches()) {
            String user = matcher.group(1);
            String repository = matcher.group(2);
            if (TextUtils.isEmpty(user) || TextUtils.isEmpty(user)) {
                return new Pair<  >(null, null);
            } else {
                return new Pair<  >(user, repository);
            }
        } else {
            return new Pair< String, String >(null, null);
        }
    }
private static final String SAMPLE_PREFIX = "io.noties.markwon.app.";

    @NonNull
    public static List< Sample > readSamples(@NonNull Context context) {

        RawFileEntry rawFileEntry = context.getResourceManager().getRawFileEntry("resources/rawfile/samples.json");
        try (InputStream inputStream = rawFileEntry.openRawFile()) {
            return readSamples(inputStream);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

更多鸿蒙开发应用知识已更新gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md参考前往。

或+mau123789学习,是v喔

鸿蒙系统移植和裁剪定制.png

4. 效果演示

1. 主界面展示
2. 点击item中plugin标签,显示选择结果

*注 : demo中的图片是点击不同标签,进行筛选显示结果

5. 版本迭代

  • v1.0.0 基于原项目最新版本,移植功能及提交。
  • v1.0.1 更新harmonyos API至5。

6. 版本和许可信息

  • Apache License 2.0
  • [LICENSE]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

  

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开源
    +关注

    关注

    3

    文章

    3210

    浏览量

    42286
  • 鸿蒙
    +关注

    关注

    57

    文章

    2301

    浏览量

    42668
  • HarmonyOS
    +关注

    关注

    79

    文章

    1965

    浏览量

    29953
收藏 人收藏

    评论

    相关推荐

    鸿蒙实战项目开发:【短信服务】

    数据管理 电话服务 分布式应用开发 通知与窗口管理 多媒体技术 安全技能 任务管理 WebGL 国际化开发 应用测试 DFX面向未来设计 鸿蒙系统移植和裁剪定制 …… ​ 《
    发表于 03-03 21:29

    鸿蒙Flutter实战:07混合开发

    # 鸿蒙Flutter实战:混合开发 鸿蒙Flutter混合开发主要有两种形式。 ## 1.基于har 将flutter module
    发表于 10-23 16:00

    Mini2440 Linux移植开发实战指南

    Mini2440 Linux移植开发实战指南
    发表于 08-20 19:26

    【连载】信盈达实力大佬讲师带你学习鸿蒙系统移植和驱动开发

    鸿蒙开发课程介绍:第一节鸿蒙操作系统需要安装的软件有哪些,本节课将会重点介绍软件的安装步骤,以及如何获取安装包。连载中...第二节接着将带领大家进行u-boot、内核、根文件系统的移植
    发表于 09-11 10:25

    LabVIEW入门与实战开发100例

    LabVIEW入门与实战开发100例LabVIEW入门与实战开发100例LabVIEW入门与实战开发
    发表于 02-18 11:44 0次下载

    c#开发Android应用实战

    c#开发Android应用实战
    发表于 07-14 13:32 0次下载

    iTOP-4412开发板-实战教程-ssh服务器移植到arm开发

    迅为iTOP-4412开发板-实战教程-ssh服务器移植到arm开发
    发表于 05-15 11:11 28次下载

    华为开发者大会分论坛HarmonyOS测试技术与实战-鸿蒙智联认证生态设备测试挑战

    HDC 2021华为开发者大会分论坛HarmonyOS测试技术与实战-鸿蒙智联认证生态设备测试挑战
    的头像 发表于 10-23 16:40 1770次阅读
    华为<b class='flag-5'>开发</b>者大会分论坛HarmonyOS测试技术与<b class='flag-5'>实战</b>-<b class='flag-5'>鸿蒙</b>智联认证生态设备测试挑战

    RISC-V MCU开发实战 (三):移植鸿蒙OS项目

    移植鸿蒙OS项目
    的头像 发表于 11-01 11:08 2859次阅读
    RISC-V MCU<b class='flag-5'>开发</b><b class='flag-5'>实战</b> (三):<b class='flag-5'>移植</b><b class='flag-5'>鸿蒙</b>OS项目

    鸿蒙系统开发教程_韦东山 2-1移植RTOS需要做的事

    鸿蒙系统开发教程_韦东山 2-1移植RTOS需要做的事
    发表于 11-13 21:06 17次下载
    <b class='flag-5'>鸿蒙</b>系统<b class='flag-5'>开发</b>教程_韦东山  2-1<b class='flag-5'>移植</b>RTOS需要做的事

    arduino开发实战指南

    arduino开发实战指南
    发表于 02-22 14:56 0次下载

    Python项目开发实战

    Python项目开发实战
    发表于 06-13 14:51 2次下载

    鸿蒙开发用什么语言?

    两种开发方向 我们常说鸿蒙开发,但是其实鸿蒙开发分为两个方向: 一个是系统级别的开发,比如驱动,
    的头像 发表于 01-30 16:12 1450次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>用什么语言?

    使用 Taro 开发鸿蒙原生应用 —— 快速上手,鸿蒙应用开发指南

    随着鸿蒙系统的不断完善,许多应用厂商都希望将自己的应用移植鸿蒙平台上。最近,Taro 发布了 v4.0.0-beta.x 版本,支持使用 Taro 快速开发
    的头像 发表于 02-02 16:09 789次阅读
    使用 Taro <b class='flag-5'>开发</b><b class='flag-5'>鸿蒙</b>原生应用 —— 快速上手,<b class='flag-5'>鸿蒙</b>应用<b class='flag-5'>开发</b>指南

    鸿蒙ArkUI【开发移植Carbon】

    本项目是基于开源项目[Carbon] 进行harmonyos化的移植开发的。
    的头像 发表于 03-25 15:41 474次阅读
    <b class='flag-5'>鸿蒙</b>ArkUI【<b class='flag-5'>开发</b><b class='flag-5'>移植</b>Carbon】