OpenHarmony最新的已经使用Ets进行开发了,但是我在使用过程中需要兼容更低的版本,而且大部分的第三方库还是不能使用,所以接下来我还是使用Java进行开发。
首先对首页的文字绑定事件;
Text myText = findComponentById(ResourceTable.Id_text_helloworld);
myText.setClickedListener(this);
创建一个新的Ability命名为MapView;
并跳转至高德地图页面;
@Override
public void onClick(Component component) {
switch (component.getId()) {
case ResourceTable.Id_text_helloworld:
Intent intent = new Intent();
Operation operation = new Intent.OperationBuilder().withBundleName("com.kevin.mapview").withAbilityName("com.kevin.mapview.MapViewAbility").build();
intent.setOperation(operation);
startAbility(intent);
break;
default:
break;
}
}
高德地图需要网络权限;
按照高德地图对应的文档顺步骤完成地图配置;
在MapViewAbilitySlice中将mapView添加进页面;
mapView = new MapView(this);
mapView.onCreate(null);
mapView.onResume();
DirectionalLayout.LayoutConfig config = new DirectionalLayout.LayoutConfig(DirectionalLayout.LayoutConfig.MATCH_PARENT, DirectionalLayout.LayoutConfig.MATCH_PARENT);
mapView.setLayoutConfig(config);
AMap aMap = mapView.getMap();
aMap.setOnMapLoadedListener(() -> {
});
确保页面消失时销毁地图;
@Override
protected void onStop() {
super.onStop();
if (mapView != null) {
mapView.onDestroy();
}
}
现在地图就加载到页面中了;
接下来我会从完整开发一个App去学习OpenHarmony,敬请期待。