From: luozheng <1732036298@qq.com> Date: Mon, 4 Mar 2024 02:51:20 +0000 (+0800) Subject: ConfigModel添加json数据读取set与get方法 X-Git-Tag: release_V1.2.70_20241020_135402~1274^2~34 X-Git-Url: http://git.snicker.com.cn/Users/apple/Desktop/static/gitweb.css?a=commitdiff_plain;h=f239e9a5fc36afaddb772d41a4c4cd3366e5af97;p=mirrors%2FFD230.git ConfigModel添加json数据读取set与get方法 --- diff --git a/code/sdk/application/wearable/fd230app/nativelauncher/src/NativeLauncher.cpp b/code/sdk/application/wearable/fd230app/nativelauncher/src/NativeLauncher.cpp index 54a07f645..7fdca6729 100644 --- a/code/sdk/application/wearable/fd230app/nativelauncher/src/NativeLauncher.cpp +++ b/code/sdk/application/wearable/fd230app/nativelauncher/src/NativeLauncher.cpp @@ -224,7 +224,7 @@ namespace OHOS } #endif /* ------------------------------- ConfigModel ------------------------------ */ - ConfigModel::GetInstance()->LoadJsonData(); + ConfigModel::GetInstance()->Init(); /* -------------------------------------------------------------------------- */ // 初始化所有预加载slice diff --git a/code/sdk/application/wearable/fd230app/nativeui/classicbluetooth/src/ClassicBlueToothModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/classicbluetooth/src/ClassicBlueToothModel.cpp index 849e455b1..b2d242268 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/classicbluetooth/src/ClassicBlueToothModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/classicbluetooth/src/ClassicBlueToothModel.cpp @@ -6,7 +6,7 @@ namespace OHOS ClassicBlueToothModel::ClassicBlueToothModel() { ConfigModel *p_ConfigModel = ConfigModel::GetInstance(); - TradionalBlueToothToggleButtonState = (p_ConfigModel->ReadJsonData(p_ConfigModel->GetcJSON(), "TradionalBlueToothToggleButtonState")); + TradionalBlueToothToggleButtonState = p_ConfigModel->GetTradionalBlueToothToggleButtonState(); } ClassicBlueToothModel::~ClassicBlueToothModel() {} diff --git a/code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModel.h b/code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModel.h index bfbc50891..15909453a 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModel.h +++ b/code/sdk/application/wearable/fd230app/nativeui/config/include/ConfigModel.h @@ -4,7 +4,7 @@ #include #include #include -#include "cJSON.h" +#include "../../../../../../open_source/openharmony/third_party/cJSON/cJSON.h" #include "wearable_log.h" namespace OHOS @@ -19,7 +19,20 @@ namespace OHOS T ReadJsonData(const cJSON *json_obj, const char *field_name); template void WriteJsonData(cJSON *json_obj, const char *field_name, T data); - + void ShowReadJsonData(void); + void Init(void); + /* -------------------------------- set与get方法 ------------------------------- */ + void SetRaiseToBrightnessCheckBoxButtonState(void); + bool GetRaiseToBrightnessCheckBoxButtonState(void); + void SetScreenBrightnessValue(void); + unsigned GetScreenBrightnessValue(void); + void SetScreenDurationRadioButtonSlectValue(void); + unsigned int GetScreenDurationRadioButtonSlectValue(void); + void SetTradionalBlueToothToggleButtonState(void); + bool GetTradionalBlueToothToggleButtonState(void); + void SetHeartRateOrBloodOxygenQuickAccessSwitch(void); + int GetHeartRateOrBloodOxygenQuickAccessSwitch(void); + /* -------------------------------------------------------------------------- */ private: ConfigModel(); // 私有构造函数,确保无法在外部实例化 ConfigModel(const ConfigModel &) = delete; // 禁止拷贝构造 @@ -29,7 +42,13 @@ namespace OHOS private: const std::string filePath = "/user/res/ConfigModel/ConfigModel.json"; cJSON *cjson_json{nullptr}; - int RaiseToBrightnessCheckBoxButtonState; + /* ------------------------------- json中要读取的键 ------------------------------- */ + bool RaiseToBrightnessCheckBoxButtonState{false}; // 抬腕按钮状态 ,默认补选中 + unsigned char ScreenBrightnessValue{255}; // 亮度值 ,默认最大亮度 + unsigned int ScreenDurationRadioButtonSlectValue{1}; // 亮屏时长 ,0对应5秒熄屏,1对应10秒熄屏,2对应15秒熄屏 + bool TradionalBlueToothToggleButtonState{false}; // 用来记录蓝牙开关状态,默认关闭状态 + int HeartRateOrBloodOxygenQuickAccessSwitch{0}; // 心率或血氧快速访问开关,默认快速访问血氧打开 + /* -------------------------------------------------------------------------- */ }; /// @brief 通用的读取数据函数,根据字段名称从 JSON 对象中读取对应值 @@ -110,8 +129,10 @@ namespace OHOS FILE *file = fopen(filePath.c_str(), "wb"); if (file) { - fputs(jsonString, file); - //fwrite(jsonString, 1, strlen(jsonString), file); // 将 JSON 字符串写入文件 + if (fputs(jsonString, file) != EOF) // 将 JSON 字符串写入文件 + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "WriteJsonData success\n"); + } fclose(file); } free(jsonString); diff --git a/code/sdk/application/wearable/fd230app/nativeui/config/src/ConfigModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/config/src/ConfigModel.cpp index 8d40ca855..7d4feec4c 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/config/src/ConfigModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/config/src/ConfigModel.cpp @@ -44,4 +44,88 @@ namespace OHOS } return false; } + + void ConfigModel::Init(void) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ConfigModel::Init"); + /* -------------------------------- 1.加载json文件 -------------------------------- */ + LoadJsonData(); + + /* ---------------------------- 2.从加载的json文件读取数据初始化 --------------------------- */ + SetRaiseToBrightnessCheckBoxButtonState(); + SetScreenBrightnessValue(); + SetScreenDurationRadioButtonSlectValue(); + SetHeartRateOrBloodOxygenQuickAccessSwitch(); + SetHeartRateOrBloodOxygenQuickAccessSwitch(); + /* ------------------------------ 3.显示读取到的json数据 ------------------------------ */ + ShowReadJsonData(); + } + + /// @brief 显示读取到的json数据 + void ConfigModel::ShowReadJsonData(void) + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "/* -------------------------------- JsonData: ------------------------------- */\n"); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "RaiseToBrightnessCheckBoxButtonState:%d", RaiseToBrightnessCheckBoxButtonState); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScreenBrightnessValue:%d", ScreenBrightnessValue); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "ScreenDurationRadioButtonSlectValue:%d", ScreenDurationRadioButtonSlectValue); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TradionalBlueToothToggleButtonState:%d", TradionalBlueToothToggleButtonState); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "HeartRateOrBloodOxygenQuickAccessSwitch:%d", HeartRateOrBloodOxygenQuickAccessSwitch); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "/* -------------------------------------------------------------------------- */\n"); + } + + /* -------------------------------- set与get方法 ------------------------------- */ + void ConfigModel::SetRaiseToBrightnessCheckBoxButtonState() + { + RaiseToBrightnessCheckBoxButtonState = ReadJsonData(GetcJSON(), "RaiseToBrightnessCheckBoxButtonState"); + } + + /// @brief 获取抬腕按钮状态 + bool ConfigModel::GetRaiseToBrightnessCheckBoxButtonState(void) + { + return RaiseToBrightnessCheckBoxButtonState; + } + + void ConfigModel::SetScreenBrightnessValue() + { + ScreenBrightnessValue = static_cast(ReadJsonData(GetcJSON(), "ScreenBrightnessValue")); + } + + /// @brief 获取亮度值 + unsigned ConfigModel::GetScreenBrightnessValue(void) + { + return ScreenBrightnessValue; + } + + void ConfigModel::SetScreenDurationRadioButtonSlectValue() + { + ScreenDurationRadioButtonSlectValue = static_cast(ReadJsonData(GetcJSON(), "ScreenDurationRadioButtonSlectValue")); + } + + /// @brief 获取亮屏时长三个单选框选中状况,0对应5秒熄屏,1对应10秒熄屏,2对应15秒熄屏 + unsigned int ConfigModel::GetScreenDurationRadioButtonSlectValue(void) + { + return ScreenDurationRadioButtonSlectValue; + } + + void ConfigModel::SetTradionalBlueToothToggleButtonState(void) + { + TradionalBlueToothToggleButtonState = (ReadJsonData(GetcJSON(), "TradionalBlueToothToggleButtonState")); + } + + /// @brief 获取蓝牙开关状态 + bool ConfigModel::GetTradionalBlueToothToggleButtonState(void) + { + return TradionalBlueToothToggleButtonState; + } + + void ConfigModel::SetHeartRateOrBloodOxygenQuickAccessSwitch(void) + { + HeartRateOrBloodOxygenQuickAccessSwitch = (ReadJsonData(GetcJSON(), "HeartRateOrBloodOxygenQuickAccessSwitch")); + } + + /// @brief 获取“心率或血氧”快速访问开关 + int ConfigModel::GetHeartRateOrBloodOxygenQuickAccessSwitch(void) + { + return HeartRateOrBloodOxygenQuickAccessSwitch; + } } \ No newline at end of file diff --git a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessModel.h b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessModel.h index 505890e6d..b684cfd0c 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessModel.h +++ b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/include/DisplayBrightnessModel.h @@ -26,7 +26,7 @@ namespace OHOS bool RaiseToBrightnessCheckBoxButtonState{false}; // 抬腕按钮状态 ,默认补选中 unsigned char ScreenBrightnessValue{255}; // 亮度值 ,默认最大亮度 unsigned int ScreenDurationRadioButtonSlectValue{1}; // 亮屏时长 ,1对应10秒后熄屏 - unsigned int ScreenDurationTime; + unsigned int ScreenDurationTime{10000}; }; } diff --git a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessModel.cpp index d0121fc72..3b6544854 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/displaybrightness/src/DisplayBrightnessModel.cpp @@ -7,9 +7,9 @@ namespace OHOS DisplayBrightnessModel::DisplayBrightnessModel() { ConfigModel *p_ConfigModel = ConfigModel::GetInstance(); - RaiseToBrightnessCheckBoxButtonState = p_ConfigModel->ReadJsonData(p_ConfigModel->GetcJSON(), "RaiseToBrightnessCheckBoxButtonState"); - ScreenBrightnessValue = static_cast(p_ConfigModel->ReadJsonData(p_ConfigModel->GetcJSON(), "ScreenBrightnessValue")); - ScreenDurationRadioButtonSlectValue = static_cast(p_ConfigModel->ReadJsonData(p_ConfigModel->GetcJSON(), "ScreenDurationRadioButtonSlectValue")); + RaiseToBrightnessCheckBoxButtonState = p_ConfigModel->GetRaiseToBrightnessCheckBoxButtonState(); + ScreenBrightnessValue = p_ConfigModel->GetScreenBrightnessValue(); + ScreenDurationRadioButtonSlectValue =p_ConfigModel->GetScreenDurationRadioButtonSlectValue(); } DisplayBrightnessModel::~DisplayBrightnessModel() {} diff --git a/code/sdk/application/wearable/fd230app/nativeui/secondaryfunction/src/SecondaryFunctionModel.cpp b/code/sdk/application/wearable/fd230app/nativeui/secondaryfunction/src/SecondaryFunctionModel.cpp index 5c558be6f..b3aed18ea 100644 --- a/code/sdk/application/wearable/fd230app/nativeui/secondaryfunction/src/SecondaryFunctionModel.cpp +++ b/code/sdk/application/wearable/fd230app/nativeui/secondaryfunction/src/SecondaryFunctionModel.cpp @@ -8,7 +8,7 @@ namespace OHOS SecondaryFunctionModel::SecondaryFunctionModel() { ConfigModel *p_ConfigModel = ConfigModel::GetInstance(); - HeartRateOrBloodOxygenQuickAccessSwitch = (p_ConfigModel->ReadJsonData(p_ConfigModel->GetcJSON(), "HeartRateOrBloodOxygenQuickAccessSwitch")); + HeartRateOrBloodOxygenQuickAccessSwitch = p_ConfigModel->GetHeartRateOrBloodOxygenQuickAccessSwitch(); } SecondaryFunctionModel::~SecondaryFunctionModel() {}