Programista po godzinach,
na co dzień fan sportu.
Zaprojektowana, aby dać pełną kontrolę nad swoim ciałem, dostarcza najważniejszych pomiarów w prosty i czytelny sposób, bezpośrednio na Twoim nadgarstku. Koniec z zgadywaniem i ręcznym wprowadzaniem danych – teraz wszystkie kluczowe wskaźniki są zawsze z Tobą.
Skład Ciała to idealne narzędzie dla każdego, kto poważnie myśli o swoim zdrowiu i kondycji. Z jej pomocą możesz łatwo i wygodnie monitorować zmiany, motywować się do działania i podejmować świadome decyzje dotyczące swojego stylu życia. Pełny obraz Twojego ciała jest teraz na wyciągnięcie ręki.
Dzięki poniższemu przykładowemu kodowi, twórcy niestandardowych tarcz mogą w łatwy sposób wyświetlać dane z aplikacji Skład Ciała bezpośrednio na swoich tarczach, co pozwala na jeszcze większą personalizację i wygodę:
import { openSync, readSync, O_RDWR } from '@zos/fs';
function ab2str(buf) {
return String.fromCharCode.apply(null, new Uint8Array(buf));
}
const loadedProfile = ''
const filePath = 'user_profile.txt';
try {
const fileRead = openSync({
path: filePath,
flag: O_RDWR,
options: { appId: 1092780 },
});
const bufferSize = 1024;
const readBuffer = new ArrayBuffer(bufferSize);
const readResult = readSync({
fd: fileRead,
buffer: readBuffer,
offset: 0,
length: bufferSize
});
const readString = ab2str(readBuffer).slice(0, readResult);
loadedProfile = JSON.parse(readString);
console.log(loadedProfile[0], loadedProfile[1], loadedProfile[2], loadedProfile[3], loadedProfile[4], loadedProfile[5], loadedProfile[6]);
} catch (error) {
loadedProfile = undefined
}
let weight = ''
if (loadedProfile != undefined) {
weight = hmUI.createWidget(hmUI.widget.TEXT, {
x: px(40),
y: px(100),
w: px(220),
h: px(64),
color: 0xffffff,
text_size: px(28),
align_h: hmUI.align.LEFT,
align_v: hmUI.align.CENTER_V,
text_style: hmUI.text_style.NONE,
text: 'Weight: ' + loadedProfile[0] + 'kg',
//text: 'Weight: ' + (loadedProfile[0]*2.2).toFixed(2) + 'lbs',
});
} else {
weight.setProperty(hmUI.prop.MORE, {
text: 'N/A'
})
}
function ab2str(buf) {
return String.fromCharCode.apply(null, new Uint8Array(buf));
}
const filePath = "user_profile.txt";
let loadedProfile = "";
try {
const fh = hmFS.open(filePath, hmFS.O_RDONLY, {
appid: 1092780
})
const len = 1024;
let array_buffer = new ArrayBuffer(len);
hmFS.read(fh, array_buffer, 0, len);
hmFS.close(fh);
const readString = ab2str(array_buffer);
loadedProfile = JSON.parse(readString)
console.log(loadedProfile[0], loadedProfile[1], loadedProfile[2], loadedProfile[3], loadedProfile[4], loadedProfile[5], loadedProfile[6]);
} catch (error) {
loadedProfile = undefined
}
let weight = ''
if (loadedProfile != undefined) {
weight = hmUI.createWidget(hmUI.widget.TEXT, {
x: px(40),
y: px(100),
w: px(220),
h: px(64),
color: 0xffffff,
text_size: px(28),
align_h: hmUI.align.LEFT,
align_v: hmUI.align.CENTER_V,
text_style: hmUI.text_style.NONE,
text: 'Weight: ' + loadedProfile[0] + 'kg',
//text: 'Weight: ' + (loadedProfile[0]*2.2).toFixed(2) + 'lbs',
});
} else {
weight.setProperty(hmUI.prop.MORE, {
text: 'N/A'
})
}
Aplikacja dostępna w Zepp Store!
GTR 4, Balance, Balance 2, Cheetah (Round), Cheetah Pro, T-Rex Ultra, T-Rex 3, Active 2 NFC, GTS 4, Cheetah (Square), Active 2 (Square), BIP 6