摘要: 1. 美团技术团队博客:地址:http://tech.meituan.com/2.腾讯社交用户体验设计(ISUX)地址:http://isux.tencent.com/3.京东设计中心地址:http://jdc.jd.com4.QQ游戏设计中心地址:http://gdc.qq.com5.百度搜索用户... 阅读全文
posted @ 2015-11-10 18:43 晕菜一员 阅读(3514) 评论(0) 推荐(2) 编辑
摘要: *****注意到mvc 在android 中是如何进行分层分域执行各自的功能。****官方推荐的按钮尺寸是48像素前端之Android入门(1):环境配置前端之Android入门(2):程序目录及UI简介前端之Android入门(3):MVC模式(上)前端之Android入门(4):MVC模式(中)... 阅读全文
posted @ 2015-11-10 17:57 晕菜一员 阅读(562) 评论(0) 推荐(0) 编辑
摘要: Android 系统研究:http://blog.csdn.net/luoshengyang/article/details/8923485 Android 腾讯技术人员博客 http://hukai.me/ Linux: https://github.com/torvalds/linux Andr 阅读全文
posted @ 2015-06-26 15:33 晕菜一员 阅读(603) 评论(0) 推荐(0) 编辑
摘要: (1)设计模式吕震宇 设计模式张逸:晴窗笔记 Design & Pattern梦幻Dot Net .Net设计模式李会军.NET设计模式系列文章(2).net 2.0海东的技术资料 ADO.NET 2.0LoveCherryASP.NET 2.0 新特性aiyagazeEffective C# 翻译... 阅读全文
posted @ 2013-03-21 12:07 晕菜一员 阅读(233) 评论(0) 推荐(0) 编辑

这几天鸿蒙系统起来了。开源,全场景。

鸿蒙系统又是什么,官网有:

HarmonyOS是一款“面向未来”、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统。在传统的单设备系统能力的基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持多种终端设备。

 

  • 华为开发者联盟论坛

    https://developer.huawei.com/consumer/

  • 鸿蒙官网

    https://www.harmonyos.com

  • 鸿蒙os开发官网

    https://developer.harmonyos.com/cn/develop

  • Gitee

    https://openharmony.gitee.com/openharmony

 

安装

 

下载HUAWEI DevEco Studio。现在还没支持MacOS
Windows已可以下载。Windows安装条件:

  • 操作系统:Windows10 64 位
  • 内存:8G 及以上
  • 硬盘:100G 及以上
  • 分辨率:1280*800 及以上


一开始以为一定要Windows 10,还以为凉凉,因为只有Windows 8, 8G内存的老抠伤不起。但是没有想到成功安装,并运行。
根据官网文档:

  • 登录HarmonysOS应用开发门户,点击右上角注册按钮,注册开发者帐号,注册指导参考注册华为帐号。如果已有华为开发者帐号,请直接点击登录按钮。
  • 进入HUAWEI DevEco Studio产品页,下载DevEco Studio安装包。
  • 双击下载的“deveco-studio-xxxx.exe”,进入DevEco Studio安装向导,在如下安装选项界面勾选DevEco Studio launcher后,点击Next,直至安装完成。
  • 如何是JS开发者,则需要多安装Node.js

 

  • 鸿蒙os开发工具

    https://developer.harmonyos.com/cn/develop/deveco-studio

 

创建 Demo 

打开DevEco Studio:Create project目前只支持TV,穿戴设备,轻量级穿戴设备。支持JS,Java

创建成功后,作为Android 开发者,看到这些界面,甚是熟悉:运用Gradle 构建项目

看到目录结构,甚是熟悉;

鸿蒙 APP 的基础认识

鸿蒙 APP

HarmonyOS的应用软件包以APP Pack(Application Package)形式发布,它是由一个或多个HAP(HarmonyOS Ability Package)以及描述每个HAP属性的pack.info组成。HAP是Ability的部署包,HarmonyOS应用代码围绕Ability组件展开。

 

一个HAP是由代码、资源、第三方库及应用配置文件组成的模块包,可分为Entry和Feature两种模块类型,如图1所示。

 

  • Entry:应用的主模块。一个APP中,对于同一设备类型必须有且只有一个Eentry类型的HAP,可独立安装运行。

  • Feature:应用的动态特性模块。一个APP可以包含一个或多个Feature类型的HAP,也可以不含。只有包含Ability的HAP才能够独立运行。

 

DemoApp

A base class used for user to initialize each hap.

package com.yuncai.demoapp;
​
import ohos.aafwk.ability.AbilityPackage;
​
public class DemoApp extends AbilityPackage {
    @Override
    public void onInitialize() {
        super.onInitialize();
    }
}
​

 

MainAbility

Ability....emmmm,我是感觉是Activity....

官网定义:

Ability 是应用所具备能力的抽象,也是应用程序的重要组成部分。一个应用可以具备多种能力(即可以包含一个或者多个Ability),HarmonyOS支持应用以Ability为单位进行部署。Ability分为两种类型:FA(Feature Ability)和PA(Particle Ability)。FA/PA是应用的基本组成单元,能够实现特定的业务功能。FA有UI界面,而PA无UI界面。每种类型为开发者提供了不同的模板,以便实现不同的业务功能。

 

  • Ability API

    https://developer.harmonyos.com/cn/docs/documentation/doc-references/ability-0000001054120007

 

package com.yuncai.demoapp;
import com.yuncai.demoapp.slice.MainAbilitySlice;
import ohos.aafwk.ability.Ability;
import ohos.aafwk.content.Intent;
public class MainAbility extends Ability {
@Override
public void onStart(Intent intent) {
super.onStart(intent);
super.setMainRoute(MainAbilitySlice.class.getName());
    }
}

 

MainAbilitySlice

AbilityPackageAbilitySlice主要用于承载Ability的具体逻辑实现和界面UI,是应用显示、运行和跳转的最小单元。AbilitySlice通过setUIContent()为界面设置布局

package com.yuncai.demoapp.slice;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
import ohos.agp.components.Button;
import ohos.agp.components.DirectionalLayout;
import ohos.agp.components.DirectionalLayout.LayoutConfig;
import ohos.agp.components.Text;
import ohos.agp.colors.RgbColor;
import ohos.agp.components.element.Element;
import ohos.agp.components.element.ShapeElement;
import ohos.agp.components.element.StateElement;
import ohos.agp.utils.Color;
import ohos.agp.utils.TextAlignment;
public class MainAbilitySlice extends AbilitySlice {
private DirectionalLayout myLayout = new DirectionalLayout(this);
@Override
public void onStart(Intent intent) {
super.onStart(intent);
        LayoutConfig config = new LayoutConfig(LayoutConfig.MATCH_PARENT, LayoutConfig.MATCH_PARENT);
        myLayout.setLayoutConfig(config);
        ShapeElement element = new ShapeElement();
        element.setRgbColor(new RgbColor(255, 255, 255));
        myLayout.setBackground(element);
        LayoutConfig titleConfig = new LayoutConfig(
                LayoutConfig.MATCH_PARENT, LayoutConfig.MATCH_CONTENT);
        Text title = new Text(this);
        title.setLayoutConfig(titleConfig);
        title.setPadding(0, 50, 0, 10);
        title.setText("Hello World");
        title.setTextColor(new Color(0xFF000000));
        title.setTextSize(50);
        title.setTextAlignment(TextAlignment.CENTER);
        myLayout.addComponent(title);
        Text text = new Text(this);
        text.setLayoutConfig(titleConfig);
        text.setText("晕菜一员");
        text.setTextColor(new Color(0xFF000000));
        text.setTextSize(50);
        text.setTextAlignment(TextAlignment.CENTER);
        myLayout.addComponent(text);
super.setUIContent(myLayout);
    }
@Override
public void onActive() {
super.onActive();
    }
@Override
public void onForeground(Intent intent) {
super.onForeground(intent);
    }
}

 

运行项目

运行项目前,需选择设备。

DevEco -> HVD Manager (模拟器)

当打开HVD Manager 会跳转到华为开发者联盟进行登陆授权,,一开始用chrome还不行,切换到了IE才打开了允许授权弹窗。

点击允许后,回到DevEco,会看到出现了两台模拟器:

这时候运行一台,运行demo项目...成功:

 

posted @ 2020-09-12 21:29 晕菜一员 阅读(3417) 评论(1) 推荐(0) 编辑
摘要: ADB 工具下载: https://developer.android.com/studio/releases/platform-tools 手机操作: 用数据线将电脑和手机连接。 激活开发者模式,一般情况下是找到关于手机 > 多次点击软件版本号,会提示打开开发者选项 进入开发者选项打开开发者选项和 阅读全文
posted @ 2020-08-21 15:53 晕菜一员 阅读(1485) 评论(0) 推荐(0) 编辑
摘要: 相关链接: java 进制转换 java 高低位字节,以及转换。 JVM 和Dalvik虚拟机的区别 JVM:.java -> javac -> .class -> jar -> .jar架构: 堆和栈的架构. DVM:.java -> javac -> .class -> dx.bat -> .d 阅读全文
posted @ 2020-08-20 23:04 晕菜一员 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 相关链接: Android 热补丁和热修复 Android的Proxy/Delegate Application框架 (主要介绍插件化开发) Android dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念 DVM指dalivk的虚拟机。每一个Android应用程序都在它自己的进程中 阅读全文
posted @ 2020-08-15 17:29 晕菜一员 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 相关链接: Android Intent (可通过URL启动 Activity) Android AIDL 进行进程间通讯(IPC) Android中使用Handler造成内存泄露 Handler机制的原理 Andriod提供了 Handler 和 Looper 来满足线程间的通信。Handler 阅读全文
posted @ 2020-08-13 20:39 晕菜一员 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 线程阀:一种线程与线程之间相互制约和交互的机制。 Queue(队列):用于保存一组元素,存取时,遵循先进先出原则。 队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。 进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为 阅读全文
posted @ 2020-07-26 13:30 晕菜一员 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 在Google settings 中,有个backup 选项,在里面选择开启 如果开启vpn,还是在setting里面还是waiting for backup, 就通过手机链接电脑,安装android sdk。通过adb backup 通过android 开发文档查看:backup的文件包含: By 阅读全文
posted @ 2019-09-18 10:36 晕菜一员 阅读(392) 评论(0) 推荐(0) 编辑
摘要: CountDownLatch 是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程的操作执行完后再执行. CountDownLatch 是通过一个计数器来实现的,计数器的初始值为线程的数量。每当一个线程完成了自己的任务后,计数器的值就会减1。当计数器值到达0时,它表示所有的线程已经完成了任务 阅读全文
posted @ 2018-07-24 12:00 晕菜一员 阅读(464) 评论(0) 推荐(0) 编辑
摘要: 代码静态检查推荐: (1)Android自定义Lint实践 (2)美团外卖Android Lint代码检查实践 (3)Android自定义Lint实践2——改进原生Detector Lint 是 Android Studio 提供的 代码扫描分析工具,它可以帮助我们发现代码结构/质量问题,同时提供一 阅读全文
posted @ 2018-06-21 17:50 晕菜一员 阅读(705) 评论(0) 推荐(0) 编辑
摘要: OnCreate : 如果数据库文件不存在,SQLiteOpenHelper在创建数据库文件,打开数据库这个数据库后,调用onCreate()方法,在该方法中一般需要创建表、视图等组件。在创建前数据库一般是空的,因此不需要先删除数据库中相关的组件。 OnUpgrade : 当系统在构造SQLiteO 阅读全文
posted @ 2018-06-06 11:34 晕菜一员 阅读(2344) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示