以下是鸿蒙(HarmonyOS)开发的基础语法要点汇总:
一、Java 开发基础语法
如果使用 Java 进行鸿蒙开发:
1. 类的定义:
public class MyClass {
// 成员变量
private int myVariable;
// 构造方法
public MyClass() {
}
// 方法
public void myMethod() {
// 方法体
}
}
2. 控制结构:
- 条件语句:
int num = 10;
if (num > 5) {
System.out.println("Number is greater than 5");
} else if (num < 5) {
System.out.println("Number is less than 5");
} else {
System.out.println("Number is 5");
}
- 循环语句:
for (int i = 0; i < 5; i++) {
System.out.println(i);
}
int j = 0;
while (j < 3) {
System.out.println(j);
j++;
}
3. 面向对象特性:
- 继承:
class SubClass extends SuperClass {
// 子类可以添加新的成员变量和方法
}
- 多态:
interface MyInterface {
void myMethod();
}
class ImplementingClass implements MyInterface {
@Override
public void myMethod() {
// 具体实现
}
}
二、JS(JavaScript)开发基础语法
如果使用 JavaScript 进行鸿蒙开发:
1. 变量声明:
- 使用 let 和 const 声明变量。
let x = 10;
const y = 20;
2. 函数定义:
function add(a, b) {
return a + b;
}
const multiply = (a, b) => a * b;
3. 对象和数组:
- 对象:
javascript 复制
let person = {
name: "John",
age: 30
};
- 数组:
let arr = [1, 2, 3];
4. 控制结构与 Java 中的类似:
- 条件语句和循环语句的语法基本相同。
三、鸿蒙特定的组件和布局
1. 页面(AbilitySlice)定义:
- 使用 XML 布局文件定义页面的结构。
- 在 Java 或 JS 代码中处理页面的逻辑。
例如(Java):
public class MyAbilitySlice extends AbilitySlice {
@Override
public void onStart(Intent intent) {
super.onStart(intent);
super.setUIContent(ResourceTable.Layout_my_layout);
}
}
例如(JS):
export default {
data: {
// 数据
},
onShow() {
// 页面显示时的逻辑
},
onHide() {
// 页面隐藏时的逻辑
}
}
2. 组件使用:
- 常见的组件如按钮( Button )、文本( Text )等。
- 通过设置属性和绑定事件来实现交互。
例如(XML 中定义按钮):
<Button ohos:id="$+id:my_button" ohos:width="match_content" ohos:height="match_content" ohos:text="Click me" />
例如(Java 中处理按钮点击事件):
Button button = (Button) findComponentById(ResourceTable.Id_my_button);
button.setClickedListener(component -> {
// 点击事件处理逻辑
});
例如(JS 中处理按钮点击事件):
export default {
data: {
// 数据
},
onInit() {
const button = this.$element('my_button');
button.addEventListener('click', () => {
// 点击事件处理逻辑
});
}
}
四、数据管理和通信
1. 数据绑定:
- 在页面中可以将数据与组件的属性进行绑定,实现动态更新。
例如(JS):
export default {
data: {
message: "Hello HarmonyOS!"
}
}
xml 复制
<Text ohos:id="$+id:my_text" ohos:text="{$data.message}" />
2. 跨页面通信:
- 通过 Intent 传递数据在不同的 AbilitySlice 之间进行通信。
例如(发送页面):
Intent intent = new Intent();
intent.setParam("key", "value");
startAbility(intent);
例如(接收页面):
@Override
public void onStart(Intent intent) {
super.onStart(intent);
String value = intent.getStringParam("key");
}