androidstudio重置页面布局_编写第一个鸿蒙系统App页面

近日,华为推出了鸿蒙App的开发工具DevEco Studio 2.0,本人尝试在官网下载了该软件,不得不说,还是下载自家的开发工具速度快,学校网速达到40m/s。大家可以自行去网上查找DevEco Studio的安装教程,一方面可能是因为该软件简直就是傻瓜式安装,非常简单,另一方面是因为下载SDK等速度非常快,本人之前已经受够了Andord studio的龟速。话不多说,我们参照官网教程开始运行第一个鸿蒙APP页面:

本文采用XML布局:

  1. 创建layout文件夹:entry > src > main > resources > base
  2. 创建“main_layout.xml”
  1. 创建背景元素:在entry > src > main > resources > base下创建graphic文件夹,添加button_element.xml文件
package com.example.myapplication.slice; import com.example.myapplication.ResourceTable;import ohos.aafwk.ability.AbilitySlice;import ohos.aafwk.content.Intent; public class MainAbilitySlice extends AbilitySlice {     @Override    public void onStart(Intent intent) {        super.onStart(intent);        super.setUIContent(ResourceTable.Layout_main_layout); // 加载XML布局    }     @Override    public void onActive() {        super.onActive();    }     @Override    public void onForeground(Intent intent) {        super.onForeground(intent);    }}

4、打开主程序路径entry > src > main > java > com.example.helloworld > slice,本人的主程序路径是entry > src > main > java >cn.edu.cau.myappdemo>slice,请记住cn.edu.cau.myappdemo,很重要。打开其目录下的MainAbilitySlice,重写onStart方法:

public class MainAbilitySlice extends AbilitySlice {    private DirectionalLayout myLayout = new DirectionalLayout(this);    @Override    public void onStart(Intent intent) {        super.onStart(intent);        super.setUIContent(ResourceTable.Layout_main_layout); // 加载XML布局    }    @Override    public void onActive() {        super.onActive();    }    @Override    public void onForeground(Intent intent) {        super.onForeground(intent);    }}

注意,写到这里,您可能会发现Layout_main_layout是标红的,如下图。如果此时运行程序,会出现错误,提示“错误: 找不到符号 符号: 变量 Layout_main_layout 位置: 类 ResourceTable”,查看官方文档也没有相关解决办法。

androidstudio重置页面布局_编写第一个鸿蒙系统App页面_第1张图片

图1

709dc5f5703f42b7afc637688fafa763.png

图2

其实,该错误在android中也经常遇到。如果您熟悉android开发的话,这类错误您一眼就能看出端倪。这里的ResourceTable就相当于android中的R文件,为现有资源生成并存储一个全局唯一的映射ID。Layout_main_layout标红是因为ResourceTable中未定义Layout_main_layout的ID,而明明已经写了main_layout.xml,为什么没有,这就好比两个都叫张三的人,一个在初三1班,一个在初三2班,本来有人要找初三2班的张三干仗,结果把初三1班的张三干了一顿,找错人了。

回到本文,大家仔细看一下ResourceTable的引用路径:

import ohos.global.systemres.ResourceTable;

这明显是系统引用路径,而不是我现在创建的cn.edu.cau.myappdemo中ResourceTable,所以解决办法为删除全局引用路径,将光标定位到ResourceTable处,按住快捷键Alt+Enter,即可导入当前的Resource路径:

import cn.edu.cau.myappdemo.ResourceTable;

此时,ResourceTable.Layout_main_layout恢复正常。

androidstudio重置页面布局_编写第一个鸿蒙系统App页面_第2张图片

图3

再次运行,程序成功执行,如下图:

androidstudio重置页面布局_编写第一个鸿蒙系统App页面_第3张图片

图4

后记:

体验完DevEco Studio 2.0,不由得感慨,终于有一款能够比肩android studio的中国人开发的神器,DevEco可采用java,JS开发,与android非常相似,非常容易上手。并且,模拟器启动速度很快,也不怎么占内存,比android好上一万倍。此外,还是下载速度很快,可能是因为在国内的原因。虽然该工具目前仅支持TV,Watch等设备,暂不支持手机,但我相信,支持手机开发在不久的将来一定会实现,而且做的比android还好。祝福华为!!!

你可能感兴趣的:(androidstudio重置页面布局_编写第一个鸿蒙系统App页面)