Soul音乐App 项目记录(一)

系列文章目录

第一章 Soul音乐APP
第二章 Soul音乐APP
第三章 Soul音乐APP
第四章 Soul音乐APP
第五章Soul音乐APP


第一章 Soul音乐APP

前言

综合运用本学期所学内容及个人自学知识,使用HarmonyOS 4.0及以上版本开发一款具有实用性和创新性的移动应用软件。


一、欢迎页面

在这里插入图片描述
在这里插入图片描述

1.页面布局:

使用Column和Row组件进行页面布局,整体背景色为黑色。
页面顶部包含一个Image组件,作为应用的Logo,宽度被设置为260。
Logo下方是一个包含小图片和文本的Row组件,文本内容为"Soul Music",并设置了一些样式属性如字体大小、字体粗细、透明度和颜色。

  build() {
    Column({space:10}) {
      Row() {
        Image($r('app.media.logo'))
          .width(260)
      }
      .layoutWeight(1)
      Row({space: 10}) {
        Image($r('app.media.tu1'))
          .width(55)
        Text('Soul Music')
          .fontSize(24)
          .fontWeight(FontWeight.Bold)
          .opacity(0.7)
          .fontColor(Color.White)
      }
      .margin({bottom: 50})
    }
    .backgroundColor('#000')
    .width('100%')
    .height('100%')

2.弹窗控制:

导入了一个名为CustomDialogController的自定义弹窗控制器(未在代码中定义,但根据使用方式推测)。
弹窗的内容(由welcome_Dialog提供)有两个操作:确认(confirm)和取消(cancel)。
当点击确认时,调用onConfirm方法,将用户隐私偏好保存到偏好设置中,并跳转到应用的主页(Index页面)。
当点击取消时,调用exitApp方法,终止当前应用。

代码如下:

context = getContext(this) as common.UIAbilityContext
  controller: CustomDialogController = new CustomDialogController({
    builder: welcome_Dialog({
      confirm: () => this.onConfirm(),
      cancel: () => this.exitApp()
    })
  })
  //同意进入应用
  onConfirm(){
    PreferenceUtil.putPreferenceValue(PREF_KEY, true)
    this.jumpToIndex()
  }
  //退出应用
  exitApp() {
    this.context.terminateSelf()
  }

3.用户隐私偏好处理:

使用PreferenceUtil(从…/common/utils/PreferenceUtil导入)来操作偏好设置。
定义了偏好键PREF_KEY为’userPrivacyKey’。
在页面即将显示时(aboutToAppear方法),检查用户是否已经同意隐私政策(通过PreferenceUtil.getPreferenceValue方法)。
如果用户已同意,则直接跳转到主页;否则,打开弹窗供用户选择。

代码如下:

  //页面一运行就打开弹窗
  async aboutToAppear() {
    //1.加载
    let isAgree = await PreferenceUtil.getPreferenceValue(PREF_KEY, false)
    //2.判断
    if (isAgree) {
      this.jumpToIndex()
    }else {
      this.controller.open()
    }
  }

4.页面跳转:

使用router.replaceUrl方法进行页面跳转。
在onConfirm和jumpToIndex方法中,都使用了setTimeout来延迟跳转,这可能是为了确保一些界面操作或动画完成后才进行跳转。

代码如下:

 jumpToIndex() {
    setTimeout(() => {
      router.replaceUrl({
        url: 'pages/Index'
      })
    }, 1000)
  }

总结

该代码定义了一个鸿蒙OS应用的欢迎页面,主要功能包括:

显示应用的Logo和标题(“Soul Music”)。
在页面加载时,检查用户是否已同意隐私政策。
如果用户已同意,则直接跳转到应用的主页;否则,显示一个弹窗供用户选择确认或取消。
用户确认后,将隐私偏好保存到偏好设置中,并跳转到主页;用户取消后,退出应用。
此页面组件使用了鸿蒙OS的UIAbility框架进行开发,并通过自定义的弹窗控制器和偏好设置工具类来实现具体功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值