Filter
-
Content Type
-
Category
Mobile/Wearable
Visual Display
Digital Appliance
Platform
Recommendations
Filter
success story marketplace, design, galaxy watch
blogwe continue to celebrate the top performing apps in creativity, quality, design, and innovation, as we interview winners of our best of galaxy store awards. next in our blog series, we feature matteo dini. matteo dini, founder and ceo of "matteo dini md", shares with us how he manages to maintain a high level of quality and craftsmanship with his watch face designs, many of which boast five star ratings, the importance of developing a recognizable brand, and how the galaxy store badge has played an integral role in his marketing strategy how did you first get into designing watch faces? at the end of 2016, i bought a samsung gear s3 watch, and that’s when i started designing watch faces. at first, it was just for fun, something i did to explore the easily approachable software “galaxy watch designer” (now “galaxy watch studio"). in the spring of 2017, i started publishing some of my watch faces on the galaxy store, and i realized that people were really interested in them, therefore i decided to continue publishing my designs. as one of our more seasoned and successful designers, can you share some key features of a good watch face design? in my opinion, a good watch face design has to be easily readable. it should also feature well thought out colors and shades that match together, and the layouts shouldn’t be too complex. this is the key to attracting a wider range of customers. with your broad experience as a watch face designer, do you still experience technical or design hurdles when designing a watch face? there really is no limit to improvement when it comes to graphic design. the real obstacle to overcome is the lack of new ideas. there should always be new inspirations about how to improve the design aspect of the watch faces. there have been, and still are moments, when i find myself stuck, even for several whole days, before getting to a final result. after creating several watch faces and crossing paths with so many great creations from other designers, pushing the creative limit further can be really hard, especially on a 360x360 screen. however, when i finally find the right path that can lead me to a new good project, i feel so enthusiastic and passionate about my job that it is definitely worth it. where the technical side is concerned, hopefully i’ll be able to add some new features that leverage samsung’s hardware-and-software evolutions. your brand “matteo dini md” is well known in the watch face community. how important is creating your own brand? having a well-recognizable brand is the key to being well known. your brand identifies your work, that is undeniable. finding the perfect name for my brand was not the easiest choice to make. when i started publishing my work on the galaxy store i was really indecisive about leaving my real name-surname. i even thought of inventing a new name from scratch, but then i decided to go for matteo dini, since it gave me the impression of a more personal brand, and i think it worked, or at least i hope so. my brand “matteo dini md” is a legally registered brand in the us and in europe. how do you come up with new designs to support the continued growth and evolution of your brand? ideas can come from seasons, from highly- or poorly-inspired periods, and obviously from market research. “there are no rules” is the only rule. sometimes a design can sprout from a tiny detail that we come to notice in a random object, not necessarily a watch. in a certain way it’s kind of a meditation process - it’s mind work. at the moment, there are two of us designing watch faces for “matteo dini md”, my brother-in-law luca canaletti and i. together we try to imagine how the product could potentially look, and we then sketch some drafts on paper or directly on the software. your designs are highly rated on the galaxy store which speaks to the quality and craftsmanship of your work. how do you achieve such great quality with your designs? to be honest, when it comes to my work i’m a very strict critic. i always detect some enormous flaws, and i hardly find myself truly and completely satisfied with my work. apart from that, the thing luca and i focus on is quality. to achieve that, we try to include as many details as possible and to test our watch faces for several days, in different light and weather conditions, in order to get a good result. but, as i was saying before, there is no limit to improvement, and we learn something new every day. it’s evident that you understand the market and what users want. how much does user feedback factor into the designs you create? are there other factors? i pay so much attention to user feedback. i obviously cannot design something that works for each of them, however i tend to use their suggestions to improve my watch faces and to meet their needs and tastes. being on the galaxy store has provided me with knowledge about people’s taste, and i’m constantly trying to keep several watch faces on the store that can satisfy a wide range of consumers, both young people and adults. i also keep an eye on market trends and all the cutting-edge news that comes out. you employ various marketing strategies, including third-party watch face reviews from jibberjab, social media promotion, free trials, contests, and giveaways. how important is marketing your designs to becoming a successful seller? what tips can you share? the galaxy store is introducing more and more new content every day, so it is really fundamental to promote one’s projects on other marketing channels as well. this is why i employ all those things you mentioned, in order to drive awareness and visibility of my brand on the galaxy store. the paramount thing to do is to create a well-recognizable brand identity, in order to be easily found on the store. i created my brand’s accounts on all the most important social media platforms in order to gain followers and to have a community to directly communicate with. this is fundamental, it’s the starting point for any marketing strategy. how does the galaxy store badge support your marketing strategy? galaxy store badge is, without a doubt, an excellent tool. it generates customized short urls, it can monitor all the clicks you get (which is important for statistics and promotions), and it also gives you the opportunity to use an official samsung official logo, which can be really helpful when it comes to marketing strategies. how has the samsung developer program supported your journey and growth as a watch face designer? the sdp team has always been very helpful and professional, promptly answering my request for technical assistance and solving my problems. they always keep us up-to-date about samsung news and share detailed studies about technical topics. they really support our work. it is also important to follow the dedicated forum. the forum allows us to ask questions and get answers from samsung and the developer community, i was very pleased to meet the team in person, twice actually, at the 2018 and 2019 editions of the samsung developer conference. thank you for the question; since you mentioned it, i really want to publicly thank the sdp team for their amazing work. as the winner of samsung best of galaxy store awards 2019 for “best watch designer (big brand)”, what advice do you have for new designers looking to create a successful watch face business? besides being a watch face designer, i’m a technology enthusiast and my first step was studying the product (samsung gear watch / galaxy watch / galaxy watch active), wearing it 24/7 for several months. i got the full user experience, before becoming a designer. passion and patience are fundamental, new designers shouldn’t get discouraged if the big results don’t come right away. they should keep focusing on finding their style and on trying to improve it day after day. the results will come eventually. what is next for matteo dini md watch faces? at the moment we are focusing on watch face development and we are trying to improve ourselves in order to be ready when samsung shares its plans on any new products or product updates. we want to thank matteo for sharing compelling insights on watch face design and tips on becoming a successful designer with a recognizable brand. be sure to check out matteo dini md’s watch face portfolio, and download your favorite in the galaxy store. follow us on twitter at @samsung_dev for more developer interviews as well as tips for building games, apps, and more for the galaxy store. find out more about our best of galaxy store awards. designing a watch face for galaxy watch running wear os powered by samsung? check out this code lab about creating a watch face using tag expressions in watch face studio.
tutorials galaxy watch, marketplace
blogwith the release of one ui watch version 4.5, there are new steps for installing galaxy watch4 and galaxy watch5 watch faces that are different from the previous post on this topic. new and previously purchased watch faces from google play store will not automatically become the active watch face on your watch. in some cases, you must first download watch faces to your play store account before transferring them to your watch. the steps below explain how to install watch faces using your watch, phone, or computer browser. your devices should be logged into the same google account and on the same wifi to ensure they are correctly connected. new watch faces purchase and install using your watch purchase and install using your phone purchase and install using your computer browser previously purchased watch faces install previous purchase using your watch install previous purchase using your phone install previous purchase using your computer browser troubleshooting getting help new watch faces purchase and install using your watch 1. swipe up on your watch to view your watch apps and tap the play store app. 2. use the search function to find watch faces based on keywords, or scroll down and tap the watch faces banner to view featured watch faces. 3. tap on the chosen watch face. 4. tap on the price button. 5. a notification to complete your purchase on your phone will appear on your watch. if this device appears in the list, the developer offers a companion app for your phone for this watch face. companion apps are not required for watch faces to function correctly on your watch. 6. on your phone, go to the play store. a. tap on your profile icon b. tap on notifications & offers c. tap on continue your purchase to complete the transaction your new watch face will download to your play store account. even though the payment successful notification states that your new watch face is now available on your watch, it still must be transferred to your watch. 7. tap on available on more devices and tap the install button for your watch model. 8. once your watch face downloads to your watch, click on the current watch face, swipe left, and select add watch face. continue swiping left until you see your newly downloaded watch face. finally, tap the watch face to make it your active watch face. purchase and install using your phone 1. open the galaxy wearable app and tap either the watch faces button or the store button to launch the play store. if you tap watch faces, you need to scroll to the bottom and select get more watch faces to launch the play store. 2. if you arrive at the play store home screen, you must navigate to the watch face page. tap either the featured watch faces banner or scroll to the bottom and tap watch faces to open the watch face page. alternatively, you can open the play store on your phone but must tap the categories tab near the top and select the watch faces category. 3. navigate through the many options of watch faces within different categories, or use the search function to search using a keyword. 4. select a watch face and tap the dropdown arrow button in the green price bar. if the dropdown doesn't appear, confirm that your phone and watch are connected, then close and re-open the play store app on your phone. you may also need to turn off the wifi on your watch and then turn wifi back on. 5. tap on the checkmark box for your watch to select it, then tap on the green bar app price. 6. add payment information if needed or redeem a coupon code by tapping on the current payment choice, scrolling down, and selecting redeem code. 7. tap on the 1-tap buy green bar button to complete your purchase. your watch face downloads to your phone and then installs on your watch. downloading may take several minutes, and the status may not change from install pending. 8. you can check the progress of your download by tapping the download icon at the bottom of your current watch face. some purchases may take several hours to sync with your watch. if you have initiated your purchase using your phone, do not attempt to purchase again using your watch. 9. once your watch face has downloaded to your watch, make the watch face your active watch face by going to the galaxy wearable app on your phone and select watch faces. 10. scroll down to the downloaded category and tap on your recently downloaded watch face to add it to your favorites category. 11. your watch face will now be the active watch face on your watch. purchase and install using your computer browser 1. go to https://play.google.com/store/apps and ensure you signed in to your google account associated with your phone. 2. click on the watch category button near the top of the page. 3. click on the featured watch faces banner. 4. navigate through the many options of watch faces within different categories or use the search function to search a keyword. 5. once you have chosen a watch face, click the green buy button and complete your purchase. 6. to transfer your watch face to your watch, select your watch model from the choose a device dropdown and then click install. installing may take several minutes to complete. 7. after your watch face downloads to your watch, click on the current watch face, swipe left, and select add watch face. continue swiping left until you see your newly downloaded watch face. finally, tap the watch face to make it your active watch face. install a previously purchased watch face if you would like to install a watch face that you had previously purchased from the play store, there are different ways you can do this using your watch, your phone, or your computer. install previous purchase using your watch 1. swipe up on the current watch face to access the watch apps and select the play store app. you can also press and hold on to the current watch face, swipe left to the end of the list and select add watch face. continue swiping left until the end and select more watch faces. the play store app will launch. 2. tap the search icon and talk, draw, or type the name of the watch face. 3. select the watch face and tap install. 4. once your watch face downloads to your watch, click on the current watch face, swipe left, and select add watch face. continue swiping left until you see your newly downloaded watch face. finally, tap the watch face to make it your active watch face. install previous purchase using your phone 1. to install a previously purchased watch face using your phone, open the galaxy wearable app and tap either the watch faces button or the store button to launch the play store. if you tap watch faces, you need to scroll to the bottom and select get more watch faces to launch the play store. alternatively, you can directly open the play store by tapping the app icon on your phone. 2. once the play store app has opened, you can view all previously downloaded watch faces by tapping your google account profile icon and selecting manage apps & device. 3. tap on the manage tab and scroll to find the apps for the watch faces you have installed on your phone. 4. select the green installed button and change it to not installed to view apps previously downloaded but not currently installed on your phone. you can also tap the search icon and type the name of your previously purchased watch face. 5. tap on the watch face app from the results list you would like to install on your watch. 6. tap the small downward triangle to open the install options. place a checkmark next to your watch model and click the install button. 7. once your watch face downloads to your watch, click on the current watch face, swipe left, and select add watch face. continue swiping left until you see your newly downloaded watch face. finally, tap the watch face to make it your active watch face. install previous purchase using your computer browser 1. go to https://play.google.com/store/apps and sign in to your google account associated with your phone. 2. click on your profile icon and select library & devices. 3. scroll through the list of previously downloaded apps and select one of your watch faces. if needed, click show more to view your full list of apps. 4. click on the green install on more devices button. 5. in the drop-down menu, click on the device list and select your galaxy watch. 6. click the green install button to install the watch face to your galaxy watch. enter your google account password if asked. 7. your watch face will begin to download to your watch. 8. once your watch face downloads to your watch, click on the current watch face, swipe left, and select add watch face. continue swiping left until you see your newly downloaded watch face. finally, tap the watch face to make it your active watch face. troubleshooting when downloading a watch face to your watch, if your watch device is not showing in the install on more devices list, you will need to use a computer browser to re-install the watch face. 1. log into your play store account and use the search function to find your watch face. 2. click on install on more devices. 3. select your watch model and click install. 4. your watch face will begin to download to your watch. 5. once your watch face downloads to your watch, click on the current watch face, swipe left, and select add watch face. continue swiping left until you see your newly downloaded watch face. finally, tap the watch face to make it your active watch face. getting help for questions about using your watch, open the samsung members app on your phone to visit the community forum. then, view the galaxy watch forum in the wearables category to read discussions and post your questions. to participate in the broader wear os discussion, visit the wear os by google help community page. grow your watch face collection as you can see, there are many ways that you can purchase and install watch faces in google play store onto your galaxy watch. personalization is a key feature of your galaxy watch, and we know you will continue to enjoy customizing the look of your watch style as you grow your collection of watch faces. visit the play store to find your next favorite wear os powered by samsung watch face. to view the watch faces featured in this blog, search the play store for the designer monkey's dream. resources for sellers at samsung galaxy store for more information on signing up and selling on galaxy store, look into the galaxy store documentation. for assistance with setting up and starting your sales campaigns, the galaxy store discussion forums are where you can get great insights from the galaxy store support team and other sellers. join us on twitter, facebook, linkedin, and youtube to continue the discussion.
Tony Morelan
Learn Code Lab
codelabmeasure skin temperature on galaxy watch objective create a health app for galaxy watch, operating on wear os powered by samsung, utilizing samsung health sensor sdk to obtain skin temperature measurement results overview samsung health sensor sdk provides means of accessing and tracking health information contained in the health data storage its tracking service gives raw and processed sensor data such as accelerometer and body composition data sent by the samsung bioactive sensor the active sensor of galaxy watch runs powerful health sensors such as photoplethysmogram ppg , electrocardiogram ecg , bioelectrical impedance analysis bia , sweat loss, and spo2 see samsung health sensor sdk descriptions for detailed information set up your environment you will need the following galaxy watch5 or newer with updated health platform android studio latest version recommended java se development kit jdk 17 or later sample code here is a sample code for you to start coding in this code lab download it and start your learning experience! skin temperature tracking sample code 148 0 kb connect your galaxy watch to wi-fi go to settings > connection > wi-fi and make sure that the wi-fi is enabled from the list of available wi-fi networks, choose and connect to the same one as your pc turn on developer mode and adjust its settings on your watch, go to settings > about watch > software and tap on software version 5 times upon successful activation of developer mode, a toast message will display as on the image below afterwards, developer options will be visible under settings tap developer options and enable the following options adb debugging in developer options, search for wireless debugging turn on wireless debugging check always allow on this network, and tap allow go back to developer options, and click turn off automatic wi-fi notethere may be differences in settings depending on your one ui version connect your galaxy watch to android studio go to settings > developer options > wireless debugging and choose pair new device take note of the wi-fi pairing code, ip address & port in android studio, go to terminal and type adb pair <ip address> <port> <wi-fi pairing code> when prompted, tap always allow from this computer to allow debugging after successfully pairing, type adb connect <ip address of your watch> <port> upon successful connection, you will see the following message in android studio’s terminal connected to <ip address of your watch> now, you can run the app directly on your watch turn on developer mode for health platform on your watch go to settings > apps > health platform quickly tap health platform title for 10 times this enables developer mode and displays [dev mode] below the title to stop using developer mode, quickly tap health platform title for 10 times to disable it start your project in android studio and click open to open an existing project locate the downloaded android project skintemptracking from the directory and click ok check tracking capabilities to track the data with the sdk, the device must support skin temperature, like the galaxy watch5 skin temperature tracking can work in 2 modes batching and on-demand the tracker type for batching is healthtrackertype skin_temperature_continuous and healthtrackertype skin_temperature_on_demand for on-demand in this code lab, you are going to use on-demand tracker in connectionmanager java, navigate to isskintemperatureavailable function use a provided healthtrackingservice object to create a healthtrackercapability instance, and send it to checkavailabletrackers function, and assign its result to availabletrackers list gettrackingcapability returns a healthtrackercapability instance in healthtrackingservice object healthtrackingservicehealthtrackingservice initiates a connection to samsung's health tracking service and provides a healthtracker instance to track a healthtrackertype public healthtrackercapability gettrackingcapability provide a healthtrackercapability instance to get a supporting healthtrackertype list /****************************************************************************************** * [practice 1] check capabilities to confirm skin temperature availability * * ---------------------------------------------------------------------------------------- * * hint replace todo 1 with java code * get healthtrackercapability object from healthtrackingservice * send the object to checkavailabletrackers ******************************************************************************************/ boolean isskintemperatureavailable healthtrackingservice healthtrackingservice { if healthtrackingservice == null return false; @suppresswarnings "unusedassignment" list<healthtrackertype> availabletrackers = null; //"todo 1" if availabletrackers == null return false; else return availabletrackers contains healthtrackertype skin_temperature ; } initialization of skin temperature tracker before starting the measurement, initialize the skin temperature tracker by creating a healthtracker object in skintemperaturelistener java, navigate to setskintemperaturetracker using the provided healthtrackingservice object, create an instance of the healthtracker class of skin_temperature_on_demand type and assign it to the skintemperaturetracker object gethealthtracker with healthtrackertype skin_temperature_on_demand as an argument creates a healthtracker instance after a single measurement, the tracker should be stopped when using on-demand measurement for continuous measurement, use healthtrackertype skin_temperature_continuous healthtrackingservicehealthtrackingservice initiates a connection to samsung's health tracking service and provides a healthtracker instance to track a healthtrackertype healthtracker gethealthtracker healthtrackertype healthtrackertype create a healthtracker instance for the given healthtrackertype /******************************************************************************************* * [practice 2] setup skin temperature tracker * * ---------------------------------------------------------------------------------------- * * hint replace todo 2 with java code * initialize skintemperaturetracker with proper samsung health sensor sdk functionality * call gethealthtracker on healthtrackingservice object * use healthtrackertype skin_temperature_on_demand as an argument ******************************************************************************************/ void setskintemperaturetracker healthtrackingservice healthtrackingservice { //"todo 2" } starting and stopping the tracker for the client app to obtain the data through the sdk, set a listener method on healthtracker this method is called every time there is new data healthtrackerhealthtracker enables an application to set an event listener and get tracking data for a specific healthtrackertype public void seteventlistener healthtracker trackereventlistener listener set an event listener to the healthtracker instance void starttracker { if !ishandlerrunning { skintemperaturehandler post -> skintemperaturetracker seteventlistener skintemperaturelistener ; ishandlerrunning = true; } } after the finished measurement, the on-demand tracker should be stopped you can do that by unsetting the event listener from healthtracker healthtrackerhealthtracker enables an application to set an event listener and get tracking data for a specific healthtrackertype public void unseteventlistener stop the registered event listener to this healthtracker instance void stoptracker { if skintemperaturetracker != null skintemperaturetracker unseteventlistener ; skintemperaturehandler removecallbacksandmessages null ; ishandlerrunning = false; } process obtained skin temperature data the answer from the healthtrackingservice is asynchronous the skintemperaturelistener receives the callback containing a data point with all the required information follow the steps below to get skin temperature data in skintemperaturelistener java, go to the updateskintemperature function and read skin temperature data from datapoint get skin temperature status using datapoint api key valuekey skintemperatureset status get skin temperature value using datapoint api key valuekey skintemperatureset object_temperature get ambient temperature value using datapoint api key valuekey skintemperatureset ambient_temperature datapointdatapoint provides a map of valuekey and value with a timestamp public <t>t getvalue valuekey<t>type get data value for the given key private final healthtracker trackereventlistener skintemperaturelistener = new healthtracker trackereventlistener { @override public void ondatareceived @nonnull list<datapoint> list { stoptracker ; for datapoint data list { updateskintemperature data ; } } }; /******************************************************************************************* * [practice 3] read values from datapoint object * - get skin temperature status value * - get wrist skin temperature value - it's named "object_temperature" in the library * - get ambient temperature value ------------------------------------------------------------------------------------------- * - hint replace todo 3 with parts of code * 1 remove skintemperaturestatus invalid_measurement and * set status from 'datapoint' object using data getvalue valuekey skintemperatureset status * * if status is 'skintemperaturestatus successful_measurement' then * 2 set wristskintemperaturevalue from 'datapoint' object using * data getvalue valuekey skintemperatureset object_temperature ; * 3 set ambienttemperaturevalue from 'datapoint' object using * data getvalue valuekey skintemperatureset ambient_temperature ; ******************************************************************************************/ void updateskintemperature datapoint data { final int status = skintemperaturestatus invalid_measurement; float wristskintemperaturevalue = 0; float ambienttemperaturevalue = 0; //"todo 3" trackerdatasubject notifyskintemperaturetrackerobservers status, ambienttemperaturevalue, wristskintemperaturevalue ; } run unit tests for your convenience, you will find an additional unit tests package this will let you verify your code changes even without using a physical watch see the instruction below on how to run unit tests right click on com samsung health skintemptracking test and execute run 'tests in 'com samsung health skintemptrackin" command if you have completed all the tasks correctly, you can see all the unit tests pass successfully run the app after building the apk, you can run the application on a connected device to measure your skin temperature once the app starts, allow the app to receive data from the body sensors afterwards, the screen shows the application tap the measure button to get your skin temperature to stop measuring, tap on the stop button you're done! congratulations! you have successfully achieved the goal of this code lab now, you can create a health app that measures skin temperature by yourself! if you are having trouble, you may download this file skin temperature tracking complete project 147 8 kb to learn more about samsung health, visit developer samsung com/health
Develop Health
websamsung health sdk suite develop powerful health and wellness applications for galaxy watch and smartphone. accelerate innovation in health and wellness with samsung health sdks samsung's health sdks enable a broad ecosystem of partners to accelerate innovation and solution development. as galaxy watch sensors and capabilities improve, you can read, with user consent, and integrate health data from galaxy watch and smartphones into your existing applications and platforms, as well as create innovative and powerful new products that enhance users' well-being through health insights. accessible actionable heath data samsung health is a comprehensive health platform that helps people track their health journey, set goals, and achieve positive outcomes. it connects smartphones and wearables, like the galaxy watch and galaxy ring, providing seamless health experiences integrated into daily life. the platform offers access to raw and processed health data through its sdk, enabling partners to monitor users' health status and offer personalized health services. learn more request partnership develop health & fitness apps samsung health sensor sdk is a software platform that enables the medical community and digital health solution providers to harness the power of galaxy watch’s advanced sensors; providing both raw sensor signal data and processed data with our differentiated features. learn more request partnership connect bluetooth compatible devices samsung health accessory sdk defines bluetooth low energy (ble) compatibility guidelines and samsung health specifications based on bluetooth generic attributes (gatt), including service structure to connect with samsung health. learn more medical and clinical research studies samsung health research stack is backed by open-source tools, applications, and services for running, managing, and analyzing medical research studies and clinician services on android and wear os devices. learn more learn how to use the samsung health sdk suite use samsung health sdk suite to implement useful features with our sample apps on code lab. go to code lab get technical support contact technical support for questions you have regarding the samsung health sdk suite. samsung account sign-in is required. go to technical support publications read our latest articles on samsung r&d health discover samsung digital healthcare technology solutions, including hospital technology, healthcare data security for mobile devices, and more. go to publications news and blogs events health, mobile, galaxy watch key moments from the samsung health partner day 2024 on may 28th, 2024, market leaders from digital healthcare gathered for the samsung health partner day, held at gravity seoul pangyo, autograph collection. tutorials health accessing samsung health data through health connect health connect is a platform that enables you to integrate samsung health data with your applications, creating new opportunities for health applications that enhance the user's journey towards better health. tutorials galaxy watch connect galaxy watch to android studio over wi-fi for wearable apps, you can run your apps from android studio and test directly on a physical watch, such as the galaxy watch4 or later. looking to connect with other developers? meet other developers, ask questions, and find the answers you are looking for. go to developer forum
Develop Health
webtest page - samsung health sensor sdk samsung health sensor sdk covers device-specific sensor data and enables partners to develop powerful health-sensing capabilities in their applications. the power of samsung health sensor sdk the sdk supports an improved health tracking capability that allows your applications to track the user’s health data with the accelerometer, raw ecg (electrocardiogram), ppg (photoplethysmogram), heart rate, including inter-beat interval, body composition, and skin temperature. view documentation request to become a partner are you building a wear os app and would like to integrate galaxy watch advanced sensors? request download get deeper health insights to open new possibilities the possible applications of the health data by samsung health sensor sdk are numerous, ranging from remote patient monitoring to digital therapeutics. in particular, the raw sensor signals and processed data can lead to the discovery of new digital biomarkers for detecting signs of certain health conditions. in a specific example, a partner app on galaxy watch can notify a user if it detects gait pattern anomalies while the user is walking, leading to an early prognosis of a health condition. featured partners frequently asked questions go to faq find the most frequently asked questions about samsung health sensor sdk. technical support submit ticket contact technical support for questions you have regarding the samsung health sdk suite. samsung account sign-in is required.
tutorials galaxy watch
blogwatch face studio (wfs) is a graphic authoring tool that enables you to create watch faces for the wear os smartwatch ecosystem, which includes galaxy watch4 and later devices. watch faces can consume significant battery power when they are constantly in use, so it is important to optimize your watch face’s performance. this article presents some best practices for optimizing watch faces created in wfs by minimizing the on-pixel ratio (opr). these practices apply especially to watch faces with animations and images. the article also describes some general design tips for optimizing battery use. on-pixel ratio (opr) always-on display (aod) mode, also called ambient mode, is intended to use less battery when the watch is not actively in use. to measure its effectiveness, the on-pixel ratio expresses the percentage of screen pixels with rgb values when the watch face is in aod mode. in wfs, when you want to deploy your watch face to an actual device or publish the watch face, you receive a warning if the opr for your project is greater than 15%. figure 1: opr warning popup noteyour watch face can be rejected from the google play store if its aod mode uses more than 15% of the available pixels. for more information on the play store publication requirements, see wear os app quality. analyze on-pixel ratio in wfs watch face studio allows you to check your project’s opr as you develop your watch face. when you switch to the "always-on" view in wfs, the "run" panel displays the opr for the current project. if your watch face uses conditional lines, you can move their sliders to inspect the opr at specific values. figure 2: opr analysis in "run" panel for a more detailed analysis, click the "analyze" button. the aod analyzer tool checks each watch face component and color-codes how much each component contributes to the opr. use the results to improve your watch face. figure 3: aod analyzer tool you can access the same feature in the "preview watch face" window. disable the "show device" option and switch the preview to aod mode. the current opr and "analyze" button appear below the preview image. figure 4: opr analysis in preview window opr reduction strategies designs with more color increase the opr because they use more lit pixels. you can reduce the opr by modifying the design for aod mode: use the "analog clock" or "digital clock" components on your watch face. these components allow you to automatically hide the seconds display in aod mode. figure 5: seconds hidden on analog clock in aod mode identify and hide pixel-intensive components. the following figure shows a watch face where the background image, date, and second hand are hidden in aod mode. hiding these components reduces the opr from 13.4% to 2.4%. figure 6: components hidden in aod mode implement a separate background image for aod mode. background images tend to be bright to draw attention to components on the watch face, but consequently use more battery. you can design a darker background image to reduce the opr. figure 7: darker background image in aod mode adjust the text color in aod mode. for instance, white-colored text consumes more battery power than darker text. figure 8: darker text in aod mode more optimization tips in addition to reducing the opr of your watch face, you can optimize its battery use in the following ways: use static components to minimize the frequency of screen updates. minimize the use of gyro effects, which can cause frequent screen updates as the user moves their hand. resize images to match the resolution displayed on the screen. for example, if the watch’s screen size is 450x450 pixels, the background image file is ideally 450x450 pixels. remove hidden or unused components before building the watch face package. for more information on watch face optimization, see optimization tips. if you have questions about or need help with the information presented in this article, you can share your queries on the samsung developers forum. you can also contact us directly for more specialized support through the samsung developer support portal.
Most Fowziya Akther Houya
Connect Samsung Developer Conference
webtech sessions dive into the future of connected customer experiences through tech sessions by developers offering further insight into the innovations introduced in the keynote filter filter filter all reset apply there are no results. sessions contents & service, open innovation 8k visual quality and ecosystem in this session, we will present how the genuine 8k contents correctly displayed on 8k display devices could deliver our customers an immersive picture quality experience. we will start with a summary of the previous studies about user perceptions regarding the 8k visual quality. we then will explain why the full-frequency 8k contents are superior to the lower resolution in producing fine details on the image. we will also discuss some technical challenges we face toward adopting and utilizing 8k contents in a real-world environment and describe how we can overcome these hurdles. specifically, we will discuss technologies such as super-resolution and new image sensors to overcome the full-frequency barrier of 8k content. last, we will introduce the 8k association (8ka), a non-profit organization composed of key technology companies in the consumer and professional 8k ecosystem, and briefly mention 8ka's ongoing effects on the research, standardization, and promotion of 8k visual quality. sessions contents & service, developer program, mobile add samsung pay as your payment method in this session, we will share learnings from our experience developing the samsung pay mobile payment service, revealing insights that can be applied to your own platforms. we will also take a look at the samsung pay development kit and how you can use this for your own service. sessions game, ar, mobile ar emoji: your avatar, your experience the ar emoji feature on samsung devices enables users to create a 3d avatar model that can be used in other applications. similar to avatars currently available in games or in the metaverse, our ar emojis are a chance for users to express themselves, their style and their personality, digitally. but this is only the beginning. in this session, we’ll explore the future of ar emojis and how the ar emoji sdk is opening more opportunities for developers to collaborate with samsung to bring to life new services featuring these avatars and optimize them for the metaverse though our collaboration with unity. sessions ai, iot, smart appliances bixby 2022 what’s new what’s new with bixby in 2022? in this session, you will hear about some of the exciting improvements to the nlu and on-device bixby as well as updates to the bixby developer studio, which introduces a brand new javascript runtime that provides a modern, secure, high-performance environment. we will also take a closer look at the brand new bixby home studio, which allows smart device developers to customize and optimize voice control of smart devices, including allowing a single command to intelligently control multiple smart home devices. sessions contents & service, game creating spectacular galaxy game audio experiences with dolby atmos galaxy smartphones and tablets can produce spectacular game audio with dolby atmos. discover how you can create deeper emotional connections with players, keep them playing for longer, and earn their loyalty by unleashing the full power of samsung galaxy mobile game audio. in this session you will hear from dolby’s partner audiokinetic who will discuss how developers can make dolby atmos games, including a walkthrough of how to use dolby atmos plug-ins in audiokinetic's wwise audio middleware. moong labs – creators of epic cricket one, of india's most popular sports games – will also share how dolby atmos benefitted their game and you will find out how dolby supports game developers and other activities on our website. sessions health, wearable expand health experiences with galaxy watch the galaxy watch’s powerful bioactive sensor, together with the wear os powered by samsung, is transforming mobile health experiences. and now, this technology is even more powerful thanks to the samsung privileged health sdk. find out how the samsung privileged health sdk is allowing developers to retrieve raw or analyzed sensor data for their applications, including bia, ecg, blood oxygen level or sweat loss, and help users’ to accurately monitor their health stats. sessions web flexible and private web experience on samsung internet in this session, you will learn how to enhance and optimize your web experience for foldable devices using device posture api and viewport segment media query. we'll also take a closer look at how samsung internet protects users’ privacy online. sessions mobile, enterprise, developer program google and samsung strengthen enterprise ecosystem together samsung’s global mobile b2b team is working closely with the android enterprise team to build a galaxy ecosystem of partners who are bringing innovation into workplaces. discover how partner solutions create unique experiences on samsung devices and how we plan to work together to help future partners step into the samsung android ecosystem for enterprises and smbs. sessions contents & service, developer program, enterprise hdr10+/salt and automatic hdr video creations for productions hdr10+ is an essential technology for premium hdr viewing experience and it is widely reach to consumer displays including mobile devices. in order to provide hdr content services, it requires changing service provider's infra structure or workflows and video processing technology from sdr to hdr with a lot of engineering efforts. then, hdr10+/salt solutions and partnership program from samsung is designed to build an extremely cost effective automatic solution up for content creators, post production houses and ott service providers even including game developers. the solution package is designed with various standalone applications, reference apps, sdks on various oses and partnership programs to help 3rd parties for creation of hdr contents. hdr10+/salt partnership program provides full compatibility to hdr10+ llc certification program and major studios, ott service providers and tool makers are already partners of the program and samsung provides them the best hdr content quality. sessions developer program, open innovation, health healthcare research hub our open source project provides end-to-end solutions such as sdk, platform, and portal for various use cases from medical research studies to clinician services using wearable devices. medical research does not have to stay complicated. anyone can easily build and customize their own research studies or clinician services using this open source. recently, as the accuracy of sensors installed on wearable devices has improved, interest in healthcare research using wearable health data is increasing. however, it takes a lot of time for researchers to develop research applications and server infrastructure for storing and analyzing data from scratch. sr is developing android sdk and data platform solutions that support healthcare research using health data from our wearable devices (watch 4 and later versions) and provide them as open source in order to solve the pain points of these researchers and establish a digital health care research ecosystem centered on our wearable devices. sessions iot, monetization, smart appliances home connectivity alliance introduction of home connectivity alliance and how appliance manufactures can enable interoperability across brands. hear how hca interoperability can benefit consumers and partners including b2b (home builders, mfu, etc). join the hca and become a leader in innovation within the connected iot ecosystem. sessions ai, ar immersive audio we will demonstrate an audio system with dramatically improved immersive 3d audio experience. hardware will be similar to samsung’s critically acclaimed hw-q990b soundbar, but will include several new technologies that will be found in future samsung products. these technologies automatically correct for room acoustics and the location of the listeners and loudspeakers. visitors will compare the sound of the system before and after the system’s unique automated calibration process. listeners will enjoy improved spatial and timbral performance in stereo, surround and immersive audio formats with both music and cinematic content. sessions security & privacy introducing blockchain wallet with knox vault in this session, we introduce blockchain wallet for samsung smart tv. blockchain wallet allows our smart tv users to manage their blockchain accounts and transfer their cryptocurrency to another blockchain account. it ensures to retain a key for blockchain transactions in a secure way. dapp developers can build their tv dapp with blockchain wallet for blockchain functions such as blockchain connection and transaction signing. knox vault is an enhanced hardware-based security solution to protect sensitive data such as cryptographic keys, passwords and personal data. knox vault provides strong security guarantees against hardware attacks such as physical attack, side-channel attack and fault attack. as a core component of the knox security platform, knox vault is an isolated, tamper-proof, secure subsystem with its own secure processor and memory. sessions developer program, enterprise, android introducing samsung galaxy camera ecosystem discover how advanced camera technologies, based on samsung’s leading hardware and software, can enable developers to create more powerful camera experiences for their users. we will take a look at some of the incredible partnerships samsung has already formed with numerous app developers and reveal how these collaborations enriched users’ camera experiences. sessions mobile, android, productivity intuitive multitasking experience based upon android 12l join us to see how samsung continues to enhance the large screen user experience further with fast app switching and intuitive multitasking capabilities. to maximize the galaxy foldable experience, we're expanding flex mode even further with more apps and partners as well as google's ongoing collaborative effort in android 12l. sessions iot, mobile, uwb joint efforts on standardization toward open ecosystem of uwb services the presentation will introduce samsung's joint efforts with industry partners on the uwb tech/service standardization, which is essential for creating an interoperable open ecosystem of uwb products and services. especially, it will introduce activities at fira consortium, which was established by samsung jointly with industry leaders to provide interoperability specifications as well as certification programs. it may also include target uwb services and relevant standardization status & plan. sessions ar, game, tizen journey to immersive interactive exp in big screen with xr and avatar fw xr framework webapis enable developers to build xr applications on the tizen platform. we will go over features of the webapis, share some demos, and provide information on how to get started. additionally we will show you a sample code of how to capture and handle user's gestures and full body movement. avatar framework for tizen is a unified solution providing high level apis that allow samsung developers to easily include the 3d avatar models and features in their samsung tv applications. we will go over all the cool features and options of our framework in this video. sessions connectivity, android, mobile le audio: the future of wireless sound introducing le audio: a new standard for bluetooth technology on galaxy devices. le audio will enhance the performance of classic bluetooth audio and introduce isochronous communication, creating whole new wireless audio experience on galaxy devices. in this session, we will introduce the technical features of le audio, what it means for the galaxy ux and how you could enhance wireless audio experience of your app with le audio. sessions design, ui/ux one ui design principles in partnership one ui creates a unified experience across our galaxy devices, from phones and tablets to watches and galaxy books. in creating and refining one ui, we've followed four key principles: simplicity, effortlessness, consistency, and authenticity. with one ui, we've also made a commitment to openness, which means some of the best things in one ui come from partnerships. in this session, we'll talk about some of those partnerships and how we aligned them with our four design principles to get great results. sessions ui/ux, design, android one ui: customer centric design one ui starts with a true understanding what our customers want. hear more about what samsung have learned from listening to extensive customer feedback and usage data, and how we have adapted our designs in response. we'll take a look at some real-life examples of how the ux design of the calendar, settings and samsung health app has evolved over time to better meet customer needs. sessions enterprise, data, security & privacy our journey to responsibly handling data at samsung, we place personal data protection as one of our top priorities. learn how we responsibly handle personal data in our applications and platforms. we'll share with you our journey in protecting personal data. we'll talk about what it means to responsibly govern and access data in samsung's enterprise environment. we'll cover specifics on how to classify & protect data as a whole. pick up insights on privacy technologies and design patterns we apply in our data intensive applications today. sessions developer program, tizen, ui/ux prism: the new ux development tool and process in today’s environment of rapid and unpredictable transformation, establishing a creative and increasingly collaborative tech culture is one of the most challenging requirements. in this session, we would like to introduce a new method to revolutionize the tizen platform-based app development process. a new development process named prism automates most of the inefficient overheads from design to implementation of app ui, innovatively improving app development productivity. we will introduce prism-based development process and deliver this innovative app development culture to developers through the sessions. sessions developer program, smart appliances, tizen remote test lab: what’s new in tv development environment the current tizen tv development environment, represented by emulator and tv, is a very limited support method for developers. depending on the version of emulator, the latest features currently supported by the tv may not be available, and various models of physical tvs may be required to verify actual operation. rtl tv tries to overcome the limitations of the current development environment. sessions contents & service, monetization, data samsung tv plus: the advanced ad-tech and partnerships that fund free tv samsung’s free ad-supported tv (fast) service “tv plus” has been a breakout success. although it looks and feels like traditional tv, it is anything but! behind the scenes of this slick tv & mobile experience is high-performance technology, vast amounts of data & algorithms, and a thriving partner ecosystem. join this session to learn more about the mind-boggling world of advertising technology, how it works, and how multiple companies come together to provide free tv to millions of consumers worldwide. sessions android, contents & service samsung wallet, it's convenient, personal and safe as the growth of digital wallets skyrockets, samsung recently announced samsung wallet – a new platform bringing almost all of the cards you’d typically find in a physical wallet, as well as important documents, into one easy-to-use and secure mobile application. as samsung wallet rapidly expands its content set, find out more about the future of digital wallets and how open api’s can allow developers to build integrations for this service. sessions iot, security & privacy smartthings edge: the next level experience discover how samsung is transitioning the smartthings-published groovy dths to edge drivers while maintaining a seamless experience for our users. we’ll walk through the process of onboarding edge-based devices and how to set up an automation with an edge device that runs locally. sessions iot, monetization, smart appliances smartthings energy service introduction of smartthings energy service and how partners (energy companies, smart device mfgs, etc) can integrate to provide a seamless energy management service for their consumers leveraging samsung's smartthings energy ecosystem. sessions iot, contents & service, open innovation smartthings find: find alongside 200+ million users smartthings find is samsung’s fastest growing service, powered by more than 200 million galaxy users. discover some of the new features and functions added over the past year and learn how partners can leverage the service to innovate their own solutions to meet the needs of businesses and consumers alike. sessions iot, contents & service, open innovation smartthings platform enhancements for openness and interoperability the smartthings platform continues to evolve to promote openness and interoperability. in this session, we will share some exciting new updates to the smartthings platform to support matter and thread, and discuss the home connectivity alliance. sessions health, tizen telehealth in samsung devices samsung display device (smart tvs & smart monitors) users will be able to launch telemedicine service within the samsung products. once you pick your physician, you can use one of the approved usb cameras to connect to the tv and jump on a video call with a physician via external service provider's built-in web applications. after a few account setup process on mobile / pc, you can easily start your session any time on tv without any additional complicated inputs. at your session, you can also receive a prescription to be filled in at a mail-in online pharmacy (pc or mobile) to receive prescription drugs at your doorstep. sessions open innovation, enterprise, productivity the next generation samsung retail solutions in a mobile-first world, device convergence, simplification, ergonomically designed accessories, sw solutions and the connected galaxy ecosystem are helping to boost productivity and efficiency in the retail industry. in this session, we will explore how the next generation of retail solutions are shaping the industry’s future and will take a closer look at samsung’s three major retail solutions - data capturing, payment, and push-to-talk. sessions developer program, mobile, android the samsung knox partner program: partner success journey the samsung knox partner program (kpp) equips you with everything you need to build ideas and market your mobile solutions. in this session, we will take a look at some of our partners’ solutions and how collaborating with the samsung kpp has helped enhance their user experience. join us to see why kpp is causing a stir in the business developer community! sessions enterprise, tizen tizen everywhere this session highlighted samsung's direction and goals for the enterprise and b2b markets, focused on taking tizen to the next level on so many platforms. various enterpriser displays based on tizen and solutions suitable for business purposes will always be together. tizen enterprise platform will provide all the technology infrastructure you need, including the samsung developers portal for b2b for developer support and the samsung apps tv seller office for custom application support in your own business. after announcing "tizen open" at sdc in 2019, samsung established licensing system to provide tizen tv os to other tv makers. in order for partners to develop tizen tv products faster, samsung prepared reference tv solution. in europe, australia, türkiye, tizen tvs have been released sequentially through more than 10 tv brands since september 22. sessions wearable, design, android watch face studio's first journey and expectation for next a must-have to create beautiful watch faces! watch face studio (wfs) is now a little over a year old. hear the developers of wsh share the highs and lows of bringing the tool to life and meet the designers responsible for creating the eco watch face. this session is an insight into the year-long journey to create wfs – and the story of where we’re going next. sessions iot, tizen, ui/ux what's new in tizen? are you curious about the direction in which intelligent iot platform “tizen” is developing? this session introduces ui assistant technology and extended 3d ui framework for providing advanced user experience, and explains innovative technologies that make run the tizen platform on top of the android hardware abstraction layer to facilitate securing new hws. and introduce the iot standard 'matter', which will be newly supported on tizen. finally, we provide a guide and tip for cross platform application development. sessions ai, iot, smart appliances what’s new in bixby for smart home bixby brings the smart home experience to life with the power of voice. find out how our new tool, bixby home studio, will enable device manufacturers to build more intelligent, more engaging voice experiences for smartthings-connected devices. sessions mobile, design, ui/ux what’s new in one ui 5 one ui 5 pushes personalization and productivity to the next level. explore new features that enable you to build a galaxy experience that reflects your personal style and help you to get more done on all your devices, wherever or whenever you need to.
Learn Code Lab
codelabmeasure blood oxygen level and heart rate on galaxy watch objective create a health app for galaxy watch, operating on wear os powered by samsung, utilizing samsung health sensor sdk to trigger and obtain results of simultaneous blood oxygen level spo2 and heart rate measurements overview samsung health sensor sdk provides means of accessing and tracking health information contained in the health data storage its tracking service gives raw and processed sensor data such as accelerometer and body composition data sent by the samsung bioactive sensor the latest bioactive sensor of galaxy watch runs powerful health sensors such as photoplethysmogram ppg , electrocardiogram ecg , bioelectrical impedance analysis bia , sweat loss, and spo2 see samsung health sensor sdk descriptions for detailed information set up your environment you will need the following galaxy watch4 or newer android studio latest version recommended java se development kit jdk 11 or later sample code here is a sample code for you to start coding in this code lab download it and start your learning experience! measuring blood oxygen level and heart rate sample code 159 2 kb connect your galaxy watch to wi-fi go to settings > connection > wi-fi and make sure that wi-fi is enabled from the list of available wi-fi networks, choose and connect to the same one as your pc turn on developer mode and adjust its settings on your watch, go to settings > about watch > software and tap on software version 5 times upon successful activation of developer mode, a toast message will display as on the image below afterwards, developer options will be visible under settings tap developer options and enable the following options adb debugging in developer options find wireless debugging turn on wireless debugging check always allow on this network and tap allow go back to developer options and click turn off automatic wi-fi notethere may be differences in settings depending on your one ui version connect your galaxy watch to android studio go to settings > developer options > wireless debugging and choose pair new device take note of the wi-fi pairing code, ip address & port in android studio, go to terminal and type adb pair <ip address> <port> <wi-fi pairing code> when prompted, tap always allow from this computer to allow debugging after successfully pairing, type adb connect <ip address of your watch> <port> upon successful connection, you will see the following message in android studio’s terminal connected to <ip address of your watch> now, you can run the app directly on your watch turn on developer mode for health platform on your watch go to settings > apps > health platform quickly tap health platform title for 10 times this enables developer mode and displays [dev mode] below the title to stop using developer mode, quickly tap health platform title for 10 times to disable it start your project in android studio, click open to open existing project locate the downloaded android project from the directory and click ok establish service connection and check capabilities for the device to track data with the samsung health sensor sdk, it must connect to the service by healthtrackingservice api after establishing a connection, verify if the required tracker type is available to check this, get the list of available tracker types and verify that the tracker is on the list in this code lab, you will utilize blood oxygen level and heart rate trackers the healthtrackingservice api usage is in the table below healthtrackingservicehealthtrackingservice initiates a connection to samsung's health tracking service and provides a healthtracker instance to track a healthtrackertype public void connectservice establish a connection with samsung's health tracking service public void disconnectservice release a connection for samsung's health tracking service public healthtrackercapability gettrackingcapability provide a healthtrackercapability instance to get a supporting health tracker type list initialize multiple trackers before the measurement starts, initialize the spo2 tracker by obtaining the proper health tracker object in the connectionmanager java file, navigate to initspo2 , create an oxygen saturation healthtracker instance, and pass it to the spo2listener instance get the healthtracker object using the healthtrackingservice api use the healthtrackertype spo2_on_demand type as parameter healthtrackingservicehealthtrackingservice initiates a connection to samsung's health tracking service and provides a healthtracker instance to track a healthtrackertype public healthtracker gethealthtracker healthtrackertype healthtrackertype provide a healthtracker instance for the given healthtrackertype pass the healthtracker object to the spo2listener instance object spo2listener public void sethealthtracker healthtracker tracker set healthtracker instance for the given tracker /******************************************************************************************* * [practice 1] create blood oxygen level health tracker object * - get health tracker object * - pass it to spo2listener ------------------------------------------------------------------------------------------- * - hint replace todo 1 with parts of code * 1 get healthtracker object using healthtrackingservice gethealthtracker * use healthtrackertype spo2_on_demand type as parameter * 2 pass it to spo2listener using sethealthtracker function ******************************************************************************************/ public void initspo2 spo2listener spo2listener { //"todo 1 1 " //"todo 1 2 " sethandlerforbaselistener spo2listener ; } next, in the connectionmanager java file, in the initheartrate function, create a heart rate healthtracker instance, and pass it to the heartratelistener instance get the healthtracker object using the healthtrackingservice api use the healthtrackertype heart_rate_continuous type as parameter pass the healthtracker object to the heartratelistener instance object heartratelistener public void sethealthtracker healthtracker tracker set healthtracker instance for the given tracker /******************************************************************************************* * [practice 2] create heart rate health tracker object * - get health tracker object * - pass it to heartratelistener ------------------------------------------------------------------------------------------- * - hint replace todo 2 with parts of code * 1 get healthtracker object using healthtrackingservice gethealthtracker * use healthtrackertype heart_rate_continuous type as parameter * 2 pass it to heartratelistener using sethealthtracker function ******************************************************************************************/ public void initheartrate heartratelistener heartratelistener { //"todo 2 1 " //"todo 2 2 " sethandlerforbaselistener heartratelistener ; } start and stop trackers for the client app to start obtaining the data through the sdk, set a listener method on healthtracker this method will be called every time there is new data after the measurement completes, the listener has to be disconnected to start measurement in the baselistener java file, navigate to starttracker function, and set trackereventlistener as listener healthtracker object set an event listener on healthtracker object using healthtracking api use the healthtracker trackereventlistener object instance as parameter healthtrackerhealthtracker enables an application to set an event listener and get tracking data for a specific healthtrackertype public void seteventlistener healthtracker trackereventlistener listener set an event listener to this healthtracker instance /******************************************************************************************* * [practice 3] start health tracker by setting event listener * - set event listener on health tracker ------------------------------------------------------------------------------------------- * - hint replace todo 3 with parts of code * set event listener on healthtracker object using healthtracker seteventlistener * use trackereventlistener object as parameter ******************************************************************************************/ public void starttracker { log i app_tag, "starttracker called " ; log d app_tag, "healthtracker " + healthtracker tostring ; log d app_tag, "trackereventlistener " + trackereventlistener tostring ; if !ishandlerrunning { handler post -> { //"todo 3" sethandlerrunning true ; } ; } } to stop measurement, unset the trackereventlistener from the healthtracker object in the stoptracker function unset the event listener on healthtracker object using healthtracking api healthtrackerhealthtracker enables an application to set an event listener and get tracking data for a specific healthtrackertype public void unseteventlistener stop the registered event listener to this healthtracker instance /******************************************************************************************* * [practice 4] stop health tracker by removing event listener * - unset event listener on health tracker ------------------------------------------------------------------------------------------- * - hint replace todo 4 with parts of code * unset event listener on healthtracker object using healthtracker unseteventlistener ******************************************************************************************/ public void stoptracker { log i app_tag, "stoptracker called " ; log d app_tag, "healthtracker " + healthtracker tostring ; log d app_tag, "trackereventlistener " + trackereventlistener tostring ; if ishandlerrunning { //"todo 4" sethandlerrunning false ; handler removecallbacksandmessages null ; } } process obtained and batching data the response from the platform will be asynchronous with the results you want to obtain follow the steps below to get blood oxygen level and heart rate data in the spo2listener java file, navigate to updatespo2 function, and read spo2 data from datapoint get the oxygen saturation status using the datapoint api key valuekey spo2set status get the oxygen saturation value using the datapoint api key valuekey spo2set spo2 datapointdatapoint provides a map of valuekeyand value with a timestamp public <t>t getvalue valuekey<t> type get data value for the given key /******************************************************************************************* * [practice 5] read values from datapoint object * - get blood oxygen level status * - get blood oxygen level value ------------------------------------------------------------------------------------------- * - hint replace todo 5 with parts of code * 1 remove spo2status calculating and * set status from 'datapoint' object using datapoint getvalue valuekey spo2set status * 2 set spo2value from 'datapoint' object using datapoint getvalue valuekey spo2set spo2 * if status is 'spo2status measurement_completed' ******************************************************************************************/ public void updatespo2 datapoint datapoint { int status = spo2status calculating; //"todo 5 1 " int spo2value = 0; //"todo 5 2 " trackerdatanotifier getinstance notifyspo2trackerobservers status, spo2value ; log d app_tag, datapoint tostring ; } in the heartratelistener java file, navigate to readvaluesfromdatapoint function, and read the heart rate data from datapoint get heart rate status using datapoint api key valuekey heartrateset heart_rate_status get heart rate value using datapoint api key valuekey heartrateset heart_rate get heart rate ibi value using datapoint api key valuekey heartrateset ibi_list get ibi quality using datapoint api key valuekey heartrateset ibi_status_list /******************************************************************************************* * [practice 6] read values from datapoint object * - get heart rate status * - get heart rate value * - get heart rate ibi value * - check retrieved heart rate’s ibi and ibi quality values ------------------------------------------------------------------------------------------- * - hint replace todo 6 with parts of code * 1 set hrdata status from 'datapoint' object using datapoint getvalue valuekey heartrateset heart_rate_status * 2 set hrdata hr from 'datapoint' object using datapoint getvalue valuekey heartrateset heart_rate * 3 set local variable 'list<integer> hribilist' using datapoint getvalue valuekey heartrateset ibi_list * 4 set local variable 'final list<integer> hribistatus' using datapoint getvalue valuekey heartrateset ibi_status_list * 5 set hrdata ibi with the last of 'hribilist' values * 6 set hrdata qibi with the last of 'hribistatus' values ******************************************************************************************/ public void readvaluesfromdatapoint datapoint datapoint { heartratedata hrdata = new heartratedata ; //"todo 6 1 " //"todo 6 2 " //"todo 6 3 " //"todo 6 4 " //"todo 6 5 " //"todo 6 6 " trackerdatanotifier getinstance notifyheartratetrackerobservers hrdata ; log d app_tag, datapoint tostring ; } run unit tests for your convenience, you can find an additional unit tests package this lets you verify your code changes even without using a physical watch see instructions below on how to run unit tests right click on com samsung health multisensortracking test and execute run 'tests in 'com samsung health multisensortracking'' command if you completed all the tasks correctly, you can see that all the unit tests passed successfully run the app after building the apk, you can run the application on a connected device to see blood oxygen level and heart rate values right after the app is started, it requests for user permission allow the app to receive data from the body sensors afterwards, it shows the application's main screen and automatically display the heart rate to get the blood oxygen level spo2 value, tap on the measure button to stop the measurement, tap on the stop button tap on the details label to see more heart rate data you're done! congratulations! you have successfully achieved the goal of this code lab now, you can create a health app that measures blood oxygen level and heart rate by yourself! if you're having trouble, you may download this file measuring blood oxygen level and heart rate complete code 158 8 kb to learn more about samsung health, visit developer samsung com/health
Develop Galaxy Watch for Tizen
doccreate your first tizen wearable native watch application welcome to tizen wearable native watch application development! note for watch face developers you can create watch faces with galaxy watch studio or tizen studio for your personal enjoyment however you will not be able to add watch face applications to seller portal until you have received approval to publish watch faces the review is not required for watch app and widget developers galaxy store supports watch faces for galaxy watch3 and earlier samsung watches running on tizen watch faces for galaxy watch4 and later running on wear os powered by samsung is only supported in the chinese galaxy store a wearable native watch application is created using the c language, and can be run on tizen wearable devices to display a customized watch face to the user study the following instructions to help familiarize yourself with the tizen native application development process as well as using the tizen studio and installing the created application on the emulator or target device with the instructions, you can create and run a basic wearable native watch application, which displays some text and the current time on the screen before you get started with developing tizen applications, download and install the tizen studio for more information on the installation process, see the installation guide create a wearable native watch project using the tizen studio this step shows how you can use a predesigned project template that creates all the basic files and folders required for your project build the application after you have implemented code for the features you want, this step shows how you can build the application to validate and compile the code run the application this step shows how you can run the application on the emulator or a real target device design a ui this step shows how you can create the application ui and make small alterations to it to improve the usability of your application when you are developing a more complex application, you can take advantage of the native tools included in the tizen studio to ease the tasks of creating functionality and designing the application ui creating a project the following example shows you how to create and configure a basic wearable native watch application project in the tizen studio an application project contains all the files that make up an application the following figure illustrates the application to be created the application screen displays the hello watch text and the current time, which continues to be refreshed every second while the application runs figure wearable native watch application to create the application project launch the tizen studio in the tizen studio menu, select file > new > tizen project the project wizard opens in the project wizard, define the project details the project wizard is used to create the basic application skeleton with the required folder structure and mandatory files you can easily create different applications by selecting an applicable template or sample for the project wizard to use select the template project type and click next select the profile wearable and version from a drop-down list and click next the version depends on the platform version you have installed and with which you are developing the application select the native application application type and click next select the watch template and click next define the project properties and click finish you can enter the project name 3-50 characters and the unique package id you can also select the location and working sets by clicking more properties the project wizard sets up the project, creates the application files using the default content from the template, and closes for more information on the project wizard and the available templates, see creating tizen projects with tizen project wizard you can see the created project in the project explorer view the most important files and folders include inc default folder for included source files res folder for resource files used by the application only shared folder for resource files to be shared with other applications src folder for source code files lib folder for external library files tizen-manifest xml manifest file used by the platform to install and launch the application figure application in the project explorer note you can view and modify the application configuration in the manifest editor in this example, no configuration changes are required your application project is now ready for further actions next, build the application managing the application configuration to view and modify the application configuration in the project explorer view, double-click the tizen-manifest xml file of the application the tizen studio opens the file in the manifest editor in the manifest editor, view and modify the configuration details using the various tabs overview define general information, such as the package, label, and icon of the application features define required software and hardware features this information is used for application filtering in the tizen store privileges define the security-sensitive apis or api groups accessed and used by the application localization define localized values for the application label, description, and icon advanced define advanced features, such as application metadata and some miscellaneous options source view and edit the source code of the tizen-manifest xml file changes made and saved on the other tabs are reflected in the source code and vice versa note the tizen-manifest xml file must conform to both the xml file format and the tizen native application specification requirements editing the file in the source tab is intended for advanced users only to save any changes, in the tizen studio menu, select file > save all for more information on configuring the application, see setting the application manifest understanding the source code pay attention to the following main issues in the application source code in the inc/watch h and src/watch c files , to understand how the application is designed and how it works for source code details related to the ui, see designing a simple ui the watch application is initialized to use the functions and data types of the watch application api by including the <watch_app h> header file in your application #include <watch_app h> all header files that you need are already included in the watch h file, which is generated by the tizen studio when the template project is created the life-cycle callbacks manage specific parts of the application life-cycle they are set in the watch_app_lifecycle_callback_s structure, and the structure is passed to the watch_app_main function of the watch application api to start the watch application event loop int main int argc, char *argv[] { appdata_s ad = {0,}; int ret = 0; watch_app_lifecycle_callback_s event_callback = {0,}; app_event_handler_h handlers[5] = {null,}; event_callback create = app_create; event_callback terminate = app_terminate; event_callback pause = app_pause; event_callback resume = app_resume; event_callback app_control = app_control; event_callback time_tick = app_time_tick; event_callback ambient_tick = app_ambient_tick; event_callback ambient_changed = app_ambient_changed; ret = watch_app_main argc, argv, &event_callback, &ad ; if ret != app_error_none dlog_print dlog_error, log_tag, "watch_app_main is failed err = %d", ret ; return ret; } the create event is triggered before the application main loop starts in this callback, you can initialize the application resources, such as create windows and data structures static bool app_create int width, int height, void *data { /* hook to take necessary actions before the main event loop starts initialize ui resources and application's data if this function returns true, the main loop of application starts if this function returns false, the application is terminated */ appdata_s *ad = data; create_base_gui ad, width, height ; return true; } the time_tick event is triggered at least once per second the watch applications can get the current time from the watch_time time handle to draw a normal watch static void app_time_tick watch_time_h watch_time, void *data { /* called each second while your app is visible; update the watch ui */ appdata_s *ad = data; update_watch ad, watch_time, 0 ; } note for more information on the application life-cycle callbacks, see applications an ambient mode is available on a low-powered wearable device in this mode, the watch application shows a limited ui and receives only the ambient tick event every minute to reduce power consumption the details of the limited ui drawn in the ambient mode depend on the device in addition, due to the ambient mode being a low power mode, there are limits to the colors that can be shown on the screen usually, when designing the ambient mode ui, draw it with limited colors cyan, magenta, yellow, red, green, blue, black and white , and use less than 15% of the pixels on the screen if you do not want to draw your own ambient mode ui, set the ambient-support attribute to false in the watch application manifest file to allow the platform to show a default ambient mode ui note to use the ambient mode, the user must enable it in the device settings in addition, on the galaxy watch device, the ambient mode activates only when you are wearing the watch on the wrist - the `ambient_tick` callback is triggered every minute while the device is in the ambient mode you can use the callback to update the time on your watch application in the ambient mode in this callback, do not perform time-consuming tasks and always update the ui as quickly as possible the platform can put the device to sleep shortly after the ambient tick expires ```c static void app_ambient_tick watch_time_h watch_time, void *data { /* called at each minute while the device is in ambient mode update watch ui */ appdata_s *ad = data; update_watch ad, watch_time, 1 ; } ``` - the `ambient_changed` callback is triggered when the ambient mode is enabled or disabled on the device you can use the callback to initialize your ambient mode ui ```c static void app_ambient_changed bool ambient_mode, void *data { if ambient_mode /* prepare to enter the ambient mode */ else /* prepare to exit the ambient mode */ } ``` building your application after you have created the application project, you can implement the required features in this example, only the default features from the project template are used, and no code changes are required when your application code is ready, you must build the application the building process performs a validation check and compiles your files you can build the application in the following ways automatically the automatic build means that the tizen studio automatically rebuilds the application whenever you change a source or resource file and save the application project to use the automatic build select the project in the project explorer view in the tizen studio menu, select project > build automatically a check mark appears next to the menu option you can toggle the automatic build on and off by reselecting project > build automatically manually the manual build means that you determine yourself when the application is built to manually build the application, right-click the project in the project explorer view and select build project figure manually building the application alternatively, you can also select the project in the project explorer view and do one of the following in the tizen studio menu, select project > build project press the f10 key you can have more than one build configuration to see the current active configuration or change it, right-click the project in the project explorer view and select build configurations > set active the default configuration is debug for more information, see building applications after you have built the application, run it running your application you can run the application on the emulator or a real target device running on the emulator to run the application on the emulator launch an emulator instance in the emulator manager in the tizen studio menu, select tools > emulator manager in the emulator manager, select a wearable emulator from the list and click launch if no applicable emulator instance exists, create a new one the emulator is launched in its own window you can also see the new emulator instance and its folder structure in the device manager generate a security profile before you run the application, you must sign your application package with a certificate profile in the tizen studio run the application in the project explorer view, right-click the project and select run as > tizen native application alternatively, you can also select the project in the project explorer view and do one of the following press the ctrl + f11 key click the run icon in the toolbar if you have created multiple emulator instances, select the instance you want from the combo box in the toolbar before selecting to run the application if you select an offline emulator, it is automatically launched when you select to run the application confirm that the application launches on the emulator note if the emulator display has switched off, you cannot see the application launch to switch the display on, click the power key in the lower-right corner of the emulator 3 change the watch face <a name="watchface"></a> to change the watch face and make the installed watch application visible ![changing the watch face] https //docs tizen org/application/native/get-started/wearable-watch/media/watch_run_change_wn png 1 if the emulator display has been switched off, activate it by pressing the **power** key in the lower-right corner of the emulator 2 on the home screen showing the default watch face , press the **power** key 3 in the recent apps screen, select **settings \> watch faces and styles \> watch faces** 4 swipe right until you find your application icon, and select it the **clock changed** message is displayed 5 press the **back** key in the upper-right corner of the emulator device multiple times, until the home screen with your new watch face is shown ![application running in the emulator] https //docs tizen org/application/native/get-started/wearable-watch/media/watch_run_face_wn png while the application is running, the **log** view in the tizen studio shows the log, debug, and exception messages from the methods defined in the log macros to see the view, in the tizen studio menu, go to **window \> show view \> log** for more information on using the emulator features, see using emulator control keys, menu, and panel and using extended emulator features running on a target device to run the application on a target device connect the wearable target device to your computer define settings on the device go to settings > connections, and switch on wi-fi the device and the computer must be connected to the same wi-fi network note the ip address the device is using go to settings > gear info, and switch on the debugging mode in the terminal, enter the following commands cd tizen-studio/tools /sdb connect <ip address of galaxy watch> use the ip address you noted before instead of the terminal, you can also use the remote device manager for the connection in the first attempt, the connection fails and the device asks for user confirmation to allow galaxy watch to read log data, copy files to and from your computer, and install the application manually, click the accept mark in the device manager, confirm that the device is connected shown in the device list generate an author certificate before you run the application, you must sign your application package with a certificate profile in the tizen studio run the application in the device manager, select the device in project explorer view, right-click the project and select run as > tizen native application alternatively, you can also select the project in the project explorer view and do one of the following press the ctrl + f11 key click the run icon in the toolbar if you have both a connected device and existing emulator instances, select the device from the combo box in the toolbar before selecting to run the application confirm that the application launches on the target device like with the emulator, you can change the watch face in the device settings to see the watch application on the home screen note the application is launched using the default debug run configuration to create and use another configuration in the project explorer view, right-click the project and select run as > run configurations in the run configurations window, click the new launch configuration icon , define the configuration details, and launch the application by clicking run designing a simple ui the wearable watch application created with the watch template has a simple user interface with a label component showing the hello watch text and the current time hour, minute, and second the ui is created using efl in the ambient mode, the watch template ui is identical to the normal ui, except that is shows the current time without the seconds figure user interface in the watch template ambient mode on the right creating the basic ui the ui in the watch template contains the following components the efl ui always contains a window component, which is the root component of the entire ui the application uses the conformant component as a container for other ui components the label showing the hello watch text and the current time is implemented with a label component the ui is created in the watch c file data structure a pointer to the ui components is stored in the appdata_s data structure struct appdata { /* window */ evas_object *win; /* conformant */ evas_object *conform; /* label */ evas_object *label; }; typedef struct appdata appdata_s; ui creation the app_create life-cycle callback is called when the application main loop starts, and it calls the create_base_gui function to create the ui static bool app_create int width, int height, void *data { /* define system callbacks */ appdata_s *ad = data; create_base_gui ad, width, height ; return true; } ui components the create_base_gui function creates the ui components window, conformant, and label the function receives a pointer to fill in the appdata_s structure static void create_base_gui appdata_s *ad, int width, int height { the window object of the idle screen is retrieved with the watch_app_get_elm_win function of the watch application api the watch_time_h handle is created for managing the current time, and the evas_object_resize function is used to resize the window to fit the screen int ret; watch_time_h watch_time = null; ret = watch_app_get_elm_win &ad->win ; if ret != app_error_none { dlog_print dlog_error, log_tag, "failed to get window err = %d", ret ; return; } evas_object_resize ad->win, width, height ; the conformant component is used as a container for the other ui components the component is the first object added inside the window with the elm_conformant_add function the conformant component is set as a resize object of the window by using the elm_win_resize_object_add function it means that the conformant size and position are controlled by the window component directly the evas_object_show function makes the conformant component visible ad->conform = elm_conformant_add ad->win ; evas_object_size_hint_weight_set ad->conform, evas_hint_expand, evas_hint_expand ; elm_win_resize_object_add ad->win, ad->conform ; evas_object_show ad->conform ; the label component for the text and time is added with the elm_label_add function the label is added inside the conformant component, which is the label's parent the label is resized and moved so that it is located below the first third of the screen height ad->label = elm_label_add ad->conform ; evas_object_resize ad->label, width, height / 3 ; evas_object_move ad->label, 0, height / 3 ; evas_object_show ad->label ; the watch_time_get_current_time function retrieves the current time, and the update_watch function uses the current time to set the label component content finally, the watch_time_h handle is deleted ret = watch_time_get_current_time &watch_time ; if ret != app_error_none dlog_print dlog_error, log_tag, "failed to get current time err = %d", ret ; update_watch ad, watch_time, 0 ; watch_time_delete watch_time ; when all the ui components are ready, the evas_object_show function makes the window component visible this means that the window displays everything on the screen at once evas_object_show ad->win ; } modifying existing components when the basic ui exists, you can easily modify the components in the ui by using the component-specific functions, or more general evas object functions for example, the following modification to the label component changes the text color to red ad->label = elm_label_add ad->conform ; evas_object_color_set ad->label, 255, 0, 0, 255 ; evas_object_resize ad->label, width, height / 3 ; evas_object_move ad->label, 0, height / 3 ; evas_object_show ad->label ; figure modified label component showing the current time you can update the time on the screen with the time_tick in the normal mode or ambient_tick in the ambient mode callback both callbacks contain the current time handle, and call the update_watch function to update the label content on the screen static void app_time_tick watch_time_h watch_time, void *data { appdata_s *ad = data; update_watch ad, watch_time, 0 ; } static void app_ambient_tick watch_time_h watch_time, void *data { appdata_s *ad = data; update_watch ad, watch_time, 1 ; } in the update_watch function, the watch_time_h handle is used to retrieve the current time elements hour, minute, and second with the watch_time_get_hour24 , watch_time_get_minute , and watch_time_get_second functions of the watch application api the text for the label component is defined based on whether the normal or ambient mode is used , and set with the elm_object_text_set function static bool update_watch appdata_s *ad, watch_time_h watch_time, int ambient { char watch_text[text_buf_size]; int hour24; int minute; int second; if watch_time == null return; watch_time_get_hour24 watch_time, &hour24 ; watch_time_get_minute watch_time, &minute ; watch_time_get_second watch_time, &second ; if !ambient { snprintf watch_text, text_buf_size, "<align=center>hello watch<br/>%02d %02d %02d</align>", hour24, minute, second ; } else { snprintf watch_text, text_buf_size, "<align=center>hello watch<br/>%02d %02d</align>", hour24, minute ; } elm_object_text_set ad->label, watch_text ; }
Watch Face Studio
docwatch face studio release note introduction release version 1 7 13 release date nov 14, 2024 notethe project file created in a higher version of watch face studio is not allowed to open in an older version for compatibility we recommend that you download the latest version change history watch face studio 1 7 13 newnov 14, 2024 new supported types of circle complication added in complication settings of properties tab goal progress, weighted element when selecting 'range value' only, value of min sdk is 33 when selecting new types, value of min sdk is 34 add 'heart rate' in default provider of complication settings change in sdk 34 change title, 'last updated time' to 'last updated time weather ' in time source of icu date and time add icu format of icu date and time e, mmmm d update multi languages for weather condition in run preview update 'heart rate' provider data in run preview fixed weather forecast functions to support arithmetic operations fixed tag expression bug to support double quotes with empty string watch face studio 1 7 9 beta aug 26, 2024 common & project management update memory usage plugin update clock face plugin add package name & app label in settings dialog for users' convenience publish & run add min sdk version info in publish dialog add more device types in run on device dialog edit & properties add diagnosis in menu bar support multiple color picker with gradient type add new tag, [first_day_week] support watch face format version 2 support weather tags & functions add weather condition in conditional line support weather in run window add last updated weather , hours and days in time source of icu date and time component add 'sweep' of movement effect and 'sync to device' of update frequency in second hands setting of analog clock component support ranged value complication with color ramp etc fixed minor bugs and gui improvements watch face studio 1 6 10jul 23, 2024 support android target sdk 33 watch face studio 1 6 9 beta feb 26, 2024 common support memory usage plugin edit & properties add analog clock, digital clock hh mm, hh mm ss, hh, mm, ss, colon and icu date in component menu add outline property in shape support capture types icon, screenshot, masked screenshot in run window popup support style option id in customization editor add range value in supported types of small box complication slot support opentype font support indonesia language in run tab etc add to reduce battery consumption in ambient mode when using analogclock or hh mm of digitalclock components fixed font clip problem improve smoothness of animation feature fixed is_daylight_saving_time issue fixed complication data not visible issue fixed minor bugs and gui improvements watch face studio 1 5 7 beta aug 17, 2023 common support plugin feature project management add plugins tab in preference dialog edit & properties add rounded rectangle rename animation component to image sequence rename multimedia component to animated gif/webp improve tag expression searching add guide text for version code in publish dialog add monospace fonts remove step goal slider in run tab etc fixed minor bugs and gui improvements watch face studio 1 4 20jun 15, 2023 fixed bug that changes 100% opacity of a component based on tag values in aod mode when the visibility attribute of a component is set to hide in normal mode and show in aod mode add the image resource for "app shortcut" provider in run preview watch face studio 1 4 19jun 8, 2023 prevent jumping time problem on resume time handled thumbnail option of the animation or multimedia properly when visibility is changed handled the style name of the customization editor added in multiple languages properly for language changes on the device fixed [sc_per] tag to work correctly on the device removed unnecessary permission request on the device with wear os 3 x version fixed "enotempty directory not empty" error during publish fixed to hide all components in complication slot when provider is set to empty fixed unloop bug when frame of conditional line is unselected reorder supported types of circle complication slot on camping sample project change to save screen capture image with 72 ppi instead of 25 ppi support wireless debugging and update connection guide watch face studio 1 4 13 beta may 10, 2023 0 common support watch faces for watch devices that run wear os targeting api level 30 and higher support watch face format of wear os support the user guide link in about menu 1 project management support thumbnail of watch face in case of circular crop off 2 edit & properties support complication slot way that suppport multi types in a slot support text id for localized text which is displayed on device such as style name and used in talkback case support to display current on-pixel ratio opr in run tab support to stop in first on-pixel ratio opr error situation while analyzing removed lottie format for multimedia removed hr measurement including tag expression, action and interval in setting removed chin shape in run preview window 3 etc change version code policy wfs user allow the specific range 0~999,999 support to choose build type aab, apk, aab+apk to reduce build time fixed minor issues watch face studio 1 3 13jan 4, 2023 fixed javascript error while opening watch face studio watch face studio 1 3 12nov 15, 2022 1 edit & properties add inactive bar state in conditional line fixed style order issue in customization editor fixed to enhance color chip quality in customization editor fixed to convert from string type to number type before arithmetic comparison fixed to reset msec when user changes time with time slider fixed to hide all components in complication when provider is set to empty fixed to remove unwanted stroke outside of run preview fixed to disable click event if media file path is undefined fixed to disable double click event on interaction icon in customization editor fixed to update style information and element together in customization editor 2 etc fixed to update world clock properly in tag expression fixed minor bugs and gui improvements watch face studio 1 3 8 beta oct 12, 2022 1 project management add sample projects and change sample images improve my workspace to display all project files in workspace 2 edit & properties support style set add 'event' condition including unread notification and low battery in conditional line add some conditions for unread notification and locale in run tab add new tag expression unread_nc add "islamic-umalqura" in local calendar improve theme color from single to multi color improve time zone / local calendar / language in digital clock component and tag expression improve style to import multiple resources by file selector improve color picker to show current/new and recently used color improve performance when multiple multimedia/animation components are used in timeline condition 3 etc fixed build fail issue with characters not allowed in project name fixed "run on device" to operate normally when connecting lan cable between pc and wifi ap fixed time update issue after changing time zone in aod fixed wrong [ampm_po] result for ja_jp locale fixed to consider alpha value of index component in import gwd resource fixed to support horizontal scroll with shift + mouse wheel in conditional line watch face studio 1 2 7aug 23, 2022 fixed animation lag issue fixed description of tag expression asin num watch face studio 1 2 6jul 7, 2022 fixed crash issue when attempting to build a project created in an older versions of watch face studio 1 1 0 fixed value conversion error of hands component imported from gwd fixed animation frame count error fixed numberformat error of tag function fixed description of tag function deg num watch face studio 1 2 5jun 23, 2022 1 project management & common support starred project and sort option provide sample projects remove new project page add system theme mode in preferences dialog add canvas circular crop option in project setting dialog 2 component add multimedia style and tap action add watch face canvas property 3 edit & properties add new tag expressions functions for asin num , acos num , atan num , deg num , rad num , pow base, exponent 4 etc improve build time fixed digital clock component to follow language setting in device fixed icon of the complication to be updated well in device fixed text with "sync to device" font setting to follow system font in device fixed complication date and time issue to be removed after emptying the complication slot temporarily disabled the feature that showing watch face after device boot with lock it will be enabled again after platform upgrade support 'multiple instances' feature for new wear os version watch face studio 1 1 14apr 1, 2022 fixed preview image bug that hands component only shows up watch face studio 1 1 13mar 31, 2022 replaced all fonts provided by text component fixed blank warning dialog issue after build fixed group ordering issue fixed jumping time issue on watch fixed group resize issue on watch deleted '3 digit' in the description of tag [mon_s] removed android permission query_all_packages permission fixed tap animation lag when using multiple mask elements on watch update open source license sil open font license watch face studio 1 1 9feb 24, 2022 1 common provide version update notice support dark theme for comfortable & relaxed use support color label in layer 2 component support mask support multimedia webp, agif, lottie 3 edit & properties improve properties bitmap font, curved text, progressbar improve animation panel loop times, frame count support trigger for animation and multimedia component support bitmap font management in setting support image appearance for image support loop, copy, paste in conditional line 4 style support grid view support reorder item increase the number of each item 5 etc provide editor tutorial on watch update open source license watch face studio 1 0 12nov 19, 2021 fixed known issue editable complications that support various layouts, such as "icon+text" and "title+text" of short text complication, display only one layout watch face studio 1 0 11nov 17, 2021 known issue editable complications that support various layouts, such as "icon+text" and "title+text" of short text complication, display only one layout 1 build use workspace folder to save build output provide previously used build information in build dialog 2 edit & properties support functions in the tag expressions round num , floor num , ceil num , sin num , cos num , tan num , abs num , clamp num, min, max , numberformat form, num support multiple image selection in add component change image max size to 2250 450*5 in import image updated naming rule for style fixed minor bugs 3 preview & run tap action shows visual touch feedback improved smoothness of sweep animation for second hand fixed hr to be measured even in devices without body-off sensor 4 terms of service change the coverage of 'watch face' like 'for android watch devices and samsung mobile devices' watch face studio 1 0 3sep 16, 2021 1 build support apk build output for uploading watch faces to galaxy apps added logic to check valid characters for a package name package name can contain only alphanumeric characters and the underscore fixed crash issue when using non-ascii character for a project name 2 properties removed number type in index setting fixed undo issue on dimension, curved-text in properties added new tag expressions [tmzn_ofs_with_dst], [hr_measure_result] 3 preview & run fixed tag expression issues [utc_ts], [week_in_month], [sc_per], [day_of_week], [hr_is_measuring] fixed locale and timezone issues fixed theme color, angle position and gyro effect issues fixed opacity issue in ambient mode fixed transform tag issue in a group fixed complication data issue from watch device fixed bitmap font issue for custom string including zero improved for smoother animation improved power consumption in ambient mode fixed minor issues watch face studio 1 0 0aug 11, 2021 initial version
We use cookies to improve your experience on our website and to show you relevant advertising. Manage you settings for our cookies below.
These cookies are essential as they enable you to move around the website. This category cannot be disabled.
These cookies collect information about how you use our website. for example which pages you visit most often. All information these cookies collect is used to improve how the website works.
These cookies allow our website to remember choices you make (such as your user name, language or the region your are in) and tailor the website to provide enhanced features and content for you.
These cookies gather information about your browser habits. They remember that you've visited our website and share this information with other organizations such as advertisers.
You have successfully updated your cookie preferences.