OpenHarmony三方组件:SmartWatch4

Handpc
发布于 2023-3-17 10:56
浏览
0收藏

Library Name:

Smart Watch 4

Library Version:

1.0.0

Library Release Date:

26-05-2022

Library Overview:

Smart Watch four shows following functionalites;

  • It fetches weather details based on the location of the user.
  • Shows current date and time
  • Calculates Number of steps walked ,bpm andCalories burned
  • Displays Remainder.

GitHub link: Smart Watch four


Screenshot of the Library:

OpenHarmony三方组件:SmartWatch4-鸿蒙开发者社区

Library Feature1:

Description:

It fetches weather details based on the location of the user.

Code Snippet:

fecthWeather: function () {
        let locData;
        geolocation.getLocation({
            success: function (data) {
                locData = data;
                console.log("The location fetched:" + JSON.stringify(data));
            },
            fail: function (data, code) {
                console.log('fail to get location. code:' + code + ', data:' + data);
            },
            complete: function () {
                console.log('in Complete');
            }
        })
        console.log('Location Data: ' + JSON.stringify(locData) + " lat: " + locData.latitude + " long: " + locData.longitude);

        this.lat = locData.latitude;
        this.long = locData.longitude;

        console.log("Lat : " + this.lat + " Long : " + this.long);

        let data;
        fetch.fetch({
            url: 'https://api.openweathermap.org/data/2.5/weather?lat=' + this.lat + '&lon=' + this.long + '&appid=9ca3abfc02f621a4fe7696f670f04a57',
            responseType: "JSON",
            method: 'GET',
            success: function (resp) {
                data = JSON.parse(resp.data);
                console.log("Data :" + data + " " + resp + " ");
            },
            fail: (data, code) => {
                console.log("fail data: " + JSON.stringify(data) + " fail code: " + code);
            },
            complete: () => {
                this.weather = data.weather[0].main;
                console.log("Weather :" + this.weather + " " + this.weather[0].main);
            }
        })
    }

Screenshot:

OpenHarmony三方组件:SmartWatch4-鸿蒙开发者社区

​Note:​​​ Since latitude: ​​121.61934​​​ and longitude: ​​31.257907​​ does not exists it throwing an error.

Flow chart description:

In fecthWeather function it will first fetches the locations details of the user i.e latitude and longitude, using openweather api fetches the weather details based on the latitude and longitude.

Library Feature2:

Description:

Fetches BPM, Calories burned and notification using an ​​API​​ created by me.

Code Snippet:

fecthData: function () {
        let data;
        fetch.fetch({
            url: 'https://mocki.io/v1/cb0cd987-0c49-4e7c-9475-fb533723e2fd',
            responseType: "json",
            method: 'GET',

            success: function (res) {
                data = JSON.parse(res.data);
                console.log("Data :" + data + " " + JSON.stringify(res) + " ");
            },

            fail: (data, code) => {
                console.log("Fail Data: noti " + JSON.stringify(data) + " fail code: " + code);
            },
            complete: () => {
                this.bpm = data.bpm;
                this.kcal = data.cal;
                this.noti = data.noti;
                console.log(this.bpm + " " + this.kcal + " " + this.noti);
            }
        })
    }

Screenshot:

OpenHarmony三方组件:SmartWatch4-鸿蒙开发者社区

Library Feature3:

Description:

Calculates number of steps walked.

Code Snippet:

function subscribePedometerSensor(context) {
    sensor.subscribeStepCounter({
        success: function (ret) {
            context.step = ret.steps.toString()
        },
        fail: function (data, code) {
            console.log('Subscription failed. Code: ' + code + '; Data: ' + data)
        }
    })
}

function verifyPermissions() {
    var context = ability_featureAbility.getContext()
    let permission = "ohos.permission.ACTIVITY_MOTION"
    var result = new Promise((resolve, reject) => {
        context.verifyPermission(permission)
            .then((data) => {
                resolve(true)
            }).catch((error) => {
            reject(false)
        })
    })
    return result
}

Screenshot:

OpenHarmony三方组件:SmartWatch4-鸿蒙开发者社区


Advanced feature that could be implemented in Future in this library:

Calculating Blood Pressure and Calories Burned using respective API’s.

Conclusion:

smart watch four calculates Number of steps walked, BPM, Calories burned, fetches date and time and weather details based on location and notifications.



文章转载自:​​https://gitee.com/openharmony-tpc/SmartWatch4​

分类
SmartWatch4-master.zip 563.36K 0次下载
已于2023-3-17 10:56:32修改
收藏
回复
举报
回复
    相关推荐