热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

鸿蒙OS应用开发之——项目介绍

一概述项目工程结构java项目目录结构JS项目目录结构二项目工程结构2.1逻辑结构HarmonyOS应用发布形态为APPPack(ApplicationPackage

一 概述


  • 项目工程结构
  • java项目目录结构
  • JS项目目录结构

二 项目工程结构


2.1 逻辑结构

HarmonyOS应用发布形态为APP Pack(Application Package,简称APP),它是由一个或多个HAP(HarmonyOS Ability Package)包以及描述APP Pack属性的pack.info文件组成

2.2 工程目录构成

一个HAP在工程目录中对应于一个Module,它是由代码、资源、第三方库及应用清单文件组成,可以分为Entry和Feature两种类型

  • Entry:应用的主模块。一个APP中,对于同一设备类型必须有且只有一个entry类型的HAP,可独立安装运行
  • Feature:应用的动态特性模块。一个APP可以包含一个或多个feature类型的HAP,也可以不包含

2.3 部署包


  • HAP是Ability的部署包,HarmonyOS应用代码围绕Ability组件展开,它是由一个或多个Ability组成。
  • Ability分为两种类型:FA(Feature Ability,中文名称:元程序)和PA(Particle Ability,中文名称:元服务)
  • FA/PA是应用程序的基本组成单元,能够实现特定的业务功能。FA有UI界面,而PA无UI界面

三 java项目目录结构


3.1 java项目目录结构

3.2 项目说明


  • .gradle:Gradle配置文件,由系统自动生成,一般情况下不需要进行修改

  • entry:默认启动模块(主模块),开发者用于编写源码文件以及开发资源文件的目录

    • entry>libs:用于存放entry模块的依赖文件

    • entry>src>main>Java:用于存放Java源码

    • entry>src>main>resources:用于存放应用所用到的资源文件,如图形、多媒体、字符串、布局文件等

      资源目录资源文件说明
      base>element包括字符串、整型数、颜色、样式等资源的json文件。每个资源均由json格式进行定义,例如:
      boolean.json:布尔型
      color.json:颜色
      float.json:浮点型
      integer.json:整形
      pattern.json:样式
      plural.json:复数形式
      strarray.json:字符串数组
      string.json:字符串值
      base>graphicxml类型的可绘制资源,如SVG(Scalable Vector Graphics)可缩放矢量图形文件、基本的几何图形(如矩形、圆形、线等)shape资源等
      base>layoutxml格式的界面布局文件。
      base>media多媒体文件,如图形、视频、音频等文件,支持的文件格式包括:.png.gif.mp3.mp4等。
      base>profile用于存储任意格式的原始资源文件。区别在于rawfile不会根据设备的状态去匹配不同的资源,需要指定文件路径和文件名进行引用
      rawfile用于存储任意格式的原始资源文件。区别在于rawfile不会根据设备的状态去匹配不同的资源,需要指定文件路径和文件名进行引用
    • **entry>src>main>config.json:**HAP清单文件

    • entry>src>test:编写代码单元测试代码的目录,运行在本地Java虚拟机(JVM)上

    • entry>.gitignore:标识git版本管理需要忽略的文件

    • entry>build.gradle:entry模块的编译配置文件


四 JS项目目录结构


4.1 JS项目目录结构

4.2 项目说明


  • common目录:可选,用于存放公共资源文件,如媒体资源、自定义组件和JS文档等
  • **i18n目录:**可选,用于存放多语言的json文件,可以在该目录下定义应用在不同语言系统下显示的内容,如应用文本词条、图片路径等
  • **pages目录:**pages文件夹下可以包含1个或多个页面,每个页面都需要创建一个文件夹(如图中的index)。页面文件夹下主要包含3种文件类型:css、js和hml文件
    • **pages>index>index.hml文件:**hml文件定义了页面的布局结构,使用到的组件,以及这些组件的层级关系
    • **pages>index>index.css文件:**css文件定义了页面的样式与布局,包含样式选择器和各种样式属性等
    • **pages>index>index.js文件:**js文件描述了页面的行为逻辑,此文件里定义了页面里所用到的所有的逻辑关系,比如数据、事件等
  • **resources:**可选,用于存放资源配置文件,比如:全局样式、多分辨率加载等配置文件
  • **app.js文件:**全局的Javascript逻辑文件和应用的生命周期管理

推荐阅读
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 一个建表一个执行crud操作建表代码importandroid.content.Context;importandroid.database.sqlite.SQLiteDat ... [详细]
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • Spring – Bean Life Cycle
    Spring – Bean Life Cycle ... [详细]
  • 本文介绍如何在 Android 中自定义加载对话框 CustomProgressDialog,包括自定义 View 类和 XML 布局文件的详细步骤。 ... [详细]
  • 本文介绍了一种自定义的Android圆形进度条视图,支持在进度条上显示数字,并在圆心位置展示文字内容。通过自定义绘图和组件组合的方式实现,详细展示了自定义View的开发流程和关键技术点。示例代码和效果展示将在文章末尾提供。 ... [详细]
  • 使用 ListView 浏览安卓系统中的回收站文件 ... [详细]
  • 在处理 XML 数据时,如果需要解析 `` 标签的内容,可以采用 Pull 解析方法。Pull 解析是一种高效的 XML 解析方式,适用于流式数据处理。具体实现中,可以通过 Java 的 `XmlPullParser` 或其他类似的库来逐步读取和解析 XML 文档中的 `` 元素。这样不仅能够提高解析效率,还能减少内存占用。本文将详细介绍如何使用 Pull 解析方法来提取 `` 标签的内容,并提供一个示例代码,帮助开发者快速解决问题。 ... [详细]
  • 本指南从零开始介绍Scala编程语言的基础知识,重点讲解了Scala解释器REPL(读取-求值-打印-循环)的使用方法。REPL是Scala开发中的重要工具,能够帮助初学者快速理解和实践Scala的基本语法和特性。通过详细的示例和练习,读者将能够熟练掌握Scala的基础概念和编程技巧。 ... [详细]
  • ButterKnife 是一款用于 Android 开发的注解库,主要用于简化视图和事件绑定。本文详细介绍了 ButterKnife 的基础用法,包括如何通过注解实现字段和方法的绑定,以及在实际项目中的应用示例。此外,文章还提到了截至 2016 年 4 月 29 日,ButterKnife 的最新版本为 8.0.1,为开发者提供了最新的功能和性能优化。 ... [详细]
  • 本文详细介绍了如何在 Android 应用中获取系统的版本号,包括具体的应用场景和实现步骤。 ... [详细]
  • 原文网址:https:www.cnblogs.comysoceanp7476379.html目录1、AOP什么?2、需求3、解决办法1:使用静态代理4 ... [详细]
  • 大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式
    大类|电阻器_使用Requests、Etree、BeautifulSoup、Pandas和Path库进行数据抓取与处理 | 将指定区域内容保存为HTML和Excel格式 ... [详细]
  • 属性类 `Properties` 是 `Hashtable` 类的子类,用于存储键值对形式的数据。该类在 Java 中广泛应用于配置文件的读取与写入,支持字符串类型的键和值。通过 `Properties` 类,开发者可以方便地进行配置信息的管理,确保应用程序的灵活性和可维护性。此外,`Properties` 类还提供了加载和保存属性文件的方法,使其在实际开发中具有较高的实用价值。 ... [详细]
  • 在实际开发中,连接池是最常使用的数据库管理技术之一。连接池通过创建和管理一组预初始化的数据库连接,使得这些连接可以被多个线程复用,从而显著提高应用程序的性能和资源利用率。本文将详细介绍如何从零开始构建一个自定义的 MySQL 连接池,并将其与 Spring Data 进行集成,以实现高效、可靠的数据库操作。 ... [详细]
author-avatar
手机用户2502877255
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有