Quantcast
Jump to content


Recommended Posts



  • Replies 0
  • Created
  • Last Reply

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Similar Topics

    • By Samsung Newsroom
      The Galaxy Watch ecosystem is designed for seamless connection from capturing screenshots that sync automatically to your phone, to sharing what's on your wrist in seconds. This works great for most users.
      However, if you’re a developer, tester, or creator who prefers working directly on a computer, there’s a more efficient, hands-on way to capture your Galaxy Watch’s display.
      Using Command Prompt (or Windows Terminal) and Android Debug Bridge (ADB), you can directly screen record or capture screenshots from your Galaxy Watch without needing a companion mobile device or any third-party apps. It’s fast, simple, and perfect for creating app demos, tutorials, or development documentation.
      Record your Galaxy Watch screen via ADB
      Follow these steps to record your Galaxy Watch screen directly from your computer:
      Open the Command Prompt and use the cd command to navigate to the platform-tools folder: cd %LocalAppData%/Android/Sdk/platform-tools
      Pair and connect your Galaxy Watch to your computer over Wi-Fi. NoteThe link directs you to steps on how to connect the Galaxy Watch to Android Studio, but you can follow the same steps and commands when using the Command Prompt. Enter the command below to start screen recording your watch: adb shell screenrecord /sdcard/record_demo.mp4
      This command tells your computer (via ADB) to start recording the screen of your connected Galaxy Watch. Let's break it down piece-by-piece:
      adb – connects your computer to the watch or Android device. shell – opens a command-line interface inside the device. screenrecord – starts recording the device's screen. When you run screenrecord, the device starts capturing the display and saves it as a video file (the default format is .mp4). /sdcard/record_demo.mp4 – sets the file path where the recording will be saved on the device and the file name. Stop the recording by pressing CTRL + C.
      Transfer the recorded video to your computer: adb pull /sdcard/record_demo.mp4 C:\Destination\Folder\In\Your_Computer
      The pull command copies the recording from your watch to your computer.
      (Optional) Delete the recording from your watch using the rm command. adb shell rm /sdcard/record_demo.mp4 You now have a recorded video of your Galaxy Watch screen saved directly on your PC, ready for editing or presentation.


      Capture screenshots directly from Galaxy Watch to PC
      If you only need static images, you can easily transfer screenshots from your Galaxy Watch without using a phone:
      Take a screenshot on your Galaxy Watch by pressing the Home and Back buttons simultaneously until you see the screenshot animation.
      Locate the screenshot file using ADB shell and copy its filename.
      adb shell cd sdcard/DCIM/screenshots ls
      NoteYou can also run the simplified version of this command:
      adb shell ls /sdcard/DCIM/screenshots/ The ls command lists the screenshots stored on your watch.
      Transfer the screenshot to your computer: adb pull /sdcard/DCIM/screenshots/[File_Name].png C:\Destination\Folder\In\Your_Computer
      The image is now available on your computer for quick viewing or editing.

      Things to keep in mind
      This method works best with Galaxy Watches running Wear OS powered by Samsung (Galaxy Watch4 and newer models), as these devices support ADB connections for development and debugging. While this approach is highly effective for capturing screen activity, it has some limitations:
      Audio Capture: The screenrecord command records video but does not capture system audio. If you need audio, additional steps or tools may be required. Recording Duration: The recording duration may be limited (typically up to 3 minutes). This restriction can vary depending on the device and ADB implementation. Compatibility: Older Tizen-based Galaxy Watches may not support ADB connections, making this method unsuitable for those devices. Using ADB through Command Prompt provides a direct and efficient way to interact with your Galaxy Watch. Whether you're developing apps, recording demos, or capturing visuals for documentation, these simple commands make it easy to manage your device directly from your computer.
      View the full blog at its source
    • By Samsung Newsroom
      On Galaxy Watch, Complications are small bits of useful information other than time, such as battery level, calendar events, or step count. These details are displayed in predefined areas called Complication Slots. You can set up different Complication Slots on your watch face using Watch Face Studio to customize the kind of information you want to display. The actual data used to populate these slots comes from other applications, known as Complication Data Sources.
      In this blog, we’ll explore building a Complication Data Source that allows your application to seamlessly share information with any compatible watch face on your Galaxy Watch running Wear OS powered by Samsung. Whether it is weather forecast, battery status or custom application stats, you'll learn how to deliver that data in a way that watch faces can easily access and display.
      Prerequisite
      Install the latest version of Android Studio. Download the starting project: starting_project_complication.zip Set up an emulator or connect your Galaxy Watch to your PC using Wireless Debugging. NoteThis blog requires you to have a basic understanding of native Android application development in Java or Kotlin. Run the starting project once to make sure everything is working as expected. This installs a sample application named Hydration Tracker. With it, you can log how many glasses of water you have had during the day and set a daily goal to stay on track. You will use this simple application to explore how you can share your data with a watch face. The project already includes all the required dependencies and core application logic, so you can jump straight into working on the data-sharing aspect.


      Figure 1: Sample application screenshot



      All the required data is stored in SharedPreferences as key-value pairs, which makes it easy to retrieve when building the Complication Data Source. Alternatively, you can use Jetpack DataStore if you prefer a more modern and scalable solution for managing application data.
      Implement Complication Data Source Service
      The complication needs data even when your application is not running. The way we do that is by implementing a Service that provides the data to the complication.
      Extract the starting project and open the starting_project_complication folder in Android Studio. Right-click on the java directory and add a new package named com.example.customcomplication.complication.
      Figure 2: Package structure



      Right-click on the complication package and select New > Kotlin Class/File. Name the class something like HydrationComplicationService.

      Figure 3: Creating the service class



      Extend that class with SuspendingComplicationDataSourceService(). Hover the cursor over it and import the class.

      Figure 4: Extending the service class



      Now implement all the members in the HydrationComplicationService class.

      Figure 5: Implementing members of the service class



      Afterwards, the class should look like this:
      class HydrationComplicationService : SuspendingComplicationDataSourceService() { override fun getPreviewData(type: ComplicationType): ComplicationData? { TODO("Not yet implemented") } override suspend fun onComplicationRequest(request: ComplicationRequest): ComplicationData? { TODO("Not yet implemented") } } The getPreviewData() method shows predefined data when your complication is loading the values and the onComplicationRequest() method is called whenever a complication data update is requested.
      Below the onComplicationRequest() method, add a createRangedValueComplicationData() method that returns a RangedValueComplicationData object. This method sets the minimum, maximum, and current values of the progress bar shown in the complication and sets the text that is shown. private fun createRangedValueComplicationData( current: Float, max: Float, text: String, contentDescription: String ): ComplicationData { return RangedValueComplicationData.Builder( value = current, min = 0f, max = max, contentDescription = PlainComplicationText.Builder(contentDescription).build() ) .setText(PlainComplicationText.Builder(text).build()) .build() } NoteIf you notice any class names highlighted in red, make sure to import the necessary classes. Next, create a MonochromaticImage inside the method you just created. It is used to set an optional image associated with the complication data. val monochromaticImage = MonochromaticImage.Builder( Icon.createWithResource(this, R.drawable.drinking_water_icon) ).build() Create a PendingIntent to launch the MainActivity from the complication when you tap on it. val pendingIntent = PendingIntent.getActivity( this, 0, Intent(this, MainActivity::class.java), PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT ) Now, on the RangedValueComplicationData, set monochromaticImage and tapAction before building it. return RangedValueComplicationData.Builder( value = current, min = 0f, max = max, contentDescription = PlainComplicationText.Builder(contentDescription).build() ) .setText(PlainComplicationText.Builder(text).build()) .setTapAction(pendingIntent) .setMonochromaticImage(monochromaticImage) .build() Finally, the method should look like this:
      private fun createRangedValueComplicationData( current: Float, max: Float, text: String, contentDescription: String ): ComplicationData { val monochromaticImage = MonochromaticImage.Builder( Icon.createWithResource(this, R.drawable.drinking_water_icon) ).build() val pendingIntent = PendingIntent.getActivity( this, 0, Intent(this, MainActivity::class.java), PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_UPDATE_CURRENT ) return RangedValueComplicationData.Builder( value = current, min = 0f, max = max, contentDescription = PlainComplicationText.Builder(contentDescription).build() ) .setText(PlainComplicationText.Builder(text).build()) .setTapAction(pendingIntent) .setMonochromaticImage(monochromaticImage) .build() } Override the getPreviewData() method and use this new method to return a ComplicationData object. override fun getPreviewData(type: ComplicationType): ComplicationData? { if (type != ComplicationType.RANGED_VALUE) { return null } return createRangedValueComplicationData( current = 0f, max = 8f, text = "0 out of 8", contentDescription = "You've had 0 out of 8 glasses of water" ) } Override the onComplicationRequest() method as well. You are fetching the data from SharedPreferences because the starting project also saved the data in SharedPreferences. override suspend fun onComplicationRequest(request: ComplicationRequest): ComplicationData { val prefs = this.getSharedPreferences("water_prefs", Context.MODE_PRIVATE) val glassCount = prefs.getInt("glasses_drank", 0).toFloat() val maxGlasses = prefs.getInt("max_glasses", 8).toFloat() val text = "${glassCount.toInt()} out of ${maxGlasses.toInt()}" val contentDescription = "You've had ${glassCount.toInt()} out of ${maxGlasses.toInt()} glasses of water" return createRangedValueComplicationData( current = glassCount, max = maxGlasses, text = text, contentDescription = contentDescription ) } Register the Service
      To let the system know that your service exists, you need to register it in the Manifest file. Here, BIND_COMPLICATION_PROVIDER is necessary to ensure only the Wear OS system can bind to your service. To learn more, refer to Manifest declarations and permissions.
      In the AndroidManifest.xml file, register the service by adding the <service> tag inside the <application> tag: <service android:name=".complication.HydrationComplicationService" android:exported="true" android:icon="@drawable/drinking_water_icon" android:label="Hydration Tracker Complication" android:permission="com.google.android.wearable.permission.BIND_COMPLICATION_PROVIDER"> </service> Inside the <service> tag, add the <intent-filter> tag. This lets the system know that your service is built on either ComplicationDataSourceService or the SuspendingComplicationDataSourceService, and is capable of providing data for watch face complications. <intent-filter> <action android:name="android.support.wearable.complications.ACTION_COMPLICATION_UPDATE_REQUEST" /> </intent-filter> Add the <meta-data> tag to specify the type of complication your service supports. In our case, it is set to RANGED_VALUE. <meta-data android:name="android.support.wearable.complications.SUPPORTED_TYPES" android:value="RANGED_VALUE" /> Include another <meta-data> tag, which defines how frequently the system should request updates from your data source while it is active. Since you will be updating manually, the value is set to zero. <meta-data android:name="android.support.wearable.complications.UPDATE_PERIOD_SECONDS" android:value="0" /> NoteIf you want to update the data periodically, you must use an UPDATE_PERIOD_SECONDS value of at least 300 seconds. For more details, refer to Metadata elements. Update the Data on Demand
      You can now install the complication and see how it works. However, the complication does not yet update each time we change the data. To make sure the complication is always showing up-to-date data:
      Create a method below the MainActivity, named requestComplicationUpdate(). private fun requestComplicationUpdate(context: Context) { val component = ComponentName(context, HydrationComplicationService::class.java) ComplicationDataSourceUpdateRequester .create(context, component) .requestUpdateAll() } Call the requestComplicationUpdate() method from the updateCount() and updateMaxGlasses() methods in the MainActivity. fun updateCount(newCount: Int) { glassCount = newCount prefs.edit() { putInt(countKey, newCount) } requestComplicationUpdate(context) } fun updateMaxGlasses(newMax: Int) { maxGlasses = newMax prefs.edit() { putInt(maxKey, newMax) } if (glassCount > newMax) updateCount(newMax) requestComplicationUpdate(context) } NoteHere, the updateCount() method updates how many glasses of water you have had. The updateMaxGlasses() method updates your goal. Your project is now complete! If you run into any issues, feel free to check out the completed version for reference:
      completed_project_complication.zip
      Test the Complication
      Tap and hold the watch face you currently have. Tap Customize.

      Figure 6: Customize the watch face



      Now swipe to the option that says Complication. Choose a slot that supports a ranged value.

      Figure 7: Swipe to Complication



      You see a list of applications that can provide data to that slot. Scroll down to see the complication you just created, named Hydration Tracker Complication, and select it.

      Figure 8: Choose the complication



      Swipe back to the watch face to see your complication in action.

      Figure 9: Preview



      NoteThe watch face must have a Complication Slot that supports ranged values. If your current watch face does not have one, apply a watch face that does and start from step 1. Conclusion
      Now that you’ve mastered the basics, don’t stop there! Explore different complication types, experiment with dynamic updates, and get creative with the kind of data your application can provide. The possibilities are wide open, and your next great idea might be just one complication away.
      If you have questions or need help with the information presented in this blog, you can share your queries on the Samsung Developers Forum. You can also contact us directly through the Samsung Developer Support Portal.
      View the full blog at its source
    • By Samsung Newsroom
      January 2025 Unveiling Invites to "Galaxy Unpacked 2025" Ushering in a New Era of Mobile AI
      New Galaxy products are unveiled at Galaxy Unpacked 2025! Galaxy Unpacked 2025 commences on January 23, 3 AM KST (January 22, 10 AM local time) in San Jose, USA. It is streamed live online via the Samsung Electronics Newsroom, Samsung.com, and Samsung Electronics YouTube channel. Samsung Electronics' innovations are going to usher in a new era of the mobile AI experience with the natural and intuitive Galaxy UI. See for yourself.
        Learn More Highlights from the CES 2025 Samsung Press Conference
      On January 6, Samsung Electronics held the CES 2025 Samsung Press Conference under the theme "AI for All: Everyday, Everywhere," unveiling its technological visions. The full inter-device connectivity and hyper-personalized user experience through AI, both introduced at the conference, have attracted media attention from all over the world. Check out the innovative technologies that will change the future in our video.
        Learn More Updates for Samsung In-App Purchase: Resubscription and Grace Period Features
      Managing subscriptions is now more convenient with the new Samsung in-app purchase (IAP) updates. The newly updated features are resubscription and grace period.
      Users can now reactivate their canceled subscription in Galaxy Store using the resubscribe feature. Even if there is a problem with the payment when renewing a subscription, the subscription is not canceled if the problem is resolved during the set grace period. If the developer activates the grace period feature in the item settings of Galaxy Store's Seller Portal, the system automatically retries the payment and sends the information about the failed automatic payment to the user so that they can change their payment method.
      Developers can also see new information in the subscription API and ISN services, such as the subscription API's response parameters and ISN service events. Manage your subscriptions more effectively using these new features. Tutorial: Manage the Purchase/Subscription of Digital Items with Samsung In-App Purchases
      The hassle of managing digital item purchases and subscriptions is no more! Samsung in-app purchase (IAP) is a powerful tool that provides a more secure and convenient payment environment for users and expands commercialization opportunities for developers. This tutorial covers how to smoothly and efficiently implement item purchase/consumption processing and subscription management. A step-by-step guide and practical code examples are used to walk developers through the complex API integration process even if they're just starting out. Check out the tutorial on the Samsung Developer Portal.
        Learn More Tutorial: Step into Galaxy Watch Application Development Using Flutter
      Did you know that you can develop an application for Galaxy Watches with a single codebase? The tutorial shows software developers how they can develop applications for Galaxy Watch using the Flutter framework. Flutter is an open-source framework for building multi-platform applications from a single codebase. An easy step-by-step guide that can be followed without much preparation is provided for beginners, as well as practical tips and a code example for Flutter developers who are new to developing Galaxy Watch applications. Check out the tutorial and start developing Galaxy Watch applications!

      Learn More Tutorial: Monitoring Your Cards in Samsung Wallet in Real Time
      Do you want to monitor the status of cards added to Samsung Wallet on user devices in real time? Samsung Wallet provides the Send Card State API to make it easy to track the cards, as the API notifies the server of any changes whenever a card is added, deleted, or updated.
      The tutorial covers how to set up server notifications, how to receive notifications to a Spring server, and how to securely verify the received notifications. Learn how to monitor the status of cards in Samsung Wallet in real time.

      Learn More Samsung Electronics Demonstrates AI-RAN Technologies, Paving the Way for the Convergence of Telecommunications and AI
      Telecommunications technology is evolving beyond just improvements in data transmission speed, moving towards emphasizing user experience, energy efficiency, and sustainability. Samsung Electronics is accelerating the emergence of the era of future communications by showcasing the AI-RAN technology which integrates AI technology with the Radio Access Network (RAN), which is the core technology for communications networking.
      In particular, at the Silicon Valley Future Wireless Summit held in November 2024, Samsung Electronics demonstrated the results of the AI-RAN PoC to global communications providers, the first in the industry to do so. The technology indicated a possibility to greatly improve data throughput, communication coverage, and energy efficiency compared to the existing 5G RAN. It also proved the convergence of communications and AI could significantly enhance network performance. Learn more about Samsung Electronics' AI-RAN technology that goes beyond the boundary of communications and creates smarter networks with AI.

      Learn More Building a Trusted Execution Environment on RISC-V Microcontrollers
      In embedded systems such as IoT devices, it is crucial to protect sensitive data. For this, a Trusted Execution Environment (TEE) is required. It creates an isolated environment within the processor, so that security-sensitive tasks can be executed without risk of external threats.
      Samsung Research is conducting a study on how to implement the TEE technology on RISC-V-based microcontrollers (MCU), an open-source hardware architecture, and has introduced mTower, a core project related to this study. Learn more about stronger security for IoT devices on the Samsung Research blog.

      Learn More   
      https://developer.samsung.com

      Copyright© %%xtyear%% SAMSUNG All Rights Reserved.
      This email was sent to %%emailaddr%% by Samsung Electronics Co.,Ltd.
      You are receiving this email because you have subscribed to the Samsung Developer Newsletter through the website.
      Samsung Electronics · 129 Samsung-ro · Yeongtong-gu · Suwon-si, Gyeonggi-do 16677 · South Korea

      Privacy Policy       Unsubscribe

      View the full blog at its source
    • Government UFO Files
    • By maljaros
      There is no native Strava mobile app for Tizen OS smartphones, so what app could be used for tracking trail run and cycling activities on a Samsung Z4? Or is there a "non-native" route to Strava itself?
      Thank you, Maljaros





×
×
  • Create New...