admin 发表于 2020-2-7 13:09:28

【官方】Android端APP应用开发

一、效果截图
https://www.stmcu.com.cn/upload/20200103/67.pnghttps://www.stmcu.com.cn/upload/20200103/61.pnghttps://www.stmcu.com.cn/upload/20200103/68.png二、准备工作

[*]请自备Android开发基础,自带AndroidStudio开发环境;
[*]小编使用的是 AndroidStudio3.2 、gradle-3.3-all.zip 环境;

首先在机智云自助开发平台(dev.gizwits.com)创建产品并定义数据点。
https://www.stmcu.com.cn/upload/20200103/62.png

创建应用
https://www.stmcu.com.cn/upload/20200103/63.png


下载应用代码

https://www.stmcu.com.cn/upload/20200103/64.png
导入成功之后,是没有红点任何错误提示的,目录结构说明

https://www.stmcu.com.cn/upload/20200103/65.png

文件结构说明:

[*]A. Libs: 包括 GizWifiSDK 在内的的第三方库目录**
[*]assets: 包含 UIConfig.json 配置文件
[*]B. GizOpenSource: 组成模块


[*]GizOpenSourceModules:组成模块
[*]GosApplication.java // SDK 在此启动
[*]CommonModule // 公共方法类、资源文件读取类
[*]ConfigModule // 设备配置模块,包含 AirLink 及 SoftAP
[*]UserModule // 用户模块,包含 用户登录、用户注册、找回密码
[*]DeviceModule // 设备模块,包含 设备列表
[*]ControlModule // 控制模块,包含 控制示例
[*]SettingsModule // 设置模块,包含 设置菜单 及其 包含的子菜单项(关于等)
[*]PushModule // 推送模块,包含 百度和极光的推送SDK 集成封装
[*]ThirdAccountModule // 第三方登录模块, 包含 第三方登录(QQ、微信等)
[*]view // 自定义控件
[*]utils // 工具类
[*]wxapi // 微信集成包
[*]zxing // 扫描二维码



三、导入第三方库
在工程 app 目录下的 build.gradle 下加入
compile 'com.github.PhilJay:MPAndroidChart:v3.0.1'
同时根目录下的 build.gradle 下加入一下,否则拉取不成功;allprojects {
      repositories {      
               jcenter()   
               maven { url 'https://jitpack.io' }      
               maven {
                     url 'https://maven.google.com/'   
                        name 'Google'      
                }
          }
}
在app --- src --- main --- res ---layout 的 activity_gos_devices_control.xml布局文件修改如下:

预览的效果:

https://www.stmcu.com.cn/upload/20200103/66.png
四、修改逻辑代码
温度计、统计折线表初始化在下面2个方法里面,涉及的代码太多了,我就不贴全部代码了!
setChartTemp();setChartHum();
每当采集数据要更新ui:
/**
   * Description:根据保存的的数据点的值来更新UI
   */
    protected void updateUI() {

      sw_bool_led_onoff.setChecked(data_led_onoff);
      tv_data_temp.setText("当前温度" + data_temp + "℃");
      tv_data_humi.setText("当前湿度" + data_humi + "%");
      //取2位小数
      float data_temp_show = saveOneBitTwoRound(data_temp);
      //根据ui,温度进度条要加40显示
      mTemperatureView.setProgress(data_temp_show + 40);
      //湿度的中间文字显示
      if (data_humi < 30) {
            mWaveLoadingView.setCurrent((int) data_humi, "干燥");
            mWaveLoadingView.setMaxProgress(100);
            mWaveLoadingView.setWaveColor("#F08B88");
      } else if (data_humi > 30 && data_humi < 60) {
            mWaveLoadingView.setCurrent((int) data_humi, "舒适");
            mWaveLoadingView.setWaveColor("#45C01A");
      } else {
            mWaveLoadingView.setCurrent((int) data_humi, "潮湿");
            mWaveLoadingView.setWaveColor("#5be4ef");
      }
      Calendar c = Calendar.getInstance();// 可以对每个时间域单独修改
      int hour = c.get(Calendar.HOUR_OF_DAY);
      int minute = c.get(Calendar.MINUTE);
      int second = c.get(Calendar.SECOND);
      String timeStr = hour + ":" + minute + ":" + second;
      temperIndex++;
      //每次采集温度加入集合温度数据集合
      dataList.add(new Entry(temperIndex, (float) data_temp, timeStr));
      setTemperData(chart, dataList);
      //每次采集湿度加入集合湿度数据集合
      dataHumList.add(new Entry(temperIndex, (float) data_humi, timeStr));
      setTemperData(chartHum, dataHumList);

    }如何修改包名?   在工程 app 目录下的 build.gradle 下修改 applicationId 即可:
如何自定义apk名字输出:在工程 app 目录下的 build.gradle 下加入:android.applicationVariants.all { variant ->
    variant.outputs.each { output ->
      output.outputFile = new File(output.outputFile.parent, "DIY数字仪表-" + buildType.name + "-v" +                defaultConfig.versionName + "-" + defaultConfig.versionCode + ".apk" );
    }}

绝绝珏珏爵爵 发表于 2020-3-25 16:55:46

能分享一下源码吗

Melody丶 发表于 2020-4-16 23:25:57

你好,能分享一下APP的开源代码吗

ruoyu8836 发表于 2020-11-11 11:12:18

想要源码

Kara 发表于 2020-11-12 19:00:34

Melody丶 发表于 2020-4-16 23:25
你好,能分享一下APP的开源代码吗

APP源码下载地址https://github.com/xuhongv/AndroidGizWitsSTDiyMeter

Kara 发表于 2020-11-12 19:01:34

APP源码下载地址https://github.com/xuhongv/AndroidGizWitsSTDiyMeter

AIcainiao 发表于 2020-12-22 17:35:25

你好,这个折线图能放到另一个页面吗?

admin 发表于 2020-12-24 10:26:31

AIcainiao 发表于 2020-12-22 17:35
你好,这个折线图能放到另一个页面吗?

可以
页: [1]
查看完整版本: 【官方】Android端APP应用开发