OpenHarmony最新的已经使用Ets进行开发了,但是我在使用过程中需要兼容更低的版本,而且大部分的第三方库还是不能使用,所以接下来我还是使用Java进行开发。
一、跳转页面
首先对首页的文字绑定事件;
Text myText = findComponentById(ResourceTable.Id_text_helloworld);myText.setClickedListener(this);
创建一个新的Ability命名为MapView;
并跳转至高德地图页面;
@Overridepublic 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(() -> {});
确保页面消失时销毁地图;
@Overrideprotected void onStop() {super.onStop();if (mapView != null) {mapView.onDestroy();}}
现在地图就加载到页面中了;
接下来我会从完整开发一个App去学习OpenHarmony,敬请期待。