Quantcast
Jump to content


Samsung Newsroom

Administrators
  • Posts

    1,133
  • Joined

  • Last visited

    Never

Everything posted by Samsung Newsroom

  1. Start Date 2020-03-16T09:00:00+00:00 End Date 2020-03-20T17:00:00+00:00 LocationMoscone Center Connect with members of the Samsung Games team live at GDC 2020. Find out about the future of gaming on Samsung’s platform. View the full blog at its source
  2. Start Date 2020-05-06T09:00:00+00:00 End Date 2020-05-07T17:00:00+00:00 LocationMGM Grand, Las Vegas, NV Meet up with Samsung at the leading mobile acquisition and retention summit. Don't miss our panel session in the Monetization track! Check out everything the conference has to offer. View the full blog at its source
  3. Start Date 2020-03-10T09:00:00+00:00 End Date 2020-03-12T17:00:00+00:00 LocationSan Jose Convention Center Meet up with members of the Samsung B2B team at their booth to talk all things SaaS. Look out for Samsung speaking sessions as well! View the full blog at its source
  4. Welcome back to the Tizen Tidbits series where we cover different aspects of Tizen app development. In the third video of the series, we will cover a quick tip on how to duplicate projects in Tizen Studio. This can be useful when you want to experiment modifying or adding new features, without losing your current progress. Tizen Studio is the IDE for web and native application development. In upcoming videos we will cover core concepts for the Tizen .NET framework. Don’t forget to tell us in the forums what topics you will like us to touch in future videos. View the full blog at its source
  5. Start Date 2020-05-04T09:00:00+00:00 End Date 2020-05-07T17:00:00+00:00 LocationHynes Convention Center, Boston, MA Stop by the Samsung Developer booth at HOW Design Live and learn how to create watch faces and themes that will wow consumers. Participate in a design challenge for a chance to win a device! View the full blog at its source
  6. A complication in Galaxy Watch Designer (GWD) is an object that can be created by a combination of different types of components. A creative complication makes a watch face unique and attractive. Previously, there was no direct way to reuse a custom complication. Now, with the custom complication feature, you can design, save, and reuse your own complications, reducing the time it takes to re-create similar objects. Create a new custom complication You can add any type of component to create a custom complication, and you can change the property of a component while creating a custom complication. Here, I demonstrate a simple example. This complication consists of four components: morning background image, night background image, text with a tag expression to configure opacity, and another text with a tag expression to configure placement. The final complication shows the morning background image and ”Good Morning” text between 6:00:00 and 09:59:59 , and the night background image and ”Good Night” text between 19:00:00 and 23:59:59. Add Morning Background: Select the desired background image from left component bar. Click on Background > Import Image, navigate to the directory that contains the image you want to use, and select the image to import. To make this background appear only in the morning, in the Properties window (the background image must be selected), click the gray triangle in the lower left corner of the Opacity field and write the tag expression below. This tag expression states that if the hour is greater than or equal to 6:00 am and less than or equal to 9:59:59 am, the opacity value is 100%. Otherwise, the opacity value is 0%. ([H]>=6)*([H]<=9)?100:0 Add “Good Morning” Text: Add a text component and write “Good Morning!” To make this text appear only in the morning, repeat step 2. Modify the font color and adjust the text placement. Add Night Background: As in step 1, select the desired background image from the left component bar. To make this background appear only in the evening, we will take a different approach by having it positioned within the viewable area during the evening. To do so, in the Properties window (the background image must be selected), click the gray triangle in the lower left corner of the X axis field within the Placement section, and write the tag expression shown below. This tag expression states that if the hour is less than or equal to 18:59:59, 380 pixels are added to the X-axis placement location, which places it outside of the viewable area. Otherwise, the placement location will be at 0 pixels. Tip: Be careful about layering of the components. Text must be in the upper layer, rather than the background image. ([H]<=18)?380:0 Add “Good Night” Text: Add a text component and write “Good Night!” To make this text appear only in the evening, repeat step 5, and adjust text placement. Select all components, right-click, and select Save As Complication. Create a unique name for this complication. If you use an existing name, then that complication will be replaced with this new one. Once saved, the complication’s name appears in the Complications > Custom menu in the component bar. Tag expressions and other properties of the components that you configured in the previous steps provide the default configuration in this saved custom complication. Customize an existing complication GWD has various types of complications that you can customize and save as new complications. For example, follow these steps to customize the Digital Battery complication. Go to the Complications folder, which contains the images you want to change. The path for the Digital Battery complication is: Windows: C:\Program Files\Galaxy Watch Designer\res\Complications\circle\Battery\Digital\res\__COMPLICATION__x Mac: Application > Right click on Galaxy Watch Designer > Select Show package contents > Contents > Resources >res > Complications > Circle > Battery >Digital >res > __COMPLICATION__x Copy the _ COMPLICATION__x folder, and paste it into a directory other than the Galaxy Watch Designer directory. Make replacement images for this copied folder using any kind of photo editing tool. Launch Galaxy Watch Designer, and create a new project. Select your desired complication. Here, Battery > Digital is selected. From the Layer table, swap each image of the complication with the new image. Right-click on the image name, select Swap Image, navigate to the directory that contains the image you want to use, and select the image. Tip: If you change the original images in the GWD directory, then you won’t have to swap the images. But when you update or reinstall GWD, the modified images are overwritten with the original images. It is safest to add replacement images in another directory and save the changes as a custom complication. Custom complications are not affected after updating or re-installing GWD. Make additional changes, if you want. Select all components of this complication, right-click, and select Save As Complication. Create a unique name for this complication. If you use an existing name, then that complication will be replaced with this new one. Now you can find this complication in Complications > Custom. You can use this customized complication whenever you want. Tip: You can group all the components of the complication before saving it as a custom complication, which makes it easier to move. Ungroup the complication before using it. Notes Be mindful of GWD limitations, including those listed below: There are limitations on using weather components with health components and tag expressions. If you add two custom complications that contain items that are not supported when used in the same design, then neither complication works correctly on the real device. The design may work in the Run window, but on the real device, it won’t. If you add a weather component, some of the provided complications become disabled, as they contain incompatible components. GWD does not provide a warning message if you add custom complications with incompatible components. You are allowed to add any custom complication. If the design doesn’t work properly on real device, check if you have added any custom complications with incompatible components. A custom complication can be designed with any kind of component and saves a component’s configured properties, such as Gyro settings, along with Tag expressions. Button action and AOD mode are not saved as part of a custom complication. If you design a complication in AOD mode, it is not saved as part of a custom complication. You can only save Active mode complications. If you want to create an AOD custom complication, cut and paste it from AOD mode to Active mode and save it. When you want to use it, add it from the custom menu, then cut it from Active mode, and paste it in AOD mode. With custom complications, save and reuse your custom complications to give you more time to create attractive and innovative watch faces. View the full blog at its source
  7. A complication in Galaxy Watch Designer (GWD) is an object that can be created by a combination of different types of components. A creative complication makes a watch face unique and attractive. Previously, there was no direct way to reuse a custom complication. Now, with the custom complication feature, you can design, save, and reuse your own complications, reducing the time it takes to re-create similar objects. Create a new custom complication You can add any type of component to create a custom complication, and you can change the property of a component while creating a custom complication. Here, I demonstrate a simple example. This complication consists of four components: morning background image, night background image, text with a tag expression to configure opacity, and another text with a tag expression to configure placement. The final complication shows the morning background image and ”Good Morning” text between 6:00:00 and 09:59:59 , and the night background image and ”Good Night” text between 19:00:00 and 23:59:59. Add Morning Background: Select the desired background image from left component bar. Click on Background > Import Image, navigate to the directory that contains the image you want to use, and select the image to import. To make this background appear only in the morning, in the Properties window (the background image must be selected), click the gray triangle in the lower left corner of the Opacity field and write the tag expression below. This tag expression states that if the hour is greater than or equal to 6:00 am and less than or equal to 9:59:59 am, the opacity value is 100%. Otherwise, the opacity value is 0%. ([H]>=6)*([H]<=9)?100:0 Add "Good Morning" Text: Add a text component and write "Good Morning!" To make this text appear only in the morning, repeat step 2. Modify the font color and adjust the text placement. Add Night Background: As in step 1, select the desired background image from the left component bar. To make this background appear only in the evening, you should take a different approach by having it positioned within the viewable area during the evening. To do so, in the Properties window (the background image must be selected), click the gray triangle in the lower left corner of the X axis field within the Placement section, and write the tag expression shown below. This tag expression states that if the hour is less than or equal to 18:59:59, 380 pixels are added to the X-axis placement location, which places it outside of the viewable area. Otherwise, the placement location will be at 0 pixels. Tip: Be careful about layering of the components. Text must be in the upper layer, rather than the background image. ([H]<=18)?380:0 Add "Good Night" Text: Add a text component and write "Good Night!" To make this text appear only in the evening, repeat step 5, and adjust text placement. Select all components, right-click, and select Save As Complication. Create a unique name for this complication. If you use an existing name, then that complication will be replaced with this new one. Once saved, the complication's name appears in the Complications > Custom menu in the component bar. Tag expressions and other properties of the components that you configured in the previous steps provide the default configuration in this saved custom complication. Customize an existing complication GWD has various types of complications that you can customize and save as new complications. For example, follow these steps to customize the Digital Battery complication. Go to the Complications folder, which contains the images you want to change. The path for the Digital Battery complication is: Windows: C:\Program Files\Galaxy Watch Designer\res\Complications\circle\Battery\Digital\res\__COMPLICATION__x Mac: Application > Right click on Galaxy Watch Designer > Select Show package contents > Contents > Resources >res > Complications > Circle > Battery >Digital >res > __COMPLICATION__x Copy the _ COMPLICATION__x folder, and paste it into a directory other than the Galaxy Watch Designer directory. Make replacement images for this copied folder using any kind of photo editing tool. Launch Galaxy Watch Designer, and create a new project. Select your desired complication. Here, Battery > Digital is selected. From the Layer table, swap each image of the complication with the new image. Right-click on the image name, select Swap Image, navigate to the directory that contains the image you want to use, and select the image. Tip: If you change the original images in the GWD directory, then you won’t have to swap the images. But when you update or reinstall GWD, the modified images are overwritten with the original images. It is safest to add replacement images in another directory and save the changes as a custom complication. Custom complications are not affected after updating or re-installing GWD. Make additional changes, if you want. Select all components of this complication, right-click, and select Save As Complication. Create a unique name for this complication. If you use an existing name, then that complication will be replaced with this new one. Now you can find this complication in Complications > Custom. You can use this customized complication whenever you want. Tip: You can group all the components of the complication before saving it as a custom complication, which makes it easier to move. Ungroup the complication before using it. Notes Be mindful of GWD limitations, including those listed below: There are limitations on using weather components with health components and tag expressions. If you add two custom complications that contain items that are not supported when used in the same design, then neither complication works correctly on the real device. The design may work in the Run window, but on the real device, it won’t. If you add a weather component, some of the provided complications become disabled, as they contain incompatible components. GWD does not provide a warning message if you add custom complications with incompatible components. You are allowed to add any custom complication. If the design doesn’t work properly on real device, check if you have added any custom complications with incompatible components. A custom complication can be designed with any kind of component and saves a component’s configured properties, such as Gyro settings, along with Tag expressions. Button action and AOD mode are not saved as part of a custom complication. If you design a complication in AOD mode, it is not saved as part of a custom complication. You can only save Active mode complications. If you want to create an AOD custom complication, cut and paste it from AOD mode to Active mode and save it. When you want to use it, add it from the custom menu, then cut it from Active mode, and paste it in AOD mode. With custom complications, save and reuse your custom complications to give you more time to create attractive and innovative watch faces. View the full blog at its source
  8. A complication in Galaxy Watch Designer (GWD) is an object that can be created by a combination of different types of components. A creative complication makes a watch face unique and attractive. Previously, there was no direct way to reuse a custom complication. Now, with the custom complication feature, you can design, save, and reuse your own complications, reducing the time it takes to re-create similar objects. Create a new custom complication You can add any type of component to create a custom complication, and you can change the property of a component while creating a custom complication. Here, I demonstrate a simple example. This complication consists of four components: morning background image, night background image, text with a tag expression to configure opacity, and another text with a tag expression to configure placement. The final complication shows the morning background image and ”Good Morning” text between 6:00:00 and 09:59:59 , and the night background image and ”Good Night” text between 19:00:00 and 23:59:59. Add Morning Background: Select the desired background image from left component bar. Click on Background > Import Image, navigate to the directory that contains the image you want to use, and select the image to import. To make this background appear only in the morning, in the Properties window (the background image must be selected), click the gray triangle in the lower left corner of the Opacity field and write the tag expression below. This tag expression states that if the hour is greater than or equal to 6:00 am and less than or equal to 9:59:59 am, the opacity value is 100%. Otherwise, the opacity value is 0%. ([H]>=6)*([H]<=9)?100:0 Add "Good Morning" Text: Add a text component and write "Good Morning!" To make this text appear only in the morning, repeat step 2. Modify the font color and adjust the text placement. Add Night Background: As in step 1, select the desired background image from the left component bar. To make this background appear only in the evening, you should take a different approach by having it positioned within the viewable area during the evening. To do so, in the Properties window (the background image must be selected), click the gray triangle in the lower left corner of the X axis field within the Placement section, and write the tag expression shown below. This tag expression states that if the hour is less than or equal to 18:59:59, 380 pixels are added to the X-axis placement location, which places it outside of the viewable area. Otherwise, the placement location will be at 0 pixels. Tip: Be careful about layering of the components. Text must be in the upper layer, rather than the background image. ([H]<=18)?380:0 Add "Good Night" Text: Add a text component and write "Good Night!" To make this text appear only in the evening, repeat step 5, and adjust text placement. Select all components, right-click, and select Save As Complication. Create a unique name for this complication. If you use an existing name, then that complication will be replaced with this new one. Once saved, the complication's name appears in the Complications > Custom menu in the component bar. Tag expressions and other properties of the components that you configured in the previous steps provide the default configuration in this saved custom complication. Customize an existing complication GWD has various types of complications that you can customize and save as new complications. For example, follow these steps to customize the Digital Battery complication. Go to the Complications folder, which contains the images you want to change. The path for the Digital Battery complication is: Windows: C:\Program Files\Galaxy Watch Designer\res\Complications\circle\Battery\Digital\res\__COMPLICATION__x Mac: Application > Right click on Galaxy Watch Designer > Select Show package contents > Contents > Resources >res > Complications > Circle > Battery >Digital >res > __COMPLICATION__x Copy the _ COMPLICATION__x folder, and paste it into a directory other than the Galaxy Watch Designer directory. Make replacement images for this copied folder using any kind of photo editing tool. Launch Galaxy Watch Designer, and create a new project. Select your desired complication. Here, Battery > Digital is selected. From the Layer table, swap each image of the complication with the new image. Right-click on the image name, select Swap Image, navigate to the directory that contains the image you want to use, and select the image. Tip: If you change the original images in the GWD directory, then you won’t have to swap the images. But when you update or reinstall GWD, the modified images are overwritten with the original images. It is safest to add replacement images in another directory and save the changes as a custom complication. Custom complications are not affected after updating or re-installing GWD. Make additional changes, if you want. Select all components of this complication, right-click, and select Save As Complication. Create a unique name for this complication. If you use an existing name, then that complication will be replaced with this new one. Now you can find this complication in Complications > Custom. You can use this customized complication whenever you want. Tip: You can group all the components of the complication before saving it as a custom complication, which makes it easier to move. Ungroup the complication before using it. Notes Be mindful of GWD limitations, including those listed below: There are limitations on using weather components with health components and tag expressions. If you add two custom complications that contain items that are not supported when used in the same design, then neither complication works correctly on the real device. The design may work in the Run window, but on the real device, it won’t. If you add a weather component, some of the provided complications become disabled, as they contain incompatible components. GWD does not provide a warning message if you add custom complications with incompatible components. You are allowed to add any custom complication. If the design doesn’t work properly on real device, check if you have added any custom complications with incompatible components. A custom complication can be designed with any kind of component and saves a component’s configured properties, such as Gyro settings, along with Tag expressions. Button action and AOD mode are not saved as part of a custom complication. If you design a complication in AOD mode, it is not saved as part of a custom complication. You can only save Active mode complications. If you want to create an AOD custom complication, cut and paste it from AOD mode to Active mode and save it. When you want to use it, add it from the custom menu, then cut it from Active mode, and paste it in AOD mode. With custom complications, save and reuse your custom complications to give you more time to create attractive and innovative watch faces. View the full blog at its source
  9. Did you miss out on the latest Samsung Developer newsletter? Catch up here. View the full blog at its source
  10. It is not a common scenario to grab a hardware key event in your application, because you can simply use controls like Editor or Entry when you need to get input from users. However, if you want to make a more advanced application which handles hardware key inputs more detail or especially when you want to do something with the Smart TV remote control key event, you want to grab hardware key events. How to get hardware key event Using EcoreEvent class There is a class defined in ElmSharp called EcoreEvent. You can use this ElmSharp.EcoreEvent<EcoreEventType> class to create the following ecore event types that are being notified. KeyDown KeyUp MouseButtonDown MouseButtonUp MouseButtonCancel MouseMove MouseWheel MouseIn MouseOut Implementing in application Mainpage.xaml Here is the preparation in the main page of an application to show which key event is occured. One label named keyDownLabel will show which key down event is occured, the other label named keyDownLabel will show which key up event is occured. <c:CirclePage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:c="clr-namespace:Tizen.Wearable.CircularUI.Forms;assembly=Tizen.Wearable.CircularUI.Forms" x:Class="HandleHWKey.MainPage"> <c:CirclePage.Content> <StackLayout VerticalOptions="CenterAndExpand"> <Label x:Name="keyDownLabel" Text="Which key is down?" HorizontalOptions="CenterAndExpand" /> <Label x:Name="keyDownLabel" Text="Which key is up?" HorizontalOptions="CenterAndExpand" /> </StackLayout> </c:CirclePage.Content> </c:CirclePage> Mainpage.xaml.cs Now on the cs file, declare and create EcoreEvent with the proper EcoreKeyEventType like below. Here I created EcoreEventType.KeyDown and EcoreEventType.KeyUp to grab the hardware key down and up events. After creations, I added event handlers using On event handler. Both event handler will update the hardware key name and the key code on each labels. EcoreKeyEventArgs is an EventArgs to record the Ecore event's key name and key code. You can see the defined and supported hardware key name here. using Xamarin.Forms; using Xamarin.Forms.Xaml; using Tizen.Wearable.CircularUI.Forms; using ElmSharp; // declare using statement namespace HandleHWKey { [XamlCompilation(XamlCompilationOptions.Compile)] public partial class MainPage : CirclePage { EcoreEvent<EcoreKeyEventArgs> _ecoreKeyDown; EcoreEvent<EcoreKeyEventArgs> _ecoreKeyUp; public MainPage() { InitializeComponent(); _ecoreKeyDown = new EcoreEvent<EcoreKeyEventArgs>(EcoreEventType.KeyDown, EcoreKeyEventArgs.Create); _ecoreKeyDown.On += _ecoreKeyDown_On; _ecoreKeyUp = new EcoreEvent<EcoreKeyEventArgs>(EcoreEventType.KeyUp, EcoreKeyEventArgs.Create); _ecoreKeyUp.On += _ecoreKeyUp_On; } private void _ecoreKeyDown_On(object sender, EcoreKeyEventArgs e) { keyDownLabel.Text = $"{e.KeyName} ({e.KeyCode})"; } private void _ecoreKeyUp_On(object sender, EcoreKeyEventArgs e) { keyUpLabel.Text = $"{e.KeyName} ({e.KeyCode})"; } } } Running application on emulator You can see the pressed hardware key name and a key code on the upper label, and the released hardware key name and a key code on the lower label. For TV developers If you are developing for Samsung Smart TV and are finding how to simply handle hardware key events, Tizen.TV.UIControls is right there for you. Tizen.TV.UIControls not only provides a variety sets of UI controls for easily creating TV applications, but also have Xamarin.Forms extension features that helps you create TV applications easily. InputEvents feature in this library is the wrapper for this ElmSharp EcoreEvents so you can easily grab keys, for example remote control keys, in your application. Check out the guides and the API reference for InputEvents. View the full blog at its source
  11. It is not a common scenario to grab a hardware key event in your application, because you can simply use controls like Editor or Entry when you need to get input from users. However, if you want to make a more advanced application which handles hardware key inputs more detail or especially when you want to do something with the Smart TV remote control key event, you want to grab hardware key events. How to get hardware key event Using EcoreEvent class There is a class defined in ElmSharp called EcoreEvent. You can use this ElmSharp.EcoreEvent<EcoreEventType> class to create the following ecore event types that are being notified. KeyDown KeyUp MouseButtonDown MouseButtonUp MouseButtonCancel MouseMove MouseWheel MouseIn MouseOut Implementing in application Mainpage.xaml Here is the preparation in the main page of an application to show which key event is occured. One label named keyDownLabel will show which key down event is occured, the other label named keyDownLabel will show which key up event is occured. <c:CirclePage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:c="clr-namespace:Tizen.Wearable.CircularUI.Forms;assembly=Tizen.Wearable.CircularUI.Forms" x:Class="HandleHWKey.MainPage"> <c:CirclePage.Content> <StackLayout VerticalOptions="CenterAndExpand"> <Label x:Name="keyDownLabel" Text="Which key is down?" HorizontalOptions="CenterAndExpand" /> <Label x:Name="keyDownLabel" Text="Which key is up?" HorizontalOptions="CenterAndExpand" /> </StackLayout> </c:CirclePage.Content> </c:CirclePage> Mainpage.xaml.cs Now on the cs file, declare and create EcoreEvent with the proper EcoreKeyEventType like below. Here I created EcoreEventType.KeyDown and EcoreEventType.KeyUp to grab the hardware key down and up events. After creations, I added event handlers using On event handler. Both event handler will update the hardware key name and the key code on each labels. EcoreKeyEventArgs is an EventArgs to record the Ecore event's key name and key code. You can see the defined and supported hardware key name here. using Xamarin.Forms; using Xamarin.Forms.Xaml; using Tizen.Wearable.CircularUI.Forms; using ElmSharp; // declare using statement namespace HandleHWKey { [XamlCompilation(XamlCompilationOptions.Compile)] public partial class MainPage : CirclePage { EcoreEvent<EcoreKeyEventArgs> _ecoreKeyDown; EcoreEvent<EcoreKeyEventArgs> _ecoreKeyUp; public MainPage() { InitializeComponent(); _ecoreKeyDown = new EcoreEvent<EcoreKeyEventArgs>(EcoreEventType.KeyDown, EcoreKeyEventArgs.Create); _ecoreKeyDown.On += _ecoreKeyDown_On; _ecoreKeyUp = new EcoreEvent<EcoreKeyEventArgs>(EcoreEventType.KeyUp, EcoreKeyEventArgs.Create); _ecoreKeyUp.On += _ecoreKeyUp_On; } private void _ecoreKeyDown_On(object sender, EcoreKeyEventArgs e) { keyDownLabel.Text = $"{e.KeyName} ({e.KeyCode})"; } private void _ecoreKeyUp_On(object sender, EcoreKeyEventArgs e) { keyUpLabel.Text = $"{e.KeyName} ({e.KeyCode})"; } } } Running application on emulator You can see the pressed hardware key name and a key code on the upper label, and the released hardware key name and a key code on the lower label. For TV developers If you are developing for Samsung Smart TV and are finding how to simply handle hardware key events, Tizen.TV.UIControls is right there for you. Tizen.TV.UIControls not only provides a variety sets of UI controls for easily creating TV applications, but also have Xamarin.Forms extension features that helps you create TV applications easily. InputEvents feature in this library is the wrapper for this ElmSharp EcoreEvents so you can easily grab keys, for example remote control keys, in your application. Check out the guides and the API reference for InputEvents. View the full blog at its source
  12. This is the second video in the Tizen Tidbits series, where we cover many core concepts of Tizen development in focused videos of ten minutes or less. Today we will show you an overview of the different samples offered in Tizen Studio and how you can leverage them to start your own projects. The video focuses on web app development with Tizen Studio, but you can find similar samples for native applications, and in upcoming videos we will cover samples and core concepts for the Tizen .NET framework. Don’t forget to tell us in the new, Discourse-based forums what topics you will like us to touch in upcoming videos. View the full blog at its source
  13. This is the second video in the Tizen Tidbits series, where we cover many core concepts of Tizen development in focused videos of ten minutes or less. Today we will show you an overview of the different samples offered in Tizen Studio and how you can leverage them to start your own projects. The video focuses on web app development with Tizen Studio, but you can find similar samples for native applications, and in upcoming videos we will cover samples and core concepts for the Tizen .NET framework. Don’t forget to tell us in the new, Discourse-based forums what topics you will like us to touch in upcoming videos. View the full blog at its source
  14. Start Date 2020-01-13T09:00:00-08:00 End Date 2020-01-17T09:00:00-08:00 LocationChattanooga Convention Center, 1150 Carter Street, Chattanooga, TN 37402 Join us for an exciting keynote on Samsung's voice assistant, Bixby, by Adam Cheyer, CTO of Viv Labs and VP at Samsung. You'll also be able to hear from our partners on the solutions they have built on top of Bixby. Read more about Samsung's presence at Project Voice on the blog Learn More View the full blog at its source
  15. CES isn't the only big conference to hit in January 2020. The following week, from January 13-17, an army of voice platforms, developers, analysts, and media will descend on Chattanooga, Tennessee to exchange ideas and strategies at Project Voice. The Bixby Developers team will be there from Monday's opening workshops to the closing address on Friday —we'll be especially hard to miss on Thursday, when our own Adam Cheyer delivers the keynote to kick off the day. Project Voice is a can't-miss conference no matter where you engage with Bixby, whether you're merely curious or an advanced developer working on a new capsule: Existing Bixby developers will be fascinated by in-depth case study conversations with Premier Developers and breakout sessions with tips and tricks for everything from optimizing your Bixby Marketplace presence to building for the Galaxy Watch. Prospective Bixby developers will learn everything you need to start building a capsule at our Monday workshop, where lucky participants also have a chance to win a sleek new smartwatch or two; Thursday's breakout sessions are filled with even more insights designed to put you on the path to success. Podcasters and content providers are warmly invited to stop by our booth at the Voice World Fair, where we'll show you how to get your creative output into Bixby. Everyone at the conference is encouraged to stop by our booth in any case; we'll be raffling off a Galaxy Watch Active2 smartwatch every day of the show. Pack something nice for Wednesday's Project Voice Awards Gala, where Adam Cheyer will accept a Lifetime Achievement Award, and the winners for Bixby Developer of the Year and Capsule of the Year will be announced. If you're just starting out, hungry for advanced tips, or just wondering how you can plug into the Bixby ecosystem, get your ticket for Project Voice now. Prepare to make some new connections, and brace yourself to learn more than you ever thought possible! Can't be there in person? Follow along on our new Twitter account, @bixbydevelopers. View the full blog at its source
  16. CES isn’t the only big conference to hit in January 2020. The following week, from January 13-17, an army of voice platforms, developers, analysts, and media will descend on Chattanooga, Tennessee to exchange ideas and strategies at Project Voice. The Bixby Developers team will be there from Monday’s opening workshops to the closing address on Friday —we’ll be especially hard to miss on Thursday, when our own Adam Cheyer delivers the keynote to kick off the day. Project Voice is a can’t-miss conference no matter where you engage with Bixby, whether you’re merely curious or an advanced developer working on a new capsule: Existing Bixby developers will be fascinated by in-depth case study conversations with Premier Developers and breakout sessions with tips and tricks for everything from optimizing your Bixby Marketplace presence to building for the Galaxy Watch. Prospective Bixby developers will learn everything you need to start building a capsule at our Monday workshop, where lucky participants also have a chance to win a sleek new smartwatch or two; Thursday’s breakout sessions are filled with even more insights designed to put you on the path to success. Podcasters and content providers are warmly invited to stop by our booth at the Voice World Fair, where we’ll show you how to get your creative output into Bixby. Everyone at the conference is encouraged to stop by our booth in any case; we’ll be raffling off a Galaxy Watch Active2 smartwatch every day of the show. Pack something nice for Wednesday’s Project Voice Awards Gala, where Adam Cheyer will accept a Lifetime Achievement Award, and the winners for Bixby Developer of the Year and Capsule of the Year will be announced. If you’re just starting out, hungry for advanced tips, or just wondering how you can plug into the Bixby ecosystem, get your ticket for Project Voice now. Prepare to make some new connections, and brace yourself to learn more than you ever thought possible! Can’t be there in person? Follow along on our new Twitter account, @bixbydevelopers. View the full blog at its source
  17. Start Date 2020-02-11T08:30:00-08:00 End Date 2020-02-11T08:30:00-08:00 LocationOnline On February 11, Samsung Electronics will unveil new, innovative devices that will shape the next decade of mobile experiences. The reveal will take place at the Samsung Galaxy Unpacked Event in San Francisco at 11 a.m. PST. Livestreaming of the event will be available - follow this link for more details. View the full blog at its source
  18. The Samsung Tizen TV SDK 5.5 is now available. The SDK provides developers with the tools they need to begin developing for the Tizen TV platform. The tool set includes an Integrated Development Environment (IDE), a light-weight TV Simulator for testing web apps, and a TV Emulator. View the full blog at its source
  19. Did you miss out on the latest Samsung Developer newsletter? Catch up here. View the full blog at its source
  20. In this new video series, we will cover many core concepts of Tizen development in short, focused videos. Today we will show you how to create a new project in Tizen Studio and use the different templates to start building your own apps. The templates shown in the video are for web app development, but you will find a similar setup for native applications. The video series will mostly center around wearable development for the Galaxy Watch. Future videos will reach all corners of Tizen app development, so please tell us in the forums what topics you will like us to touch in upcoming videos. View the full blog at its source
  21. In this new video series, we will cover many core concepts of Tizen development in short, focused videos. Today we will show you how to create a new project in Tizen Studio and use the different templates to start building your own apps. The templates shown in the video are for web app development, but you will find a similar setup for native applications. The video series will mostly center around wearable development for the Galaxy Watch. Future videos will reach all corners of Tizen app development, so please tell us in the forums what topics you will like us to touch in upcoming videos. View the full blog at its source
  22. Creating compelling social media visuals can be a very time-consuming endeavor. It’s even harder to find the time to write great copy that complements the visuals. To top it all off, there is no guarantee that your post will reach enough people to make it worth your time. In spite of this, social media remains a pivotal tool for sellers to gain traction in the ever-growing Galaxy Store. That’s why we decided to help sellers cut down on the time needed to make great posts with our new social media kit. Download Social Media Kit for Phone Apps and Themes Download Social Media Kit for Watch Apps and Watch Faces This new kit will allow you to quickly add a screenshot of your watch face, theme, or app; drop in a high-res background image, and add a snappy title in seconds. It will then create exact post sizes for the three major social networks–Facebook, Instagram, and Twitter. It’s that easy! However, we know that creating visuals is only half the battle. Because the holiday season is right around the corner (and with it, a 25%-40% increase in Galaxy Store activity), we wanted to give you all a little extra boost during this time. We want to help you move up those all-important “top” category lists. During the next few weeks, we will run a content amplification campaign. Sellers who use the new social media kit and post on Twitter, Facebook, and Instagram using their Galaxy Store badge links and the hashtag #GalaxyStoreHolidays will have a chance at being retweeted by one of our social media accounts. The Galaxy Store and Samsung Developers accounts have over 100k followers worldwide! If you have a bad case of writers block or just want to further cut down on your time spent on this exercise, we have provided some sample copy to get you started: Suggested Copy (Watch Face): The holidays are here and all the amazing Samsung wearables deserve the best watch face designs! Check out one of my top sellers, [Insert watch face name], to really make that Galaxy Watch standout! [Insert Galaxy Badge Link] #GalaxyStoreHolidays Suggested Copy (Theme): The holidays are here and all those amazing Galaxy phones deserve a great, new theme! Check out one of my top sellers, [Insert theme name], to really make that new Note10 shine! [Insert Galaxy Badge Link] #GalaxyStoreHolidays Just remember these are just suggestions, and it may benefit you to change the wording in order to stand out even more. This new kill requires the use of Adobe Creative Cloud. Here’s how to get started: Download the Photoshop files from the links above Insert app/watch face/theme screenshot Drop in background image Find free high-res images @ pexels.com or similar sites Insert your headline We recommend keeping it short and simple Write your copy and don’t forget to add your Galaxy Store badge link Start sharing your Tweets and Facebook and Instagram posts You can use buffer.com to help schedule all your posts Always use the hashtag #GalaxyStoreHolidays The Samsung Developers and Galaxy Store accounts will retweet different posts using this hashtag throughout the holiday season There is NO GUARANTEE that yours will be selected, please keep this in mind The more you post the better your chance will be to be seen by more than 100k followers worldwide Don’t wait – holiday shoppers await! View the full blog at its source
  23. Creating compelling social media visuals can be a very time-consuming endeavor. It's even harder to find the time to write great copy that complements the visuals. To top it all off, there is no guarantee that your post will reach enough people to make it worth your time. In spite of this, social media remains a pivotal tool for sellers to gain traction in the ever-growing Galaxy Store. That’s why we decided to help sellers cut down on the time needed to make great posts with our new social media kit. Download Social Media Kit for Phone Apps and Themes Download Social Media Kit for Watch Apps and Watch Faces This new kit will allow you to quickly add a screenshot of your watch face, theme, or app; drop in a high-res background image, and add a snappy title in seconds. It will then create exact post sizes for the three major social networks--Facebook, Instagram, and Twitter. It’s that easy! However, we know that creating visuals is only half the battle. Because the holiday season is right around the corner (and with it, a 25%-40% increase in Galaxy Store activity), we wanted to give you all a little extra boost during this time. We want to help you move up those all-important “top” category lists. During the next few weeks, we will run a content amplification campaign. Sellers who use the new social media kit and post on Twitter, Facebook, and Instagram using their Galaxy Store badge links and the hashtag #GalaxyStoreHolidays will have a chance at being retweeted by one of our social media accounts. The Galaxy Store and Samsung Developers accounts have over 100k followers worldwide! If you have a bad case of writers block or just want to further cut down on your time spent on this exercise, we have provided some sample copy to get you started: Suggested Copy (Watch Face): The holidays are here and all the amazing Samsung wearables deserve the best watch face designs! Check out one of my top sellers, [Insert watch face name], to really make that Galaxy Watch standout! [Insert Galaxy Badge Link] #GalaxyStoreHolidays Suggested Copy (Theme): The holidays are here and all those amazing Galaxy phones deserve a great, new theme! Check out one of my top sellers, [Insert theme name], to really make that new Note10 shine! [Insert Galaxy Badge Link] #GalaxyStoreHolidays Just remember these are just suggestions, and it may benefit you to change the wording in order to stand out even more. This new skill requires the use of Adobe Creative Cloud. Here's how to get started: Download the Photoshop files from the links above Insert app/watch face/theme screenshot Drop in background image Find free high-res images @ pexels.com or similar sites Insert your headline We recommend keeping it short and simple Write your copy and don’t forget to add your Galaxy Store badge link Start sharing your Tweets and Facebook and Instagram posts You can use buffer.com to help schedule all your posts Always use the hashtag #GalaxyStoreHolidays The Samsung Developers and Galaxy Store accounts will retweet different posts using this hashtag throughout the holiday season There is NO GUARANTEE that yours will be selected, please keep this in mind The more you post the better your chance will be to be seen by more than 100k followers worldwide Don't wait - holiday shoppers await! View the full blog at its source
  24. When you want to use the internet image in your application, you would be worrying about the slow image loading or the load failure caused by the network issues. In this scenario, it would be really good idea to show the default temporal image until the actual image is successfully loaded and ready to be displayed. Also reusing the image data which has been downloaded can make displaying image very fast. FFImageLoading is the library including all those cool features and helping you to load images quick and easy. What is FFImageLoading - Fast & Furious Image Loading Library to load images quickly & easily on Xamarin.iOS, Xamarin.Android, Xamarin.Forms, Xamarin.Mac / Xamarin.Tizen and Windows (UWP, WinRT). Features (support on Tizen) Configurable disk and memory caching Multiple image views using the same image source (url, path, resource) will use only one bitmap which is cached in memory (less memory usage) Deduplication of similar download/load requests. (If 100 similar requests arrive at same time then one real loading will be performed while 99 others will wait). Error and loading placeholders support Images can be automatically downsampled to specified size (less memory usage) SVG support Image loading Fade-In animations support Can retry image downloads (RetryCount, RetryDelay) Getting started Let's use Fast & Furious Image on your Application Install the FFImageloading package nuget.exe nuget.exe install Xamarin.FFImageLoading.Forms .NET CLI dotnet add package Xamarin.FFImageLoading.Forms Package reference <PackageReference Include="Xamarin.FFImageLoading.Forms" Version="2.4.11.982" /> Initialize FFImageLoading To use FFImageLoading, initialize library for tizen platform and setup various options var app = new Program(); Forms.Init(app); // Initialize FFImageLoading with FormsApplication object FFImageLoading.Forms.Platform.CachedImageRenderer.Init(app); Setup options on startup time If you want to handle events from CachedImage object on your app code, you need to set ExecuteCallbacksOnUIThread property to true protected override void OnCreate() { base.OnCreate(); var config = new FFImageLoading.Config.Configuration { ExecuteCallbacksOnUIThread = true, }; FFImageLoading.ImageService.Instance.Initialize(config); LoadApplication(new App()); } CachedImage CachedImage provides a main functionality of FFImageLoading including cached image loading. A usage is very simmilar with the original Image class of Xamarin.Forms. <?xml version="1.0" encoding="utf-8" ?> <ContentPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml" xmlns:ff="clr-namespace:FFImageLoading.Forms;assembly=FFImageLoading.Forms" x:Class="CachedImageSample.MainPage"> <ContentPage.Content> <StackLayout> <ff:CachedImage LoadingPlaceholder="loading.jpg" Source="http://i.imgur.com/gkVgpL1.jpg"/> </StackLayout> </ContentPage.Content> </ContentPage> var image = new CachedImage { LoadingPlaceholder = "loading.jpg", Source = "http://i.imgur.com/gkVgpL1.jpg" }; Useful properties Property Description LoadingPlaceholder If set, a loading placeholder is shown while loading. It supports UriImageSource, FileImageSource and StreamImageSource. ErrorPlaceholder If set, an error placeholder is shown when error occurs while loading image. It supports UriImageSource, FileImageSource and StreamImageSource. RetryCount (int, default: 3) If image download failed, or something wrong happened, it can be automatically retried. Defines retries count. RetryDelay (int, default: 250) If image download failed, or something wrong happened, it can be automatically retried. Defines retry delay. CacheDuration (Timespan, default: TimeSpan.FromDays(90)) Defines how long file cache of downloaded image is valid. Clear cache on the memory and disk If there is not enough memory on a device, you need to suppress memory usage in your app, FFImageLoading provides a way to clear cache on the memory. // Provided in `CoreApplication`, it is the best place to clear memory cache protected override void OnLowMemory(LowMemoryEventArgs e) { FFImageLoading.ImageService.Instance.InvalidateMemoryCache(); } You can also clear cache on the disk. FFImageLoading.ImageService.Instance.InvalidateDiskCacheAsync(); The Best usage of CachedImage CachedImage works best when it is used in CollectionView, because CollectionView unloads a view that is out of sight and reloads when it comes back to the sight. Once image source is loaded, it shows really quick. Privileges If image from internet is not shown, check your app's privilege, it needs internet privilege. In the tizen-manifest.xml file: To access the Internet, declare http://tizen.org/privilege/internet Links Project site API Reference Tizen Sample View the full blog at its source
  25. Smart watch users are interested in having an interactive and eye-catching watch faces, which makes creating watch faces a great area for developers to explore. You can create varieties of watch faces, focusing on different perspectives and purposes. This blog can help you create a basic watch face using HTML and JavaScript in Tizen Studio. We will also discuss simple interactions, such as launching an app from watch face, providing sensor data, and so on. Design Watch Face Figure 1 shows a sample watch face that implements an analog clock, has two interactive icons, and shows the wearer’s step count using the pedometer sensor. One of the icons launches the SHealth app to measure heart rate, and another icon displays the current date and launches the Calendar app. Figure 1: Sample watch face design Define Category Add wearable_clock as the category of your app in the config.xml file. It defines your application as a watch face. <tizen:category name="http://tizen.org/category/wearable_clock"/> Create a Basic Watch Face As this is an analog clock, first you’ll have to calculate the rotation angles of the watch hands and then update the UI accordingly. A sample implementation is shown in the following code snippets: the updateTime() function calculates rotation angle with respect to time, and the rotateElement() function updates the UI with rotating watch hands (see Figure 2). function updateTime() { var curtime = new Date(), hour = curtime.getHours(), minute = curtime.getMinutes(), second = curtime.getSeconds(); rotateElement("hand-main-hour", (hour + (minute / 60) + (second / 3600)) * 30); rotateElement("hand-main-minute", (minute + second / 60) * 6); rotateElement("hand-main-second", second * 6); if (curDate < 10) str_curdate.innerHTML = "0" + curDate; else str_curdate.innerHTML = curDate; } function rotateElement(elementID, angle) { var element = document.querySelector("#" + elementID); element.style.transform = "rotate(" + angle + "deg)"; } Figure 2: Basic watch face Add Functionality Launch App The Application API provides a method to launch an app in Tizen. To launch the app, add following privilege to the config.xml file: <tizen:privilege name="http://tizen.org/privilege/application.launch"/> Then use launch(ApplicationID) method to launch the desired application. If you do not know the ID of that application, you can use getAppsInfo() to get the list of IDs. The Heart icon launches SHealth app’s heart rate measuring page (com.samsung.shealth.heartrate.measure). The implementation is as follows: var heart_click = document.getElementById("heart"); heart_click.addEventListener('click', function() { tizen.application.launch("com.samsung.shealth.heartrate.measure"); }); Figure 3: Launch SHealth from the watch face The Calendar icon shows the current date and launches the calendar application (com.samsung.w-calendar2) on the watch. var calendar_click = document.getElementById('date-calendar'); calendar_click.addEventListener('click', function() { tizen.application.launch("com.samsung.w-calendar2"); }); var curtime = new Date(), curDate = curtime.getDate(), str_curdate = document.getElementById("date-calendar"); str_curdate.innerHTML = curDate; Figure 4: Launch Calendar from the watch face Access Device Sensor Data The pedometer sensor provides step count data. To access this sensor, you need to add a feature and a privilege to the config.xml file: Next, you have to ask for user permission to start reading data from the pedometer sensor. The following code snippet shows the implementation: function onchangedCB(pedometerInfo) { var str_step = document.getElementById('step-count'); str_step.innerHTML = pedometerInfo.cumulativeTotalStepCount; } function onSuccess() { tizen.humanactivitymonitor.start("PEDOMETER", onchangedCB,onError,option); } function onError(e) { console.log("error " + JSON.stringify(e)); } tizen.ppm.requestPermission("http://tizen.org/privilege/healthinfo", onSuccess, onError); Figure 5: Step count It’s simple to add functionalities to a basic watch face, isn’t it? I hope this blog inspires and helps you create some amazing watch faces using your own ideas and designs. View the full blog at its source


×
×
  • Create New...