【官方】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" );
}}
能分享一下源码吗 你好,能分享一下APP的开源代码吗 想要源码 Melody丶 发表于 2020-4-16 23:25
你好,能分享一下APP的开源代码吗
APP源码下载地址https://github.com/xuhongv/AndroidGizWitsSTDiyMeter APP源码下载地址https://github.com/xuhongv/AndroidGizWitsSTDiyMeter 你好,这个折线图能放到另一个页面吗? AIcainiao 发表于 2020-12-22 17:35
你好,这个折线图能放到另一个页面吗?
可以
页:
[1]