1 Star 0 Fork 0

CHINASOFT5_OHOS / declex

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

declex

项目介绍

  • 项目名称:declex
  • 所属系列:openharmony的第三方组件适配移植
  • 功能:declex是一个强大的框架,它减少了Java语言的冗长,增强了依赖/视图注入,从而允许以创纪录的速度创建Ohos应用程序,它完全基于ohosannotation
  • 项目移植状态:主功能完成
  • 调用差异:无
  • 开发版本:sdk6,DevEco Studio2.2 Beta1
  • 基线版本:Release 2.0.a.24

效果演示

screenshot

安装教程

1.在项目根目录下的build.gradle文件中,

// 添加maven仓库  
repositories {  
  maven {   
        url 'https://s01.oss.sonatype.org/content/repositories/releases/'  
    }  
}

2.在entry模块的build.gradle文件中,

// 添加依赖库  
dependencies {
     annotationProcessor "com.gitee.chinasoft_ohos:declex:1.0.0"
     implementation(project(":declex_actions"))     
     implementation 'com.gitee.chinasoft_ohos:declex-api:1.0.0'
     implementation 'com.gitee.chinasoft_ohos:activeohos-declex:0.0.1-SNAPSHOT'
     implementation 'com.gitee.chinasoft_ohos:saripaar-declex:0.0.1-SNAPSHOT'
}

在sdk6,DevEco Studio2.2 Beta1下项目可直接运行 如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件, 并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下

使用说明

@EAbility(ResourceTable.Layout_ability_demo)
public class DemoAbility extends Ability {
    /*  查询列表@Model(query = "Id > 0")
   List<User_> users;*/

    @Model(query = "Id = 1")
    User_ user;//注入被@UseModel的model

    @ComponentById(ResourceTable.Id_tv_name)
    Text tvName;

    @ComponentById(ResourceTable.Id_tv_age)
    Text tvAge;

    @ComponentById(ResourceTable.Id_tv_email)
    Text tvEmail;

    @ComponentById(ResourceTable.Id_tv_description)
    TextField tvDescription;

    @AfterInject
    void afterInject() {//user被注入之后回调
        user.setName("Alice");
        user.setEmail("alice@example.com");
        user.setAge(22);
    }

    @AfterViews
    void afterView() {
        if (user != null) {
            tvName.setText(String.format("name:%s", user.getName()));
            tvAge.setText(String.format("age:%s", user.getAge()));
            tvEmail.setText(String.format("email:%s", user.getEmail()));
            tvDescription.setText(user.getDescription());
        }
    }

    @Click
    void save() {
        user.setDescription(tvDescription.getText().toString());
        user.save();
        $Toast("save succeed");
    }


    @Click
    void event() {
        //UserEventBean_.post();
        UserEventBean_.create().setName(user.getName()).postEvent();
    }

    @Click
    void server_model() {
        $ServerModelAbility();
    }

    @Event
    void onUserEventBean(String name) {//接收事件,生成userEventBean事件类,成员变量name
        $Toast("name=" + name);
    }

    @Click
    void populate_view() {
        $PopulateViewsAbility().withResult(100);
    }

    @Override
    protected void onAbilityResult(int requestCode, int resultCode, Intent data) {
        super.onAbilityResult(requestCode, resultCode, data);
        if (requestCode == 100) {
            User_ user = new Select().from(User_.class).where("Id=?", 1).executeSingle();
            if (user != null) {
                tvDescription.setText(user.getDescription());

            }
        }
    }
}

本项目主要依赖以下库

测试信息

CodeCheck代码测试无异常

CloudTest代码测试无异常

病毒安全检测通过

当前版本demo功能与原组件基本无差异

版本迭代

  • 1.0.0

版权和许可信息

Apache License, Version 2.0

空文件

简介

一款能快速开发Ohos的注解使用工具。让你专注于真正重要的事情,通过简化代码,可以简化代码的维护 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/chinasoft5_ohos/declex.git
git@gitee.com:chinasoft5_ohos/declex.git
chinasoft5_ohos
declex
declex
master

搜索帮助