重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
参考 鸿蒙官方文档(点击传送门) ,做一下流程梳理简化,及踩坑记录
创新互联建站专注于企业营销型网站、网站重做改版、扎赉特网站定制设计、自适应品牌网站建设、H5技术、成都商城网站开发、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为扎赉特等各大城市提供网站开发制作服务。
华为将真机调试分成物理真机和远程真机。这里说的都是物理真机(手机、平板)。鸿蒙真机调试巨复杂,不像Android那么容易方便。
贴一下官方的调试流程图:
总结一下:
上面这个流程可以忽略,没讲到重点。真机调试是需要在 AppGallery Connect 中创建应用的,调试应用需要的cer和p7b文件是从这里生成的。
先决条件:
1. 鸿蒙手机通过USB连接电脑,并开启USB调试。
2. 一个华为开发者账号,实名认证
3. APP开发工具DevEco-Studio
关键流程:
1. Studio创建应用
2. 如果未登录过,File Project Structure Project Signing Configs签名配置页,点击“Sign In”
3. AppGallery创建应用(包名和Studio创建的一样)
4. 官方文档到这在签名配置页就点Try Again可以自动签名,我试了不行,以下全是手动
5. Studio中Build Generate key and CSR 生成p12和csr文件
6. 获取手机udid,命令行hdc shell bm get -udid(下一步设备管理要用)
7. AppGallery主页 用户与访问 左侧设备管理添加udid的设备(生成p7b时要用)
8. AppGallery主页 用户与访问 左侧证书管理生成cer文件(生成p7b和签名配置要用)
9. AppGallery主页 我的项目 左侧HarmonyOS应用 HAP provision profile,生成p7b文件
10. 最后在签名配置页配好 p12、p7b、cer等参数,运行鸿蒙应用到真机就行了
拿出OTG线,将type-c接口的一端插入手机底部的充电接口。
将U盘插入OTG线的另一端接口即可。
首先需要打开设置,然后在设置界面找到【关于手机】点击进入到关于手机界面。
然后在界面中,连续点击【五次版本号】即可进入到开发者模式中,只有进入到此模式中,才能又有开发者选项功能,进行USB调试。
1、定义一个IBarLayout接口,第一个泛型就是底部导航栏中的每个条目,第二个泛型是每个条目的数据。在接口里面提供一些方法,可以根据数据查找条目,可以添加监听,可以设置默认选中的条目,可以初始化所有的条目,当某个条目被选中后需要告知外界。
2、再定义一个单个条目的接口,泛型就是每个条目的数据,接口里面定义方法,可以设置条目的数据,可以动态修改某个条目的大小
每个条目都有自己的图片、文字、文字的颜色,我们把这些属性定义在一个实体类中。由于颜色可以是整型,也可以是字符串,这里定义泛型,泛型就是文字的颜色。具体是哪种类型的颜色,由调用者来决定。
注意下BarType这个枚举,我们的底部导航栏支持两种类型,IMAGE代表下图,某个条目只显示图片, 也可以让某个条目凸出来,只需要将条目的高度变高即可。
IMAGE_TEXT代表条目显示图片和文字。如下图
1、在布局文件实现单个条目的布局,很简单,使用相对布局,文字位于屏幕的底部,图片位于文字的上面。
1、定义BottomBar,继承相对布局,实现之前定义的IBar接口,泛型就是每个条目所对应的实体类,由于目前并不知道泛型的具体类型,所以泛型直接使用问号来代替。BottomBar就是单个条目。
定义BottomNavigationBar,继承栈布局。第一个泛型就是底部导航栏的条目,第二个泛型就是每个条目的数据
至此,底部导航栏已经封装完成,外界如何使用呢?
1、在布局文件中添加BottomNavigationBar,这个就是我们封装好的底部导航栏
2、在AlibitySlice里面使用,这里使用MVP模式,将业务逻辑放入presenter层中。
先定义接口
3、MainAbilitySlice实现AbilitySliceProvider接口, getContext、getResourceManager、findComponentById这三个方法AbilitySlice的父类已经帮我们实现了,这些方法其实就是系统的方法。getString和getColor需要我们自己来实现,我们在BaseAbilitySlice中手动实现这两个方法。 在MainAbilitySlice的onStart方法中创建MainAbilitySlicePresenter对象,这样就能在MainAbilitySlicePresenter处理具体的业务逻辑。
4、MainAbilitySlicePresenterr处理具体的业务逻辑
5、如果想让某个条目凸出来,可以按照下面的方式
最后附上 源码
注:项目用到的图片全部来源于 阿里矢量图库 ,如果缺少图片,可以阿里矢量图里面找图片。