From b17174812e812ef5b3a2a8dd95fc148d4307bc66 Mon Sep 17 00:00:00 2001 From: Editor Lionbridge Date: Wed, 30 Nov 2016 09:58:37 +0200 Subject: [PATCH] [LB] New CSS for Training and Studio - New CSS file and related tagging changes implemented for training and studio content - Some minor fixes included related to typos, terminological consistency, and Tizen Studio Change-Id: Ic80933b5234cfebbec2fd8932d07ab839c81e8e6 --- .../html/common_tools/certificate_registration.htm | 14 +- .../html/common_tools/command_line_interface.htm | 166 +- .../html/common_tools/connection_explorer_view.htm | 2 +- org.tizen.studio/html/common_tools/da_advanced.htm | 59 +- org.tizen.studio/html/common_tools/da_common.htm | 45 +- org.tizen.studio/html/common_tools/da_file.htm | 8 +- org.tizen.studio/html/common_tools/da_memory.htm | 24 +- org.tizen.studio/html/common_tools/da_network.htm | 8 +- org.tizen.studio/html/common_tools/da_opengl.htm | 18 +- org.tizen.studio/html/common_tools/da_overview.htm | 6 +- org.tizen.studio/html/common_tools/da_thread.htm | 8 +- .../html/common_tools/da_ui_hierarchy_n.htm | 36 +- org.tizen.studio/html/common_tools/emulator.htm | 47 +- .../html/common_tools/emulator_control_panel.htm | 370 ++--- .../html/common_tools/emulator_features.htm | 310 ++-- .../html/common_tools/emulator_manager.htm | 49 +- .../html/common_tools/keyboard_shortcuts.htm | 58 +- org.tizen.studio/html/common_tools/log_view.htm | 6 +- .../html/common_tools/smart_development_bridge.htm | 122 +- org.tizen.studio/html/cover_page.htm | 10 +- org.tizen.studio/html/css/styles.css | 542 +------ .../html/download/1_0_1_release_notes.htm | 18 +- .../html/download/1_0_release_notes.htm | 36 +- .../html/download/advanced_configuration.htm | 49 +- org.tizen.studio/html/download/download.htm | 2 +- .../hardware_accelerated_execution_manager.htm | 66 +- org.tizen.studio/html/download/installing_sdk.htm | 48 +- org.tizen.studio/html/download/prerequisites.htm | 70 +- .../html/download/tizen_studio_migration_guide.htm | 86 +- .../html/download/uninstalling_sdk.htm | 12 +- org.tizen.studio/html/download/updating_sdk.htm | 46 +- .../html/native_tools/api_checker_n.htm | 18 +- .../html/native_tools/call_stack_view_n.htm | 8 +- .../html/native_tools/component_attributes_n.htm | 1656 ++++++++++---------- .../html/native_tools/component_designer_n.htm | 148 +- .../html/native_tools/content_assist_n.htm | 34 +- .../html/native_tools/cover_configure_n.htm | 2 +- .../html/native_tools/edc_editor_n.htm | 42 +- .../html/native_tools/manifest_elements_n.htm | 41 +- .../html/native_tools/manifest_text_editor_n.htm | 343 ++-- .../html/native_tools/multiple_screen_n.htm | 98 +- .../html/native_tools/po_file_editor_n.htm | 40 +- .../html/native_tools/project_conversion_n.htm | 129 +- .../html/native_tools/project_explorer_view_n.htm | 10 +- .../html/native_tools/project_wizard_n.htm | 14 +- .../html/native_tools/resource_manager_n.htm | 109 +- .../html/native_tools/static_analyzer_n.htm | 7 +- .../html/native_tools/storyboard_n.htm | 16 +- org.tizen.studio/html/native_tools/t_trace_n.htm | 32 +- .../html/native_tools/ui_builder_n.htm | 14 +- org.tizen.studio/html/native_tools/unit_test_n.htm | 18 +- .../html/platform_tools/cover_platform.htm | 22 +- .../html/platform_tools/platform_tools.htm | 46 +- .../html/web_tools/IDE_preferences_w.htm | 40 +- .../html/web_tools/code_productivity_w.htm | 12 +- .../html/web_tools/config_editor_w.htm | 638 ++++---- .../html/web_tools/content_assist_w.htm | 6 +- org.tizen.studio/html/web_tools/js_analyzer_w.htm | 90 +- org.tizen.studio/html/web_tools/live_editing_w.htm | 17 +- org.tizen.studio/html/web_tools/previewer_w.htm | 19 +- .../html/web_tools/privilege_checker_w.htm | 26 +- .../html/web_tools/project_explorer_view_w.htm | 10 +- .../html/web_tools/project_wizard_w.htm | 14 +- org.tizen.studio/html/web_tools/rest_viewer_w.htm | 36 +- org.tizen.studio/html/web_tools/web_editor_w.htm | 88 +- .../html/web_tools/web_inspector_w.htm | 18 +- .../html/web_tools/web_localization_w.htm | 43 +- .../html/web_tools/web_simulator_features_w.htm | 90 +- .../html/web_tools/web_simulator_w.htm | 73 +- .../html/web_tools/web_unit_test_tool_w.htm | 33 +- org.tizen.training/html/cover_page.htm | 30 +- org.tizen.training/html/css/styles.css | 542 +------ .../html/images/graphics_project_create.png | Bin 85773 -> 31320 bytes .../html/native/app_model/application_model_n.htm | 80 +- .../html/native/details/app_filtering_n.htm | 651 ++++---- .../html/native/details/deprecation_policy_n.htm | 2 +- .../html/native/details/error_handling_n.htm | 4 +- .../html/native/details/event_handling_n.htm | 19 +- .../html/native/details/io_overview_n.htm | 73 +- .../html/native/details/sec_privileges_n.htm | 403 +++-- .../html/native/details/sign_certificate_n.htm | 8 +- .../html/native/details/tizen_apis_n.htm | 47 +- .../native/feature/app_battery_lifecycle_n.htm | 33 +- .../html/native/feature/app_battery_location_n.htm | 16 +- .../html/native/feature/app_battery_power_n.htm | 12 +- .../feature/app_connectivity_operation_n.htm | 32 +- .../html/native/feature/app_connectivity_p2p_n.htm | 44 +- .../native/feature/app_connectivity_usage_n.htm | 84 +- .../html/native/feature/app_contacts_basic_n.htm | 82 +- .../html/native/feature/app_contacts_group_n.htm | 22 +- .../native/feature/app_contacts_management_n.htm | 102 +- .../html/native/feature/app_contentshare_n.htm | 2 +- .../html/native/feature/app_contentshare_nfc_n.htm | 20 +- .../native/feature/app_contentshare_receive_n.htm | 26 +- .../native/feature/app_contentshare_send_n.htm | 31 +- .../native/feature/app_graphics_animation_n.htm | 32 +- .../html/native/feature/app_graphics_polygon_n.htm | 10 +- .../html/native/feature/app_graphics_square_n.htm | 16 +- .../html/native/feature/app_multimedia_audio_n.htm | 54 +- .../native/feature/app_multimedia_camera_n.htm | 71 +- .../html/native/feature/app_multimedia_video_n.htm | 68 +- .../native/feature/app_sensor_accelerator_n.htm | 52 +- .../html/native/feature/app_sensor_proximity_n.htm | 38 +- .../native/feature/ui_builder_app_design_mn.htm | 48 +- .../html/native/feature/ui_builder_overview_mn.htm | 10 +- .../html/native/mobile/first_app_mn.htm | 132 +- .../html/native/process/app_dev_process_n.htm | 46 +- .../html/native/process/building_app_n.htm | 44 +- .../html/native/process/creating_app_project_n.htm | 19 +- .../html/native/process/debugging_app_n.htm | 74 +- .../html/native/process/performance_n.htm | 40 +- .../html/native/process/running_app_n.htm | 37 +- .../html/native/process/setting_properties_n.htm | 98 +- .../html/native/wearable/first_app_wn.htm | 130 +- .../native/wearable_watch/first_app_watch_wn.htm | 128 +- .../native/wearable_widget/first_app_widget_wn.htm | 150 +- .../html/web/app_model/application_model_w.htm | 104 +- .../html/web/details/app_filtering_w.htm | 331 ++-- .../html/web/details/deprecation_policy_w.htm | 2 +- .../html/web/details/event_handling_w.htm | 30 +- .../html/web/details/sec_privileges_w.htm | 50 +- .../html/web/details/sign_certificate_w.htm | 8 +- .../html/web/details/tizen_apis_w.htm | 25 +- .../html/web/details/web_runtime_w.htm | 124 +- .../html/web/mobile/first_app_mw.htm | 190 +-- .../html/web/process/app_dev_process_w.htm | 80 +- .../html/web/process/coding_app_w.htm | 21 +- .../html/web/process/creating_app_project_w.htm | 19 +- .../html/web/process/run_debug_app_w.htm | 82 +- .../html/web/process/setting_properties_w.htm | 72 +- .../html/web/wearable/first_app_ww.htm | 199 +-- .../html/web/wearable_watch/first_app_watch_ww.htm | 145 +- .../web/wearable_widget/first_app_widget_ww.htm | 152 +- 133 files changed, 4894 insertions(+), 6843 deletions(-) diff --git a/org.tizen.studio/html/common_tools/certificate_registration.htm b/org.tizen.studio/html/common_tools/certificate_registration.htm index 64b3ebe..41fa972 100644 --- a/org.tizen.studio/html/common_tools/certificate_registration.htm +++ b/org.tizen.studio/html/common_tools/certificate_registration.htm @@ -51,14 +51,14 @@

Creating the Certificate Profile

You can create a new certificate profile with the Certificate Manager. To run the Certificate Manager, in the Tizen Studio menu, select Tools > Certificate Manager.

-

Figure: Certificate Manager

+

Figure: Certificate Manager

Certificate Manager

In the Certificate Manager, click the plus icon (Plus icon) to create a new profile.

-

Figure: Creating a new certificate profile

+

Figure: Creating a new certificate profile

Creating a new certificate profile

You can create a new certificate profile with the creation wizard.

-

Figure: Creation wizard

+

Figure: Creation wizard

Creation wizard

Adding the Author and Distributor Certificates

@@ -78,20 +78,20 @@

Managing the Certificate Profile

You can also view, edit, and remove the certificate profiles you have created.

-

Figure: Managing certificate profiles

+

Figure: Managing certificate profiles

Managing certificate profiles

To manage a certificate profile:

Building the Project

-

The command builds the Tizen native or Web project. To build the native project, 3 options are needed: architecture, compiler, and configuration. If you do not set these options, the default values are used. You can check or set the default build options with the cli-config command.

+

The command builds the Tizen native or Web project. To build the native project, 3 options are needed: architecture, compiler, and configuration. If you do not set these options, the default values are used. You can check or set the default build options with the cli-config command.

Syntax:

@@ -250,29 +250,29 @@ tizen <sub-command> [options]
  Description
 
  
- build-native [options]
+ build-native [options]
  Build the Tizen native project.

Options are: - build-web [options] + build-web [options] Build the Tizen Web project.

Options are: @@ -280,7 +280,7 @@ tizen <sub-command> [options]

Examples:

Cleaning the Project

-

The command cleans the Tizen project. If you clean the project, all build output directories under the project root path are removed (Debug, Release, and .buildResult).

+

The command cleans the Tizen project. If you clean the project, all build output directories under the project root path are removed (Debug, Release, and .buildResult).

Syntax:

@@ -344,7 +344,7 @@ tizen clean [-- <project directory>]
  Description
 
  
- -- <project directory>
+ -- <project directory>
  Specifies the project directory to clean.
 
 
@@ -383,50 +383,50 @@ tizen certificate [options]
  Description
 
  
- -a, --alias <alias name>
+ -a, --alias <alias name>
  Specifies an alias name of the certificate.
 
 
- -p, --password <password>
+ -p, --password <password>
  Specifies the password of the certificate.
 
 
- -c, --country <country code>
+ -c, --country <country code>
  Specifies the user's country code, which consists of 2 letters.
 
 
- -s, --state <state>
+ -s, --state <state>
  Specifies the user's state.
 
 
- -ct, --city <city>
+ -ct, --city <city>
  Specifies the user's city.
 
 
- -o, --organization <organization>
+ -o, --organization <organization>
  Specifies the user organization.
 
 
- -u, --unit <unit>
+ -u, --unit <unit>
  Specifies the user's organization unit.
 
 
- -n, --name <name>
+ -n, --name <name>
  Specifies the user name.
 
 
- -e, --email <email>
+ -e, --email <email>
  Specifies the user email.
 
 
- -f, --filename <filename>
+ -f, --filename <filename>
  Specifies the file name without a file extension. A certificate file is created with the file name.
- If you skip this option, the default file name, author, is used on creating the certificate file. + If you skip this option, the default file name, author, is used on creating the certificate file. - -- <certificate output path> + -- <certificate output path> Specifies the output directory path to create the certificate.
- If you skip this option, the default output directory path, <TIZEN_STUDIO_DATA>/keystore/author/, is used on saving the certificate file. + If you skip this option, the default output directory path, <TIZEN_STUDIO_DATA>/keystore/author/, is used on saving the certificate file. @@ -492,40 +492,40 @@ tizen security-profiles <sub-command> [options] Description - add [options] + add [options] Adds the specified security profile, which can contain several certificates.

Options are:
    -
  • -n, --name: Specifies the name of the security profile to add.
  • -
  • -a, --path: Specifies the directory path where the author certificate file is located. The format of the certificate is PKCS#12, and the file extension is .p12.
  • -
  • -p, --password: Specifies the password used to access the author certificate.
  • -
  • -c, --ca: Specifies the directory path where the author CA certificate file is located. The file extension of the CA certificate is .cer.
  • -
  • -r, --rootca: Specifies the directory path where the author root CA certificate file is located. The file extension of the root CA certificate is .cer.
  • -
  • -d, --dist: Specifies the directory path where the distributor certificate file is located. If you skip this option, the default distributor certificate file embedded in the Tizen Studio is used.
  • -
  • -dp, --dist-password: Specifies the password of the distributor certificate.
  • -
  • -dc, --dist-ca: Specifies the directory path where the distributor CA certificate file is located.
  • -
  • -dr, --dist-rootca: Specifies the directory path where the distributor root CA certificate file is located.
  • -
  • --: Specifies the directory path where the profiles.xml file is located. If you skip this option, the value of the default.profiles.path key in the CLI configuration is used to find the profiles.xml file, which consists of new security profiles that are generated in the <TIZEN_STUDIO_DATA>/keystore/ directory. The directory path is added to the CLI configuration.
  • +
  • -n, --name: Specifies the name of the security profile to add.
  • +
  • -a, --path: Specifies the directory path where the author certificate file is located. The format of the certificate is PKCS#12, and the file extension is .p12.
  • +
  • -p, --password: Specifies the password used to access the author certificate.
  • +
  • -c, --ca: Specifies the directory path where the author CA certificate file is located. The file extension of the CA certificate is .cer.
  • +
  • -r, --rootca: Specifies the directory path where the author root CA certificate file is located. The file extension of the root CA certificate is .cer.
  • +
  • -d, --dist: Specifies the directory path where the distributor certificate file is located. If you skip this option, the default distributor certificate file embedded in the Tizen Studio is used.
  • +
  • -dp, --dist-password: Specifies the password of the distributor certificate.
  • +
  • -dc, --dist-ca: Specifies the directory path where the distributor CA certificate file is located.
  • +
  • -dr, --dist-rootca: Specifies the directory path where the distributor root CA certificate file is located.
  • +
  • --: Specifies the directory path where the profiles.xml file is located. If you skip this option, the value of the default.profiles.path key in the CLI configuration is used to find the profiles.xml file, which consists of new security profiles that are generated in the <TIZEN_STUDIO_DATA>/keystore/ directory. The directory path is added to the CLI configuration.
- list [options] + list [options] Displays security profiles. If you specify the name of the security profile, the detailed information of the specified security profile is displayed.

Options are:
    -
  • -n, --name: Specifies the name of the security profile to list. If you skip this option, a set of the security profile names in the profiles.xml file is displayed.
  • -
  • --: Specifies the directory path where the profiles.xml file is located.
  • +
  • -n, --name: Specifies the name of the security profile to list. If you skip this option, a set of the security profile names in the profiles.xml file is displayed.
  • +
  • --: Specifies the directory path where the profiles.xml file is located.
- remove [options] + remove [options] Removes the specified security profile.

Options are:
    -
  • -n, --name: Specifies the name of the security profile to remove.
  • -
  • --: Specifies the directory path where the profiles.xml file is located.
  • +
  • -n, --name: Specifies the name of the security profile to remove.
  • +
  • --: Specifies the directory path where the profiles.xml file is located.
@@ -644,7 +644,7 @@ Succeed to remove 'MyProfile' profile

Packaging a Tizen Application with Signing

-

The command packages the Tizen application with signing. If there is a package file in the options, the package is re-signed. The Tizen application is signed with a certified profile in the profiles.xml file. You can create the default profile from the Tizen Studio, which generates the file in a hidden directory in your workspace (<Your workspace directory>/.metadata/.plugins/org.tizen.common.sign/profiles.xml). Set the path of the profiles.xml file before packaging the Tizen application (by using the tizen cli-config command).

+

The command packages the Tizen application with signing. If there is a package file in the options, the package is re-signed. The Tizen application is signed with a certified profile in the profiles.xml file. You can create the default profile from the Tizen Studio, which generates the file in a hidden directory in your workspace (<Your workspace directory>/.metadata/.plugins/org.tizen.common.sign/profiles.xml). Set the path of the profiles.xml file before packaging the Tizen application (by using the tizen cli-config command).

Syntax:

@@ -660,19 +660,19 @@ tizen package [options]
  Description
 
  
- -t, --type {tpk|wgt}
- Specifies the package type. You can use tpk for a Tizen native package or wgt for a Tizen Web package.
+ -t, --type {tpk|wgt}
+ Specifies the package type. You can use tpk for a Tizen native package or wgt for a Tizen Web package.
 
 
- -s, --sign <security profile>
+ -s, --sign <security profile>
  Specifies the security profile name to use for signing.
 
 
- -S, --strip {on|off}
- Determines whether to strip the native binary. The default value is off. This option only works when the native binary is based on the arm architecture and Release build configuration. This option is only for the native package.
+ -S, --strip {on|off}
+ Determines whether to strip the native binary. The default value is off. This option only works when the native binary is based on the arm architecture and Release build configuration. This option is only for the native package.
 
 
- -- <build output path>
+ -- <build output path>
  Specifies the build output path. If this is a package file, the package is re-signed.
 
 
@@ -770,22 +770,22 @@ tizen install [options]
  Description
 
  
- -n, --name <package file name>
+ -n, --name <package file name>
  Specifies the Tizen package file name.
 
 
- -t, --target <target>
+ -t, --target <target>
  Specifies the target where the Tizen package is installed.
 
 
- -- <package file path>
+ -- <package file path>
  Specifies the directory path of the package file.
 
 
 
 

Examples:

    -
  • Install the basic application, whose package name is org.tizen.basic-1.0.0-i386.tpk, on the emulator-26101. +
  • Install the basic application, whose package name is org.tizen.basic-1.0.0-i386.tpk, on the emulator-26101.

    Windows®:

    @@ -817,18 +817,18 @@ tizen run [options]
      Description
     
      
    - -p, --pkgid <package id>
    + -p, --pkgid <package id>
      Specifies the Tizen package ID installed on the target.
     
     
    - -t, --target <target name>
    + -t, --target <target name>
      Specifies the target where the Tizen package is run.
     
     
     
     

    Examples:

      -
    • Run the basic application, whose package ID is org.tizen.basic, on the emulator-26101. +
    • Run the basic application, whose package ID is org.tizen.basic, on the emulator-26101.

      Windows®, Ubuntu, and Mac OS® X:

      @@ -855,18 +855,18 @@ tizen uninstall [options]
        Description
       
        
      - -p, --pkgid <package id>
      + -p, --pkgid <package id>
        Specifies the Tizen package ID installed on the target.
       
       
      - -t, --target <target name>
      + -t, --target <target name>
        Specifies the target from where the Tizen package is uninstalled.
       
       
       
       

      Examples:

        -
      • Uninstall the basic application, whose package ID is org.tizen.basic, from the emulator-26101. +
      • Uninstall the basic application, whose package ID is org.tizen.basic, from the emulator-26101.

        Windows®, Ubuntu, and Mac OS® X:

        @@ -884,7 +884,7 @@ tizen uninstall [options]
         tizen manual [<command>]
         
        -

        You can use all CLI commands to as <command>:

        +

        You can use all CLI commands to as <command>:

         cli-config, list, create, build-native, build-web, clean, certificate, security-profiles, package, install, run, uninstall, version
         
        diff --git a/org.tizen.studio/html/common_tools/connection_explorer_view.htm b/org.tizen.studio/html/common_tools/connection_explorer_view.htm index 2df6aee..4dcf753 100644 --- a/org.tizen.studio/html/common_tools/connection_explorer_view.htm +++ b/org.tizen.studio/html/common_tools/connection_explorer_view.htm @@ -48,7 +48,7 @@
      • Launch the Emulator Manager to handle the multiple instances of the emulator
      -

      Figure: Connection Explorer view

      +

      Figure: Connection Explorer view

      Connection Explorer view

      Running and Debugging the Application with Devices

      diff --git a/org.tizen.studio/html/common_tools/da_advanced.htm b/org.tizen.studio/html/common_tools/da_advanced.htm index 48dff21..7b843a5 100644 --- a/org.tizen.studio/html/common_tools/da_advanced.htm +++ b/org.tizen.studio/html/common_tools/da_advanced.htm @@ -52,12 +52,12 @@
    • Right-click between the markers, and select Range Analysis.

      The table data is updated based on the range inspection results.

    • -

      Figure: Range inspection with markers

      +

      Figure: Range inspection with markers

      Range inspection with markers

      You can create as many markers as you want, and can move the marker by dragging and dropping with a mouse. To delete a marker, double-click it.

      Range Inspection with Drag and Drop

      If you drag and drop on a chart view, a range is set and the table data is updated based on the range inspection results.

      -

      Figure: Range inspection with drag and drop

      +

      Figure: Range inspection with drag and drop

      Range inspection with drag and drop

      The drag and drop action creates a temporary range. If you click another area on the chart view, the range selection is removed.

      @@ -67,7 +67,7 @@
    • Case sensitive: Case-sensitive matching
    • Whole word: Whole word matching
    -

    Figure: Search dialog

    +

    Figure: Search dialog

    Search dialog

    Target Dialog

    You can check the connected target information in the target dialog:

    @@ -81,7 +81,7 @@
  • RAM
  • Binary Information
-

Figure: Target dialog

+

Figure: Target dialog

Target dialog

@@ -89,11 +89,11 @@

You can save the tracing result into a file and load it later on for analysis:

  • You can save the analysis result to a zip file. -

    Figure: Saving data

    +

    Figure: Saving data

    Saving data

  • You can load the analysis result from the zip file. After loading, the chart and table data are updated from the loaded data. -

    Figure: Loading data

    +

    Figure: Loading data

    Loading data

@@ -115,14 +115,14 @@ -

Figure: Preference dialog

+

Figure: Preference dialog

Preference dialog

Key Shortcuts

You can trigger some major analysis functions with key shortcuts.

+

Table: Key shortcuts

- @@ -237,7 +237,7 @@

Command Line Interface

You can use the command line interface (CLI) with the Dynamic Analyzer. You can collect tracing data from your application from a target device and later open it in the Dynamic Analyzer GUI (graphical interface) for analysis.

To launch tracing, you must know the target device name (or IP address) and your application name, and you must specify the profiling features to be enabled.

-

To view the CLI help, run the ./dacli.jar -h command:

+

To view the CLI help, run the ./dacli.jar -h command:

 Usage: dacli.jar <command> [options ...]
@@ -277,37 +277,30 @@ List of commands:
 
 

Environment Setup

The CLI tool requires Java VM installed on your computer. The minimum supported version is Java VM 1.7.

-

You can launch the dacli.jar file from the Dynamic Analyzer installation directory by using the ./dacli.jar command. To make the launching easier, add the directory to your PATH variable. For example, use the following command on Ubuntu:

+

You can launch the dacli.jar file from the Dynamic Analyzer installation directory by using the ./dacli.jar command. To make the launching easier, add the directory to your PATH variable. For example, use the following command on Ubuntu:

 export PATH=$PATH:<path-to-tizen-studio>/tools/dynamic-analyzer/
 
-
Table: Key shortcuts
Command
- - - - - - - - -
Note
If you have trouble with the execution, you can try one of the following: +
+ Note + If you have trouble with the execution, you can try one of the following:
    -
  • Grant execution permissions to the dacli.jar file: -

    chmod +x dacli.jar

    +
  • Grant execution permissions to the dacli.jar file: +

    chmod +x dacli.jar

  • Use the following command to launch the Dynamic Analyzer CLI tool: -

    java -jar dacli.jar

  • +

    java -jar dacli.jar

-
+

Useful Commands

The following commands are the most useful when controlling the Dynamic Analyzer with the CLI:

    -
  • devices -

    The command shows a list of connected devices. If you specify the -u option, only the devices where tracing is already launched through the CLI are listed.

    +
  • devices +

    The command shows a list of connected devices. If you specify the -u option, only the devices where tracing is already launched through the CLI are listed.

    Command syntax:

    devices [-u]

    For example:

    @@ -321,7 +314,7 @@ List of connected devices:

    Take note of the device serial number. It is used to specify the device in other Dynamic Analyzer CLI commands.

  • -
  • apps +
  • apps

    The command shows a list of installed applications on a specified device.

    Command syntax:

    @@ -344,7 +337,7 @@ List of installed applications:

    Take note of your application name. It is used to specify the application in other Dynamic Analyzer CLI commands. If you cannot find your application, make sure it has been installed (for example, from the Tizen Studio).

  • -
  • start +
  • start

    The command starts tracing your application on the specified device. In addition, you must specify at least 1 profiling feature to be enabled.

    Command syntax:

    @@ -352,7 +345,7 @@ List of installed applications: start <ip:port|serial> -a <application> <features> [options…]
-

For example, you can specify the -C option to enable all CPU profiling features. You can see a list of all available features in the command help message.

+

For example, you can specify the -C option to enable all CPU profiling features. You can see a list of all available features in the command help message.

The following command starts the Camera application on the emulator-26101 device with the CPU profiling features enabled:

@@ -360,10 +353,10 @@ $ ./dacli.jar start emulator-26101 -a Camera -C
 DA tracing started.
 Run "dacli stop emulator-26101" to finish it.
 
-

You can specify the -o option to customize the tracing result location.

+

You can specify the -o option to customize the tracing result location.

-
  • stop +
  • stop

    The command stops the active tracing process on a specified device.

    Command syntax:

    @@ -388,7 +381,7 @@ Output: /home/eclipse/tizen-sdk-data/dynamic-analyzer/save/Camera_2016-08-
  • -
  • version +
  • version

    The command displays information about the Dynamic Analyzer, including its version, build time, and useful links.

    Command syntax:

    @@ -438,4 +431,4 @@ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga - + \ No newline at end of file diff --git a/org.tizen.studio/html/common_tools/da_common.htm b/org.tizen.studio/html/common_tools/da_common.htm index 41b46a4..3827b73 100644 --- a/org.tizen.studio/html/common_tools/da_common.htm +++ b/org.tizen.studio/html/common_tools/da_common.htm @@ -39,7 +39,7 @@

    Handling Common Dynamic Analyzer Tasks

    The common tasks in the Dynamic Analyzer show how you can launch the Dynamic Analyzer and understand its user interface. Once you have installed your application on the emulator or Tizen device, you are ready to run the Dynamic Analyzer.

    -

    Figure: Dynamic Analyzer icon

    +

    Figure: Dynamic Analyzer icon

    Dynamic analyzer

    Dynamic Analyzer Launch

    @@ -59,7 +59,7 @@
  • After the Dynamic Analyzer startup, select the profiling target and applicable features in the feature dialog. The selected features are listed in the Selected Features pane. When you are ready, click OK and the Dynamic Analyzer main UI opens.

    -

    Figure: Feature selection dialog

    +

    Figure: Feature selection dialog

    Feature selection dialog

    Main UI

    @@ -71,7 +71,7 @@
  • Chart view
  • Detail table view
  • -

    Figure: Main UI

    +

    Figure: Main UI

    Main UI

    Menu Bar

    You can trigger analysis functions in the menu bar:

    @@ -116,7 +116,7 @@

    Toolbar

    You can trigger some major analysis functions from the toolbar:

    -

    Figure: Toolbar

    +

    Figure: Toolbar

    Toolbar

      @@ -143,7 +143,7 @@
    1. App life-cycle bar: View the life-cycle of the application.
    2. Zoom bar: Set a scale for the chart view.
    -

    Figure: Chart view

    +

    Figure: Chart view

    Chart view

    Detail Table View

    @@ -158,7 +158,7 @@
  • Tag: Dlog tag, which the application used
  • Message: Dlog message
  • -

    Figure: Dlog table

    +

    Figure: Dlog table

    Dlog table

    Call Trace Table

    @@ -178,18 +178,13 @@
  • API: Name of the called function
  • Binary path: Path of binary
  • -

    Figure: Call Trace table

    +

    Figure: Call Trace table

    Call Trace table

    - - - - - - - - - -
    Note
    If your application is built by setting the optimization option above O0 (default value), the API callstack-related information shown in the Call Trace table can be incorrect. To profile your application with the Dynamic Analyzer, you must not change the optimization option.
    + +
    + Note + If your application is built by setting the optimization option above O0 (default value), the API callstack-related information shown in the Call Trace table can be incorrect. To profile your application with the Dynamic Analyzer, you must not change the optimization option. +

    Startup Table

    The Startup table shows the startup information of the application. The table contains the following columns:

    @@ -198,15 +193,15 @@
  • Stage: Stage of the application life-cycle:
    • library mapping is a linking phase when the linker maps the library dependencies of the application.
    • -
    • main is an execution phase from the beginning to the ui_app_main() function within the main() function.
    • -
    • create is an execution phase of the app_create_cb() callback within the ui_app_lifecycle_callback_s struct (this callback function is executed at the start of the application).
    • -
    • service is an execution phase of the app_control_cb() callback within the ui_app_lifecycle_callback_s struct (this callback function is executed when another application sends a launch request to the application).
    • +
    • main is an execution phase from the beginning to the ui_app_main() function within the main() function.
    • +
    • create is an execution phase of the app_create_cb() callback within the ui_app_lifecycle_callback_s struct (this callback function is executed at the start of the application).
    • +
    • service is an execution phase of the app_control_cb() callback within the ui_app_lifecycle_callback_s struct (this callback function is executed when another application sends a launch request to the application).
  • Start Time: Start time of the stage
  • End Time: End time of the stage
  • -

    Figure: Startup table

    +

    Figure: Startup table

    Startup table

    Callstack Table

    @@ -216,7 +211,7 @@
  • Address: Address of the called function
  • Binary path: Path of the binary
  • -

    Figure: Callstack table

    +

    Figure: Callstack table

    Callstack table

    If the symbol is located in the user binary, it is shown in blue. If the symbol name cannot be found, it is marked as an unknown function.

    @@ -245,7 +240,7 @@

    The exclusive time is the amount of execution time that is passed within the method, excluding the time spent in methods called from the method in question. The inclusive time is the amount of execution time that is passed within the method, including the time spent in methods called from the method in question.

    The CPU time is the actual CPU time consumed by the process. The value is obtained by sampling. The elapsed time is the wall-clock time, meaning the time elapsed between the method entry and exit.

    -

    Figure: Function Profiling table

    +

    Figure: Function Profiling table

    Function Profiling table

    Failed API Table

    @@ -260,7 +255,7 @@
  • PID: PID
  • -

    Figure: Failed API table

    +

    Figure: Failed API table

    Failed API table

    Warning Table

    @@ -272,7 +267,7 @@
  • Warning: Warning message
  • -

    Figure: Warning table

    +

    Figure: Warning table

    Warning table

    diff --git a/org.tizen.studio/html/common_tools/da_file.htm b/org.tizen.studio/html/common_tools/da_file.htm index 8fc81c0..aff808c 100644 --- a/org.tizen.studio/html/common_tools/da_file.htm +++ b/org.tizen.studio/html/common_tools/da_file.htm @@ -47,7 +47,7 @@
  • File Details view shows detailed information of the file selected in the file chart.
  • -

    Figure: File analysis

    +

    Figure: File analysis

    File analysis

    @@ -71,7 +71,7 @@

    File Chart

    The file chart has a separated child and parent chart. There can be only 1 parent chart of each file, whereas multiple child charts are supported. Multiple child charts are separated by PID and TID. The parent chart records all the operations performed by the child charts.

    -

    Figure: File chart

    +

    Figure: File chart

    File chart

    The file chart shows the following information:

    @@ -101,7 +101,7 @@

    File API List

    The File API List table shows the APIs that are associated with the file selected in the file chart. When the child of the file is selected, this view shows information about the file included in the TID.

    -

    Figure: File API List table

    +

    Figure: File API List table

    File API List table

    The table contains the following columns:

    @@ -121,7 +121,7 @@

    File Details

    The File Details view shows detail information of the file selected in the file chart. When the child row of the file is selected, this view shows information of the file that is included in the TID.

    -

    Figure: File Details view

    +

    Figure: File Details view

    File Details view

    The view contains the following fields:

    diff --git a/org.tizen.studio/html/common_tools/da_memory.htm b/org.tizen.studio/html/common_tools/da_memory.htm index 41e8d33..377a029 100644 --- a/org.tizen.studio/html/common_tools/da_memory.htm +++ b/org.tizen.studio/html/common_tools/da_memory.htm @@ -53,7 +53,7 @@
  • CallStack table shows the call stack of the chosen allocation from the Persistent Allocations table.
  • Memory Map table shows detailed information of the memory mapping.
  • -

    Figure: Memory usage analysis

    +

    Figure: Memory usage analysis

    Memory usage analysis

    Memory Chart

    @@ -62,7 +62,7 @@
  • System Memory chart

    You can check the memory size of the system and process.

    -

    Figure: System Memory chart

    +

    Figure: System Memory chart

    System Memory chart

  • Process Memory chart @@ -71,7 +71,7 @@
  • VSS: Virtual Set Size
  • RSS: Resident Set Size
  • PSS: Proportional Set Size
  • -

    Figure: Process Memory chart

    +

    Figure: Process Memory chart

    Process Memory chart

  • Heap Allocation chart @@ -79,7 +79,7 @@
    • Total: Allocated heap memory size of the process
    • Main Executable: Allocated heap memory size of the main executable
    -

    Figure: Heap Allocation chart

    +

    Figure: Heap Allocation chart

    Heap Allocation chart

    To show the persistent memory charts, select View > Report > Persistent Memory Charts.

    These charts are shown above the heap allocation charts after tracing is stopped or when the trace is loaded from file. You can see the following additional information:

    @@ -87,11 +87,11 @@
  • Process Persistent: Size of the heap memory already allocated in the process and not freed by the end of the trace.
  • Main Executable Persistent/Persistent: Size of the heap memory already allocated by the main executable or each library, and not freed by the end of the trace.
  • -

    Figure: Heap Allocation Chart with the Persistent Memory Charts option enabled

    +

    Figure: Heap Allocation Chart with the Persistent Memory Charts option enabled

    Heap Allocation chart with Persistent Memory Charts

    When you select one of the heap allocation charts or its children, the corresponding Statistics table entry is also selected. This can be helpful if you need more detailed information on some process or library.

    -

    Figure: Cross-focusing from Heap Allocation charts to the Statistics table

    +

    Figure: Cross-focusing from Heap Allocation charts to the Statistics table

    Cross-focusing from Heap Allocation charts to the Statistics table

    @@ -100,7 +100,7 @@

    Details

    You can check the changes of the system and process memory size in the Details table.

    -

    Figure: Details table

    +

    Figure: Details table

    Details table

    The table contains the following columns:

    @@ -143,7 +143,7 @@

    To remove a marker, double-click it.

    Markers and intervals are numbered starting from zero. The Range Analysis table allows you to compare the changes in memory usage between time markers. For the explanation of the data shown for each range, see Statistics.

    -

    Figure: Range Analysis table

    +

    Figure: Range Analysis table

    Range Analysis table

    @@ -151,7 +151,7 @@

    Statistics

    You can check the change of allocation and free by total amount of each library in the Statistics table.

    -

    Figure: Statistics table

    +

    Figure: Statistics table

    Statistics table

    The table contains the following columns:

      @@ -173,7 +173,7 @@
    • Persistent allocations for a selected interval. These are all allocations occurred during the selected interval and not freed by the end of the interval. They can be shown both during tracing and after tracing is stopped. For this type of data, you must select an interval in the timeline charts area.
    -

    Figure: Persistent Allocations table

    +

    Figure: Persistent Allocations table

    Persistent Allocations table

    The table contains the following columns:

    @@ -190,7 +190,7 @@

    CallStack

    You can see a call stack for each allocation from the Persistent Allocations table in the CallStack table. The allocation's call stack is shown when you select an allocation in the Persistent Allocations table.

    -

    Figure: CallStack table

    +

    Figure: CallStack table

    CallStack table

    The table contains the following columns:

    @@ -202,7 +202,7 @@

    Memory Map

    You can check the memory mapping information of a select process in the Memory Map table. Using this table, you can understand how big every library mapped into a process is, including its starting address (low address) and ending address (high address).

    -

    Figure: Memory Map table

    +

    Figure: Memory Map table

    Memory Map table

    The table contains the following columns:

    diff --git a/org.tizen.studio/html/common_tools/da_network.htm b/org.tizen.studio/html/common_tools/da_network.htm index 29a1d23..27f84c5 100644 --- a/org.tizen.studio/html/common_tools/da_network.htm +++ b/org.tizen.studio/html/common_tools/da_network.htm @@ -47,13 +47,13 @@
  • Network Details view shows detailed information of the socket selected in the socket chart.
  • -

    Figure: Network analysis

    +

    Figure: Network analysis

    Network analysis

    Network Chart

    The network chart displays the socket object in a tree format using a graph.

    -

    Figure: Network chart

    +

    Figure: Network chart

    Network chart

    The color of the horizontal bar in the chart indicates the state of the socket:

    @@ -80,7 +80,7 @@

    Network API List

    The Network API List table displays the APIs associated with the socket object selected in the network chart.

    -

    Figure: Network API List table

    +

    Figure: Network API List table

    Network API List table

    The table contains the following columns:

    @@ -101,7 +101,7 @@

    Network Details

    The Network Details view displays detailed information of the network socket object selected in the network chart.

    -

    Figure: Network Details view

    +

    Figure: Network Details view

    Network Details view

    The view contains the following fields:

    diff --git a/org.tizen.studio/html/common_tools/da_opengl.htm b/org.tizen.studio/html/common_tools/da_opengl.htm index f920f01..0cfdc5f 100644 --- a/org.tizen.studio/html/common_tools/da_opengl.htm +++ b/org.tizen.studio/html/common_tools/da_opengl.htm @@ -54,7 +54,7 @@
  • Texture table shows texture information.
  • -

    Figure: OpenGL analysis

    +

    Figure: OpenGL analysis

    OpenGL analysis

    OpenGL® Chart

    @@ -62,12 +62,12 @@
    • The Frame time chart shows the elapsed frame time. The X axis value of the frame time chart means the frame index number. A small chart value means a good status frame. Only the frames smaller than the value specified by the user and changed to yellow are visible. -

      Figure: Frame time chart

      +

      Figure: Frame time chart

      Frame time chart

    • The Frame rate chart shows the FPS. The X axis value of the frame rate chart means the analysis time. A larger chart value means a good status frame. -

      Figure: Frame rate chart analysis

      +

      Figure: Frame rate chart analysis

      Frame rate chart analysis

    @@ -75,7 +75,7 @@

    Statistics

    The Statistics table displays the API statistics related to EvasGL and OpenGL® 2.0.

    -

    Figure: Statistics table

    +

    Figure: Statistics table

    Statistics table

    The table contains the following columns:

    @@ -89,7 +89,7 @@

    API List

    The API List table displays the APIs associated with the values selected in the chart.

    -

    Figure: API List table

    +

    Figure: API List table

    API List table

    The table contains the following columns:

    @@ -109,7 +109,7 @@

    Redundant

    The Redundant table displays the APIs that are called repeatedly with the same parameters.

    -

    Figure: Redundant table

    +

    Figure: Redundant table

    Redundant table

    The table contains the following columns:

    @@ -123,7 +123,7 @@

    Context

    The Context table displays the context rendering state associated with the item selected in the API List table. The title of the table refers to the context number of the selected API.

    -

    Figure: Context table

    +

    Figure: Context table

    Context table

    The table contains the following columns:

    @@ -137,7 +137,7 @@

    Program

    The Program table displays the program information associated with the items selected in the API List table.

    -

    Figure: Program table

    +

    Figure: Program table

    Program table

    The table contains the following columns:

    @@ -153,7 +153,7 @@

    Texture

    The Texture table displays the textures associated with the item selected in the API List table.

    -

    Figure: Texture table

    +

    Figure: Texture table

    Texture table

    The table contains the following columns:

    diff --git a/org.tizen.studio/html/common_tools/da_overview.htm b/org.tizen.studio/html/common_tools/da_overview.htm index 06b707c..af8854e 100644 --- a/org.tizen.studio/html/common_tools/da_overview.htm +++ b/org.tizen.studio/html/common_tools/da_overview.htm @@ -46,7 +46,7 @@
  • Study the tracing result and fix performance issues again.
  • -

    Figure: Basic workflow using Dynamic Analyzer

    +

    Figure: Basic workflow using Dynamic Analyzer

    Basic workflow using Dynamic Analyzer

    With several of profiling features on the Dynamic Analyzer, you can get a hint about how to highly optimize the application.

    @@ -55,13 +55,13 @@

    When the Dynamic Analyzer is launched, a feature selection dialog opens. You can select the available features for your profiling based on the selected target profile.

    -

    Figure: Feature selection dialog

    +

    Figure: Feature selection dialog

    Feature selection dialog

    The following table lists the supported features on the Dynamic Analyzer. Every feature is placed onto a specific group (CPU, Memory, File System, Graphics, Network, UI, Synchronization, or Energy) to help you understand the profiling category.

    +

    Table: Available features

    - diff --git a/org.tizen.studio/html/common_tools/da_thread.htm b/org.tizen.studio/html/common_tools/da_thread.htm index 1491619..7607261 100644 --- a/org.tizen.studio/html/common_tools/da_thread.htm +++ b/org.tizen.studio/html/common_tools/da_thread.htm @@ -47,13 +47,13 @@
  • Thread Details view displays detailed information on the thread or synchronization object selected in the thread chart.
  • -

    Figure: Thread analysis

    +

    Figure: Thread analysis

    Thread analysis

    Thread Chart

    The thread chart displays the thread and the related synchronization object in a tree format using a graph.

    -

    Figure: Thread chart

    +

    Figure: Thread chart

    Thread chart

    The chart classifies thread and synchronization object states by color and shape:

    @@ -68,7 +68,7 @@

    Thread API List

    The Thread API List table displays the APIs associated with the thread or synchronization object selected in the thread chart.

    -

    Figure: Thread API List table

    +

    Figure: Thread API List table

    Thread API List table

    The table contains the following columns:

    @@ -86,7 +86,7 @@

    Thread Details

    The Thread Details view displays detailed information of the thread or synchronization object selected in the thread chart.

    -

    Figure: Thread Details view

    +

    Figure: Thread Details view

    Thread Details view

    The view contains the following fields:

    diff --git a/org.tizen.studio/html/common_tools/da_ui_hierarchy_n.htm b/org.tizen.studio/html/common_tools/da_ui_hierarchy_n.htm index fb4ea46..a36faf3 100644 --- a/org.tizen.studio/html/common_tools/da_ui_hierarchy_n.htm +++ b/org.tizen.studio/html/common_tools/da_ui_hierarchy_n.htm @@ -50,7 +50,7 @@
  • Layout view shows a block representation of your application.
  • -

    Figure: UI hierarchy analysis

    +

    Figure: UI hierarchy analysis

    UI hierarchy analysis

    Hierarchy Tree

    @@ -62,7 +62,7 @@
  • To see only Elementary UI objects without Evas and Edje, select the Elementary check box at the top left corner.
  • Click the refresh button (Refresh button).
  • -

    In the view, each node represents a corresponding UI object and shows its type (such as elm_win).

    +

    In the view, each node represents a corresponding UI object and shows its type (such as elm_win).

  • You can zoom in and out the hierarchy tree.

    To zoom in or out of the tree, use the slider at the bottom right corner, or use a keyboard shortcut (Ctrl + mouse scroll wheel).

  • @@ -71,8 +71,8 @@
    1. Select a filtering option in the combo box at the bottom left corner:
        -
      • Type: Type of the UI object (such as elm_win or elm_button)
      • -
      • Name: Name set by the EFL evas_object_name_set() function
      • +
      • Type: Type of the UI object (such as elm_win or elm_button)
      • +
      • Name: Name set by the EFL evas_object_name_set() function
      • Text: Text in the UI object (such as a Label or Text object)
    2. @@ -82,7 +82,7 @@
    3. You can export the hierarchy tree to an image file.

      To save a screenshot of the tree view to an image file (PNG), click the export button (Export button) at the top right corner. In a dialog box, click Save As and define a location for the file.

      -

      Figure: Hierarchy tree

      +

      Figure: Hierarchy tree

      Hierarchy tree

    4. @@ -92,14 +92,14 @@

      The Overview area represents the entire tree in the map style. The Hierarchy Tree view displays an enlarged tree, which indicates a particular part of the whole tree in the Overview area.

      Through the Overview area, you can move around the whole hierarchy tree. Select and move the shaded rectangle, and the tree in the rectangle is displayed as an enlarged tree in the Hierarchy Tree view.

      -

      Figure: Overview

      +

      Figure: Overview

      Overview

      UI Object

      When you select a node in the Hierarchy Tree view, basic information about the selected UI object appears in a small balloon (UI Object view) above the node.

      -

      Figure: UI Object view

      +

      Figure: UI Object view

      UI Object view

      In the view, you can see:

      @@ -111,18 +111,12 @@
    5. No Image: If the UI object has no image, this message appears (in case that the width or height of the UI object is 0).
    6. No Object: When the UI object does not exist anymore in the application, this message appears. This can happen because the Hierarchy Tree view is not automatically updated.
    7. -
    Table: Available features
    Group
    - - - - - - - - -
    Note
    If there are other UI objects intersecting the position of the selected UI object, those are also displayed.
    +
    + Note + If there are other UI objects intersecting the position of the selected UI object, those are also displayed. +
    -
  • The name set by the EFL evas_object_name_set() function. If the name is not set, the No Name message appears instead of the name.
  • +
  • The name set by the EFL evas_object_name_set() function. If the name is not set, the No Name message appears instead of the name.
  • The number of child UI objects. If the UI object has no children, the 0 children message appears.
  • The memory address of the UI object.
  • @@ -131,16 +125,16 @@

    The Properties table shows a list of the properties for the selected UI object from the Hierarchy Tree view. To find an individual property, expand a category name by clicking the arrow on its left.

    The properties are categorized by the type of the EFL UI object (Evas, Elementary, or Edje). The Properties table always shows the Evas category, because all of the EFL UI objects are subtypes of Evas.

    -

    If the UI object is of the Elementary or Edje type, the view shows those categories too. Each type's own properties are also categorized (such as elm_label).

    +

    If the UI object is of the Elementary or Edje type, the view shows those categories too. Each type's own properties are also categorized (such as elm_label).

    -

    Figure: Properties table

    +

    Figure: Properties table

    Properties table

    Layout

    The Layout view shows a block representation of the application. When you select a node in the Hierarchy Tree view, the corresponding image is displayed and highlighted.

    -

    Figure: Layout view

    +

    Figure: Layout view

    Layout view

    diff --git a/org.tizen.studio/html/common_tools/emulator.htm b/org.tizen.studio/html/common_tools/emulator.htm index 92ab0ba..47c6691 100644 --- a/org.tizen.studio/html/common_tools/emulator.htm +++ b/org.tizen.studio/html/common_tools/emulator.htm @@ -117,16 +117,10 @@ $egrep -c '(vmx|svm)' /proc/cpuinfo - - - - - - - - - -
    Note
    If the installation fails with a VT-related message, check the CPU feature and BIOS settings. If the installation fails with an NX-related message, enable NX (or PAE and DEP) -related item in the BIOS. In addition, make sure that the operating system supports the NX feature (for more information, see MSDN).
    +
    + Note + If the installation fails with a VT-related message, check the CPU feature and BIOS settings. If the installation fails with an NX-related message, enable NX (or PAE and DEP) -related item in the BIOS. In addition, make sure that the operating system supports the NX feature (for more information, see MSDN). +

    No configuration is required for KVM or HAX.

    @@ -134,14 +128,15 @@ $egrep -c '(vmx|svm)' /proc/cpuinfo

    Working with the HW Virtualization, Settings, and Help

    To run the emulator with the HW virtualization support in the Emulator Manager, set the CPU VT field to ON. The field is disabled if your system cannot support HW virtualization.

    -

    You can also run the emulator with the HW virtualization support from the command line, by including the -enable-kvm (in Ubuntu) or -enable-hax (in Windows® and Mac OS® X) option in the start-up command.

    +

    You can also run the emulator with the HW virtualization support from the command line, by including the -enable-kvm (in Ubuntu) or -enable-hax (in Windows® and Mac OS® X) option in the start-up command.

    Supported Features

    The emulator provides various virtual HW, media formats, codecs, and OpenGL® ES acceleration. For better performance of the OpenGL® ES support, the Tizen emulator exploits the latest feature of the graphic driver, so always install the latest vendor-provided graphic driver. The emulator, however, has some limitations and differences compared to physical target devices.

    The following table lists the basic features supported in the emulator.

    + +

    Table: Supported emulator features

    - @@ -289,16 +284,10 @@ $egrep -c '(vmx|svm)' /proc/cpuinfo
  • All chipset vendors and driver versions available to support the OpenGL® 1.4 standard
  • -
    Table: Supported emulator features
    Feature
    - - - - - - - - -
    Note
    The emulator supports only ES 1.1, ES 2.0, and EGL™ 1.4 versions.
    +
    + Note + The emulator supports only ES 1.1, ES 2.0, and EGL™ 1.4 versions. +

    Differences Between the Emulator and Target

    @@ -312,8 +301,8 @@ $egrep -c '(vmx|svm)' /proc/cpuinfo
  • Supported media formats and codecs
  • +

    Table: Comparison summary

    - @@ -436,8 +425,8 @@ $egrep -c '(vmx|svm)' /proc/cpuinfo

    Input System

    +

    Table: Input differences

    Table: Comparison summary
    Category
    - @@ -465,8 +454,8 @@ $egrep -c '(vmx|svm)' /proc/cpuinfo

    Graphics and Display

    +

    Table: Graphics and display differences

    Table: Input differences
    - @@ -494,8 +483,8 @@ $egrep -c '(vmx|svm)' /proc/cpuinfo

    Virtual Sensor (Emulator Control Panel)

    +

    Table: Virtual sensor differences

    Table: Graphics and display differences
    - @@ -629,8 +618,8 @@ $egrep -c '(vmx|svm)' /proc/cpuinfo

    Telephony

    +

    Table: Telephony differences

    Table: Virtual sensor differences
    - @@ -658,8 +647,8 @@ $egrep -c '(vmx|svm)' /proc/cpuinfo

    Power Management

    +

    Table: Power management differences

    Table: Telephony differences
    - @@ -686,8 +675,8 @@ $egrep -c '(vmx|svm)' /proc/cpuinfo

    Supported Media Formats and Codecs

    +

    Table: Media format and codec differences

    Table: Power management differences
    - diff --git a/org.tizen.studio/html/common_tools/emulator_control_panel.htm b/org.tizen.studio/html/common_tools/emulator_control_panel.htm index ea3cca0..faca2a3 100644 --- a/org.tizen.studio/html/common_tools/emulator_control_panel.htm +++ b/org.tizen.studio/html/common_tools/emulator_control_panel.htm @@ -52,21 +52,15 @@

    The control keys are visible on the emulator when you start it. To access the context menu, right-click the emulator.

    -

    Figure: Emulator control keys

    +

    Figure: Emulator control keys

    Emulator control keys

    The emulator can use a general purpose or profile-specific skin. While the profile-specific skin provides a realistic skin and hardware keys, the general purpose skin shows a consistent frame on every state of resolution, scale, or rotation, and enables you to change the emulator display resolution to custom values. You can also see the key window.

    -
    Table: Media format and codec differences
    - - - - - - - - -
    Note
    The layout of the general purpose skin is not configurable like the profile-specific skin.
    +
    + Note + The layout of the general purpose skin is not configurable like the profile-specific skin. +
    • Key window @@ -81,19 +75,13 @@

      The following figure illustrates the general purpose skin emulator.

      -

      Figure: General purpose skin emulator

      +

      Figure: General purpose skin emulator

      General purpose skin emulator

      - - - - - - - - - -
      Note
      You can create a custom resolution emulator by using the Emulator Manager CLI, and launch it with the general purpose skin. It is not guaranteed that all the applications are correctly shown in the custom resolution.
      +
      + Note + You can create a custom resolution emulator by using the Emulator Manager CLI, and launch it with the general purpose skin. It is not guaranteed that all the applications are correctly shown in the custom resolution. +

      Control Keys

      The following hardware keys are available on the emulator:

      @@ -127,9 +115,10 @@
    • Emulator name (the top row in the menu)

      The Detailed Info window is displayed, showing the Shortcut Info and VM Info tabs. The Shortcut Info tab lists the emulator keyboard shortcuts and the VM Info tab defines the virtual machine details.

      In Mac OS® X: To use the emulator keyboard shortcuts, open the Keyboard Setting dialog and switch your Mac function keys option to work as standard function keys.

      + +

      Table: VM Info

      - - + @@ -224,16 +213,10 @@
    • Advanced > Controller

      Show or hide the controller window.

      -
    • Table: VM Info
      Feature Description
      - - - - - - - - -
      Note
      The Controller menu is not supported in the profile-specific skin.
    • +
      + Note + The Controller menu is not supported in the profile-specific skin. +
    • Advanced > Screenshot

      Capture a screenshot of the emulator.

    • @@ -257,22 +240,15 @@
    - - - - - - - - - -
    Note
    In Ubuntu, you must change a global GNOME setting to view the menu icons: -
      -
    1. In the command console, execute the gconf-editor command.
    2. -
    3. In the tree, navigate to desktop > gnome > interface.
    4. -
    5. Enable the menus_have_icons option.
    6. -
    -
    +
    + Note + In Ubuntu, you must change a global GNOME setting to view the menu icons: +
      +
    1. In the command console, execute the gconf-editor command.
    2. +
    3. In the tree, navigate to desktop > gnome > interface.
    4. +
    5. Enable the menus_have_icons option.
    6. +
    +

    Using the Control Panel

    @@ -283,7 +259,7 @@
  • Card, which represents each device, shows the representative device status. By clicking a card, you can inject an event directly or open Popup to do it.
  • Popup displays testable events for each device.
  • -

    Figure: Emulator Control Panel

    +

    Figure: Emulator Control Panel

    Emulator Control Panel

    @@ -293,7 +269,7 @@
  • Right-click the emulator and select Control Panel.
  • -

    Figure: Opening the control panel

    +

    Figure: Opening the control panel

    Opening the control panel

    The main features of the Emulator Control Panel are described in the following sections.

    @@ -303,7 +279,7 @@

    To lose the network connection, set the link status to off. To forward a remote or local port to an inside port of the emulator, enter values in text boxes, and click Apply.

    Mounting a Host Directory

    -

    The specified host directory is mounted to /mnt/host to share resources. Therefore, file transfer is possible through the host directory sharing feature without using the SDB utility.

    +

    The specified host directory is mounted to /mnt/host to share resources. Therefore, file transfer is possible through the host directory sharing feature without using the SDB utility.

    Uninstalling Applications

    You can see user-installed applications and uninstall them.

    @@ -323,16 +299,10 @@
  • In the RSSI tab, set the RSSI information level using the Level slider.
  • In the SD Card tab, select the 4G, 8G, 16G, or 32G SD card and attach it to the emulator at runtime. - - - - - - - - - -
    Note
    The same SD card cannot be attached to multiple emulators at the same time.
    +
    + Note + The same SD card cannot be attached to multiple emulators at the same time. +
  • @@ -351,16 +321,10 @@

    Providing NFC Data

    The control panel can be used to test the near-field communication (NFC) features, such as NFC data exchange format (NDEF) events, NFC tag detection, and peer-to-peer (P2P) data connections in the NFC tab.

    - - - - - - - - - -
    Note
    The control panel only sends NFC-related events to the emulator. There is no actual information exchange between the control panel and emulator. Therefore, for features such as writing information to an NFC tag, the emulator simply displays a success message.
    +
    + Note + The control panel only sends NFC-related events to the emulator. There is no actual information exchange between the control panel and emulator. Therefore, for features such as writing information to an NFC tag, the emulator simply displays a success message. +
    • Creating NDEF messages

      An NDEF message contains one or more NDEF records. In the NDEF Message section:

      @@ -426,16 +390,10 @@ timestamp, x, y, z
    • Generating incoming calls

      Incoming calls are generated in the Event Injector > Telephony > Call tab.

      - - - - - - - - - -
      Note
      A Mobile Termination (MT) call is made from the Event Injector view to the emulator. A Mobile Origination (MO) call is made from the emulator to the Event Injector view using the phone application of the emulator.
      +
      + Note + A Mobile Termination (MT) call is made from the Event Injector view to the emulator. A Mobile Origination (MO) call is made from the emulator to the Event Injector view using the phone application of the emulator. +

      To make an MT call:

      1. Enter the phone number you want to imitate the call from.
      2. @@ -481,8 +439,8 @@ timestamp, x, y, z

        Control Panel Features on Different Profiles

        The following table lists the control panel features and their availability on different profiles.

        +

        Table: Control panel features

        - @@ -608,25 +566,25 @@ timestamp, x, y, z

        You can control and monitor the Tizen emulator by using the Emulator Control Panel CLI instead of the control panel UI tool. The CLI supports all the functionalities of the UI. The CLI binary is located in:

        • In Ubuntu: -

          <TIZEN_STUDIO>/tools/emulator/bin/ecp-cli

        • +

          <TIZEN_STUDIO>/tools/emulator/bin/ecp-cli

        • In Windows®: -

          <TIZEN_STUDIO>\tools\emulator\bin\ecp-cli.bat

        • +

          <TIZEN_STUDIO>\tools\emulator\bin\ecp-cli.bat

        You can use the CLI in a session mode or shell mode:

        • Session mode -

          You can access this mode by running the binary without any parameters. The mode keeps a session until it is exited. You can exit by entering the exit command.

        • +

          You can access this mode by running the binary without any parameters. The mode keeps a session until it is exited. You can exit by entering the exit command.

        • Shell mode

          This mode is used for one-time message handling.

        -

        Figure: Session and shell modes

        +

        Figure: Session and shell modes

        Session and shell modes

        In Ubuntu, the bash-based auto-completion is used with the TAB key.

        The following tables list the supported commands of the control panel CLI.

        +

        Table: CLI common commands

        Table: Control panel features
        Feature
        - @@ -634,48 +592,48 @@ timestamp, x, y, z - - - + + + - - + + +
        • 114: Volume down
        • +
        • 115: Volume up
        • +
        • 139: Home
        • +
        • 158: Back
        • +
        • 169: Menu
        - - - + + + - - - + + - - - + + + - - + + - +
        Table: CLI common commands
        CommandDescription
        helphelp [device]To get help, type the command as help. For a more specific device help, use the device parameter.helphelp [device]To get help, type the command as help. For a more specific device help, use the device parameter.
        keycodekeycode <key-code> [period|press|release]keycodekeycode <key-code> [period|press|release] To enter a key code for a mobile device: -
        • 114: Volume down
        • -
        • 115: Volume up
        • -
        • 139: Home
        • -
        • 158: Back
        • -
        • 169: Menu
        hmphmp <hmp command>Access the QEMU human monitor protocol commands. For a list of provided commands, enter the ecp-cli hmp help command.hmphmp <hmp command>Access the QEMU human monitor protocol commands. For a list of provided commands, enter the ecp-cli hmp help command.
        qmpqmp <qmp command>Access the QEMU monitoring protocol. The commands are handled in the JSON format, and do not require {"execute": "qmp_capabilities"} to be in the control mode. + qmpqmp <qmp command>Access the QEMU monitoring protocol. The commands are handled in the JSON format, and do not require {"execute": "qmp_capabilities"} to be in the control mode.

        In the shell mode, the shell does not support the double quotation mark (") as an argument. For the JSON arguments, use \" (back space + double quotation mark) instead.

        hdshds mount <host path> <guest path>Enable the host directory sharing feature between the specified <host path> and the emulator's <guest path>. The specified path must be a folder, not a file.hdshds mount <host path> <guest path>Enable the host directory sharing feature between the specified <host path> and the emulator's <guest path>. The specified path must be a folder, not a file.
        hds unmount <id>Unmount the mounted host directory sharing path. The id is the HDS ID and you can get it from the hds status command.hds unmount <id>Unmount the mounted host directory sharing path. The id is the HDS ID and you can get it from the hds status command.
        hds statushds status Show the current host directory sharing status.
        +

        Table: CLI profile commands

        - @@ -686,202 +644,202 @@ timestamp, x, y, z - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + - - + + - - + + - - + + - - + + - + - - + + - - + + - - + + - + - - + + - - + + - + - - + + - - + + - + - - + + - - + + - + - - + + - - + + - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + - - + + diff --git a/org.tizen.studio/html/common_tools/emulator_features.htm b/org.tizen.studio/html/common_tools/emulator_features.htm index df865e6..db54c74 100644 --- a/org.tizen.studio/html/common_tools/emulator_features.htm +++ b/org.tizen.studio/html/common_tools/emulator_features.htm @@ -61,11 +61,9 @@

        Adding a Touch Point

        To add a touch point on the emulator screen, press and hold the Ctrl key (Command key in Mac OS® X) and mouse-click a point on the screen.

        -

        You can add touch points up to the maximum amount of multi-point touches. To get the maximum amount, use the System::SystemInfo::GetValue() method with the MultiPointTouchCount key.

        +

        You can add touch points up to the maximum amount of multi-point touches. To get the maximum amount, use the System::SystemInfo::GetValue() method with the MultiPointTouchCount key.

        -

        Figure: Adding a touch point

        +

        Figure: Adding a touch point

        Adding a touch point

        @@ -73,18 +71,18 @@

        To move an existing point one by one, press and hold the Ctrl key (Command key in Mac OS® X), mouse-click an existing point, and move it to another location on the screen.

        -

        Figure: Moving an existing point

        +

        Figure: Moving an existing point

        Moving an existing point

        To move all existing points together, press and hold the Ctrl (Command in Mac OS® X) and Shift keys, mouse-click an existing point, and move it to another location on the screen.

        -

        Figure: Moving all existing points

        +

        Figure: Moving all existing points

        Moving all existing points

        To move 2 existing points symmetrically together, press and hold the Ctrl (Command in Mac OS® X) and Alt keys, mouse-click an existing point, and move it to another location on the screen.

        -

        Figure: Symmetrically moving 2 existing points

        +

        Figure: Symmetrically moving 2 existing points

        Symmetrical moving the 2 existing points

        @@ -92,7 +90,7 @@

        To end the multi-point touch, release the Ctrl key (Command key in Mac OS® X). The touched points on the emulator screen are invalidated, and the next screen touch event is read as a new event, not part of the previous multi-point touch event.

        -

        Figure: Invalidating touched points

        +

        Figure: Invalidating touched points

        Invalidating touched points

        @@ -104,7 +102,7 @@
      3. Run the Emulator Manager and click Create or Edit.
      4. In the File Sharing section of the VM property, enable the Sharing button and select a directory to share.
      5. Start the emulator. -

        The host computer's directory is shown as /mnt/host in the emulator.

      6. +

        The host computer's directory is shown as /mnt/host in the emulator.

        You can also add a shared directory in the Emulator Control Panel (ECP):

        @@ -116,17 +114,10 @@
      7. Add or remove the host computer directory.
      8. -
        Table: CLI profile commands
        Feature command
        telephonycall dialtelephonycall dial Yes Notelephony call dial <number>telephony call dial <number>
        call hidden-dialtelephony call hidden-dial <number>call hidden-dialtelephony call hidden-dial <number>
        call connecttelephony call connectcall connecttelephony call connect
        call disconnecttelephony call disconnect <call id>call disconnecttelephony call disconnect <call id>
        sms sendtelephony sms send <number> <text>sms sendtelephony sms send <number> <text>
        sms settelephony sms set <available | unavailable>sms settelephony sms set <available | unavailable>
        sms statustelephony sms statussms statustelephony sms status
        sms mms_statustelephony sms mms_statussms mms_statustelephony sms mms_status
        locationsetlocationset Yes Yeslocation set <longitude> <latitude>location set <longitude> <latitude>
        statuslocation statusstatuslocation status
        stoplocation stopstoplocation stop
        filelocation file <file-path>filelocation file <file-path>
        batterylevelbatterylevel Yes Yesbattery level <percent>battery level <percent>
        chargerbattery charger <on | off>chargerbattery charger <on | off>
        statusbattery statusstatusbattery status
        earjacksetearjackset Yes Noearjack set <3wire | 4wire | off>earjack set <3wire | 4wire | off>
        statusearjack statusstatusearjack status
        usbsetusbset Yes Yesusb set <on | off>usb set <on | off>
        statususb statusstatususb status
        rssisetrssiset Yes Norssi set <0~4>rssi set <0~4>
        statusrssi statusstatusrssi status
        sdcardattachsdcardattach Yes Nosdcard attach <sdcard_[ 4 | 8 | 16 | 32 ]G>sdcard attach <sdcard_[ 4 | 8 | 16 | 32 ]G>
        detachsdcard detach <sdcard_[ 4 | 8 | 16 | 32 ]G>detachsdcard detach <sdcard_[ 4 | 8 | 16 | 32 ]G>
        statussdcard statusstatussdcard status
        nfctag attachnfctag attach Yes Nonfc tag attach <tag type> <NDEF message>nfc tag attach <tag type> <NDEF message>
        tag detachnfc tag detachtag detachnfc tag detach
        p2p attachnfc p2p attachp2p attachnfc p2p attach
        p2p sendnfc p2p send <NDEF message>p2p sendnfc p2p send <NDEF message>
        p2p detachnfc p2p detachp2p detachnfc p2p detach
        statusnfc statusstatusnfc status
        sensoraccelerometersensoraccelerometer Yes Yessensor accelerometer <x> <y> <z>sensor accelerometer <x> <y> <z>
        gyroscopesensor gyroscope <x> <y> <z>gyroscopesensor gyroscope <x> <y> <z>
        magneticsensor magnetic <x> <y> <z>magneticsensor magnetic <x> <y> <z>
        proximitysensor proximity <value>proximitysensor proximity <value>
        lightsensor light <value>lightsensor light <value>
        pressuresensor pressure <level>pressuresensor pressure <level>
        uvsensor uv <level>uvsensor uv <level>
        hrmsensor hrm <level>hrmsensor hrm <level>
        statussensor status [sensor]statussensor status [sensor]
        filesensor file <sensor> <path>filesensor file <sensor> <path>
        low_memorysetlow_memoryset Yes Yeslow_memory set <hard-warning | soft-warning | normal>low_memory set <hard-warning | soft-warning | normal>
        statuslow_memory statusstatuslow_memory status
        - - - - - - - - -
        Note
        You must have read/write permissions for the directory you want to share.
        - +
        + Note + You must have read/write permissions for the directory you want to share. +

        Using a Camera

        With the emulator, you can develop an application using the Camera API. The emulator provides a virtual camera. The virtual camera injects frames by using the image files in a host computer or using the computer Webcam.

        @@ -136,27 +127,19 @@

        Before running the application, install a USB-connected Webcam or embedded Webcam on your computer. On Linux, the Webcam feature uses libv4l-0. If you do not have it on your computer, this feature does not work properly. You can check the feature status with the following command:

        $ dpkg -l | grep libv4l-0
        - - - - - - - - - - -
        Note
        -
          -
        • The Webcam must support video4linux2. (Currently, only /dev/video0 is supported.)
        • + +
          + Note +
            +
          • The Webcam must support video4linux2. (Currently, only /dev/video0 is supported.)
          • Multiple instances of the emulator can be launched, but only a single emulator instance can use the camera feature.
          • Depending on the Webcam in use, the emulator camera feature may not work properly.
          -
        +

        The following table lists the host Webcam features.

        - - - + +

        Table: Webcam features

        +
        Table: Webcam features
        @@ -220,7 +203,7 @@ VGA: 640 x 480
        - +
        Brightness
        Contrast
        Unsupported attributes can return an error. For example, the camera_start_focusing() method returns an error.Unsupported attributes can return an error. For example, the camera_start_focusing() method returns an error.
        @@ -242,22 +225,16 @@ Contrast
      9. Use manual proxy: sets manually a proxy value different from the host.
    - - - - - - - - - -
    Note
    The following preallocated addresses are not supported as a manual proxy: -
      -
    • Localhost
    • -
    • 127.0.0.1/8
    • -
    • 10.0.2.0/24
    • -
    -

    The automatic proxy configuration is not supported due to license issues.

    +
    + Note +The following preallocated addresses are not supported as a manual proxy: +
      +
    • Localhost
    • +
    • 127.0.0.1/8
    • +
    • 10.0.2.0/24
    • +
    +

    The automatic proxy configuration is not supported due to license issues.

    +

    NAT (Network Address Translation)

    NAT is the default networking backend and has better usability than the other backends. The emulator supports TCP, UDP, and ping within a guest. However, a raw socket is not supported.

    @@ -271,7 +248,7 @@ Contrast
  • 10.0.2.15: Emulator IP
  • -

    Figure: Emulator NAT network architecture

    +

    Figure: Emulator NAT network architecture

    Emulator NAT network architecture

    @@ -283,33 +260,27 @@ Contrast
  • ECP (Emulator Control Panel)

    You can add port forwarding by using the ECP. In the ECP > Network card, under Add port-forwarding, enter the ports to forward.

  • SDB (Smart Development Bridge) -

    The SDB provides port forwarding as a command. For more user,id=net0 information in the SDB commands, see sdb forward.

  • +

    The SDB provides port forwarding as a command. For more user,id=net0 information in the SDB commands, see sdb forward.

  • Launch configuration on boot -

    You can forward the port on booting the emulator by modifying the QEMU redirection option. The QEMU redirection option can be appended in the existing -netdev user,id=net0 option in the <TIZEN_STUDIO_DATA>/emulator/vms/<image name>/vm_launch.conf file with the following appending command:

    +

    You can forward the port on booting the emulator by modifying the QEMU redirection option. The QEMU redirection option can be appended in the existing -netdev user,id=net0 option in the <TIZEN_STUDIO_DATA>/emulator/vms/<image name>/vm_launch.conf file with the following appending command:

    -netdev user,id=net0,hostfwd=[tcp|udp]:[<hostaddr>]:<hostport>-[<guestaddr>]:<guestport>

    Redirect incoming TCP or UDP connections to the <hostport> host port to the <guestaddr> guest IP address on the <guestport> guest port. If the <guestaddr> is not specified, its value is 10.0.2.15 (default first address given by the built-in DHCP server).

    You can also connect one emulator instance with another by using redirection. To set up redirection (where A and B are emulator instances):

    -
    1. Set up the server on A, listening to 10.0.2.15:<ServerPort>.
    2. +
      1. Set up the server on A, listening to 10.0.2.15:<ServerPort>.
      2. -
      3. On A, append the ,hostfwd tcp:127.0.0.1:<B's localPort>-:<A's serverPort> redirection option in the vm_launch.conf file.
      4. +
      5. On A, append the ,hostfwd tcp:127.0.0.1:<B's localPort>-:<A's serverPort> redirection option in the vm_launch.conf file.
      6. -
      7. On B, let the client connect to 10.0.2.2:<B's localPort>. +
      8. On B, let the client connect to 10.0.2.2:<B's localPort>.
      - - - - - - - - - -
      Note
      The appending value of the configuration file is removed when the user changes the VM setting on the Emulator Manager.
      +
      + Note +The appending value of the configuration file is removed when the user changes the VM setting on the Emulator Manager. +
      @@ -323,25 +294,17 @@ Contrast
    3. You want high performance from the network.
    4. -

      Figure: Emulator bridged network architecture

      +

      Figure: Emulator bridged network architecture

      Emulator bridged network architecture

      - - - - - - - - - -
      Note
      -
        -
      • Network bridging does not work when the underlying physical network device is a wireless device.
      • -
      • On Mac OS® X, only physical network device named en0 can be used for bridging.
      • -
      -
      +
      + Note +
        +
      • Network bridging does not work when the underlying physical network device is a wireless device.
      • +
      • On Mac OS® X, only physical network device named en0 can be used for bridging.
      • +
      +

      When the Emulator Manager creates an emulator instance, it also checks the emulator IP and sets the properties of the bridged network in Emulator Manager > Network Configuration automatically.

      @@ -372,9 +335,9 @@ Contrast

      Using Custom Skin Layout

      -

      The emulator skin consists of an <TIZEN_STUDIO>/platforms/<PLATFORM_VERSION>/<PROFILE>/emulator-resources/skins/<SKIN_NAME>/layout.xml XML meta file. The file defines layout-related information, such as skin image file name, display location, and the location of hardware keys.

      +

      The emulator skin consists of an <TIZEN_STUDIO>/platforms/<PLATFORM_VERSION>/<PROFILE>/emulator-resources/skins/<SKIN_NAME>/layout.xml XML meta file. The file defines layout-related information, such as skin image file name, display location, and the location of hardware keys.

      -

      The following example shows the content of the layout.xml layout file:

      +

      The following example shows the content of the layout.xml layout file:

       <?xml version="1.0" encoding="UTF-8"?>
       <EmulatorUI xmlns="http://www.tizen.org/emulator/ui/layout">
      @@ -411,9 +374,9 @@ Contrast
         </formList> </EmulatorUI>
      -

      The emulator skin also contains a <TIZEN_STUDIO>/platforms/<PLATFORM_VERSION>/<PROFILE>/emulator-resources/skins/<SKIN_NAME>/info.ini property file. The file defines skin-related information, such as skin name and supported resolutions.

      +

      The emulator skin also contains a <TIZEN_STUDIO>/platforms/<PLATFORM_VERSION>/<PROFILE>/emulator-resources/skins/<SKIN_NAME>/info.ini property file. The file defines skin-related information, such as skin name and supported resolutions.

      -

      The following example shows the contents of the info.ini property file:

      +

      The following example shows the contents of the info.ini property file:

      skin.name=Phone 480x800
       resolution.width=480
       resolution.height=800
      @@ -422,31 +385,24 @@ resolution.height=800
       
       

      To create your own skin layout:

        -
      1. Create a new skin folder in the <TIZEN_STUDIO>/platforms/<PLATFORM_VERSION>/<PROFILE>/emulator-resources/skins folder.
      2. -
      3. In the skin folder, define the content of the layout.xml and info.ini files and include the required skin image files.
      4. +
      5. Create a new skin folder in the <TIZEN_STUDIO>/platforms/<PLATFORM_VERSION>/<PROFILE>/emulator-resources/skins folder.
      6. +
      7. In the skin folder, define the content of the layout.xml and info.ini files and include the required skin image files.
      8. Select the skin name in the Emulator Manager. You can also use the emulator start-up options in the command line.

        The image defined in your modified XML meta file is displayed when the emulator is launched.

      - - - - - - - - - - -
      Note
      If you reinstall the Tizen Studio, the custom skin folders are reset.
      +
      + Note + If you reinstall the Tizen Studio, the custom skin folders are reset. +

      Using EventCast

      The emulator supports event injection using ECP (Emulator Control Panel). However, injecting sensor events using ECP is less intuitive and convenient. When you are injecting events, touching the emulator screen simultaneously is impossible. EventCast enables you to inject sensor and touch events more intuitively using a real target device.

      The following figure illustrates how the EventCast application in the target device gathers events and passes them to the emulator controller, which converts and hands them over to the Tizen platform. This is convenient in case you do not have a Tizen mobile device.

      -

      Figure: EventCast architecture

      +

      Figure: EventCast architecture

      eventcast_architecture

      EventCast provides the following features:

      @@ -458,11 +414,11 @@ resolution.height=800

      Prerequisites

      -

      When connecting through USB, ADB is required to make a connection. If you have already installed the Android SDK on the computer, ADB is located in the <installed Android SDK>/sdk/platform-tools folder. Otherwise, you can download only ADB or install the Android SDK.

      +

      When connecting through USB, ADB is required to make a connection. If you have already installed the Android SDK on the computer, ADB is located in the <installed Android SDK>/sdk/platform-tools folder. Otherwise, you can download only ADB or install the Android SDK.

      To install ADB:

      -
      1. Ubuntu/Mac OS® X: Download ADB and then install it in the /usr/bin folder.

        +
        1. Ubuntu/Mac OS® X: Download ADB and then install it in the /usr/bin folder.

          For more information, see ADB Fastboot Install.

        2. -
        3. Windows®: Download ADB and install it in the C:\ADB folder.

          +
        4. Windows®: Download ADB and install it in the C:\ADB folder.

          For more information, see ADB Fastboot for Windows.

        When connecting through Wi-Fi, make sure that your Android device and computer are within the same AP.

        @@ -486,21 +442,17 @@ resolution.height=800

        On most devices running Android 3.2 or older, you can find the option under Settings > Applications > Development.

        On Android 4.0 and newer, it is in Settings > Developer options.

        - - - - - - - -
        Note
        On Android 4.2 and newer, the developer options are hidden by default. To make them available, go to Settings > About phone and tap Build number 7 times. Return to the previous screen to find the developer options.
        +
        + Note + On Android 4.2 and newer, the developer options are hidden by default. To make them available, go to Settings > About phone and tap Build number 7 times. Return to the previous screen to find the developer options. +
      2. Enable USB debugging.
      3. Connect the device to a computer through USB.
      4. Launch the EventCaster.
      5. Start the server using a default port (7000) or enter the port number.
      6. -
      7. Forward a TCP port using the adb forward command. -

        For example, to forward the 7000 port in the application to the 1234 port in your computer: adb forward tcp:1234 tcp:7000

      8. +
      9. Forward a TCP port using the adb forward command. +

        For example, to forward the 7000 port in the application to the 1234 port in your computer: adb forward tcp:1234 tcp:7000

      10. Launch the Tizen emulator, and open the Emulator Control Panel (ECP) from the emulator context menu.
      11. Select the USB checkbox on the EventCast tab of the ECP.
      12. Enter the forwarded port number and click Connection on the ECP. @@ -524,14 +476,14 @@ resolution.height=800

        Starting an Emulator with a Configuration File

        -

        If you create an emulator instance using the Emulator Manager, a configuration file defining the emulator start-up options is generated (<TIZEN_STUDIO_DATA>/emulator/vms/<VM_NAME>/vm_launch.conf).

        +

        If you create an emulator instance using the Emulator Manager, a configuration file defining the emulator start-up options is generated (<TIZEN_STUDIO_DATA>/emulator/vms/<VM_NAME>/vm_launch.conf).

        With the configuration file, you can launch the emulator in the command line:

         ./emulator --conf <configuration file>
         
        -

        The emulator binaries are located in the <TIZEN_STUDIO>/platforms/<PLATFORM_VERSION>/common/emulator/bin folder.

        +

        The emulator binaries are located in the <TIZEN_STUDIO>/platforms/<PLATFORM_VERSION>/common/emulator/bin folder.

        The configuration file is comprised of 2 sections:

          @@ -542,7 +494,7 @@ resolution.height=800

          You can override the defined qemu values on the emulator starting time. For example, to override the guest RAM size:

            -
          1. The -m qemu option (which sets the guest RAM size) and its value are written in the configuration file: +
          2. The -m qemu option (which sets the guest RAM size) and its value are written in the configuration file:
             [[VARIABLE]]
             ram=512     # define variable ram
            @@ -558,7 +510,7 @@ ram=512     # define variable ram
             
          -

          For more information about the start-up options, see QEMU Emulator User Documentation and the vm_launch.conf file.

          +

          For more information about the start-up options, see QEMU Emulator User Documentation and the vm_launch.conf file.

          The following example shows the configuration file:

          @@ -637,68 +589,69 @@ append="vm_name=${vm_name} video=LVDS-1:${display_resolution}-32@60 dpi=${d

          Emulator Directory Structure

          -

          The following table describes the content of the emulator directory, located in the <TIZEN_STUDIO>/tools/emulator folder.

          +

          The following table describes the content of the emulator directory, located in the <TIZEN_STUDIO>/tools/emulator folder.

          + - - +

          Table: Emulator directory content

          +
          Table: Emulator directory content
          - + - + - + - + - + - + - + - + - + - - + + - +
          Folder or file Description
          bin/emulator-managerbin/emulator-manager Emulator Manager GUI
          bin/em-clibin/em-cli Emulator Manager CLI (Command Line Interface)
          bin/em-cli.jarbin/em-cli.jar Emulator Manager CLI executable
          bin/em-lib.jarbin/em-lib.jar Emulator Manager library
          bin/em-ui-3.0.jarbin/em-ui-3.0.jar Emulator Manager GUI executable
          bin/emulator-control-panel.jarbin/emulator-control-panel.jar Emulator Control Panel (ECP)
          bin/emulator-control-panel-cli.jarbin/emulator-control-panel-cli.jar ECP CLI (Command Line Interface)
          bin/libecp.jarbin/libecp.jar Profile-independent library for ECP
          bin/<LIBRARIES>bin/<LIBRARIES> Third party libraries, such as JNA, Protobuf, ARGS4J, JSON-simple, and JLINE
          storages/sdcard/sdcard_xxx.img.img files (base sdcard images) specific to the data size used by the Emulator Managerstorages/sdcard/sdcard_xxx.img.img files (base sdcard images) specific to the data size used by the Emulator Manager
          storages/swap/swap.imgstorages/swap/swap.img Disk image for swap
          -

          The following table describes the platform image directories that are located in the <TIZEN_STUDIO>/platforms/<PLATFORM_VERSION>/<PROFILE>/emulator-images folder.

          +

          The following table describes the platform image directories that are located in the <TIZEN_STUDIO>/platforms/<PLATFORM_VERSION>/<PROFILE>/emulator-images folder.

          - - +

          Table: Platform image directory content

          +
          Table: Platform image directory content
          @@ -706,157 +659,158 @@ append="vm_name=${vm_name} video=LVDS-1:${display_resolution}-32@60 dpi=${d - + - + - +
          Name
          <IMAGE_DIR><IMAGE_DIR> Platform image directory
          <IMAGE_DIR>/emulimg-<VERSION>.<ARCHITECTURE><IMAGE_DIR>/emulimg-<VERSION>.<ARCHITECTURE> Platform image, which represents an emulator root file system for x86 in the guest OS view
          <IMAGE_DIR>/info.ini<IMAGE_DIR>/info.ini File for specifying information of the platform image
          -

          The following table describes the platform common directories that are located in the <TIZEN_STUDIO>/platforms/<PLATFORM_VERSION>/common/emulator folder.

          +

          The following table describes the platform common directories that are located in the <TIZEN_STUDIO>/platforms/<PLATFORM_VERSION>/common/emulator folder.

          + +

          Table: Platform common directory content

          - - + - + - + - - + + - +
          Table: Platform common directory content
          Name Description
          bin/bin/ Binary files
          bin/emulatorbin/emulator Emulator
          bin/emulator-x86_64 bin/emulator-x86_64 x86 emulator binary, including QEMU
          data/bios/.bin files for initializing the guest OSdata/bios/.bin files for initializing the guest OS
          data/kernel/data/kernel/ Kernel image for the guest Linux OS
          -

          The following table describes the platform resource directories that are located in the <TIZEN_STUDIO>/platforms/<PLATFORM_VERSION>/<PROFILE>/emulator-resources folder.

          +

          The following table describes the platform resource directories that are located in the <TIZEN_STUDIO>/platforms/<PLATFORM_VERSION>/<PROFILE>/emulator-resources folder.

          +

          Table: Platform resource directory content

          - - + - + - - + + - + - + - + - + - + - +
          Table: Platform resource directory content
          Name Description
          plugins/plugins/ Plugins for profile
          plugins/ecp-plugin-<PROFILE>-<VERSION>.jarplugins/ecp-plugin-<PROFILE>-<VERSION>.jar Plugin for the ECP
          plugins/ecp-plugin-<PROFILE>-<VERSION>.xmlXML file for the ecp-plugin-<PROFILE>-<VERSION>.jar file configurationplugins/ecp-plugin-<PROFILE>-<VERSION>.xmlXML file for the ecp-plugin-<PROFILE>-<VERSION>.jar file configuration
          plugins/em-plugin-<PROFILE>.jarplugins/em-plugin-<PROFILE>.jar Plugin for the Emulator Manager
          skins/skins/ Emulator skin images specific to the emulator resolution, and icons for the emulator option button and shortcut
          skins/<SKIN_NAME>/info.iniskins/<SKIN_NAME>/info.ini File for specifying emulator skin information
          skins/<SKIN_NAME>/layout.xmlskins/<SKIN_NAME>/layout.xml Metafile for the emulator skin layout
          template/<IMAGE_NAME>.xmltemplate/<IMAGE_NAME>.xml XML file for default configuration of the virtual machine created by the Emulator Manager
          template/<IMAGE_NAME>-template.xmltemplate/<IMAGE_NAME>-template.xml XML file for the template of the virtual machine created by the Emulator Manager
          -

          The following table describes the directory structure of the user-specific files that are located in the <TIZEN_STUDIO_DATA>/emulator/vms folder.

          +

          The following table describes the directory structure of the user-specific files that are located in the <TIZEN_STUDIO_DATA>/emulator/vms folder.

          - - +

          Table: User directory content

          +
          Table: User directory content
          - + - + - + - + - + - - + + - + - + - + - + - + - + diff --git a/org.tizen.studio/html/common_tools/emulator_manager.htm b/org.tizen.studio/html/common_tools/emulator_manager.htm index 81cdf68..7e06faa 100644 --- a/org.tizen.studio/html/common_tools/emulator_manager.htm +++ b/org.tizen.studio/html/common_tools/emulator_manager.htm @@ -69,8 +69,8 @@
          • Click the Emulator Manager icon on the desktop or in the Start menu. +

            Table: Starting the Emulator Manager

          Name Description
          .em.lock.em.lock Lock file used for synchronization between VM operations, such as modify, delete, and launch
          .tizen-em-info.tizen-em-info Configuration file for the Emulator Manager
          emulator-manager.logemulator-manager.log Emulator Manager log file
          last-created_<PROFILE>.xmllast-created_<PROFILE>.xml File for saving the VM properties that the user created last. When user creates a new VM next time, properties in this file are displayed as default.
          <VM_NAME>/<VM_NAME>/ Target-specific images
          <VM_NAME>/emulimg-<VM_NAME>.<ARCHITECTURE>Writable <VM_NAME> image file<VM_NAME>/emulimg-<VM_NAME>.<ARCHITECTURE>Writable <VM_NAME> image file
          <VM_NAME>/gui.property<VM_NAME>/gui.property Hidden data for the emulator GUI
          <VM_NAME>/logs/<VM_NAME>/logs/ Log files (emulator and kernel logs)
          <VM_NAME>/swap-<VM_NAME>.img<VM_NAME>/swap-<VM_NAME>.img Swap image file
          <VM_NAME>/vm_config.xml<VM_NAME>/vm_config.xml Hardware configuration file
          <VM_NAME>/vm_launch.conf<VM_NAME>/vm_launch.conf Emulator start-up options file (for more information, see Starting an Emulator with a Configuration File)
          <VM_NAME>/${USER}.lock<VM_NAME>/${USER}.lock Lock file used for synchronization between VM and ECP for set/get operations
          - @@ -89,7 +89,7 @@
          Table: Starting the Emulator Manager
          Ubuntu
        • In the Tizen Studio, select Tools > Emulator Manager or click the Emulator Manager icon in the Connection Explorer view.

          -

          Figure: Launch the Emulator Manager in the Tizen Studio

          +

          Figure: Launch the Emulator Manager in the Tizen Studio

          Launch the Emulator Manager

        @@ -98,7 +98,7 @@

        The Emulator Manager can help you to select the recommended platform and template. When you need another device environment, you can edit the existing emulator instance, or create a new one with a more suitable platform and template. You can also create platforms and templates to suit your needs.

        -

        Figure: Emulator Manager

        +

        Figure: Emulator Manager

        Emulator Manager

        To create a new emulator instance:

        @@ -109,27 +109,22 @@
      13. Change properties as needed, and click Finish.

        The emulator instance appears in the Emulator Manager.

        To view the detailed information, right-click the emulator to see a context menu.

        - - - - - - - - - -
        Note
        To run the application faster, switch on CPU VT and GPU. If CPU VT is disabled, check Increasing the Application Execution Speed for more information. If GPU is disabled, install the latest vendor-provided graphic driver.
        + +
        + Note + To run the application faster, switch on CPU VT and GPU. If CPU VT is disabled, check Increasing the Application Execution Speed for more information. If GPU is disabled, install the latest vendor-provided graphic driver. +
      -

      Figure: Emulator Configuration dialog

      +

      Figure: Emulator Configuration dialog

      Emulator Configuration dialog

      Creating Platforms

      To create an emulator, you have to first select the platform. You can create, modify, and delete a custom platform, and view the generated platforms. Most application developers do not need a custom platform, but it can be useful for a platform developer.

      -

      Figure: Platforms list

      +

      Figure: Platforms list

      Platforms list

      To create a custom platform:

      @@ -144,7 +139,7 @@
    -

    Figure: Platform configuration

    +

    Figure: Platform configuration

    Platform configuration

    @@ -153,7 +148,7 @@

    The Emulator Manager provides several device template types. A device template refers to, for example, the screen resolution and size, and the sensors in the device specification. You can make an emulator instanced based on the desired template.

    -

    Figure: Device templates

    +

    Figure: Device templates

    Device templates

    You can create a new template from the beginning, or clone a template and change some properties.

    @@ -163,7 +158,7 @@

    After configuring the template, click Next. The new device template is added to the list with a settings icon.

    -

    Figure: Template configuration

    +

    Figure: Template configuration

    Template configuration

    @@ -198,26 +193,26 @@

    You can create, modify, delete, and list your VMs through the command line interface commands. The CLI binary is located in:

    • In Ubuntu: -

      <TIZEN_STUDIO>/tools/emulator/bin/em-cli

    • +

      <TIZEN_STUDIO>/tools/emulator/bin/em-cli

    • In Windows: -

      <TIZEN_STUDIO>\tools\emulator\bin\em-cli.bat

    • +

      <TIZEN_STUDIO>\tools\emulator\bin\em-cli.bat

    For more information, see the CLI help messages.

    -

    Figure: Emulator Manager command line

    -

    Emulator manager command line

    +

    Figure: Emulator Manager command line

    +

    Emulator Manager command line

    -

    In the following figure, you can see the details of a specific command using the -h command option.

    +

    In the following figure, you can see the details of a specific command using the -h command option.

    -

    Figure: Emulator Manager command details

    -

    Emulator manager command details

    +

    Figure: Emulator Manager command details

    +

    Emulator Manager command details

    The following figure shows an example how to create and launch an emulator using the CLI.

    -

    Figure: Launching the emulator using the command line

    +

    Figure: Launching the emulator using the command line

    Launching the emulator using the command line

    -

    In the create command, the –p option is the platform name. You can see the available platforms using the list -vm command.

    +

    In the create command, the –p option is the platform name. You can see the available platforms using the list -vm command.

    diff --git a/org.tizen.studio/html/common_tools/keyboard_shortcuts.htm b/org.tizen.studio/html/common_tools/keyboard_shortcuts.htm index 2d3531f..9057596 100644 --- a/org.tizen.studio/html/common_tools/keyboard_shortcuts.htm +++ b/org.tizen.studio/html/common_tools/keyboard_shortcuts.htm @@ -51,9 +51,9 @@

    Connection Explorer

    - - - +

    Table: Connection Explorer shortcuts

    +
    Table: Connection Explorer shortcuts
    + @@ -88,8 +88,8 @@
    Command Ubuntu

    Build and Run

    - - +

    Table: Build and run shortcuts

    +
    Table: Build and run shortcuts
    @@ -132,8 +132,8 @@
    Command

    Debug

    - - +

    Table: Debug shortcuts

    +
    Table: Debug shortcuts
    @@ -181,8 +181,8 @@
    Command

    Content Assist

    - - +

    Table: Content assist shortcuts

    +
    Table: Content assist shortcuts
    @@ -200,8 +200,8 @@
    Command

    Project Management

    - - +

    Table: Project management shortcuts

    +
    Table: Project management shortcuts
    @@ -273,8 +273,8 @@
    Command

    Editor

    - - +

    Table: Editor shortcuts

    +
    Table: Editor shortcuts
    @@ -401,8 +401,8 @@
    Command

    Refactor

    - - +

    Table: Refactor shortcuts

    +
    Table: Refactor shortcuts
    @@ -444,8 +444,8 @@
    Command

    Native IDE

    - - +

    Table: Native IDE shortcuts

    +
    Table: Native IDE shortcuts
    @@ -485,8 +485,8 @@
    Command

    Web IDE

    - - +

    Table: Web IDE shortcuts

    +
    Table: Web IDE shortcuts
    @@ -553,8 +553,8 @@
    Command

    Dynamic Analyzer

    - - +

    Table: Dynamic analyzer shortcuts

    +
    Table: Dynamic analyzer shortcuts
    @@ -662,8 +662,8 @@
    Command

    Emulator Manager

    - - +

    Table: Emulator Manager shortcuts

    +
    Table: Emulator Manager shortcuts
    @@ -693,8 +693,8 @@
    Command

    Emulator

    - - +

    Table: Emulator shortcuts

    +
    Table: Emulator shortcuts
    @@ -809,8 +809,8 @@

    Emulator Control Panel (ECP)

    -
    Command
    - +

    Table: ECP shortcuts

    +
    Table: ECP shortcuts
    @@ -1078,8 +1078,8 @@

    EDC Editor

    -
    Command
    - +

    Table: EDC Editor shortcuts

    +
    Table: EDC Editor shortcuts
    diff --git a/org.tizen.studio/html/common_tools/log_view.htm b/org.tizen.studio/html/common_tools/log_view.htm index 8243d5e..c0a4d66 100644 --- a/org.tizen.studio/html/common_tools/log_view.htm +++ b/org.tizen.studio/html/common_tools/log_view.htm @@ -42,9 +42,9 @@

    Viewing Logs in Log Tabs

    By default, the Log view is located at the bottom of the Native perspective. If you want to open the Log view manually, go to Window > Show View > Other > Log in the Tizen Studio menu.

    -

    The Log view helps you debug your application by capturing all the events logged by the platform and your application. The Log view shows the logs through the dlog logging service. The service consists of the dlogutil and dlog library. You can also see logs with the dlogutil command in the CLI environment, and create log entries with the dlog library.

    +

    The Log view helps you debug your application by capturing all the events logged by the platform and your application. The Log view shows the logs through the dlog logging service. The service consists of the dlogutil and dlog library. You can also see logs with the dlogutil command in the CLI environment, and create log entries with the dlog library.

    -

    Figure: Log view

    +

    Figure: Log view

    Log view

    Creating a Log Message

    @@ -77,7 +77,7 @@
  • Message: log message
  • -

    Figure: Log table fields

    +

    Figure: Log table fields

    Log view

    In the log table, you have the following options and functions:

    diff --git a/org.tizen.studio/html/common_tools/smart_development_bridge.htm b/org.tizen.studio/html/common_tools/smart_development_bridge.htm index 9c6cb4b..65235a2 100644 --- a/org.tizen.studio/html/common_tools/smart_development_bridge.htm +++ b/org.tizen.studio/html/common_tools/smart_development_bridge.htm @@ -52,14 +52,14 @@

    The SDB is a client-server program that consists of a client, daemon, and server:

      -
    • Client sends commands to the server. The client runs on your computer. You can invoke the client from a shell by issuing the sdb command at the prompt. +
    • Client sends commands to the server. The client runs on your computer. You can invoke the client from a shell by issuing the sdb command at the prompt.
    • Daemon runs commands on the device. The daemon runs as a background process on each target device.
    • Server manages communication between the client and the daemon. The server runs as a background process on your computer.
    -

    You can find the SDB tools in the $<TIZEN_STUDIO>/tools/ folder.

    +

    You can find the SDB tools in the $<TIZEN_STUDIO>/tools/ folder.

    Enabling the SDB

    The SDB can communicate with a target over a USB or Wi-Fi connection. To use the SDB over USB, open the system settings of the target device, and enable the USB debugging mode in Settings > More system settings > Developer options (the location can differ based on the device).

    @@ -69,103 +69,103 @@
     > sdb [option] <command> [parameters]
     
    -

    You can specify a target of <command> by typing the following in the [option]:

    +

    You can specify a target of <command> by typing the following in the [option]:

      -
    • -d: Sends the <command> to a connected device and returns an error if there are other devices. +
    • -d: Sends the <command> to a connected device and returns an error if there are other devices.
    • -
    • -e: Sends the <command> to a running emulator instance and returns an error if there are other instances. +
    • -e: Sends the <command> to a running emulator instance and returns an error if there are other instances.
    • -
    • -s <serial number>: Sends the <command> to a target through <serial number>. +
    • -s <serial number>: Sends the <command> to a target through <serial number>.

    For more information about commands and parameters, see the following table.

    +

    Table: SDB commands

    Command
    - - + - + - + - + - + - - + + - - + + - - + + - + - + - + +

    If [--only-detect-tizen] is specified, the SDB detects only Tizen devices.

    - + - - + + - + - + - + +

    The on value sets the root mode and the off value sets the developer account mode.

    - + - +
    Table: SDB commands
    Command Description
    devicesdevices Lists all connected target instances.
    connect <host>[:<port>]connect <host>[:<port>] Connects to a target through TCP/IP.
    disconnect <host>[:<port>]disconnect <host>[:<port>] Disconnects from a TCP/IP device.

    By default, the port 26101 is used if there is no specified port number. If you use this command with no additional arguments, all connected TCP/IP devices are disconnected.

    push <local> <remote> [-with-utf8]push <local> <remote> [-with-utf8] Copies a file or directory recursively from the host computer to the target.
    pull <remote> [<local>]pull <remote> [<local>] Copies a file or directory recursively from the target to the host computer.
    shell [<command>]Launches the shell on the target instance if the <command> is not specified. If the <command> is specified, runs the <command> without entering the SDB remote shell on the target instance.shell [<command>]Launches the shell on the target instance if the <command> is not specified. If the <command> is specified, runs the <command> without entering the SDB remote shell on the target instance.
    install <pkg-file>Pushes the tpk package file to the device and installs it.install <pkg-file>Pushes the tpk package file to the device and installs it.
    uninstall <pkg-id>Uninstalls the application from the device by using its pkg-id.uninstall <pkg-id>Uninstalls the application from the device by using its pkg-id.
    forward <local> <remote>forward <local> <remote> Sets up requests' arbitrary port forwarding from the host's local port to the target's remote port.
    dlog [option] [<filter>]dlog [option] [<filter>] Monitors the content of the device log buffers.
    start-server [--only-detect-tizen]start-server [--only-detect-tizen] Starts the server. -

    If [--only-detect-tizen] is specified, the SDB detects only Tizen devices.

    kill-serverkill-server Stops the running server.
    get-statePrints the connection status with the target device: device or offline.get-statePrints the connection status with the target device: device or offline.
    get-serialnoget-serialno Prints the serial number for connecting the target device.
    status-windowstatus-window Prints the connection status for a specified device continuously.
    root <on|off>root <on|off> Switches between the root and developer account mode. -

    The on value sets the root mode and the off value sets the developer account mode.

    versionversion Shows the version number.
    helphelp Shows the help message.

    Managing Targets

    -

    Before issuing SDB commands, it is helpful to know which target instances are connected to the SDB server. In response to the devices command option, the SDB prints the serial number (a string created by the SDB to uniquely identify a target instance) and connection status for each connected device. The connection status can be offline (the instance is not connected to the SDB or is not responding) or device (the instance is connected to the SDB server).

    +

    Before issuing SDB commands, it is helpful to know which target instances are connected to the SDB server. In response to the devices command option, the SDB prints the serial number (a string created by the SDB to uniquely identify a target instance) and connection status for each connected device. The connection status can be offline (the instance is not connected to the SDB or is not responding) or device (the instance is connected to the SDB server).

    The output format for each instance is the following:

     [serialNumber]     [state]    [targetName]
    @@ -177,30 +177,30 @@ List of devices attached
     emulator-26100    device    myemulator1
     emulator-26200    device    myemulator2
     
    -

    By specifying the [serialNumber] in the command, you can execute SDB commands on a specific target device. If you execute a command without specifying the target instance while multiple devices are available, the SDB generates an error.

    +

    By specifying the [serialNumber] in the command, you can execute SDB commands on a specific target device. If you execute a command without specifying the target instance while multiple devices are available, the SDB generates an error.

    Transferring Files to and from Targets

    -You can use the pull and push command options to copy files to and from the target instance. These options let you copy arbitrary directories and files to any location in the target instance, if you have a right permission: +You can use the pull and push command options to copy files to and from the target instance. These options let you copy arbitrary directories and files to any location in the target instance, if you have a right permission:
      -
    • To copy a file or directory (and its sub-directories) from the target to the host computer, use the pull option: +
    • To copy a file or directory (and its sub-directories) from the target to the host computer, use the pull option:
       > sdb pull <remote> [<local>]
       
    • -
    • To copy a file or directory (and its sub-directories) from the host computer to the target, use the push option: +
    • To copy a file or directory (and its sub-directories) from the host computer to the target, use the push option:
       > sdb push <local> <remote> [-with-utf8]
       
      -

      The [-with-utf8] parameter creates the remote file with the UTF-8 character encoding.

      +

      The [-with-utf8] parameter creates the remote file with the UTF-8 character encoding.

    -

    In both commands, the <local> and <remote> parameters refer to the paths to the target files and directory on your computer (local) and on the target instance (remote). For example:

    +

    In both commands, the <local> and <remote> parameters refer to the paths to the target files and directory on your computer (local) and on the target instance (remote). For example:

     > sdb push foo.txt /tmp/foo.txt
     

    Issuing Shell Commands

    -

    You can use the shell command option to issue target shell commands, with or without entering the SDB remote shell on the target. To issue a single command without entering a remote shell:

    +

    You can use the shell command option to issue target shell commands, with or without entering the SDB remote shell on the target. To issue a single command without entering a remote shell:

     > sdb shell <shell_command>
     
    @@ -208,7 +208,7 @@ You can use the pull > sdb shell
  • -

    To exit from the remote shell, press the Ctrl + D key or use the exit command to end the remote shell.

    +

    To exit from the remote shell, press the Ctrl + D key or use the exit command to end the remote shell.

    You can use all shell commands, such as the following, if you have the right permissions:

     ls, rm, mv, cd, cp, mkdir, touch, echo, tar, grep, cat, chmod, rpm, find, uname, netstat
    @@ -217,12 +217,12 @@ ls, rm, mv, cd, cp, mkdir, touch, echo, tar, grep, cat, chmod, rpm, find, uname,
     

    Installing and Uninstalling Applications

    You can use the SDB to install and uninstall the Tizen package file on the target instance:

      -
    • The install command option pushes the package file to the target and installs it. The <path_to_tpk> parameter defines the path to the TPK file. The following command shows an example: +
    • The install command option pushes the package file to the target and installs it. The <path_to_tpk> parameter defines the path to the TPK file. The following command shows an example:
       > sdb install /home/tizen/ko983dw33q-1.0.0-i386.tpk
       
    • -
    • The uninstall command option kills the application, if running, and removes the package from the target. The <pkg-id> is a unique 10-digit identifier for the application. The following command shows an example: +
    • The uninstall command option kills the application, if running, and removes the package from the target. The <pkg-id> is a unique 10-digit identifier for the application. The following command shows an example:
       > sdb uninstall ko983dw33q
       
      @@ -231,7 +231,7 @@ ls, rm, mv, cd, cp, mkdir, touch, echo, tar, grep, cat, chmod, rpm, find, uname,

      Forwarding Ports

      You can set up arbitrary port forwarding of requests from a specific host port to a specific remote port on a target instance.

      -

      The format for the <local> and <remote> parameters is tcp:<port>. The following example shows how to forward requests from the host port 26102 to the device port 9999:

      +

      The format for the <local> and <remote> parameters is tcp:<port>. The following example shows how to forward requests from the host port 26102 to the device port 9999:

       > sdb forward tcp:26102 tcp:9999
       
      @@ -246,54 +246,54 @@ ls, rm, mv, cd, cp, mkdir, touch, echo, tar, grep, cat, chmod, rpm, find, uname, (gdb) target remote localhost:26102

    Controlling Device Log Output

    -

    You can see the target log messages using the SDB. To see the log output in your computer or from a remote SDB shell, use the sdb dlog or dlogutil command, respectively:

    +

    You can see the target log messages using the SDB. To see the log output in your computer or from a remote SDB shell, use the sdb dlog or dlogutil command, respectively:

     > sdb dlog [option] [<filter>]
     
    -

    The following table shows some options for the sdb dlog and dlogutil commands:

    +

    The following table shows some options for the sdb dlog and dlogutil commands:

    +

    Table: Log output options

    - - - + + - - + + - - + + - +
    Table: Log output options
    Option Description
    -f <filename>Writes the log to the <filename> file. The default file is stdout.-f <filename>Writes the log to the <filename> file. The default file is stdout.
    -r <Kbytes>Rotates the log file every <Kbytes> of output. The default value is 16. This option also requires the -f option.-r <Kbytes>Rotates the log file every <Kbytes> of output. The default value is 16. This option also requires the -f option.
    -n <count>Sets the maximum number of rotated logs to <count>. The default value is 4. This option also requires the -r option.-n <count>Sets the maximum number of rotated logs to <count>. The default value is 4. This option also requires the -r option.
    -v <format>-v <format> Sets the output format for log messages.

    You can define which metadata fields are included in log messages by setting one of the following output formats:

      -
    • brief (default): Displays the priority/tag and PID of the originating process. +
    • brief (default): Displays the priority/tag and PID of the originating process.
    • -
    • process: Displays the PID only. +
    • process: Displays the PID only.
    • -
    • tag: Displays the priority/tag only. +
    • tag: Displays the priority/tag only.
    • -
    • thread: Displays the process:thread and priority/tag only. +
    • thread: Displays the process:thread and priority/tag only.
    • -
    • raw: Displays the raw log message, with no other metadata fields. +
    • raw: Displays the raw log message, with no other metadata fields.
    • -
    • time: Displays the date, invocation time, priority/tag, and PID of the originating process. +
    • time: Displays the date, invocation time, priority/tag, and PID of the originating process.
    • -
    • long: Displays all metadata fields and separate messages with a blank line. +
    • long: Displays all metadata fields and separate messages with a blank line.
    -

    The [<filter>] parameter defines the tag of interest (the system component from which the message originates) and the minimum level of priority to report for that tag. The format is <tag>:<priority>, and multiple filters must be separated with a space. The available priorities (from lowest to highest) are V (Verbose), D (Debug), I (Info), W (Warning), E (Error), and F (Fatal).

    +

    The [<filter>] parameter defines the tag of interest (the system component from which the message originates) and the minimum level of priority to report for that tag. The format is <tag>:<priority>, and multiple filters must be separated with a space. The available priorities (from lowest to highest) are V (Verbose), D (Debug), I (Info), W (Warning), E (Error), and F (Fatal).

    For example, to view all log messages of the error and fatal priority in addition to the MyApp tag messages of the debug priority (and higher), use the following command:

     > sdb dlog MyApp:D *:E
    diff --git a/org.tizen.studio/html/cover_page.htm b/org.tizen.studio/html/cover_page.htm
    index a72efd2..1f39a62 100644
    --- a/org.tizen.studio/html/cover_page.htm
    +++ b/org.tizen.studio/html/cover_page.htm
    @@ -59,28 +59,28 @@
     
    • Installer and Package Manager

      These tools allow you to install, update, and maintain Tizen. You can select and install the platform and profile you need, providing continuous updates. The tools provide you accurate information so you can configure the necessary development environment without confusion.

      -

      Figure: Package Manager

      +

      Figure: Package Manager

      Package Manager

    • Tizen Studio development environment

      This component for the actual development of Tizen applications has the unified Tizen theme, provides a fast development environment, and improves the ease of use by sorting the menu in the correct order for application development tasks, as well as expanding the toolbar icons.

      In addition, the Tizen Studio provides accurate information in a consistent manner to minimize the difficulties you can encounter when using it.

      -

      Figure: Tizen Studio development environment

      +

      Figure: Tizen Studio development environment

      Tizen Studio development environment

    • Native UI Builder

      This tool provides assistance in developing native Tizen applications. It allows easy development of UI applications with a WYSIWYG (What You See is What You Get) editor, and it helps you understand Tizen native UI development and the UI hierarchy. The application UI screen can be configured easily with this editor.

      -

      Figure: Native UI Builder

      +

      Figure: Native UI Builder

      Native UI Builder

    • Emulator

      This tool helps you develop and debug Tizen applications without an actual Tizen device. You can select the platform, profile, and device that you need and run applications with the emulator. In addition, through the Emulator Control Panel (ECP), you can directly input events in the application and see how the application operates.

      -

      Figure: Emulator Manager and ECP

      +

      Figure: Emulator Manager and ECP

      Emulator Manager and ECP

    • Profiling tool

      By using the Dynamic Analyzer, the Tizen Studio provides profiling assistance for application optimization. The status of the device, such as its processor usage, memory usage, and UI events, can be measured and viewed for optimizing the Tizen application.

      -

      Figure: Dynamic Analyzer

      +

      Figure: Dynamic Analyzer

      Dynamic Analyzer

    diff --git a/org.tizen.studio/html/css/styles.css b/org.tizen.studio/html/css/styles.css index 4c8f5a8..9ed4f63 100644 --- a/org.tizen.studio/html/css/styles.css +++ b/org.tizen.studio/html/css/styles.css @@ -10,18 +10,17 @@ body { font-family: Arial, Helvetica, sans-serif; } -h1, h2, h3, h4, h5, h6, p, table, td, caption, th, ol, dl, dd, dt, footer { +h1, h2, h3, h4, h5, h6, p, table, td, caption, th, ol, dl, dd, footer { font-family: Arial, Verdana, Helvetica, sans-serif } /* Set default font to 9 pt */ -table, div, p, dl, td, caption, th, ul, ol, li, dd, dt, pre, code { +table, div, p, dl, td, caption, th, ul, ol, li, dd, pre, code { font-size: 9pt; } pre, code { font-family: "Courier New", Courier, monospace; - border: 1px solid #719cc7; margin: 6px 1.5px; padding: 1px 1px 1px 1px; font-weight: normal; @@ -41,7 +40,7 @@ h1, h2, h3, h4, h5 { margin-top: 16pt; } -caption, p.caption { +caption { font-size: 9pt; color: #1C1C1C; font-weight: bold; @@ -62,35 +61,6 @@ ul li, ol li { margin-bottom: 10px; } -ol.tutorstep li { - border-top: 2px solid #719cc7; - list-style-position: inside; - font-weight: bold; - margin-top: 30px; - margin-left: -20px; - padding-top: 3px; - font-size: 12pt; -} - -ol.tutorstep li p{ - font-size: 9pt; - font-weight: normal; - margin-top: 10px; -} - -ol.tutorstep ol li, ol.tutorstep li ol li, ol.tutorstep li ul li { - font-size: 9pt; - list-style-position: outside; - margin-left: 0px; - font-weight: normal; -} - -ol.tutorstep ol li p, ol.tutorstep ul li p { - font-size: 9pt; - font-weight: normal; - margin-top: 5px; -} - ol li p, ul li p { font-size: 9pt; font-weight: normal; @@ -98,7 +68,7 @@ ol li p, ul li p { margin-top: 2px; } -ol ol , ol.tutorstep ol{ +ol ol { font-size: 9pt; font-weight: normal; list-style-type: lower-alpha; @@ -107,12 +77,7 @@ ol ol , ol.tutorstep ol{ margin-top: 10px; } -ol.tutorstep ul { - margin-top: 10px; - font-size: 9pt; -} - -ol ol li, ol ul li, ol.tutorstep ol li, ol.tutorstep ul li { +ol ol li, ol ul li { border-style: none; margin-top: 5px; font-size: 9pt; @@ -153,69 +118,38 @@ td { vertical-align:top; padding: 3px 20px 5px 20px; } - -td.middle { - border: 1px solid #c6d9f1; - vertical-align:middle; - padding: 3px 20px 5px 20px; - } /* Notes stand out using a light top & bottom borders with yellow background */ -table.note { - border-top: 2px solid #719cc7; - border-left: 0px; - border-right: 0px; - width: 100%; -} -tr.note { - text-align: left; +div.note { + background-color: #eeece1; + border: medium none; + color: #1c1c1c; + margin-bottom: 12px; + margin-top: 12px; + padding: 5px; } -th.note { - text-align: left; - background-color: #ddd9c3; - background-image: note.gif; - border-top: 2px solid #719cc7; - border-bottom:1px solid #719cc7; - border-right: none; - +div.note > strong:first-child { + background-color: #ddd9c3; + border-bottom: 1px solid #719cc7; + border-right: medium none; + border-top: 2px solid #719cc7; + text-align: left; + color: #719cc7; + font-size: 9pt; + font-weight: bold; + margin: -4px -4px 4px -4px; + padding: 4px 0px 4px 4px; + display: block; + width: auto; } -td.note, p.note { - background-color: #eeece1; - color: #1C1C1C; - padding: 5px; - margin-top:12px; - margin-bottom:12px; - border: none; -} - -/* Figure titles are centered and bolded */ -p.figure , ol.tutorstep li p.figure, ol.tutorstep ol li p.figure, ol.tutorstep ul li p.figure { - text-align: center; - font-weight: bold; +div.note * strong:after { + content: "\a "; + white-space: pre-line; } -/* Red background and white text for things that need fixing before release */ -.fix { - background-color: red; - font-weight: bold; - color: white; - } - -/* Classes for creating collapsible content */ -#banner { - padding: 8px 4px 8px 4px; - /* top right bottom left */ - border: 1px solid #7f7f7f; - width: 100%; - background-image: url("banner.png"); - text-align: left; - font-weight: bold; - font-size: 9pt; - color: #ffffff; -} #toc-navigation {width: 20%; position: fixed; right: 17px; top: 0; bottom: 51px; /* overflow: auto; *//* min-width: 200px; *//* background: white; */z-index: 100;padding-top: 10px;/* padding-bottom: 88px; */margin-bottom: 89px;} #toc {padding: 0px 20px 5px 20px; /* border: 2px solid #567a9c; */ border-radius: 15px;position: absolute;top: 78px;bottom: 9px;overflow: auto;/* margin-bottom: 5px; */padding-bottom: 5px;border-bottom: 3px transparent solid;margin-left: 5px;} @@ -258,12 +192,6 @@ ul.devicespecifications li div.devicespec-tit {/*height:22px;*/ padding-right: 7 ul.devicespecifications li div.devicespec-con ul.con-list { width:100%; } ul.devicespecifications li div.devicespec-con ul.con-list li {line-height: 18px; margin:0; padding:0 0 0 7px; background: url("../images/ico_bullet_2_7.gif") 0 8px no-repeat; } -.ul.ul, .ul.ul li {margin-bottom: 10px; list-style-type: disc; border: none;} -.ul.ul ul, .ul.ul ul li, .ol.ol ul, .ol.ol ul li {list-style-type: circle;} -.ol.ol, .ol.ol li {list-style-type: decimal; border: none;} -.ol.ol ol, .ol.ol ol li, .ul.ul ol, .ul.ul ol li {list-style-type: lower-alpha;} - -.static-cont {width:100%; margin-bottom:40px;} .top {text-align: right;} .toc, ul.toc{ @@ -308,7 +236,21 @@ a img {border: 0;} } .footer {font-size: 8pt;} + +p.Table { + text-align: center; + margin-top: 40px; + margin-bottom: -19px; + padding: 0; +} +p.Table strong { + font-family: Arial, Verdana, Helvetica, sans-serif; + font-size: 9pt; + color: #1C1C1C; + font-weight: bold; +} + caption { font-size: 9pt; color: #1C1C1C; @@ -318,418 +260,24 @@ caption { margin-bottom: 0px; } -div.qindex, div.navpath, div.navtab{ - background-color: #e8eef2; - border: 1px solid #84b0c7; - text-align: center; - margin: 2px; - padding: 2px; -} - -div.qindex, div.navpath { - width: 100%; - line-height: 140%; -} - -div.navtab { - margin-right: 15px; -} - -/* @group Link Styling */ - -a:link { - color: #719cc7; - text-decoration: underline; - font-weight: bold; -} - -a:hover { - color: #0e437d; -} - -a:visited { - text-decoration: underline; - color: #719cc7; - font-weight: bold; -} - -a.qindex { - font-weight: bold; - padding: 2px; -} - -a.qindex:hover { - text-decoration: underline; - color: #0e437d; - padding: 2px; -} - -a.qindex:visited { - text-decoration: underline; - font-weight: bold; - color: #719cc7; - padding: 2px; -} - -a.qindexHL { - text-decoration: underline; - font-weight: bold; - background-color: #6666cc; - color: #ffffff; - padding: 2px 6px; - border: 1px double #9295C2; -} - -a.qindexHL:hover { - text-decoration: none; - background-color: #6666cc; - color: #ffffff; - padding: 2px 6px; -} - -dl.el { - margin-left: -1cm -} - -.fragment { - font-family: monospace, fixed; - font-size: 105%; -} - -pre.fragment { - border: 1px solid #CCCCCC; - background-color: #f5f5f5; - padding: 4px 6px; - margin: 4px 8px 4px 2px; -} - -div.fragment { - border: 1px solid #CCCCCC; - background-color: #f5f5f5; - padding: 6px; -} - -div.ah { - background-color: black; - font-weight: bold; - color: #ffffff; - margin-bottom: 3px; - margin-top: 3px -} - -td.md { - background-color: #f5f5f5; - font-weight: bold; -} - -td.mdname1 { - background-color: #f5f5f5; - font-weight: bold; - color: #602020; -} - -td.mdname { - background-color: #f5f5f5; - font-weight: bold; - color: #602020; - width: 600px; -} - -div.groupHeader { - margin-left: 16px; - margin-top: 12px; - margin-bottom: 6px; - font-weight: bold; -} - -div.groupText { - margin-left: 16px; - font-style: italic; -} - -td.indexkey { - background-color: #eeeeff; - font-weight: bold; - border: 1px solid #CCCCCC; - margin: 2px 0px 2px 0; - padding: 2px 10px; -} - -td.indexvalue { - background-color: #eeeeff; - border: 1px solid #CCCCCC; - padding: 2px 10px; - margin: 2px 0px; -} - -tr.memlist { - background-color: #f0f0f0; -} - -p.formulaDsp { - text-align: center; -} - -img.formulaDsp { -} - -img.formulaInl { - vertical-align: middle; -} - -/* @group Code Colorization */ - -span.keyword { color: #008000 } -span.keywordtype { color: #604020 } -span.keywordflow { color: #e08000 } -span.comment { color: #800000 } -span.preprocessor { color: #806020 } -span.stringliteral { color: #002080 } -span.charliteral { color: #008080 } -span.vhdldigit { color: #ff00ff } -span.vhdlchar { color: #000000 } -span.vhdlkeyword { color: #700070 } -span.vhdllogic { color: #ff0000 } - -.mdTable { - border: 1px solid #868686; - background-color: #F4F4FB; -} - -.mdRow { - padding: 8px 10px; -} - -/* @group Member Descriptions */ - -.mdescLeft, .mdescRight, -.memItemLeft, .memItemRight, -.memTemplItemLeft, .memTemplItemRight, .memTemplParams { - background-color: #F4F4F4A; - border: none; - margin: 4px; - padding: 3px 8px 4px 8px; -} - -.mdescLeft, .mdescRight { - padding: 0px 8px 4px 8px; - color: #555; -} - -.memItemLeft, .memItemRight, .memTemplParams { - border-top: 1px solid #DBDBDB; -} - -.memTemplParams { - color: #606060; -} - /* @end */ /* @group Member Details */ /* Styles for detailed member documentation */ -.memtemplate { - font-size: 80%; - color: #606060; - font-weight: normal; - margin-left: 3px; -} - -.memnav { - background-color: #eeeeff; - border: 1px solid #84b0c7; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} - .memitem { padding: 0; } -.memname { - white-space: nowrap; - font-weight: bold; -} - -.memproto, .memdoc { - border: 1px solid #9BBCDD; -} - -.memproto { - padding: 0; - background-color: #D5E2EF; - font-weight: bold; - -webkit-border-top-left-radius: 8px; - -webkit-border-top-right-radius: 8px; - -moz-border-radius-topleft: 8px; - -moz-border-radius-topright: 8px; -} - -.memdoc { - padding: 2px 5px; - background-color: #eef3f5; - border-top-width: 0; - -webkit-border-bottom-left-radius: 8px; - -webkit-border-bottom-right-radius: 8px; - -moz-border-radius-bottomleft: 8px; - -moz-border-radius-bottomright: 8px; -} - -.memdoc p, .memdoc dl, .memdoc ul { - margin: 6px 0; -} - -.paramkey { - text-align: right; -} - -.paramtype { - white-space: nowrap; -} - -.paramname { - color: #853E0E; - white-space: nowrap; -} -.paramname em { - font-style: normal; -} - /* @end */ -.search { color: #003399; - font-weight: bold; -} - -form.search { - margin-bottom: 0px; - margin-top: 0px; -} - -input.search { font-size: 75%; - color: #000080; - font-weight: normal; - background-color: #eeeeff; -} - -td.tiny { - font-size: 75%; -} - .highlight { - background-color:#E2E2FF; + background-color:#E2E2FF; } -/*---------- ide-eclipse Styles ---------*/ -.sh_ide-eclipse{font-family: "Courier New", Courier, monospace; - margin: 0px 0px; - padding: -30px -30px -30px -30px; - font-weight: normal; - font-style: normal;} -.sh_ide-eclipse .sh_sourceCode{background-color:#fff;color:#000;font-weight:normal;font-style:normal;} -.sh_ide-eclipse .sh_sourceCode .sh_keyword{color:#7f0055;font-weight:bold;font-style:normal;} -.sh_ide-eclipse .sh_sourceCode .sh_type{color:#7f0055;font-weight:bold;font-style:normal;} -/*.sh_ide-eclipse .sh_sourceCode .sh_string{color:#00f;font-weight:normal;font-style:normal;}*/ -.sh_ide-eclipse .sh_sourceCode .sh_string{color:#2A00FF;font-weight:normal;font-style:normal;} - -.sh_ide-eclipse .sh_sourceCode .sh_regexp{color:#00f;font-weight:normal;font-style:normal;} -.sh_ide-eclipse .sh_sourceCode .sh_specialchar{color:#00f;font-weight:normal;font-style:normal;} -.sh_ide-eclipse .sh_sourceCode .sh_comment{color:#238E23;font-weight:normal;font-style:normal;} -.sh_ide-eclipse .sh_sourceCode .sh_number{color:#000;font-weight:normal;font-style:normal;} -.sh_ide-eclipse .sh_sourceCode .sh_preproc{color:#3f5fbf;font-weight:normal;font-style:normal;} -.sh_ide-eclipse .sh_sourceCode .sh_function{color:#000;font-weight:normal;font-style:normal;} -.sh_ide-eclipse .sh_sourceCode .sh_url{color:#00f;font-weight:normal;font-style:normal;} -.sh_ide-eclipse .sh_sourceCode .sh_date{color:#7f0055;font-weight:bold;font-style:normal;} -.sh_ide-eclipse .sh_sourceCode .sh_time{color:#7f0055;font-weight:bold;font-style:normal;} -.sh_ide-eclipse .sh_sourceCode .sh_file{color:#7f0055;font-weight:bold;font-style:normal;} -.sh_ide-eclipse .sh_sourceCode .sh_ip{color:#00f;font-weight:normal;font-style:normal;} -.sh_ide-eclipse .sh_sourceCode .sh_name{color:#00f;font-weight:normal;font-style:normal;} -.sh_ide-eclipse .sh_sourceCode .sh_variable{color:#7f0055;font-weight:bold;font-style:normal;} -.sh_ide-eclipse .sh_sourceCode .sh_oldfile{color:#00f;font-weight:normal;font-style:normal;} -.sh_ide-eclipse .sh_sourceCode .sh_newfile{color:#00f;font-weight:normal;font-style:normal;} -.sh_ide-eclipse .sh_sourceCode .sh_difflines{color:#7f0055;font-weight:bold;font-style:normal;} -.sh_ide-eclipse .sh_sourceCode .sh_selector{color:#7f0055;font-weight:bold;font-style:normal;} -.sh_ide-eclipse .sh_sourceCode .sh_property{color:#7f0055;font-weight:bold;font-style:normal;} -.sh_ide-eclipse .sh_sourceCode .sh_value{color:#00f;font-weight:normal;font-style:normal;} -.sh_ide-eclipse .sh_sourceCode .sh_unknown{font-family: "Courier New", Courier, monospace;} - -/*------------- STYLE FOR NAMES FROM XML FILE -------------*/ -.sh_styleFromXML{color:#800000;font-weight:bold;} -/*-------------------------------------------------------*/ - -/*-------- Snippet Base Styles ----------*/ -.snippet-wrap {position:relative;} -*:first-child+html .snippet-wrap {display:inline-block;} -* html .snippet-wrap {display:inline-block;} -.snippet-reveal{text-decoration:underline;} -.snippet-wrap .snippet-menu, .snippet-wrap .snippet-hide {position:absolute; top:-99999px; right:15px; font-size:.9em;z-index:1;background-color:transparent;} -.snippet-wrap .snippet-hide {top:auto; bottom:1px;} -*:first-child+html .snippet-wrap .snippet-hide {bottom:1px;} -* html .snippet-wrap .snippet-hide {bottom:1px;} -.snippet-wrap .snippet-menu pre, .snippet-wrap .snippet-hide pre {background-color:transparent; margin:1; padding:0;} -.snippet-wrap .snippet-menu a, .snippet-wrap .snippet-hide a {padding:1px; text-decoration:underline;} -.snippet-wrap pre.sh_sourceCode{padding:1px;line-height:120%;overflow:auto;position:relative; --moz-border-radius:0px; --webkit-border-radius:0px; -border-radius:0px; -box-shadow: 1px 1px px #000; --moz-box-shadow: 2px 2px 1px #000; --webkit-box-shadow: 1px 1px 1px #000;} -.snippet-wrap pre.snippet-textonly {padding:1em;} -*:first-child+html .snippet-wrap pre.snippet-formatted {padding:0.5em 0.5em;} -* html .snippet-wrap pre.snippet-formatted {padding:0em 0.3em;} -.snippet-reveal pre.sh_sourceCode {padding:0em 0em; text-align:right;} -.snippet-wrap .snippet-num li{padding-left:2px;} -.snippet-wrap .snippet-no-num{list-style:none; padding:0em 0em; margin:0;} -.snippet-wrap .snippet-no-num li {list-style:none; padding-left:0;} -.snippet-wrap .snippet-num {margin:1em 0 1em 1em; padding-left:2px;} -.snippet-wrap .snippet-num li {list-style:decimal-leading-zero outside none;} -.snippet-wrap .snippet-no-num li.box {padding:0 6px; margin-left:-6px;} -.snippet-wrap .snippet-num li.box {border:1px solid; list-style-position:inside; margin-left:0px; padding-left:2px;} -*:first-child+html .snippet-wrap .snippet-num li.box {margin-left:-2px;} -* html .snippet-wrap .snippet-num li.box {margin-left:-2px;} -.snippet-wrap li.box-top {border-width:0px 0px 0 !important;} -.snippet-wrap li.box-bot {border-width:0 0px 0px !important;} -.snippet-wrap li.box-mid {border-width:0 0px !important;} -.snippet-wrap .snippet-num li .box-sp {width:10px; display:inline-block;} -*:first-child+html .snippet-wrap .snippet-num li .box-sp {width:20px;} -* html .snippet-wrap .snippet-num li .box-sp {width:2px;} -.snippet-wrap .snippet-no-num li.box {border:1px solid;} -.snippet-wrap .snippet-no-num li .box-sp {display:none;} - -/* Layout fixing */ -.clfix:after {content: "."; display: block; height: 0px; clear: both; visibility: hidden;} -.clfix {display: inline-block;} -.clfix {display: block;} -* html .clfix {height: 1%;} /* Hides from IE-mac */ -.clfix {zoom:1;} /*for IE 5.5-7*/ - -.fl {float:left !important;} -.fr {float:right !important;} -.cl {clear:both;} -.rel {position:relative;} -.abs {position:absolute;} -.ac {text-align:center !important;} -.ar {text-align:right !important;} -.al {text-align:left !important;} -.at {vertical-align:top !important;} -.am {vertical-align:middle !important;} -.ab {vertical-align:bottom;} -.hand {cursor:pointer;} -.bgnone {background:none !important;} -.brnone {border:none !important;} -.b {font-weight:bold !important;} -.n {font-weight:normal !important;} -.invisible{display:block; overflow:hidden; visibility:hidden; width:0; height:0; margin:0; font-size:0; line-height:0;} -.mt5 {margin-top:5px !important;} /* //Layout fixing */ -@media print { .hide, .show { display: none; }} - div#profile { position: relative; } @@ -750,7 +298,3 @@ div#toc_border { p { /* overflow: auto; */ } - -div.table { - /* overflow: auto; */ -} \ No newline at end of file diff --git a/org.tizen.studio/html/download/1_0_1_release_notes.htm b/org.tizen.studio/html/download/1_0_1_release_notes.htm index 34a8f8d..aef4458 100644 --- a/org.tizen.studio/html/download/1_0_1_release_notes.htm +++ b/org.tizen.studio/html/download/1_0_1_release_notes.htm @@ -125,7 +125,7 @@
    • Function profiling information has been fixed to be properly collected and shown.
    • The bug, which caused the selected features not to be updated on a target change, has been fixed.
    • -
    • The --output option in CLI has been fixed to save the result to the specified path.
    • +
    • The --output option in CLI has been fixed to save the result to the specified path.
    @@ -160,28 +160,28 @@
  • Emulator
      -
    • Ubuntu sometimes stops responding for a few seconds after closing the Emulator Manager. This issue is related to an IBus (Intelligent Input Bus) bug. When the issue occurs, restart the ibus-daemon by entering the ibus-daemon –drx command at the command prompt, and use another framework, such as uim and fcitx, for multilingual input.
    • +
    • Ubuntu sometimes stops responding for a few seconds after closing the Emulator Manager. This issue is related to an IBus (Intelligent Input Bus) bug. When the issue occurs, restart the ibus-daemon by entering the ibus-daemon –drx command at the command prompt, and use another framework, such as uim and fcitx, for multilingual input.
    • To use the Tizen emulator, install an Intel VTx supported by the CPU, and the latest version of the graphic card driver provided by the vendor. Check the prerequisites for the Tizen emulator from Prerequisites for the Tizen Studio.
      • If the host machine is using Nvidia Optimus™ technology on either Ubuntu or Windows®, you must set the Tizen emulator to run with your Nvidia® graphics card. In case of Ubuntu, check the bumblebee project (https://wiki.ubuntu.com/Bumblebee). In case of Windows®, select "High Speed NVIDIA Processor" as "Preferred Graphics processor" in the Nvidia® control panel.
      • -
      • On Ubuntu, if the graphics driver is out-of-date, your Ubuntu desktop session can be occasionally logged out when launching the Emulator Manager, or the Emulator skin can be drawn improperly. Check the prerequisites and upgrade to the latest graphics driver.
      • +
      • On Ubuntu, if the graphics driver is out-of-date, your Ubuntu desktop session can be occasionally logged out when launching the Emulator Manager, or the emulator skin can be drawn improperly. Check the prerequisites and upgrade to the latest graphics driver.
    • On Ubuntu 14.04, a shortcut menu can sometimes appear transparent.
    • -
    • On Windows®, depending on your OS theme (such as Non-Aero themes and Windows XP themes), a display surface can be erased for a while if the Emulator window is covered with another window. If you click the Emulator window, the display surface runs correctly again.
    • -
    • On Windows®, if a 'failed to allocate memory' error occurs while executing the Emulator, try the following: +
    • On Windows®, depending on your OS theme (such as Non-Aero themes and Windows XP themes), a display surface can be erased for a while if the emulator window is covered with another window. If you click the emulator window, the display surface runs correctly again.
    • +
    • On Windows®, if a 'failed to allocate memory' error occurs while executing the emulator, try the following:
        -
      • Close some other programs and try to launch the Emulator again.
      • +
      • Close some other programs and try to launch the emulator again.
      • If the RAM size is set to 768 or 1024 MB for the VM in the Emulator Manager, change it to 512 MB.
      • -
      • Increase the user area of the virtual memory in the system to 3 GB by entering the bcdedit /set increaseuserva 3072 command on the console with administrator rights (Windows® 7 only), and reboot.
      • +
      • Increase the user area of the virtual memory in the system to 3 GB by entering the bcdedit /set increaseuserva 3072 command on the console with administrator rights (Windows® 7 only), and reboot.
    • -
    • If you use a MacBook Pro which has both Intel HD and Nvidia GPUs, when you execute the Emulator with the OpenGL ES ver. v1.1 & v2.0 option, the Emulator can be unexpectedly terminated. Use the OpenGL ES ver. v2.0 & v3.0 option.
    • +
    • If you use a MacBook Pro which has both Intel HD and Nvidia GPUs, when you execute the emulator with the OpenGL ES ver. v1.1 & v2.0 option, the emulator can be unexpectedly terminated. Use the OpenGL ES ver. v2.0 & v3.0 option.
  • CLI and SDB
      -
    • To use the SDB bash completion feature, enter the source .sdb-complete.bash command on the bash shell. The Tizen Studio does not support the SDB bash auto-completion on Windows® (it is available on Ubuntu and Mac OS® X).
    • +
    • To use the SDB bash completion feature, enter the source .sdb-complete.bash command on the bash shell. The Tizen Studio does not support the SDB bash auto-completion on Windows® (it is available on Ubuntu and Mac OS® X).
  • Dynamic Analyzer diff --git a/org.tizen.studio/html/download/1_0_release_notes.htm b/org.tizen.studio/html/download/1_0_release_notes.htm index 6950572..e82f65e 100644 --- a/org.tizen.studio/html/download/1_0_release_notes.htm +++ b/org.tizen.studio/html/download/1_0_release_notes.htm @@ -44,7 +44,7 @@
  • Installer, Package Manager, and Uninstaller
    • The Package Manager supports installing and removing a profile unit. You do not need to install a package one by one for a profile. By clicking the install button next to each profile, you can install all packages for the profile.
    • -
    • The Uninstaller allows you to keep the Data and Keystore directories when you uninstall the Tizen Studio.
    • +
    • The Uninstaller allows you to keep the Data and Keystore directories when you uninstall the Tizen Studio.
  • Web and Native IDE @@ -77,9 +77,9 @@
  • CLI and SDB
    • Support to develop a Web widget application has been added for the wearable profile.
    • -
    • The manual command has been added to display the description, syntax, options, and examples of the specific command.
    • +
    • The manual command has been added to display the description, syntax, options, and examples of the specific command.
    • Support has been added to develop native widget and watch applications.
    • -
    • The use of the PROJ_PATH, BUILD_ARCH, and BUILD_CONFIG environment variables has been added in the project_def.prop and build_def.prop files.
    • +
    • The use of the PROJ_PATH, BUILD_ARCH, and BUILD_CONFIG environment variables has been added in the project_def.prop and build_def.prop files.
  • Dynamic Analyzer @@ -118,7 +118,7 @@
    • Unnecessary Eclipse plugins, such as JDT, PDE, mylin, birt, and egit, have been removed. Consequently, the required disk space for installing the IDE has been decreased about 100 MiB.
    • The new UX has been applied to the Preference and Properties dialogs. Various abundant items have been removed for simplicity.
    • -
    • The /home/developer/sdk_tools/lib directory has been excluded in the linking reference of the native project's -rpath option.
    • +
    • The /home/developer/sdk_tools/lib directory has been excluded in the linking reference of the native project's -rpath option.
  • Native UI Builder @@ -155,7 +155,7 @@
  • Only a single EDC Editor instance is allowed at a time.
  • Support has been added for an individual group view size and view scale, so that each group keeps its own view size and view scale.
  • Code for various new templates has been added.
  • -
  • The base_scale value has been applied to the Live Edit object.
  • +
  • The base_scale value has been applied to the Live Edit object.
  • The main EDC file can be changed in the settings.
  • Help content has been newly designed.
  • Whole macro functions are identified to have syntax color.
  • @@ -201,7 +201,7 @@
  • Native IDE
    • When you tried to debug an application running on the connected target device through Debug As > Tizen Native Application - Attach, you could not attach the debugger to the application by using the Debug Configurations dialog. This issue has been fixed.
    • -
    • When you exported to the CLI project multiple projects packaged together, and one of the projects was the Static and Shared Library, the information of the referenced library project was not set in the project_def.prop file of the reference project. This issue has been fixed.
    • +
    • When you exported to the CLI project multiple projects packaged together, and one of the projects was the Static and Shared Library, the information of the referenced library project was not set in the project_def.prop file of the reference project. This issue has been fixed.
  • Native UI Builder @@ -211,7 +211,7 @@
  • EDC Editor
      -
    • The map template code typo has been fixed. Previously, the index in the color[4] was grammatically wrong. It has been fixed to color[3].
    • +
    • The map template code typo has been fixed. Previously, the index in the color[4] was grammatically wrong. It has been fixed to color[3].
    • The Go to window closing issue has been fixed. The Go to window used to be closed when you just clicked the window title.
    • The dummy swallow/spacer selection issue has been fixed. You could not select the swallow/spacer parts, even when they were on top of the other parts. This was caused by incorrect event handling.
    @@ -223,8 +223,8 @@
  • CLI and SDB
      -
    • The build failure of the .po files, which occurred if the project type was an IME (Input Method Editor) application, has been fixed.
    • -
    • When you executed the parallel build command with the –j option on Ubuntu, the –j option did not work. This issue has been fixed.
    • +
    • The build failure of the .po files, which occurred if the project type was an IME (Input Method Editor) application, has been fixed.
    • +
    • When you executed the parallel build command with the –j option on Ubuntu, the –j option did not work. This issue has been fixed.
  • @@ -234,7 +234,7 @@
    • Installer, Package Manager, and Uninstaller
        -
      • If the SDK Update Notification appears when you start the Tizen IDE or Emulator on Mac OS® X, a terminal (shell.exec) icon can appear on the dock for a few seconds.
      • +
      • If the SDK Update Notification appears when you start the Tizen IDE or emulator on Mac OS® X, a terminal (shell.exec) icon can appear on the dock for a few seconds.
      • If there is a multibyte character in the Tizen SDK installation path, some development packages have a difficulty in finding the installed SDK's location when they are working.
    • @@ -263,28 +263,28 @@
    • Emulator
        -
      • Ubuntu sometimes stops responding for a few seconds after closing the Emulator Manager. This issue is related to an IBus (Intelligent Input Bus) bug. When the issue occurs, restart the ibus-daemon by entering the ibus-daemon –drx command at the command prompt, and use another framework, such as uim and fcitx, for multilingual input.
      • +
      • Ubuntu sometimes stops responding for a few seconds after closing the Emulator Manager. This issue is related to an IBus (Intelligent Input Bus) bug. When the issue occurs, restart the ibus-daemon by entering the ibus-daemon –drx command at the command prompt, and use another framework, such as uim and fcitx, for multilingual input.
      • To use the Tizen emulator, install an Intel VTx supported by the CPU, and the latest version of the graphic card driver provided by the vendor. Check the prerequisites for the Tizen emulator from Prerequisites for the Tizen SDK.
        • If the host machine is using Nvidia Optimus™ technology on either Ubuntu or Windows®, you must set the Tizen emulator to run with your Nvidia® graphics card. In case of Ubuntu, check the bumblebee project (https://wiki.ubuntu.com/Bumblebee). In case of Windows®, select "High Speed NVIDIA Processor" as "Preferred Graphics processor" in the Nvidia® control panel.
        • -
        • On Ubuntu, if the graphics driver is out-of-date, your Ubuntu desktop session can be occasionally logged out when launching the Emulator Manager, or the Emulator skin can be drawn improperly. Check the prerequisites and upgrade to the latest graphics driver.
        • +
        • On Ubuntu, if the graphics driver is out-of-date, your Ubuntu desktop session can be occasionally logged out when launching the Emulator Manager, or the emulator skin can be drawn improperly. Check the prerequisites and upgrade to the latest graphics driver.
      • On Ubuntu 14.04, a shortcut menu can sometimes appear transparent.
      • -
      • On Windows®, depending on your OS theme (such as Non-Aero themes and Windows XP themes), a display surface can be erased for a while if the Emulator window is covered with another window. If you click the Emulator window, the display surface runs correctly again.
      • -
      • On Windows®, if a 'failed to allocate memory' error occurs while executing the Emulator, try the following: +
      • On Windows®, depending on your OS theme (such as Non-Aero themes and Windows XP themes), a display surface can be erased for a while if the emulator window is covered with another window. If you click the emulator window, the display surface runs correctly again.
      • +
      • On Windows®, if a 'failed to allocate memory' error occurs while executing the emulator, try the following:
          -
        • Close some other programs and try to launch the Emulator again.
        • +
        • Close some other programs and try to launch the emulator again.
        • If the RAM size is set to 768 or 1024 MB for the VM in the Emulator Manager, change it to 512 MB.
        • -
        • Increase the user area of the virtual memory in the system to 3 GB by entering the bcdedit /set increaseuserva 3072 command on the console with administrator rights (Windows® 7 only), and reboot.
        • +
        • Increase the user area of the virtual memory in the system to 3 GB by entering the bcdedit /set increaseuserva 3072 command on the console with administrator rights (Windows® 7 only), and reboot.
      • -
      • If you use a MacBook Pro which has both Intel HD and Nvidia GPUs, when you execute the Emulator with the OpenGL ES ver. v1.1 & v2.0 option, the Emulator can be unexpectedly terminated. Use the OpenGL ES ver. v2.0 & v3.0 option.
      • +
      • If you use a MacBook Pro which has both Intel HD and Nvidia GPUs, when you execute the emulator with the OpenGL ES ver. v1.1 & v2.0 option, the emulator can be unexpectedly terminated. Use the OpenGL ES ver. v2.0 & v3.0 option.
    • SDB
        -
      • To use the SDB bash completion feature, enter the source .sdb-complete.bash command on the bash shell. The feature runs manually from the official Tizen 2.4 release onwards due to the Installer and Update Manager issue.
      • +
      • To use the SDB bash completion feature, enter the source .sdb-complete.bash command on the bash shell. The feature runs manually from the official Tizen 2.4 release onwards due to the Installer and Update Manager issue.
    diff --git a/org.tizen.studio/html/download/advanced_configuration.htm b/org.tizen.studio/html/download/advanced_configuration.htm index c5a8a0e..cf8b322 100644 --- a/org.tizen.studio/html/download/advanced_configuration.htm +++ b/org.tizen.studio/html/download/advanced_configuration.htm @@ -52,7 +52,7 @@

    The package repository is a server which stores all the packages that you are using or will use in the Tizen Studio. Using the Package Manager, you can install or update packages from that repository. Rather than providing a single repository for the main SDK, several CDNs (Content Delivery Networks) are offered around the globe for your convenience. You can select the nearest package repository to install or update packages more quickly.

    -

    Figure: Configuration window with the Package Repository selected

    +

    Figure: Configuration window with the Package Repository selected

    Configuration window with the Package Repository selected

    To set the package repository:

    @@ -65,23 +65,16 @@
  • Click OK to confirm your setting.
  • - - - - - - - - - -
    Note
    If you switch off the Auto Update option and select an earlier snapshot than the snapshot you are currently using, entire packages are removed to guarantee system integrity among the packages. Pay attention to that before you select and confirm the use of an earlier snapshot.
    - +
    + Note + If you switch off the Auto Update option and select an earlier snapshot than the snapshot you are currently using, entire packages are removed to guarantee system integrity among the packages. Pay attention to that before you select and confirm the use of an earlier snapshot. +

    Configuring the SDK Image

    To install or update packages with the SDK image:

    -

    Figure: Configuration window with the SDK Image selected

    +

    Figure: Configuration window with the SDK Image selected

    Configuration window with the SDK Image selected

      @@ -91,22 +84,16 @@
    1. Click OK to confirm your setting.
    - - - - - - - - - -
    Note
    If the SDK image distribution ID is different compared to the current packages' distribution ID, entire packages are removed to guarantee system integrity. Pay attention to that before installing or updating packages with an image file.
    +
    + Note + If the SDK image distribution ID is different compared to the current packages' distribution ID, entire packages are removed to guarantee system integrity. Pay attention to that before installing or updating packages with an image file. +

    Configuring the Extension SDK Repository

    The Tizen Studio supports extension packages from the extension repositories, which are developed and managed by external developers and companies. To configure the extension SDK, you must unfold the configuration dialog by clicking the Extension SDK button icon extension SDK icon at the bottom of the dialog box. To move up to the package repository configuration, click the Extension SDK button icon active extension SDK icon again or scroll up.

    -

    Figure: Configuration window with the Extension SDK unfolded

    +

    Figure: Configuration window with the Extension SDK unfolded

    Configuration window with the Extension SDK unfolded

    Adding an Extension Repository

    @@ -156,16 +143,10 @@
  • Click OK to confirm.
  • - - - - - - - - - -
    Note
    If the extension repository is deactivated, the packages from that repository are no longer shown in the Package Manager. However, if you activate the extension repository, the packages are shown in the Package Manager again.
    +
    + Note + If the extension repository is deactivated, the packages from that repository are no longer shown in the Package Manager. However, if you activate the extension repository, the packages are shown in the Package Manager again. +

    Configuring the Proxy

    The Package Manager provides the network option to configure a proxy to connect to repository servers. To set the proxy:

    diff --git a/org.tizen.studio/html/download/download.htm b/org.tizen.studio/html/download/download.htm index 8c70599..d471965 100644 --- a/org.tizen.studio/html/download/download.htm +++ b/org.tizen.studio/html/download/download.htm @@ -34,7 +34,7 @@

    Download

    -

    The Tizen Studio is a comprehensive set of tools for developing Tizen native and Web applications. It consists of an IDE, Emulator, toolchain, sample code, and documentation. Tizen Studio runs on Windows® and Ubuntu, as well as Mac OS® X. Tizen applications can be developed without relying on the official Tizen Studio, as long as the application complies with the Tizen packaging rules.

    +

    The Tizen Studio is a comprehensive set of tools for developing Tizen native and Web applications. It consists of an IDE, emulator, toolchain, sample code, and documentation. Tizen Studio runs on Windows® and Ubuntu, as well as Mac OS® X. Tizen applications can be developed without relying on the official Tizen Studio, as long as the application complies with the Tizen packaging rules.

    For installation instructions, see Installing Tizen Studio. For more information, see Release Notes.

    diff --git a/org.tizen.studio/html/download/hardware_accelerated_execution_manager.htm b/org.tizen.studio/html/download/hardware_accelerated_execution_manager.htm index fdc0f7c..85aaa7d 100644 --- a/org.tizen.studio/html/download/hardware_accelerated_execution_manager.htm +++ b/org.tizen.studio/html/download/hardware_accelerated_execution_manager.htm @@ -46,16 +46,10 @@
  • At least 1 GB of available memory (2 GB or more is preferred)
  • - - - - - - - - - -
    Important
    Intel® HAXM can only be used on systems with an Intel processor which supports the Intel VT.
    +
    + Important + Intel® HAXM can only be used on systems with an Intel processor which supports the Intel VT. +

    Installing Intel® HAXM on Windows®

    @@ -63,8 +57,8 @@

    HAXM is installed automatically as part of the Tizen Studio. If you want to install the HAXM individually, visit http://download.tizen.org/sdk/haxm/6.0.1/win/ and download the Windows installer package.

    +

    Table: Windows installer package

    - @@ -97,16 +91,10 @@

    The installer also functions as a configuration tool for Intel® HAXM. To change the memory settings later on, run the installer again.

    -
    Table: Windows installer package
    Windows installer
    - - - - - - - - -
    Note
    If you change the Intel® HAXM memory settings for the emulator, you must restart the Intel® HAXM and the emulator. Currently running emulator continues to use the previous memory setting.
    +
    + Note + If you change the Intel® HAXM memory settings for the emulator, you must restart the Intel® HAXM and the emulator. Currently running emulator continues to use the previous memory setting. +
  • Confirm your Intel® HAXM memory allocation settings and click Install.

    Confirm installation

    @@ -128,33 +116,23 @@ sc query intelhaxm

    To start or stop Intel® HAXM, open the Command Prompt window with administrator privileges and execute one of the following commands:

      -
    • Start HAXM: sc start intelhaxm
    • -
    • Stop HAXM: sc stop intelhaxm
    • +
    • Start HAXM: sc start intelhaxm
    • +
    • Stop HAXM: sc stop intelhaxm

    Removing Intel HAXM

    - - - - - - - - - -
    Warning
    Close all instances of the Tizen emulator before removing the Intel® HAXM.
    + +
    + Warning + Close all instances of the Tizen emulator before removing the Intel® HAXM. +

    To uninstall the Intel® HAXM, run the installer again or use the Control Panel.

    - - - - - - - - - -
    Important
    If you remove the Intel® HAXM, the acceleration of all Tizen emulators is disabled, but the Tizen emulator still works. If you install the Intel® HAXM again, the acceleration is re-enabled.
    + +
    + Important + If you remove the Intel® HAXM, the acceleration of all Tizen emulators is disabled, but the Tizen emulator still works. If you install the Intel® HAXM again, the acceleration is re-enabled. +

    Troubleshooting

    If you meet an installation failure because of hardware requirements, check the BIOS/OS settings:

    @@ -178,8 +156,8 @@ sc query intelhaxm

    Supported Mac OS® versions: 10.10 Yosemite (64-bit), 10.9 Mavericks (64-bit), 10.8 Mountain Lion (64-bit)

    HAXM is installed automatically as part of the Tizen Studio. If you want to install the HAXM individually, visit http://download.tizen.org/sdk/haxm/6.0.1/mac/ and download the Mac installer package.

    +

    Table: Windows installer package

    - diff --git a/org.tizen.studio/html/download/installing_sdk.htm b/org.tizen.studio/html/download/installing_sdk.htm index 8ab143b..1f6d592 100644 --- a/org.tizen.studio/html/download/installing_sdk.htm +++ b/org.tizen.studio/html/download/installing_sdk.htm @@ -54,7 +54,7 @@

    Accepting the Tizen Studio software license is the first step in installing the Tizen Studio. Since the license contains important legal notifications for using the Tizen Studio, it is recommended to read it line by line, and click Accept only when you agree with the license statement.

    -

    Figure: Tizen Studio License Agreement

    +

    Figure: Tizen Studio License Agreement

    Tizen Studio License Agreement

    Configuring the Installation Directory

    @@ -62,7 +62,7 @@

    Basically, the installer is installed in the location specified in the installation settings step. You can install the Tizen Studio and its data directory where you want. To change the directory, click Browse and specify a new directory. If the new directory is valid, click Install at the bottom of the installer.

    -

    Figure: Configuring the installation directory

    +

    Figure: Configuring the installation directory

    Configuring the installation directory

    Installing the Tizen Studio

    @@ -85,44 +85,44 @@
    • On Microsoft Windows®, the command prompt opens and the installer is automatically executed.
    • -
    • On Ubuntu and Mac OS® X, open the terminal, go to the directory where the installer is downloaded, and enter the chmod +x command to apply the execute permission to the installer file. Then, execute the installer by entering the command based on the following syntax: +
    • On Ubuntu and Mac OS® X, open the terminal, go to the directory where the installer is downloaded, and enter the chmod +x command to apply the execute permission to the installer file. Then, execute the installer by entering the command based on the following syntax:
       web-cli_Tizen_Studio_<version> [options] [<directory path>]
       
      +

      Table: Install options

    Table: Windows installer package
    Mac installer
    - - + - + - +
    Table: Install options
    Option Description
    --show-license--show-license Displays the Tizen Studio software license agreement.

    You must use this option alone. Do not use with other options.

    --accept-license--accept-license Accepts the license terms.
    --no-java-check--no-java-check Skips the Java version check.
    +

    Table: Install command parameters

    - - + +

    If you do not enter the path, the Tizen Studio is installed in the default directory (/home/{user}/tizen-studio).

    Table: Install command parameters
    Parameter Description
    directory pathdirectory path Specifies the installation directory path. -

    If you do not enter the path, the Tizen Studio is installed in the default directory (/home/{user}/tizen-studio).

  • @@ -134,16 +134,10 @@ web-cli_Tizen_Studio_<version> [options] [<directory path>]

    The CLI installer begins to install the Web App Development platform and tools on your computer.

    - - - - - - - - - -
    Note
    If you want to develop a native application on the CLI, you must install the Native App Development platform and tools using the CLI Package Manager.
    +
    + Note + If you want to develop a native application on the CLI, you must install the Native App Development platform and tools using the CLI Package Manager. +

    Installing Additional Packages with the CLI Package Manager

    @@ -153,35 +147,35 @@ web-cli_Tizen_Studio_<version> [options] [<directory path>] package-manager-cli install [--accept-license] [--no-java-check] [--proxy <value>] [-f <file path>] [-p <password>] <package name>[,…]
    +

    Table: Install command parameters

    - - + - + - + - + - + - +
    Table: Install command parameters
    Parameter Description
    --accept-license--accept-license Accepts the license terms.
    --no-java-check--no-java-check Skips the Java version check.
    --proxy <value>--proxy <value> Proxy configuration value. Use one of the following values: direct, auto, or ip:port.
    -f, --file <file path>-f, --file <file path> If you want to install packages from a local SDK image, specify the full path of the SDK image file.
    -p, --password <password>-p, --password <password> Administrator (sudo) password for authentication. Ubuntu only.
    <package name>[,…]<package name>[,…] Name of the package you want to install. You can enter multiple package names (such as NativeIDE and Emulator).

    To retrieve the names of installable packages, use the following command:

    diff --git a/org.tizen.studio/html/download/prerequisites.htm b/org.tizen.studio/html/download/prerequisites.htm
    index 32959b9..114e94c 100644
    --- a/org.tizen.studio/html/download/prerequisites.htm
    +++ b/org.tizen.studio/html/download/prerequisites.htm
    @@ -45,8 +45,8 @@
     

    OS and System Requirements

    The following table lists the supported operating systems and hardware requirements for the Tizen Studio.

    +

    Table: OS and system requirements

    - @@ -112,8 +112,8 @@

    The following table lists the CPU, screen resolution, graphic card, driver, and webcam requirements for using the Tizen emulator.

    +

    Table: Emulator requirements

    Table: OS and system requirements
    - @@ -132,9 +132,9 @@ @@ -205,8 +197,8 @@

    The following table lists the additional requirements to be met before developing Tizen applications.

    +

    Table: Additional Microsoft Windows® requirements

    Table: Emulator requirements
    Component
    Graphic card Recommended: The following requirements have passed tests with the emulator. +

    Table: Supported graphic cards

    - - + @@ -153,22 +153,14 @@
    Table: Supported graphic cards
    Brand Product
    - - - - - - - - - -
    Note
    -
      -
    • If the host machine is using the Nvidia Optimus™ technology, the emulator works with the on-board graphics card. To prevent this, either disable the Nvidia Optimus™ technology, or set the emulator to run with the external Nvidia graphics card.
    • -
    • Integrated graphic cards inside Intel's Q33/Q35/Q43/Q45 motherboards are not supported.
    • -
    • First generation Intel HD Graphics is not supported.
    • -
    -
    +
    + Note +
      +
    • If the host machine is using the Nvidia Optimus™ technology, the emulator works with the on-board graphics card. To prevent this, either disable the Nvidia Optimus™ technology, or set the emulator to run with the external Nvidia graphics card.
    • +
    • Integrated graphic cards inside Intel's Q33/Q35/Q43/Q45 motherboards are not supported.
    • +
    • First generation Intel HD Graphics is not supported.
    • +
    +
    - @@ -219,30 +211,24 @@
  • On the Python Web site, download the appropriate Python version for your hardware and Windows® version.
  • Run the downloaded installer file and follow the displayed instructions.
  • -
    Table: Additional Microsoft Windows® requirements
    Component
    - - - - - - - - -
    Note
    To use Python conveniently at the command prompt, set the %PATH% environment variable in My Computer > Properties > Advanced > Environment Variables.
    +
    + Note + To use Python conveniently at the command prompt, set the %PATH% environment variable in My Computer > Properties > Advanced > Environment Variables. +
    +

    Table: Additional Mac OS®X requirements

    - - +
    Table: Additional Mac OS®X requirements
    Component Requirement
    Prerequisite packages (msgfmt) for build PO filesPrerequisite packages (msgfmt) for build PO files At the terminal prompt, enter the following commands:
     $ brew install gettext
    @@ -250,23 +236,17 @@ $ brew link gettext –force
     $ which msgfmt
     /usr/local/bin/msgfmt
     
    - - - - - - - - - -
    Note
    To install Homebrew, see the Brew Web site.
    +
    + Note + To install Homebrew, see the Brew Web site. +
    +

    Table: Additional Ubuntu requirements

    - @@ -309,4 +289,4 @@ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga - + \ No newline at end of file diff --git a/org.tizen.studio/html/download/tizen_studio_migration_guide.htm b/org.tizen.studio/html/download/tizen_studio_migration_guide.htm index 4d58c21..e29a977 100644 --- a/org.tizen.studio/html/download/tizen_studio_migration_guide.htm +++ b/org.tizen.studio/html/download/tizen_studio_migration_guide.htm @@ -43,22 +43,14 @@ (From Tizen SDK to Tizen Studio)

    This topic gives instructions for migrating your old Tizen SDK to the Tizen Studio. If you follow the instructions, your development environment is migrated without problems and you can start developing with the new Tizen Studio.

    -
    Table: Additional Ubuntu requirements
    Component
    - - - - - - - - -
    Note
      -
    • If the Tizen certificates (author and distributor) are removed during the uninstallation, you cannot issue the same ones again to update your existing applications. Back up your certificates!
    • -
    • Your projects used in the Tizen SDK can be imported to the Tizen Studio. Do not uninstall the Tizen SDK before you have imported them to the Tizen Studio after a successful installation.
    • -
    • Emulator images made in the Tizen SDK cannot be migrated to the Tizen Studio. After installing the Tizen Studio, you can make a new emulator for each platform.
    • -
    - - +
    + Note +
      +
    • If the Tizen certificates (author and distributor) are removed during the uninstallation, you cannot issue the same ones again to update your existing applications. Back up your certificates!
    • +
    • Your projects used in the Tizen SDK can be imported to the Tizen Studio. Do not uninstall the Tizen SDK before you have imported them to the Tizen Studio after a successful installation.
    • +
    • Emulator images made in the Tizen SDK cannot be migrated to the Tizen Studio. After installing the Tizen Studio, you can make a new emulator for each platform.
    • +
    +

    To migrate from the Tizen SDK to the Tizen Studio:

    @@ -71,7 +63,7 @@

    Backing up Certificates

    -

    Backing up your author (author.p12) and distributor (distributor.p12) certificates is a very important process for maintaining your applications.

    +

    Backing up your author (author.p12) and distributor (distributor.p12) certificates is a very important process for maintaining your applications.

    When you update your applications, which are already published at the seller site (seller.samsungapps.com), the update must be signed with the same author certificate as the original application. If the applications are signed with different author certificates, the update can be recognized as a different application and not an update.

    Back up the certificates in your own secure place. (When you delete the existing Tizen SDK, the certificates can be removed in the process.)

    To keep your certificates safe, find your author and distributor certificates in the following directory, and move them to other safe location:

    @@ -79,30 +71,24 @@

    Installing the Tizen Studio

    - - - - - - - - - -
    Note
    Make sure that your installation location is empty.
    +
    + Note + Make sure that your installation location is empty. +

    To install Tizen Studio:

      @@ -162,32 +148,20 @@

      Importing Projects to the Tizen Studio

      To import previous Tizen SDK projects (Tizen SDK) to new Tizen Studio projects (Tizen Studio):

      - - - - - - - - - -
      Note
      These instructions assume that you want to import wearable 2.3.1 projects (created by the Tizen SDK) to the Tizen Studio.
      +
      + Note + These instructions assume that you want to import wearable 2.3.1 projects (created by the Tizen SDK) to the Tizen Studio. +
      1. Launch the Tizen Studio from Start > Tizen Studio > Tizen Studio.

        Launch Tizen Studio

      2. Create a new workspace. - - - - - - - - - -
        Note
        Reusing the existing workspace is not recommended.
        +
        + Note + Reusing the existing workspace is not recommended. +

        Select a workspace

      3. In the Tizen Studio menu, go to File > Import.
      4. @@ -217,19 +191,19 @@
        • Ubuntu and Mac OS® X:
            -
          • /home/<user>/<TIZEN_SDK>
          • -
          • /home/<user>/<TIZEN_SDK_DATA>
          • +
          • /home/<user>/<TIZEN_SDK>
          • +
          • /home/<user>/<TIZEN_SDK_DATA>
        • Windows®:
            -
          • C:\<TIZEN_SDK>
          • -
          • C:\<TIZEN_SDK_DATA>
          • +
          • C:\<TIZEN_SDK>
          • +
          • C:\<TIZEN_SDK_DATA>
        -

        Your Tizen authorization files (author and distributor certificates) exist in the <TIZEN_STUDIO> directory. You cannot update your existing applications on the Tizen seller site if you delete these files without backing them up first.

        +

        Your Tizen authorization files (author and distributor certificates) exist in the <TIZEN_STUDIO> directory. You cannot update your existing applications on the Tizen seller site if you delete these files without backing them up first.

        Some components do not get deleted automatically without further actions (such as shortcuts and install logs).

        diff --git a/org.tizen.studio/html/download/uninstalling_sdk.htm b/org.tizen.studio/html/download/uninstalling_sdk.htm index dea71d0..a6dbf39 100644 --- a/org.tizen.studio/html/download/uninstalling_sdk.htm +++ b/org.tizen.studio/html/download/uninstalling_sdk.htm @@ -47,7 +47,7 @@

        Selecting the Directories to Keep

        The first step is to select the components to uninstall. By unchecking the SDK data or Keystore components, you can keep the SDK data or keystore files in each directory for future re-use.

        -

        Figure: Uninstaller selections

        +

        Figure: Uninstaller selections

        Uninstaller selections

        SDK Data Directory

        @@ -59,7 +59,7 @@

        Uninstalling the Tizen Studio

        Once you click Uninstall, the uninstaller removes all the platforms and tools that you have installed, as well as data and files you have created. Note that you cannot cancel the uninstallation or restore the files after the uninstallation. Thus, make sure to back up data and files before clicking Uninstall.

        -

        Figure: Uninstallation

        +

        Figure: Uninstallation

        Uninstallation

        @@ -70,23 +70,23 @@ package-manager-cli uninstall [-p <password>] <package name>[,…] | [--all]
    +

    Table: Uninstall command parameters

    - - + - + - + - + - + - + - + - + - + - + - + - + - +
    Table: Uninstall command parameters
    Parameter Description
    -p, --password <password>-p, --password <password> Administrator (sudo) password for authentication. Ubuntu only.
    --all--all Uninstalls the entire Tizen Studio with tools and platforms, including user-created data, emulator images, and settings.
    <package name>[,…]<package name>[,…] Name of the package you want to uninstall. You can enter multiple package names (such as NativeIDE and Emulator).

    To retrieve the names of uninstallable packages, use the following command:

    diff --git a/org.tizen.studio/html/download/updating_sdk.htm b/org.tizen.studio/html/download/updating_sdk.htm
    index 9427a8c..b107d70 100644
    --- a/org.tizen.studio/html/download/updating_sdk.htm
    +++ b/org.tizen.studio/html/download/updating_sdk.htm
    @@ -56,7 +56,7 @@
     

    The Package Manager is composed of 3 main tabs: Main SDK, Extension SDK, and Progress.

      -
    • In the Main SDK tab, you can manage platforms, Emulators, and other advanced tools.
    • +
    • In the Main SDK tab, you can manage platforms, emulators, and other advanced tools.
    • In the Extension SDK tab, you can install and remove extension SDKs, such as the Certification Extension and other extra packages for platforms.
    • In the Progress tab, you can monitor the progress of installing, removing, and updating packages. You can also cancel the process while the packages are installing or updating.
    @@ -74,7 +74,7 @@
  • On Ubuntu, select Dashboard Home > Package Manager.
  • -

    Figure: Package Manager main window

    +

    Figure: Package Manager main window

    Package Manager main window

    Looking Around the Package Manager

    @@ -95,19 +95,19 @@
  • Under the 3 tabs, there are the Profile filter button icons profile filter buttons in the left-most side. By turning each filter on or off, you can filter the package list based on the profile. Right to the filter buttons, there is a View installed packages check box. This option includes only the installed packages in the profile list. At the right-most side, the Update available icon appears only when there are updates available for the installed packages.
  • -

    Figure: Main area

    +

    Figure: Main area

    Main area

    When you click a platform or package in the list, you can see its detailed description.

    -

    Figure: Description area

    +

    Figure: Description area

    Description area

    Updating Packages

    After you have installed the Tizen Studio using the Installer, there can be updates available of the installed packages. If you are connected to the network, the Update icon Updates available button appears as shown in the following figure. Click Updates available to update all the packages you have installed. For securing the system integrity among all packages in the Tizen Studio, the Package Manager does not support updating individual packages.

    -

    Figure: Update icon enabled

    +

    Figure: Update icon enabled

    Update icon enabled

    If you are using the Tizen Studio offline, you can update the packages with an image file. To install a package with the image file:

    @@ -116,22 +116,16 @@
  • Click OK at the bottom of the dialog. The Update available button appears after the platforms and tools of the image file are re-loaded. Now, you can update and install additional platforms and tools with the image file.
  • - - - - - - - - - -
    Note
    Make sure that the image file includes a newer Tizen Studio than the current one before updating and installing with the image file.
    +
    + Note + Make sure that the image file includes a newer Tizen Studio than the current one before updating and installing with the image file. +

    Installing Additional Packages

    Installing additional platforms and tools is simple. In the Main SDK and Extension SDK tabs, there is a list of platforms and tools. If you want to install a specific platform, just click the Install icon install icon next to that platform. The Package Manager installs all tools and packages that are required for the platform.

    -

    Figure: Installing platform packages

    +

    Figure: Installing platform packages

    Installing platform packages

    Likewise, when you want to install a single package, you need to unfold the list of a specific platform, and click the install icon next to the package that you want to install. While installing the package, you can install more packages by clicking the install icon next to any package. Once you click the install icon on a platform or a package, you can check the progress of the installation in the Progress tab.

    @@ -139,7 +133,7 @@

    Canceling and Retrying Installation

    While installing the packages, you can cancel the installation. To cancel the installation, go to the Progress tab while the packages are installing. In the Progress tab, you can see the installation progress and the Cancel icon cancel icon next to each package. To cancel any package installation, click the cancel icon. Note that canceling the installation of a single package can cancel the installation of other packages due to their dependencies.

    -

    Figure: Canceling the installation

    +

    Figure: Canceling the installation

    Canceling the installation

    After you have canceled the installation, the Retry icon retry icon appears next to the packages in the Progress tab. If you want to try re-installing the package, click the retry icon. According to what you choose to reinstall, the Package Manager may install some packages together because of their dependencies.

    @@ -148,7 +142,7 @@

    Removing the installed packages is as simple as installing. After a package is already installed, the install icon next to the package changes to the Remove icon remove icon. As when installing packages, removing an individual package can cause some other dependent packages to be removed. You can monitor the removal progress of packages. However, unlike the installation, you cannot cancel the removal process because it may break the integrity of the Tizen Studio.

    -

    Figure: Removing packages

    +

    Figure: Removing packages

    Removing packages

    Monitoring the Progress

    @@ -157,7 +151,7 @@

    You cannot cancel package removal.

    -

    Figure: Progress tab

    +

    Figure: Progress tab

    Progress tab

    Updating with the CLI Package Manager

    @@ -167,35 +161,35 @@ package-manager-cli update [--accept-license] [--no-java-check] [--proxy <value>] [-f <file path>] [-p <password>] [--latest]
    +

    Table: Update command parameters

    - - + - + - + - + - + - +
    Table: Update command parameters
    Parameter Description
    --accept-license--accept-license Accepts the license terms.
    --no-java-check--no-java-check Skips the Java version check.
    --proxy <value>--proxy <value> Proxy configuration value. Use one of the following values: direct, auto, or ip:port.
    -f, --file <file path>-f, --file <file path> If you want to install packages from a local SDK image, specify the full path of the SDK image file.
    -p, --password <password>-p, --password <password> Administrator (sudo) password for authentication. Ubuntu only.
    --latest--latest This option is only useful to update the Tizen Studio to the latest version after you downgraded it manually to an earlier version. Otherwise, the Package Manager updates it to the latest version with or without this option.
    diff --git a/org.tizen.studio/html/native_tools/api_checker_n.htm b/org.tizen.studio/html/native_tools/api_checker_n.htm index 46ca2cd..dd59e1e 100644 --- a/org.tizen.studio/html/native_tools/api_checker_n.htm +++ b/org.tizen.studio/html/native_tools/api_checker_n.htm @@ -54,12 +54,12 @@

    In the Project Explorer view, right-click the project on which you want to run the API Checker and select Check API and Privilege Violations with Build.

    The project is automatically built and the API Checker is run during the build process.

    -

    Figure: Running the API Checker

    +

    Figure: Running the API Checker

    Running the API Checker

    When the API Checker is finished, the detected issues are listed in the Problems view under the API and Privilege Violations type. The view contains a detailed description of the issue along with the file and line information about where the error occurred.

    -

    Figure: Check results in the Problems view

    +

    Figure: Check results in the Problems view

    Results in the Problems view

    Customizing the API Checker

    @@ -82,16 +82,10 @@

    You can quick fix some of the issues found by the API Checker, such as use of the undefined and unused privileges.

    - - - - - - - - - -
    Note
    The deprecated APIs and version mismatch issues cannot be quick fixed. You must fix them manually.
    +
    + Note + The deprecated APIs and version mismatch issues cannot be quick fixed. You must fix them manually. +

    To quick fix issues:

      diff --git a/org.tizen.studio/html/native_tools/call_stack_view_n.htm b/org.tizen.studio/html/native_tools/call_stack_view_n.htm index 0e9514a..f97af64 100644 --- a/org.tizen.studio/html/native_tools/call_stack_view_n.htm +++ b/org.tizen.studio/html/native_tools/call_stack_view_n.htm @@ -30,17 +30,17 @@

      Getting Crash Data from Call Stack View

      The Call Stack view provides information about a crashed API, call stack, or debug message, when the application crashes while running. Though debugging tools give more detailed information in the debugging state, the Call Stack view is a useful tool in the running state.

      -

      When the application crashes during running, the Tizen Studio creates a *.cs file in the crash-info folder under the current project and shows the Call Stack view automatically. The view can also be opened from the Tizen Studio menu by selecting Window > Show View > Other > Tizen > Call Stack.

      +

      When the application crashes during running, the Tizen Studio creates a *.cs file in the crash-info folder under the current project and shows the Call Stack view automatically. The view can also be opened from the Tizen Studio menu by selecting Window > Show View > Other > Tizen > Call Stack.

      The Call Stack view has 3 tabs:

      • Header: Provides basic information about the crashed application. Select a specific information type from the left pane. -

        Figure: Header tab

        +

        Figure: Header tab

        Header tab

      • Call Stack Information: Traces call stack steps to find where the memory block has crashed. If you select a call stack item in the left pane, search result is shown in the right pane. -

        Figure: Call Stack Information tab

        +

        Figure: Call Stack Information tab

        Call Stack Information tab

      • Debug Message: Provides the latest debug messages and the filtering function similar to the Log view. You can search with keywords filtered by tag, pid, and message. -

        Figure: Debug Message tab

        +

        Figure: Debug Message tab

        Debug Message tab

      The Call Stack view shows information only when the application crashes.

      diff --git a/org.tizen.studio/html/native_tools/component_attributes_n.htm b/org.tizen.studio/html/native_tools/component_attributes_n.htm index dc725b9..44594e9 100644 --- a/org.tizen.studio/html/native_tools/component_attributes_n.htm +++ b/org.tizen.studio/html/native_tools/component_attributes_n.htm @@ -46,16 +46,16 @@

      Managing UI Component Attributes in layout.xml

      -

      This document describes the meta schema of the layout.xml file, which can be used in the native UI Builder. You can edit the layout.xml file through the Source tab of the UI Builder.

      +

      This document describes the meta schema of the layout.xml file, which can be used in the native UI Builder. You can edit the layout.xml file through the Source tab of the UI Builder.

      Element Hierarchy of the layout.xml File

      -

      The layout.xml file has a hierarchical organization, which consists of XML elements. The tree structure in the following figure shows the relationship between the elements of the layout.xml file.

      +

      The layout.xml file has a hierarchical organization, which consists of XML elements. The tree structure in the following figure shows the relationship between the elements of the layout.xml file.

      -

      Figure: Elements in the layout.xml file

      +

      Figure: Elements in the layout.xml file

      Elements in the layout.xml file

      -

      The following example illustrates the content and structure of the layout.xml file. The usage format is <attribute_name=value>.

      +

      The following example illustrates the content and structure of the layout.xml file. The usage format is <attribute_name=value>.

       <?xml version="1.0" encoding="UTF-8" standalone="no"?>
      @@ -88,7 +88,7 @@
       
       

      Configuration

      -

      The <configuration> element represents a specific screen configuration, as shown in the following example:

      +

      The <configuration> element represents a specific screen configuration, as shown in the following example:

       <mscreen>
      @@ -96,29 +96,29 @@
       </mscreen>
       
      -

      The <configuration> element is placed as a child of the <mscreen> element. The following attributes are used for all configurations.

      +

      The <configuration> element is placed as a child of the <mscreen> element. The following attributes are used for all configurations.

      +

      Table: Common configuration attributes

      - - + - + - + - + - + @@ -136,7 +136,7 @@

      Variation

      -

      The <variation> element represents a set of the variation properties. The following is an example:

      +

      The <variation> element represents a set of the variation properties. The following is an example:

       <button align_v="fill" visible="true" weight_v="1" pack_h="49" weight_h="1" 
      @@ -146,38 +146,38 @@
       </button>
       
      -

      The <variation> element is placed as a child of the <UI component> element. The <variation> element has visible and pack attributes. The value of the pack attribute depends on the parent container of the UI component. The following attributes are used for all variations.

      +

      The <variation> element is placed as a child of the <UI component> element. The <variation> element has visible and pack attributes. The value of the pack attribute depends on the parent container of the UI component. The following attributes are used for all variations.

      +

      Table: Variation attributes

      Table: Common configuration attributes
      Attribute Value
      idid Identification for the configuration
      namename Name of the display
      typetype Whether the configuration is specific or common
      devicedevice Supported device:
      • Mobile: HD, WVGA
      • @@ -128,7 +128,7 @@
      orientationorientation Portrait or landscape
      - - + - - + + - + - + +

      pack_col/pack_row: 0 ~

      +

      row_span/col_span: 1 ~

      - + +

      left or right

      Table: Variation attributes
      Attribute Value
      config_refconfig_ref Screen configuration ID
      visibletrue or falsevisibletrue or false
      pack_x, pack_y, pack_w, pack_hpack_x, pack_y, pack_w, pack_h Absolute coordinates when the parent container is a grid.

      0 ~

      pack_col, pack_row, row_span, col_spanpack_col, pack_row, row_span, col_span Position when the parent container is a table. -

      pack_col/pack_row: 0 ~

      -

      row_span/col_span: 1 ~

      packpack Position when the parent container is a panes. -

      left or right

      @@ -186,16 +186,15 @@

      By using various UI containers and components in the Palette of the native UI Builder, you can create your application UI layout. Each component can be set in various styles. For a detailed list of component styles, see the related guides (mobile and wearable).

      -

      Figure: Native UI Builder Palette

      +

      Figure: Native UI Builder Palette

      Native UI Builder Palette

      Component Attributes – Common

      The following attributes are used for all UI components.

      +

      Table: Common component attributes

      - - @@ -203,27 +202,27 @@ - - - + + + - - - + + + - - - + + +
      Table: Common component attributes
      AttributeFunction
      align_hleft, right, center, 0 ~ 1.0evas_object_size_hint_align_set()align_hleft, right, center, 0 ~ 1.0evas_object_size_hint_align_set()
      align_vtop, bottom, center, 0 ~ 1.0evas_object_size_hint_align_set()align_vtop, bottom, center, 0 ~ 1.0evas_object_size_hint_align_set()
      weight_h or eight_v0 ~ 1.0evas_object_size_hint_weight_set()weight_h or eight_v0 ~ 1.0evas_object_size_hint_weight_set()
      -

      Some UI component attributes depend on the type of the UI container. For example, if the <button> element is a child of a <grid> element, the <button> element must have pack_x, pack_y, pack_w, and pack_h attributes.

      - - +

      Some UI component attributes depend on the type of the UI container. For example, if the <button> element is a child of a <grid> element, the <button> element must have pack_x, pack_y, pack_w, and pack_h attributes.

      +

      Table: Specific component attributes

      +
      Table: Specific component attributes
      @@ -232,25 +231,25 @@ - - + + - - + + - - + +
      UI container
      Gridpack_x, pack_y, pack_w, pack_helm_grid_pack()pack_x, pack_y, pack_w, pack_helm_grid_pack()
      Tablepack_col, pack_row, row_span, col_spanelm_table_pack()pack_col, pack_row, row_span, col_spanelm_table_pack()
      Panespackelm_object_part_content_set()packelm_object_part_content_set()

      Event

      -

      An <event> element represents a set of the event attributes. The following is an example:

      +

      An <event> element represents a set of the event attributes. The following is an example:

       <button align_v="fill" visible="true" weight_v="1" pack_h="49" weight_h="1"
      @@ -261,30 +260,30 @@
       </button>
       
      -

      The <event> element is placed as a child of the <UI component> element.

      -

      The following attributes are used for all <event> elements.

      +

      The <event> element is placed as a child of the <UI component> element.

      +

      The following attributes are used for all <event> elements.

      +

      Table: Event attributes

      - - + - + - + - + @@ -292,34 +291,35 @@

      Component Attributes – UI Container

      -

      The <UI container> is an element that has the <UI component> elements as children. In the layout.xml file, containers, such as View, Box, Grid, Panel, Panes, Scroller, and Table, are supported.

      +

      The <UI container> is an element that has the <UI component> elements as children. In the layout.xml file, containers, such as View, Box, Grid, Panel, Panes, Scroller, and Table, are supported.

      View

      -

      A <view> element is a basic unit that represents a layout of the application UI. It contains a <UI container> component as a child.

      -

      The following attributes are used for <view> element.

      +

      A <view> element is a basic unit that represents a layout of the application UI. It contains a <UI container> component as a child.

      +

      The following attributes are used for <view> element.

      + +

      Table: View attributes

      Table: Event attributes
      Attribute Value
      function_namefunction_name Name of the function
      signalsignal Unique component signal; see the component documentation for details
      connection_wrapperconnection_wrapper Connection wrapper function's name
      targettarget Target view ID to transform
      - - + - - + + - - + + - - + +
      Table: View attributes
      Attribute Value
      idid Automatically incrementing and editable. Not duplicated.
      indicatortrue or falseindicatortrue or false
      screen_orientationno_sensor, only_portrait, only_landscape, or full_sensorscreen_orientationno_sensor, only_portrait, only_landscape, or full_sensor
      typeview or popuptypeview or popup
      @@ -334,9 +334,9 @@

      The following attributes are used for the box container.

      - - +

      Table: Box attributes

      +
      Table: Box attributes
      @@ -344,29 +344,29 @@ - + - + - - - + + + - - - + + + - - - + + + - - - + + +
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_box_add()elm_box_add()
      directionhorizontal or verticalelm_box_horizontal_set()directionhorizontal or verticalelm_box_horizontal_set()
      homogeneoustrue or falseelm_box_homogeneous_set()homogeneoustrue or falseelm_box_homogeneous_set()
      padding_h or padding_v0elm_box_padding_set()padding_h or padding_v0elm_box_padding_set()
      visibletrue or falseevas_object_show()visibletrue or falseevas_object_show()
      @@ -383,11 +383,10 @@ </grid> -

      The child element of the grid container has the pack_w, pack_h, pack_x, and pack_y attributes to indicate the positions in the grid. The following attributes are used for the grid container.

      +

      The child element of the grid container has the pack_w, pack_h, pack_x, and pack_y attributes to indicate the positions in the grid. The following attributes are used for the grid container.

      +

      Table: Grid attributes

      - - @@ -395,24 +394,24 @@ - + - + - + - + - + - + - - - + + +
      Table: Grid attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_grid_add()elm_grid_add()
      vsize_wvsize_w 0 ~elm_grid_size_set()elm_grid_size_set()
      vsize_hvsize_h 0 ~elm_grid_size_set()elm_grid_size_set()
      visibletrue or falseevas_object_show()visibletrue or falseevas_object_show()
      @@ -428,9 +427,8 @@

      The following attributes are used for the panel container.

      +

      Table: Panel attributes

      - - @@ -438,24 +436,24 @@ - + - + - - - + + + - - - + + + - - - + + +
      Table: Panel attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_panel_add()elm_panel_add()
      visibletrue or falseevas_object_show()visibletrue or falseevas_object_show()
      orienttop, bottom, left, or rightelm_panel_orient_set()orienttop, bottom, left, or rightelm_panel_orient_set()
      hiddentrue or falseelm_panel_hidden_set()hiddentrue or falseelm_panel_hidden_set()
      @@ -476,10 +474,10 @@ </panes> -

      The child element of the panes container has the pack attribute to indicate the positions in the panes. The following attributes are used for the panes container.

      - - +

      The child element of the panes container has the pack attribute to indicate the positions in the panes. The following attributes are used for the panes container.

      +

      Table: Panes attributes

      +
      Table: Panes attributes
      @@ -487,29 +485,29 @@ - + - + - - - + + + - - - + + + - - - + + + - + - +
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_panes_add()elm_panes_add()
      visibletrue or falseevas_object_show()visibletrue or falseevas_object_show()
      directionhorizontal or verticalelm_panes_horizontal_set()directionhorizontal or verticalelm_panes_horizontal_set()
      fixedtrue or falseelm_panes_fixed_set()fixedtrue or falseelm_panes_fixed_set()
      right_sizeright_size 0 ~ 1elm_panes_content_right_size_set()elm_panes_content_right_size_set()
      @@ -527,9 +525,8 @@

      The following attributes are used for the scroller container.

      +

      Table: Scroller attributes

      - - @@ -537,29 +534,29 @@ - + - + - - - + + + - - - + + + - - - + + + - - - + + +
      Table: Scroller attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_scroller_add()elm_scroller_add()
      content_min_w or content_min_htrue or falseelm_scroller_content_min_limit()content_min_w or content_min_htrue or falseelm_scroller_content_min_limit()
      propagate_eventstrue or falseelm_scroller_propagate_events_set()propagate_eventstrue or falseelm_scroller_propagate_events_set()
      visibletrue or falseevas_object_show()visibletrue or falseevas_object_show()
      scrollbar_h or scrollbar_vauto, true, or falseelm_scroller_policy_set()scrollbar_h or scrollbar_vauto, true, or falseelm_scroller_policy_set()
      @@ -577,11 +574,10 @@ </table> -

      The child element of the table container has the pack_col, pack_row, row_span, and col_span attributes to indicate the position in the table. The following attributes are used for the table container.

      +

      The child element of the table container has the pack_col, pack_row, row_span, and col_span attributes to indicate the position in the table. The following attributes are used for the table container.

      +

      Table: Table attributes

      - - @@ -589,29 +585,29 @@ - + - + - - - + + + - + - + - - - + + + - + - +
      Table: Table attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_table_add()elm_table_add()
      homogeneous or content_min_htrue or falseelm_table_homogeneous_set()homogeneous or content_min_htrue or falseelm_table_homogeneous_set()
      padding_h or padding_vpadding_h or padding_v 0 ~elm_table_padding_set()elm_table_padding_set()
      visibletrue or falseevas_object_show()visibletrue or falseevas_object_show()
      cols or rowscols or rows 1 ~elm_table_pack()elm_table_pack()
      @@ -630,9 +626,8 @@

      The following attributes are used for the background component.

      +

      Table: Background attributes

      - - @@ -640,29 +635,29 @@ - + - + - - - + + + - - - + + + - - - + + + - - - + + +
      Table: Background attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_bg_add()elm_bg_add()
      optioncenter, scale, stretch, or tileelm_bg_option_set()optioncenter, scale, stretch, or tileelm_bg_option_set()
      color#000000 ~ #ffffffelm_bg_color_set()color#000000 ~ #ffffffelm_bg_color_set()
      src#stringelm_bg_file_set()src#stringelm_bg_file_set()
      visibletrue or falseevas_object_show()visibletrue or falseevas_object_show()
      @@ -679,9 +674,8 @@

      The following attributes are used for the button component.

      +

      Table: Button attributes

      - - @@ -689,29 +683,29 @@ - + - + - - - + + + - - - + + + - - - + + + - + - +
      Table: Button attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_button_add()elm_button_add()
      disabletrue or falseelm_object_disabled_set()disabletrue or falseelm_object_disabled_set()
      visibletrue or falseevas_object_show()visibletrue or falseevas_object_show()
      text#stringelm_object_text_set()text#stringelm_object_text_set()
      stylestyle See the supported properties for each profile and versionelm_object_style_set()elm_object_style_set()
      @@ -729,9 +723,8 @@

      The following attributes are used for the calendar component.

      +

      Table: Calendar attributes

      - - @@ -739,41 +732,41 @@ - + - + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + +
      Table: Calendar attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_calendar_add()elm_calendar_add()
      disabletrue or falseelm_object_disabled_set()disabletrue or falseelm_object_disabled_set()
      visibletrue or falseevas_object_show()visibletrue or falseevas_object_show()
      min_year or max_yearintegerelm_calendar_min_max_year_set()min_year or max_yearintegerelm_calendar_min_max_year_set()
      select_modedefault, always, none, or ondemandelm_calendar_select_mode_set()select_modedefault, always, none, or ondemandelm_calendar_select_mode_set()
      intervaldoubleelm_calendar_interval_set()intervaldoubleelm_calendar_interval_set()

      Check (Check)

      -

      A check component (in mobile and wearable applications) toggles the Boolean value between true and false.

      +

      A check component (in mobile and wearable applications) toggles the Boolean value between true and false.

       <check align_v="fill" visible="true" weight_v="1" pack_h="48" weight_h="1" align_h="fill" pack_w="208"
      @@ -783,9 +776,8 @@
       
       

      The following attributes are used for the check component.

      +

      Table: Check attributes

      - - @@ -793,35 +785,35 @@ - + - + - - - + + + - - - + + + - - - + + + - - + - + - + - +
      Table: Check attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_check_add()elm_check_add()
      statetrue or falseelm_check_state_set()statetrue or falseelm_check_state_set()
      disabletrue or falseelm_object_disabled_set()disabletrue or falseelm_object_disabled_set()
      visibletrue or falseevas_object_show()visibletrue or falseevas_object_show()
      text#string + text#string

      See the supported properties for each profile and version.

      elm_object_text_set()elm_object_text_set()
      stylestyle See the supported properties for each profile and versionelm_object_style_set()elm_object_style_set()
      @@ -838,9 +830,8 @@

      The following attributes are used for the colorselector component.

      +

      Table: Colorselector attributes

      - - @@ -848,14 +839,14 @@ - + - + - - - + + +
      Table: Colorselector attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_colorselector_add()elm_colorselector_add()
      visibletrue or falseevas_object_show()visibletrue or falseevas_object_show()
      @@ -874,11 +865,10 @@ </view>
      -

      The <ctxpopup> element must be placed as a child of the <view> element, and the type attribute in the view must be popup. The following attributes are used for the ctxpopup component.

      +

      The <ctxpopup> element must be placed as a child of the <view> element, and the type attribute in the view must be popup. The following attributes are used for the ctxpopup component.

      +

      Table: Ctxpopup attributes

      - - @@ -886,29 +876,29 @@ - + - + - - - + + + - + - + - - - + + + - - - + + +
      Table: Ctxpopup attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_ctxpopup_add()elm_ctxpopup_add()
      directionhorizontal or verticalelm_ctxpopup_horizontal_set()directionhorizontal or verticalelm_ctxpopup_horizontal_set()
      stylestyle See the supported properties for each profile and versionelm_object_style_set()elm_object_style_set()
      disabletrue or falseelm_object_disabled_set()disabletrue or falseelm_object_disabled_set()
      visibletrue or falseevas_object_show()visibletrue or falseevas_object_show()
      @@ -917,9 +907,8 @@

      A ctxpopup item component can be placed as a child of the ctxpopup component. Each item can have a label, an icon, or both. The following attributes are used for the ctxpopup item component.

      +

      Table: Ctxpopup item attributes

      - - @@ -927,14 +916,14 @@ - + - + - - - + + +
      Table: Ctxpopup item attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_ctxpopup_item_append()elm_ctxpopup_item_append()
      text#stringelm_ctxpopup_item_append()text#stringelm_ctxpopup_item_append()
      @@ -951,9 +940,8 @@

      The following attributes are used for the datetime component.

      +

      Table: Datetime attributes

      - - @@ -961,24 +949,24 @@ - + - + - - - + + + - - - + + + - + - +
      Table: Datetime attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_datetime_add()elm_datetime_add()
      disabletrue or falseelm_object_disabled_set()disabletrue or falseelm_object_disabled_set()
      visibletrue or falseevas_object_show()visibletrue or falseevas_object_show()
      stylestyle See the supported properties for each profile and versionelm_object_style_set()elm_object_style_set()
      @@ -997,9 +985,8 @@

      The following attributes are used for the entry component.

      +

      Table: Entry attributes

      - - @@ -1007,59 +994,59 @@ - + - + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + +
      Table: Entry attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_entry_add()elm_entry_add()
      scrolltrue or falseelm_entry_scrollable_set()scrolltrue or falseelm_entry_scrollable_set()
      single_linetrue or falseelm_entry_single_line_set()single_linetrue or falseelm_entry_single_line_set()
      passwordtrue or falseelm_entry_password_set()passwordtrue or falseelm_entry_password_set()
      editabletrue or falseelm_entry_editable_set()editabletrue or falseelm_entry_editable_set()
      context_menutrue or falseelm_entry_context_menu_disabled_set()context_menutrue or falseelm_entry_context_menu_disabled_set()
      file_text_formatplain_utf8 or markup_utf8elm_entry_file_text_format_set()file_text_formatplain_utf8 or markup_utf8elm_entry_file_text_format_set()
      disabletrue or falseelm_object_disabled_set()disabletrue or falseelm_object_disabled_set()
      visibletrue or falseevas_object_show()visibletrue or falseevas_object_show()
      text#stringelm_object_text_set()text#stringelm_object_text_set()
      src#stringelm_entry_file_set()src#stringelm_entry_file_set()
      @@ -1077,9 +1064,8 @@

      The following attributes are used for the flipselector component.

      +

      Table: Flipselector attributes

      - - @@ -1087,19 +1073,19 @@ - + - + - - - + + + - - - + + +
      Table: Flipselector attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_flipselector_add()elm_flipselector_add()
      disabletrue or falseelm_object_disabled_set()disabletrue or falseelm_object_disabled_set()
      visibletrue or falseevas_object_show()visibletrue or falseevas_object_show()
      @@ -1108,9 +1094,8 @@

      A flipselector item component can be placed as a child of the flipselector container. Each item can have a label. (Since 2.4, this component is supported in mobile applications only.)

      +

      Table: Flipselector item attributes

      - - @@ -1118,14 +1103,14 @@ - + - + - - - + + +
      Table: Flipselector item attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_flipselector_item_append()elm_flipselector_item_append()
      text#stringelm_flipselector_item_append()text#stringelm_flipselector_item_append()
      @@ -1148,9 +1133,8 @@

      The following attributes are used for the gengrid component.

      +

      Table: Gengrid attributes

      - - @@ -1158,49 +1142,49 @@ - + - + - - - + + + - - - + + + - + - + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + +
      Table: Gengrid attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_gengrid_add()elm_gengrid_add()
      visibletrue or falseevas_object_show()visibletrue or falseevas_object_show()
      disabletrue or falseelm_object_disabled_set()disabletrue or falseelm_object_disabled_set()
      stylestyle See the supported properties for each profile and versionelm_object_style_set()elm_object_style_set()
      select_modedefault, always, none, or display_onlyelm_gengrid_select_mode_set()select_modedefault, always, none, or display_onlyelm_gengrid_select_mode_set()
      directionhorizontal or verticalelm_gengrid_horizontal_set()directionhorizontal or verticalelm_gengrid_horizontal_set()
      item_size_w or item_size_hintegerelm_gengrid_item_size_set()item_size_w or item_size_hintegerelm_gengrid_item_size_set()
      multi_selecttrue or falseelm_gengrid_multi_select_set()multi_selecttrue or falseelm_gengrid_multi_select_set()
      scrollbar_h or scrollbar_vauto, true, or falseelm_scroller_policy_set()scrollbar_h or scrollbar_vauto, true, or falseelm_scroller_policy_set()
      @@ -1209,9 +1193,8 @@

      A gengrid item component can be placed as a child of the gengrid component. Each item can have a label and image, depending on the style. The following attributes are used for the gengrid item component.

      +

      Table: Gengrid item attributes

      - - @@ -1219,34 +1202,34 @@ - + - + - + - + - - - + + + - - - + + + - - - + + + - - - + + +
      Table: Gengrid item attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_gengrid_item_append()elm_gengrid_item_append()
      stylestyle See the supported properties for each profile and versionelm_gengrid_item_append()elm_gengrid_item_append()
      text#stringelm_gengrid_item_append()text#stringelm_gengrid_item_append()
      src#stringelm_gengrid_item_append()src#stringelm_gengrid_item_append()
      selectedtrue or falseelm_gengrid_item_selected_set()selectedtrue or falseelm_gengrid_item_selected_set()
      disabledtrue or falseelm_object_item_disabled_set()disabledtrue or falseelm_object_item_disabled_set()
      @@ -1270,9 +1253,8 @@

      The following attributes are used for the genlist component.

      +

      Table: Genlist attributes

      - - @@ -1280,41 +1262,41 @@ - + - + - - + - + - + - + - - - + + + - - - + + + - - + - + - - - + + +
      Table: Genlist attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_genlist_add()elm_genlist_add()
      select_modedefault, always, none, or display_only + select_modedefault, always, none, or display_only

      See the supported properties for each profile and version.

      elm_genlist_select_mode_set()elm_genlist_select_mode_set()
      stylestyle See the supported properties for each profile and versionelm_object_style_set()elm_object_style_set()
      disabletrue or falseelm_object_disabled_set()disabletrue or falseelm_object_disabled_set()
      visibletrue or falseevas_object_show()visibletrue or falseevas_object_show()
      homogeneoustrue or false + homogeneoustrue or false

      See the supported properties for each profile and version.

      elm_genlist_homogeneous_set()elm_genlist_homogeneous_set()
      scrollbar_h or scrollbar_vauto, true, or falseelm_scroller_policy_set()scrollbar_h or scrollbar_vauto, true, or falseelm_scroller_policy_set()
      @@ -1323,9 +1305,8 @@

      A genlist item component can be placed as a child of the genlist component. Each item can have a label and image, depending on the style. The following attributes are used for the genlist item component.

      +

      Table: Genlist item attributes

      - - @@ -1333,56 +1314,56 @@ - + - + - - - + + + - + - + - - - + + + - - + - + - + - + - - - + + + - - + - + - + - + - - - + + +
      Table: Genlist item attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_genlist_item_append()elm_genlist_item_append()
      end_image_path#stringelm_genlist_item_append()end_image_path#stringelm_genlist_item_append()
      end_standard_iconend_standard_icon See the supported properties for each profile and versionelm_genlist_item_append()elm_genlist_item_append()
      image_path#stringelm_genlist_item_append()image_path#stringelm_genlist_item_append()
      item_typenone tree, or group + item_typenone tree, or group

      See the supported properties for each profile and version.

      elm_genlist_item_append()elm_genlist_item_append()
      stylestyle See the supported properties for each profile and versionelm_object_style_set()elm_object_style_set()
      text#stringelm_genlist_item_append()text#stringelm_genlist_item_append()
      selectedtrue or false + selectedtrue or false

      See the supported properties for each profile and version.

      elm_genlist_item_selected_set()elm_genlist_item_selected_set()
      standard_iconstandard_icon See the supported properties for each profile and versionelm_genlist_item_append()elm_genlist_item_append()
      sub_text#stringelm_genlist_item_append()sub_text#stringelm_genlist_item_append()
      @@ -1400,9 +1381,8 @@

      The following attributes are used for the image component.

      +

      Table: Image attributes

      - - @@ -1410,39 +1390,39 @@ - + - + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + +
      Table: Image attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_image_add()elm_image_add()
      src#stringelm_image_file_set()src#stringelm_image_file_set()
      aspect_fixedtrue or falseelm_image_aspect_fixed_set()aspect_fixedtrue or falseelm_image_aspect_fixed_set()
      fill_outsidetrue or falseelm_image_fill_outside_set()fill_outsidetrue or falseelm_image_fill_outside_set()
      resizable_up or resizable_downtrue or falseelm_image_resizable_set()resizable_up or resizable_downtrue or falseelm_image_resizable_set()
      no_scaletrue or falseelm_image_no_scale_set()no_scaletrue or falseelm_image_no_scale_set()
      visibletrue or falseevas_object_show()visibletrue or falseevas_object_show()
      @@ -1461,9 +1441,8 @@

      The following attributes are used for the index component.

      +

      Table: Index attributes

      - - @@ -1471,34 +1450,34 @@ - + - + - - - + + + - - - + + + - - - + + + - + - + - - - + + +
      Table: Index attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_index_add()elm_index_add()
      autohidetrue or falseelm_index_autohide_disabled_set()autohidetrue or falseelm_index_autohide_disabled_set()
      indicatortrue or falseelm_index_indicator_disabled_set()indicatortrue or falseelm_index_indicator_disabled_set()
      disabletrue or falseelm_object_disabled_set()disabletrue or falseelm_object_disabled_set()
      stylestyle See the supported properties for each profile and versionelm_object_style_set()elm_object_style_set()
      visibletrue or falseevas_object_show()visibletrue or falseevas_object_show()
      @@ -1507,9 +1486,8 @@

      An index item component can be placed as a child of the index component. Each item can have a label. The following attributes are used for the index item component.

      +

      Table: Index item attributes

      - - @@ -1517,14 +1495,14 @@ - + - + - - - + + +
      Table: Index item attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_index_item_append()elm_index_item_append()
      text#stringelm_index_item_append()text#stringelm_index_item_append()
      @@ -1542,9 +1520,8 @@

      The following attributes are used for the label component.

      +

      Table: Label attributes

      - - @@ -1552,39 +1529,39 @@ - + - + - - - + + + - + - + - - - + + + - - - + + + - - - + + + - - - + + +
      Table: Label attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_label_add()elm_label_add()
      ellipsistrue or falseelm_label_ellipsis_set()ellipsistrue or falseelm_label_ellipsis_set()
      wrap_widthwrap_width 0 ~elm_label_wrap_width_set()elm_label_wrap_width_set()
      line_wrapnone, char, word, or mixedelm_label_line_wrap_set()line_wrapnone, char, word, or mixedelm_label_line_wrap_set()
      disabletrue or falseelm_object_disabled_set()disabletrue or falseelm_object_disabled_set()
      visibletrue or falseevas_object_show()visibletrue or falseevas_object_show()
      text#stringelm_object_text_set()text#stringelm_object_text_set()
      @@ -1601,9 +1578,8 @@

      The following attributes are used for the layout component.

      +

      Table: Layout attributes

      - - @@ -1611,24 +1587,24 @@ - + - + - - - + + + - - - + + + - - - + + +
      Table: Layout attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_layout_add()elm_layout_add()
      disabletrue or falseelm_object_disabled_set()disabletrue or falseelm_object_disabled_set()
      visibletrue or falseevas_object_show()visibletrue or falseevas_object_show()
      src or group#stringelm_layout_file_set()src or group#stringelm_layout_file_set()
      @@ -1648,9 +1624,8 @@

      The following attributes are used for the list component.

      +

      Table: List attributes

      - - @@ -1658,44 +1633,44 @@ - + - + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + +
      Table: List attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_list_add()elm_list_add()
      directionhorizontal or verticalelm_list_horizontal_set()directionhorizontal or verticalelm_list_horizontal_set()
      select_modedefault, always, none, or display_onlyelm_list_select_mode_set()select_modedefault, always, none, or display_onlyelm_list_select_mode_set()
      multi_selecttrue or falseelm_list_multi_select_set()multi_selecttrue or falseelm_list_multi_select_set()
      modecompress, scroll, limit, or expandelm_list_mode_set()modecompress, scroll, limit, or expandelm_list_mode_set()
      disabletrue or falseelm_object_disabled_set()disabletrue or falseelm_object_disabled_set()
      visibletrue or falseevas_object_show()visibletrue or falseevas_object_show()
      scrollbar_h or scrollbar_vauto, true, or falseelm_scroller_policy_set()scrollbar_h or scrollbar_vauto, true, or falseelm_scroller_policy_set()
      @@ -1704,9 +1679,8 @@

      A list item component can be placed as a child of the list component. Each item can have a label. The following attributes are used for the list item component.

      +

      Table: List item attributes

      - - @@ -1714,19 +1688,19 @@ - + - + - - - + + + - - - + + +
      Table: List item attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_list_item_append()elm_list_item_append()
      text#stringelm_list_item_append()text#stringelm_list_item_append()
      selectedtrue or falseelm_list_item_selected_set()selectedtrue or falseelm_list_item_selected_set()
      @@ -1743,9 +1717,8 @@

      The following attributes are used for the map component.

      +

      Table: Map attributes

      - - @@ -1753,29 +1726,29 @@ - + - + - - - + + + - - - + + + - - - + + + - - - + + +
      Table: Map attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_map_add()elm_map_add()
      zoom_levelinteger (0~)elm_map_zoom_set()zoom_levelinteger (0~)elm_map_zoom_set()
      region_londoubleelm_map_region_show()region_londoubleelm_map_region_show()
      region_latdoubleelm_map_region_show()region_latdoubleelm_map_region_show()
      visibletrue or falseevas_object_show()visibletrue or falseevas_object_show()
      @@ -1794,9 +1767,8 @@

      The following attributes are used for the multibutton entry component.

      +

      Table: Multibutton entry attributes

      - - @@ -1804,29 +1776,29 @@ - + - + - - - + + + - - - + + + - - - + + + - - - + + +
      Table: Multibutton entry attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_multibuttonentry_add()elm_multibuttonentry_add()
      editabletrue or falseelm_multibuttonentry_editable_set()editabletrue or falseelm_multibuttonentry_editable_set()
      expandedtrue or falseelm_multibuttonentry_expanded_set()expandedtrue or falseelm_multibuttonentry_expanded_set()
      disabletrue or falseelm_object_disabled_set()disabletrue or falseelm_object_disabled_set()
      visibletrue or falseevas_object_show()visibletrue or falseevas_object_show()
      @@ -1835,9 +1807,8 @@

      A multibutton entry item component can be placed as a child of the multibutton entry component. The following attributes are used for the multibutton entry item component.

      +

      Table: Multibutton entry item attributes

      - - @@ -1845,14 +1816,14 @@ - + - + - - - + + +
      Table: Multibutton entry item attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_multibuttonentry_item_append()elm_multibuttonentry_item_append()
      text#stringelm_multibuttonentry_item_append()text#stringelm_multibuttonentry_item_append()
      @@ -1870,9 +1841,8 @@

      The following attributes are used for the progressbar component.

      +

      Table: Progressbar attributes

      - - @@ -1880,50 +1850,50 @@ - + - + - - + - + - + - + - + - + - - - + + + - - - + + + - - - + + + - + - + - + - +
      Table: Progressbar attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_progressbar_add()elm_progressbar_add()
      directionhorizontal or vertical + directionhorizontal or vertical

      See the supported properties for each profile and version.

      elm_progressbar_horizontal_set()elm_progressbar_horizontal_set()
      span_sizespan_size 0 ~elm_progressbar_span_size_set()elm_progressbar_span_size_set()
      valuevalue 0 ~ 1elm_progressbar_value_set()elm_progressbar_value_set()
      invertedtrue or falseelm_progressbar_inverted_set()invertedtrue or falseelm_progressbar_inverted_set()
      disabletrue or falseelm_object_disabled_set()disabletrue or falseelm_object_disabled_set()
      visibletrue or falseevas_object_show()visibletrue or falseevas_object_show()
      stylestyle See the supported properties for each profile and versionelm_object_style_set()elm_object_style_set()
      min or maxmin or max See the supported properties for each profile and versioneext_circle_object_value_min_max_set()eext_circle_object_value_min_max_set()
      @@ -1932,9 +1902,8 @@

      A popup component (in mobile and wearable applications) shows a pop-up area that contains a title, content, and action area. The following attributes are used for the popup component.

      +

      Table: Popup attributes

      - - @@ -1942,34 +1911,34 @@ - + - + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + +
      Table: Popup attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_popup_add()elm_popup_add()
      title#stringelm_object_part_text_set()title#stringelm_object_part_text_set()
      heightintegerevas_object_size_hint_min_set()heightintegerevas_object_size_hint_min_set()
      timeoutdoubleelm_popup_timeout_set()timeoutdoubleelm_popup_timeout_set()
      disabletrue or falseelm_object_disabled_set()disabletrue or falseelm_object_disabled_set()
      visibletrue or falseevas_object_show()visibletrue or falseevas_object_show()
      @@ -1987,9 +1956,8 @@

      The following attributes are used for the radio component.

      +

      Table: Radio attributes

      - - @@ -1997,35 +1965,35 @@ - + - + - - - + + + - - - + + + - - + - + - - - + + + - - - + + +
      Table: Radio attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_radio_add()elm_radio_add()
      state_value#numberelm_radio_state_value_set()state_value#numberelm_radio_state_value_set()
      value#numberelm_radio_value_set()value#numberelm_radio_value_set()
      text#string + text#string

      See the supported properties for each profile and version.

      elm_object_text_set()elm_object_text_set()
      disabletrue or falseelm_object_disabled_set()disabletrue or falseelm_object_disabled_set()
      visibletrue or falseevas_object_show()visibletrue or falseevas_object_show()
      @@ -2043,9 +2011,8 @@

      The following attributes are used for slider component.

      +

      Table: Slider attributes

      - - @@ -2053,68 +2020,68 @@ - + - + - - + - + - + - + - + - + - + - + - + - + - - + - + - - + - + - - + - + - - - + + + - - - + + + - + - +
      Table: Slider attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_slider_add()elm_slider_add()
      indicatortrue or false + indicatortrue or false

      See the supported properties for each profile and version.

      elm_slider_indicator_show_set()elm_slider_indicator_show_set()
      minmin 0 ~elm_slider_min_max_set()elm_slider_min_max_set()
      stepstep 0 ~elm_slider_step_set()elm_slider_step_set()
      maxmax 0 ~elm_slider_min_max_set()elm_slider_min_max_set()
      valuevalue 0 ~elm_slider_value_set()elm_slider_value_set()
      invertedtrue or false + invertedtrue or false

      See the supported properties for each profile and version.

      elm_slider_inverted_set()elm_slider_inverted_set()
      indicator_format#string + indicator_format#string

      See the supported properties for each profile and version.

      elm_slider_indicator_format_set()elm_slider_indicator_format_set()
      directionhorizontal or vertical + directionhorizontal or vertical

      See the supported properties for each profile and version.

      elm_slider_horizontal_set()elm_slider_horizontal_set()
      disabletrue or falseelm_object_disabled_set()disabletrue or falseelm_object_disabled_set()
      visibletrue or falseevas_object_show()visibletrue or falseevas_object_show()
      stylestyle See the supported properties for each profile and versionelm_object_style_set()elm_object_style_set()
      @@ -2132,9 +2099,8 @@

      The following attributes are used for the spinner component.

      +

      Table: Spinner attributes

      - - @@ -2142,44 +2108,44 @@ - + - + - - - + + + - + - + - + - + - + - + - - - + + + - - - + + + - + - +
      Table: Spinner attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_spinner_add()elm_spinner_add()
      editabletrue or falseelm_spinner_editable_set()editabletrue or falseelm_spinner_editable_set()
      stepstep 0 ~elm_spinner_step_set()elm_spinner_step_set()
      minmin 0 ~elm_spinner_min_max_set()elm_spinner_min_max_set()
      maxmax 0 ~elm_spinner_min_max_set()elm_spinner_min_max_set()
      disabletrue or falseelm_object_disabled_set()disabletrue or falseelm_object_disabled_set()
      visibletrue or falseevas_object_show()visibletrue or falseevas_object_show()
      stylestyle See the supported properties for each profile and versionelm_object_style_set()elm_object_style_set()
      @@ -2204,8 +2170,8 @@

      The following attributes are used for the toolbar component.

      +

      Table: Toolbar attributes

      - @@ -2213,49 +2179,49 @@ - + - + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - + - +
      Table: Toolbar attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_toolbar_add()elm_toolbar_add()
      homogeneoustrue or falseelm_toolbar_homogeneous_set()homogeneoustrue or falseelm_toolbar_homogeneous_set()
      select_modedefault, always, none, or display_onlyelm_toolbar_select_mode_set()select_modedefault, always, none, or display_onlyelm_toolbar_select_mode_set()
      icon_size0 ~elm_toolbar_icon_size_set()icon_size0 ~elm_toolbar_icon_size_set()
      directionhorizontal or verticalelm_toolbar_horizontal_set()directionhorizontal or verticalelm_toolbar_horizontal_set()
      shrink_modenone, hide, scroll, menu, or expandelm_toolbar_shrink_mode_set()shrink_modenone, hide, scroll, menu, or expandelm_toolbar_shrink_mode_set()
      transverse_expandtrue or falseelm_toolbar_transverse_expanded_set()transverse_expandtrue or falseelm_toolbar_transverse_expanded_set()
      visibletrue or falseevas_object_show()visibletrue or falseevas_object_show()
      stylestyle See the supported properties for each profile and versionelm_object_style_set()elm_object_style_set()
      @@ -2264,8 +2230,8 @@

      A toolbar item component can be placed as a child of the toolbar component. Each item can have a label and image. The following attributes are used for the toolbar item component.

      +

      Table: Toolbar item attributes

      - @@ -2273,34 +2239,34 @@ - + - + - - - + + + - - - + + + - - - + + + - - - + + + - + - +
      Table: Toolbar item attributes
      AttributeFunction
      idid Automatically incrementing and editable. Duplicates are not allowed.elm_toolbar_item_append()elm_toolbar_item_append()
      disabletrue or falseelm_object_item_disabled_set()disabletrue or falseelm_object_item_disabled_set()
      text#stringelm_toolbar_item_append()text#stringelm_toolbar_item_append()
      src#stringelm_toolbar_item_icon_set()src#stringelm_toolbar_item_icon_set()
      selectedtrue or falseelm_toolbar_item_selected_set()selectedtrue or falseelm_toolbar_item_selected_set()
      stylestyle See the supported properties for each profile and versionelm_object_style_set()elm_object_style_set()
      @@ -2308,8 +2274,8 @@

      Properties Supported for Each Component

      Some properties are supported only in specific profiles. The following table lists the UI components with attributes that only apply to specific profiles.

      +

      Table: Properties supported in specific profiles

      - @@ -2321,28 +2287,28 @@ - + - + - + - + @@ -2350,35 +2316,35 @@ - + - + - + - + - + @@ -2386,42 +2352,42 @@ - + - + - + - + - + - + @@ -2429,42 +2395,42 @@ - + - + - + - + - + - + @@ -2472,14 +2438,14 @@ - + - + @@ -2487,21 +2453,21 @@ - + - + - + @@ -2509,14 +2475,14 @@ - + - + @@ -2524,63 +2490,63 @@ - + - + - + - + - + - + - + - + - + @@ -2588,42 +2554,42 @@ - + - + - + - + - + - + @@ -2631,49 +2597,49 @@ - + - + - + - + - + - + - + @@ -2681,70 +2647,70 @@ - + - + - + - + - + - + - + - + - + - + @@ -2752,42 +2718,42 @@ - + - + - + - + - + - + @@ -2795,35 +2761,35 @@ - + - + - + - + - + @@ -2831,14 +2797,14 @@ - + - + @@ -2846,63 +2812,63 @@ - + - + - + - + - + - + - + - + - + @@ -2910,42 +2876,42 @@ - + - + - + - + - + - + @@ -2953,84 +2919,84 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -3038,56 +3004,56 @@ - + - + - + - + - + - + - + - + @@ -3095,63 +3061,63 @@ - + - + - + - + - + - + - + - + - + @@ -3159,42 +3125,42 @@ - + - + - + - + - + - + diff --git a/org.tizen.studio/html/native_tools/component_designer_n.htm b/org.tizen.studio/html/native_tools/component_designer_n.htm index 27f13df..e0b2ab4 100644 --- a/org.tizen.studio/html/native_tools/component_designer_n.htm +++ b/org.tizen.studio/html/native_tools/component_designer_n.htm @@ -45,7 +45,7 @@

      The Component Designer is a rich graphical tool that provides a UI for the EDC markup. It is aimed to simplify the creation and editing of UI component styles, avoiding the need to learn the EDC syntax.

      The Component Designer was designed with the idea that target users are not just programmers, but also designers. Besides styles, the Component Designer is also able to create and edit custom layouts.

      -

      Figure: Component Designer

      +

      Figure: Component Designer

      Component Designer

      UI Layout

      @@ -62,7 +62,7 @@
    1. Block on the right is Property. It shows the properties of the item currently selected in the navigation bottom block, and it can be a part, program, or data.
    2. Violet bar at the top contains tabs. Each tab has its own workspace.
    3. Red bar at the bottom of the window is a status bar. -

      Figure: Component Designer window blocks

      +

      Figure: Component Designer window blocks

      Component Designer window blocks

    4. @@ -71,30 +71,24 @@

      The list of groups is located on the left side of the Component Designer, and holds all groups from the loaded project, with items sorted alphabetically.

      -

      Figure: Group navigation

      +

      Figure: Group navigation

      Group navigation

      On the top of the navigation bar, 2 icons allow you to add a new group into the project or delete an existing group. If you add a new group, a simple dialog wizard opens, and sets a name for new group and selects a source group, if one is required to create a copy or alias.

      -
      Table: Properties supported in specific profiles
      Component
      Panelidid Yes Yes No No
      visiblevisible Yes Yes No No
      orientorient Yes Yes No No
      hiddenhidden Yes Yes No
      Panesidid Yes Yes No No
      visiblevisible Yes Yes No No
      directiondirection Yes Yes No No
      fixedfixed Yes Yes No No
      right_sizeright_size Yes Yes No
      Calendaridid No Yes No No
      disabledisable No Yes No No
      visiblevisible No Yes No No
      min_year or max_yearmin_year or max_year No Yes No No
      select_modeselect_mode No Yes No No
      intervalinterval No Yes No
      Checkidid Yes Yes Yes Yes
      statestate Yes Yes Yes Yes
      disabledisable Yes Yes Yes Yes
      visiblevisible Yes Yes Yes Yes
      texttext No Yes No No
      stylestyle Yes Yes Yes
      Colorselectoridid Yes Yes No No
      visiblevisible Yes Yes No
      Flipselectoridid No Yes No No
      disabledisable No Yes No No
      visiblevisible No Yes No
      Flipselector itemidid No Yes No No
      texttext No Yes No
      Gengrididid Yes Yes No No
      visiblevisible Yes Yes No No
      disabledisable Yes Yes No No
      stylestyle No Yes No No
      select_modeselect_mode Yes Yes No No
      directiondirection Yes Yes No No
      item_size_w or item_size_hitem_size_w or item_size_h Yes Yes No No
      multi_selectmulti_select Yes Yes No No
      scrollbar_h or scrollbar_vscrollbar_h or scrollbar_v Yes Yes No
      Gengrid itemidid Yes Yes No No
      stylestyle Yes Yes No No
      texttext Yes Yes No No
      srcsrc Yes Yes No No
      selectedselected Yes Yes No No
      disableddisabled Yes Yes No
      Genlistidid Yes Yes Yes Yes
      select_modeselect_mode Yes Yes Yes No
      stylestyle No Yes No No
      disabledisable Yes Yes Yes Yes
      visiblevisible Yes Yes Yes Yes
      homogeneoushomogeneous Yes Yes Yes No
      scrollbar_h or scrollbar_vscrollbar_h or scrollbar_v Yes Yes Yes
      Genlist itemidid Yes Yes Yes Yes
      end_image_pathend_image_path Yes Yes Yes Yes
      end_standard_iconend_standard_icon Yes Yes Yes No
      image_pathimage_path Yes Yes Yes Yes
      item_typeitem_type Yes Yes Yes Yes
      stylestyle Yes Yes Yes Yes
      texttext Yes Yes Yes Yes
      selectedselected Yes Yes Yes No
      standard_iconstandard_icon Yes Yes No No
      sub_textsub_text Yes Yes Yes
      Indexidid Yes Yes Yes Yes
      autohideautohide Yes Yes Yes Yes
      indicatorindicator Yes Yes Yes Yes
      disabledisable Yes Yes Yes Yes
      stylestyle No No Yes Yes
      visiblevisible Yes Yes Yes
      Multibutton entryidid Yes Yes No No
      editableeditable Yes Yes No No
      expandedexpanded Yes Yes No No
      disabledisable Yes Yes No No
      visiblevisible Yes Yes No
      Multibutton entry itemidid Yes Yes No No
      texttext Yes Yes No
      Progressbaridid Yes Yes Yes Yes
      directiondirection Yes Yes No No
      span_sizespan_size Yes Yes Yes No
      valuevalue Yes Yes Yes Yes
      invertedinverted Yes Yes Yes Yes
      disabledisable Yes Yes Yes Yes
      visiblevisible Yes Yes Yes Yes
      stylestyle No Yes Yes Yes
      min or maxmin or max No No Yes
      Radioidid Yes Yes Yes Yes
      state_valuestate_value Yes Yes Yes Yes
      valuevalue Yes Yes Yes Yes
      texttext No Yes No No
      disabledisable Yes Yes Yes Yes
      visiblevisible Yes Yes Yes
      Slideridid Yes Yes Yes Yes
      indicatorindicator Yes Yes Yes No
      minmin Yes Yes Yes Yes
      stepstep Yes Yes Yes Yes
      maxmax Yes Yes Yes Yes
      valuevalue Yes Yes Yes Yes
      invertedinverted Yes Yes Yes No
      indicator_formatindicator_format Yes Yes Yes No
      directiondirection Yes Yes Yes No
      disabledisable Yes Yes Yes Yes
      visiblevisible Yes Yes Yes Yes
      stylestyle Yes Yes Yes
      Spinneridid Yes Yes Yes No
      editableeditable Yes Yes Yes No
      stepstep Yes Yes Yes No
      minmin Yes Yes Yes No
      maxmax Yes Yes Yes No
      disabledisable Yes Yes Yes No
      visiblevisible Yes Yes Yes No
      stylestyle Yes Yes Yes
      Toolbaridid Yes Yes No No
      homogeneoushomogeneous Yes Yes No No
      select_modeselect_mode Yes Yes No No
      icon_sizeicon_size Yes Yes No No
      directiondirection Yes Yes No No
      shrink_modeshrink_mode Yes Yes No No
      transverse_expandtransverse_expand Yes Yes No No
      visiblevisible Yes Yes No No
      stylestyle Yes Yes No
      Toolbar itemidid Yes Yes No No
      disabledisable Yes Yes No No
      texttext Yes Yes No No
      srcsrc Yes Yes No No
      selectedselected Yes Yes No No
      stylestyle Yes Yes No
      - - - - - - - - -
      Note
      Copy and alias are different entities. A copied group is an independent group with all parameters copied from the source group. An alias, on the other side, is just a link. The alias group has a specific icon (Link) and the opened alias group does not allow you to work with the part/program navigation or with parts on the workspace.
      +
      + Note + Copy and alias are different entities. A copied group is an independent group with all parameters copied from the source group. An alias, on the other side, is just a link. The alias group has a specific icon (Link) and the opened alias group does not allow you to work with the part/program navigation or with parts on the workspace. +

      The group list structure is based on splitting the group name by tokens that are separated from each other by the \ character. This creates a clear tree view. For example, the default Elementary theme contains a lot of groups with styles for elementary components. By splitting the root tokens from component styles (for example, elm/check/base/default), all groups related to Elementary can be organized below the elm entity. On the next level, the splitting happens based on the component names (for example, elm/check/base/default). And finally, the lowest level leafs of this tree are the styles names (for example, elm/check/base/default).

      For comfortable visual navigation, the tree leafs have a "document" icon, and the nodes are represented by a "folder" icon.

      Part/program Navigation

      The Component Designer provides a navigation bar for primitives that are stored inside groups. The primitives are parts, programs, and data. They are placed on the right side of main work area as 2 root nodes.

      -

      Figure: Part/program navigation

      +

      Figure: Part/program navigation

      Part/program navigation

      The controls placed at the top of the navigation bar make it possible to add new primitives or change the order of the parts inside the group. Click the + icon to see the names of the available primitive types. Depending on the selected context, some of the entities can be disabled.

      -

      Figure: Available primitive types

      +

      Figure: Available primitive types

      Available primitive types

      For example, to add a new state for an existing part:

        @@ -107,8 +101,8 @@ By double-clicking the state name you can switch the part state. The state is up
        • Parts

          There is an eye icon (Eye) on the left side of the part name. If the group has too many parts, and it is too complicated to work with them on the workspace, you can hide some parts by clicking the eye icon. To show the part again, click the empty check that replaces the eye icon.

          To identify the part type in the tree, an icon representing the part type is shown on the right side of the part name. The following table shows the currently available part types.

          - - +

          Table: Part types

          +
          Table: Part types
          @@ -149,16 +143,12 @@ By double-clicking the state name you can switch the part state. The state is up
          Icon
          Some parts can contain items in addition to states, for example, a box or table. Such items are shown as a different list, which is expandable and shows the number of items already inside the part. When such item (box or table) is selected, you can add new items to it. You cannot add any items to any other part type. - - - - - - - - - -
          Note
          To explore the tree, double-click a node or press the right arrow icon.
        • + +
          + Note + To explore the tree, double-click a node or press the right arrow icon. +
          +
        • Programs

          The parts/programs list only allows you to add or remove programs. By clicking a program name, the properties are updated to the program parameters available to be modified.

        • Data items

          @@ -167,7 +157,7 @@ Data items contain raw data information (data name and raw value) that is encase

          Workspace

          The workspace is placed in the middle of the Component Designer window. It shows a visual representation of the group being edited.

          -

          Figure: Workspace

          +

          Figure: Workspace

          Workspace

          You can open multiple groups at the same time, and switch between them using the tab bar placed above the workspace.

          Each workspace has a history (for undo and redo actions).

          @@ -179,16 +169,10 @@ Data items contain raw data information (data name and raw value) that is encase
        • Parts can be manipulated by a mouse pointer.
        • Parts can be selected and highlighted, and by using the highlight, resized.
        - - - - - - - - - -
        Note
        Clicking a part selects it and loads the part properties. Clicking an already selected part switches between the part state and the part (and switches their properties as well).
        +
        + Note + Clicking a part selects it and loads the part properties. Clicking an already selected part switches between the part state and the part (and switches their properties as well). +

        If you right-click the group view background, a context menu opens. You can select actions, such as undo, redo, and show/hide rulers and certain scales (or both). The group view also contains rulers to show the relative and absolute sizes.

        Tools

        Workspace has various tools to allow you to manipulate it:

        @@ -196,22 +180,22 @@ Data items contain raw data information (data name and raw value) that is encase
      1. The size of the previewed group can be changed through the container border. The container has a small rectangle in the right bottom corner: use it to change the size with the mouse.

        Another way is to use the spinners placed at the beginning of the toolbar to set the container size. The chain between the spinners determines whether the width and height changes are made simultaneously. The toggle on the left blocks all size changes.

        In the following figure, the setting at the bottom blocks all size changes, and the width and height changes are not linked. At the top, the size changes are not blocked, and the width and height changes are linked.

        -

        Figure: Container size

        +

        Figure: Container size

        Container size

        Container size

      2. If the group is too small or too big, you can zoom in and out with a slider. To set an accurate zoom value, use the zoom spinner. -

        Figure: Zooming

        +

        Figure: Zooming

        Zooming

      3. To fit the group view with the currently opened group, use the Size icon. It makes the group smaller or larger, as needed, to fit the size of the group view.

        When the fit is selected, it blocks all size changes until the fit is unselected.

      4. You can undo and redo all changes that happen during group editing. The change history is cleared when you close the tab of the edited group in the workspace. -

        Figure: Undo and redo

        +

        Figure: Undo and redo

        Undo and redo

      5. A combo box allows fast access to the resource libraries. All available libraries are shown in the drop-down list. -

        Figure: Resource library access

        +

        Figure: Resource library access

        Resource library access

      6. @@ -219,11 +203,11 @@ Data items contain raw data information (data name and raw value) that is encase

        When working with parts on a workspace and setting certain min, max, or other attributes, you can simply change the sizes and aligns in the group view directly. There are a few highlights available in the group view to help you.

        If you click a part, a highlight with the same size as the clicked part appears, with handlers in each corner. By dragging the handlers, you can change the size of the selected part.

        -

        Figure: Click highlight

        +

        Figure: Click highlight

        Click highlight

        Remember that the part changes its size and position related to the parts aligns. In addition, the part size cannot reduce lower than its min values, or grow above the object area size.

        The object area is the area between relative points set in the part properties. There are 2 relative points (starting and ending one) and the part is positioned between those points. The relative points are usually the main opened group or any other part. A highlight that shows the object area looks like a shaded rectangle.

        -

        Figure: Object area highlight

        +

        Figure: Object area highlight

        Object area highlight

        To show or hide the object area in the group view, go to View > Show object area in the menu.

        @@ -234,35 +218,29 @@ Data items contain raw data information (data name and raw value) that is encase
      7. Normal

        This mode is used to manipulate the group primitives in the development stage. All parts are represented on the workspace, including containers and spacers. Each of the non-visible primitive types has their own pattern and color. This makes it possible to understand the markup of the group and the dependencies between primitives. Text parts are bordered to show the area from the left top to right bottom corners. In addition, text parts set the part name as content if there is no preset text in that part (it can be set in the text block in the properties).

        You can select primitives directly on the workspace in this mode. You can also select parts inside the part/program navigation panel, as usual. The selected part is covered by the resizing control element, which shows highlights that change the maximum size of the primitive.

        -

        Figure: Normal mode

        +

        Figure: Normal mode

        Normal mode

      8. Demo

        While the normal mode is used during the implementation process, the demo mode is used to see the end result. Objects displayed in this mode look the same as in the runtime application.

        You can type text into texts part and set container part content. Predefined components (such as button, check, slider, entry, and progress bar) can be used as content. You can also use a simple rectangle or an image file stored in the file system as content. You can set different colors and minimum/maximum sizes for content.

        The demo mode can also emit signals to objects. When the programs inside a group are created, you want to check how the objects react to those signals. The list of signals that can be emitted in the demo mode exclude the programs that depend on mouse events, because it is easier to click (or mouse in/out, double-click) on a real object.

        -

        Figure: Demo mode

        +

        Figure: Demo mode

        Demo mode

      9. - - - - - - - - - -
        Important
        Most Elementary components are loaded as fully functional UI components. This means that the behavior of the loaded component depends on the Elementary source code. The group is loaded with a usual layout, in case the group has no Elementary component style or is a still unsupported component.
        +
        + Important + Most Elementary components are loaded as fully functional UI components. This means that the behavior of the loaded component depends on the Elementary source code. The group is loaded with a usual layout, in case the group has no Elementary component style or is a still unsupported component. +

        Rulers

        Rulers are parts of the group view, which can be used to show the part sizes and their relatives. Both vertical and horizontal rulers have an indicator that shows the current mouse position, and can be used to make some general measurements of the part size and position. Zooming the group view in or out also changes the rulers, showing zoomed sizes.

        -

        Figure: Rulers

        +

        Figure: Rulers

        Rulers

        To hide the rulers, click the group view background and clear the Show rulers option.

        You can show 2 scales on rulers:

        -

        Figure: Ruler scales

        +

        Figure: Ruler scales

        Ruler scales

        • Absolute scale (gray text and dashes): rulers show the decent sizes in pixels of the entire group shown and loaded into the container.
        • @@ -272,7 +250,7 @@ Data items contain raw data information (data name and raw value) that is encase

          Properties

          The panel on the right side of the Component Designer window can be used to modify the properties and parameters of the current context (such as an opened group, workspace mode, or selected part, state, or program). You can see and modify the values of a large number of properties, such as min, relative, map, part name, and content type (for demo).

          -

          Figure: Properties

          +

          Figure: Properties

          Properties

          All general properties that can be modified are described in the following sections. There are different properties for an opened group, demo mode, selected items, data, program, state, and part. Some user-friendly general behaviors, such as list filtering (hide other controls on certain values), popups, and highlights are covered as well.

          Property Controls

          @@ -280,50 +258,50 @@ Data items contain raw data information (data name and raw value) that is encase
          • The properties are generally grouped into a tree structure containing the attributes (controls) and related values together. For example, the Color block contains the color classes and general color, while the Position block contains all controls to work with relatives (such as relative to and offsets).
          • Most properties have a description (title) text, which is highlighted with bold when it has a non-default value. Every property has 1 or 2 controls (like min and max in the Picture property), and the property can show a subparam (subtitle) and measure (for example, px). -

            Figure: Property title and value

            +

            Figure: Property title and value

             Property title and value

          • If the attribute can have a value within a range, a spinner control is used. These attributes can be, for example, offsets (which can be up to 9999 pixels), borders, and sizes.
          • Some attributes can be negative and positive, while some are positive only. All of that depends on the attribute characteristics described by Edje Data Collection reference.
          • If the attribute can be only in ON or OFF state (such as Visible, Smooth, and Map), a check control is used to show them. -

            Figure: Check control

            +

            Figure: Check control

            Check control

          • If the attribute has a constant number of text-based values, a combo box control is used. It is commonly used for, for example, Aspect preference, Clip to, and Relative. That control is also widely used for those attributes which require you to select one of the parts existing inside the opened group. -

            Figure: Combo box

            +

            Figure: Combo box

            Combo box

          • If the attribute defines a color, a button that shows a color palette is used. This is widely used inside the textblock style library. If you click the button, a popup is shown. After you select the color, it is immediately applied to the selected part. -

            Figure: Color palette

            +

            Figure: Color palette

            Color palette

          • Entry control is commonly used to set up text attributes, such as name, text, and fonts. Sometimes the entry is modified, for example, the image path has an entry control with a button. If you click it, an image selector (similar to the color selector) is shown, with a grid of all images added through the image manager and already existing in the project. Select the image by double-clicking it. -

            Figure: Entry

            +

            Figure: Entry

          • The Tween block has a variable set of images. You can add images by clicking the + button, or delete all selected images with the - button. The + button shows a list of images, and you can select any number of them before clicking OK. All selected images are added to the tween. -

            Figure: Tween

            +

            Figure: Tween

            Tween

          Non-default Highlight

          The property highlights to show non-default values in bold. The highlight makes it easier to look at the entire set of properties and see which of them have been changed and differ from the default values. Whenever a non-default value is changed back to its default, the description text of that property is unbolded.

          -

          Figure: Non-default highlight

          +

          Figure: Non-default highlight

          Non-default highlight

          Group Block Properties

          The Group block shows itself only when a group is loaded and its tab is activated, but nothing is selected yet. It contains just a few properties, such as the group name (which is unedited for now) and some general group min and max sizes.

          -

          Figure: Group block properties

          +

          Figure: Group block properties

          Group block properties

          Part Block Properties

          The Part block is usually the same for most part types. More properties are available for the text and textblock types, and the source for the part type called GROUP. Generally, the block contains some general part attributes, such as mouse pointer attributes (pointer mode, events repeating), scale, and draggable attributes.

          -

          Figure: Part block properties

          +

          Figure: Part block properties

          Part block properties

          State Block Properties

          The State block is huge. It differs depending on the selected state of a certain part type. Generally all part types contain 4 blocks:

          @@ -337,19 +315,19 @@ Data items contain raw data information (data name and raw value) that is encase

          Program Block Properties

          The program usually has 1 important block that contains some attributes, such as the program name, action type, signal, source, and filters. Usually, it also contain a list of after's - programs that are run together with the selected program in a certain queue.

          -

          Figure: Program block properties

          +

          Figure: Program block properties

          Program block properties

          Based on the program action type, the block can contain more attributes. For example, the Action params can have a state name and value for the STATE_SET program type, or it can be a sample, channel, and duration for SOUND_SAMPLE. For programs like STATE_SET, there is also a block used to set Targets (for example, the STATE_SET program applies changes to the parts listed in the Targets block).

          Item Block Properties

          The item properties are shown only when the items of the box or table part are selected. They have simple attributes, such as the source group to be loaded into item, some sizes, and positions, and paddings.

          -

          Figure: Item block properties

          +

          Figure: Item block properties

          Item block properties

          Data Item Block Properties

          The Data item block contains only a key and value pair.

          -

          Figure: Data item block properties

          +

          Figure: Data item block properties

          Data item block properties

          Demo Block Properties

          The Demo block appears only when the workspace is in the demo mode, and the navigation list of parts contains only signals, text, textblock, and swallow parts. The demo properties differ depending on what kind of part or signal is selected:

          @@ -362,8 +340,8 @@ For programs like STATE_SET, there is also a block used to set

          The Demo properties allows you to set a rectangle (and its color), image (with a path to the image file to load the picture from the system), or UI component (predefined list of components to put into the swallow, for example, check, button, and gengrid). In addition, you can set up a certain style for the selected component, from inside the group.

          For any kind of content (UI component, image, or rectangle), you can set up the min and max size, which also helps to determine the resulting behavior of the loaded group.

          +

          Table: Demo block properties

          - @@ -389,44 +367,40 @@ For programs like STATE_SET, there is also a block used to set

          Images

          The image manager shows all images in the project as a grid. Unused images are marked with an exclamation mark Exclamation. When you select an image, you can see its preview and basic info (name, type, location, and size compression type and rate).

          -

          Figure: Images

          +

          Figure: Images

          Images

          To add an image into the project, click the + button and select it in the file selector. You can add multiple images at once by holding the Shift key.

          To delete the selected images, press the - button. Only unused images can be deleted, because deleting used images damages all styles where they are used.

          Sounds

          The sound manager is very similar to the image manager. It shows all sounds and tones in the project and allows adding and removing them. Instead of an image preview, there is a simple sound player.

          -

          Figure: Sounds

          +

          Figure: Sounds

          Sounds

          Textblock Styles

          The style manager shows all textblock styles in the project. You can expand the style to see all its elements.

          -

          Figure: Textblock styles

          +

          Figure: Textblock styles

          Textblock styles

          DEFAULT is a virtual element that defines the properties of the text not enclosed in any element. The element's attributes can be edited after selecting it. In the left side, you can see how the selected element affects the text in the textblock.

          Colorclasses

          Color classes are designed to simplify color adjustment in your theme. Changing colors in the color class manager affects all parts in all styles that are using it.

          -

          Figure: Colorclasses

          +

          Figure: Colorclasses

          Colorclasses

          For most part types, only the first color matters. Only the text parts can use all 3 colors.

          -
          Table: Demo block properties
          Content type
          - - - - - - - - -
          Note
          If you want some part to have a slightly different color, you can specify both a color and color class. In this case, their values are multiplied. For example, if you have a background color class with the green main color (255, 0, 0, 255) and a part with this color class and a half-transparent white color (255, 255, 255, 127) resulting part color is (255, 0, 0, 127).
          + +
          + Note + If you want some part to have a slightly different color, you can specify both a color and color class. In this case, their values are multiplied. For example, if you have a background color class with the green main color (255, 0, 0, 255) and a part with this color class and a half-transparent white color (255, 255, 255, 127) resulting part color is (255, 0, 0, 127). +
          +

          Shortcuts

          The following table lists the shortcut keys available for the Component Designer.

          +

          Table: Shortcuts

          - diff --git a/org.tizen.studio/html/native_tools/content_assist_n.htm b/org.tizen.studio/html/native_tools/content_assist_n.htm index 4eebca5..36eb563 100644 --- a/org.tizen.studio/html/native_tools/content_assist_n.htm +++ b/org.tizen.studio/html/native_tools/content_assist_n.htm @@ -48,38 +48,24 @@

          When you write code, the API assist feature provides API suggestions to complete the code faster.

          To receive the API suggestions manually, type at least one letter of content, and press Ctrl + Space. The suggestion list appears. Use the arrow keys to select a suggestion from the list, and press Enter to complete the code.

          -

          Figure: Using API assist

          +

          Figure: Using API assist

          API assist

          -
          Table: Shortcuts
          Key
          - - - - - - - - -
          Note
          The API assist feature is based on Content Assist in the Eclipse Mars. Like in the Eclipse, you can customize the feature: in the Tizen Studio, go to Window > Preferences > C/C++ > Editor > Content Assist. For more information, see the Content Assist preferences help page.
          +
          + Note + The API assist feature is based on Content Assist in the Eclipse Mars. Like in the Eclipse, you can customize the feature: in the Tizen Studio, go to Window > Preferences > C/C++ > Editor > Content Assist. For more information, see the Content Assist preferences help page. +

          API Hover

          When you hover over a Tizen native API function in the source editor, a popup window appears below the function. In that window, you can get detailed information of the API function, such as a brief description, defined parameters, return value type, and exception information.

          -

          Figure: Using API hover

          +

          Figure: Using API hover

          API hover

          - - - - - - - - - -
          Note
          The API hover feature is based on Hovers in the Eclipse Mars. Like in the Eclipse, you can customize hover behavior: in the Tizen Studio, go to Window > Preferences > C/C++ > Editor > Hovers. For more information, see the Hovers preferences help page.
          - - +
          + Note + The API hover feature is based on Hovers in the Eclipse Mars. Like in the Eclipse, you can customize hover behavior: in the Tizen Studio, go to Window > Preferences > C/C++ > Editor > Hovers. For more information, see the Hovers preferences help page. +
          diff --git a/org.tizen.studio/html/native_tools/cover_configure_n.htm b/org.tizen.studio/html/native_tools/cover_configure_n.htm index 9b3e9a5..99d715d 100644 --- a/org.tizen.studio/html/native_tools/cover_configure_n.htm +++ b/org.tizen.studio/html/native_tools/cover_configure_n.htm @@ -42,7 +42,7 @@

          The Resource Manager view helps you to support specific device configurations, such as different screen densities and languages, in your applications. Tizen native applications can run on different types of devices with various resolutions and resources, and you can develop your applications to support specific or multiple device types and resolutions.

        • PO File Localization Editor (Localizing Application Resources) -

          The PO file editor tool is used to localize text strings by editing .po files. Text string localization is the process of translating into different languages the strings used by your application.

        • +

          The PO file editor tool is used to localize text strings by editing .po files. Text string localization is the process of translating into different languages the strings used by your application.

        diff --git a/org.tizen.studio/html/native_tools/edc_editor_n.htm b/org.tizen.studio/html/native_tools/edc_editor_n.htm index 49d3321..448af87 100644 --- a/org.tizen.studio/html/native_tools/edc_editor_n.htm +++ b/org.tizen.studio/html/native_tools/edc_editor_n.htm @@ -46,7 +46,7 @@

        When your application requires real-time changeable layouts, for example, animations, you can write the layout designs using an EDC script, compile it into an EDJ format file, and import it into your application using a UI layout component. You can also write simple and complex design layouts using the EDC script with the EDC Editor. The EDC Editor makes it easier to write the EDC script code and faster to finish your work. If you are not familiar with EDC programming, see Layouting with EDC for more information.

        -

        Figure: EDC Editor

        +

        Figure: EDC Editor

        EDC Editor

        The EDC Editor also provides useful functions for you to develop your application UI. Before using the EDC Editor, familiarize yourself with the functionalities described in the following sections.

        @@ -72,14 +72,14 @@

        Because of its real-time update mechanism, the EDC Editor updates the preview real-time while you modify the source code in the code view.

        -

        Figure: EDC Editor views

        +

        Figure: EDC Editor views

        EDC Editor views

        Directory View and Workspace

        If your EDC collection consists of multiple EDC files, set up a workspace. The default workspace directory is where you opened the EDC file in the Tizen Studio.

        The workspace is designed to be used with the file browser (toggle hotkey, F9) and the file tab (toggle hotkey, F11) so that you can navigate between multiple EDC files. The file browser (directory view) displays the current workspace directory.

        You can open EDC files in the directory view by double-clicking them. The EDC text file is opened in a new file tab.

        -

        The EDC Editor allows only one main EDC file that can be activated in the live view. In the directory view, the main EDC file is displayed with the [main] tag. If the main EDC file contains multiple sub EDC files, you can open and navigate through them. You can open those files in the directory view, or by pressing the F3 key if the text editor cursor is placed on the "include" line in the text view (such as #include "subfile.edc"). To go back to the previously edited file tab, use the F4 shortcut key.

        +

        The EDC Editor allows only one main EDC file that can be activated in the live view. In the directory view, the main EDC file is displayed with the [main] tag. If the main EDC file contains multiple sub EDC files, you can open and navigate through them. You can open those files in the directory view, or by pressing the F3 key if the text editor cursor is placed on the "include" line in the text view (such as #include "subfile.edc"). To go back to the previously edited file tab, use the F4 shortcut key.

        The EDC Editor tracks the currently focused EDC group to display it while you go through the groups in 1 EDC collection. But if you open a new EDC file which contains another collection, you need to manually set up that file to be a main. To let the EDC Editor know that EDC has a collection to be adoptable with its subordinate files, press the F2 key after selecting the new main EDC file in the directory view. You can also change the main EDC file in Settings > EDC Build > Main EDC File.

        Code View

        @@ -90,7 +90,7 @@
        • Auto-complete

          To help you write EDC source code, the code view supports an auto-complete function, which lists the reserved keywords in a contextual pop-up.

          -

          Figure: Auto-complete feature

          +

          Figure: Auto-complete feature

          Auto-complete feature

          When you enter a part of a reserved keyword, a contextual pop-up appears with a list of keywords beginning with your input string. Select a keyword with the up and down arrow keys and press Enter. The keyword is selected and a related EDC code snippet is inserted in the code view automatically. In contrast, if you press the Backspace key, the auto-complete function is cancelled and the contextual pop-up is dismissed.

          You can also use auto-complete as a contextual help. Press the Ctrl + Space key combination to show a list of available keywords in the current cursor position context.

          @@ -98,13 +98,13 @@
        • Candidate list

          The EDC script provides a variety of pre-defined keywords, including part object types and program action types. To easily edit the keywords, the code view supports a candidate list function for the keywords. When you double-click a keyword in the code view, the available candidate keyword list based on the context pops up. If you select one of the candidate keywords, the double-clicked keyword is changed to a selected one.

          -

          Figure: Candidate list feature

          +

          Figure: Candidate list feature

          Candidate list feature

          The candidate list function also helps you to know the available range of numeric values based on the context. The numeric candidate function shows a range of available numbers. When you drag the sliders, the EDC Editor updates the preview instantly.

        • Color selector

          To change color values, use the color selector tool. Each time a "color" keyword is double-clicked, it displays the color selector.

          -

          Figure: Color selector feature

          +

          Figure: Color selector feature

          Color selector feature

        • Text zoom @@ -116,7 +116,7 @@

          The preview area displays the EDC source code content as images.

          To change the preview zoom value, use the zoom level controller slider, or press the Ctrl key and roll the mouse wheel up and down while the mouse cursor is in the preview area.

          The range of the zoom is from 0.1x to 5.0x.

          -

          Figure: Preview zooming

          +

          Figure: Preview zooming

          Preview zooming

          View Layer

          @@ -139,8 +139,8 @@

          Editor Tools

          The EDC Editor provides useful tool functions through the tool buttons available at the top of the preview and code view areas. The following table lists the tool buttons along with their functions and available hotkeys. To toggle the tools themselves, use the F7 hotkey.

          +

          Table: Tool buttons

          - @@ -271,7 +271,7 @@
          • Highlighting a part object

            To easily identify the part object that you are modifying, the EDC Editor highlights the preview image corresponding to the part object. When you click a part section in the EDC source code, the image corresponding to that part object is highlighted in the preview. Alternatively, clicking a part object image in the preview moves the editor cursor to the corresponding EDC line in the code view.

            -

            Figure: Part object highlighting

            +

            Figure: Part object highlighting

            Part object highlighting

          • Detecting errors @@ -279,20 +279,20 @@

            When errors are detected, the console view at the bottom of the EDC Editor is activated automatically, and the detected errors are listed there. The erroneous code is also underlined in the code view. The console view is deactivated when the errors are fixed.

            The console view behavior is only enabled if the auto hiding console mode is enabled in Settings > Preference > Auto Hiding Console. You can change the size of the console view by dragging the pane divider between the code view and the console view. You can also toggle the console view visibility with the Alt + Up and Alt + Down hotkeys.

            -

            Figure: Error detection

            +

            Figure: Error detection

            Error detection

          • Image preview

            To easily check the image files you use, the code view allows you to preview image files. Write an image keyword and an image file name in the EDC source code and click the image keyword. The preview pop-up of the clicked image file opens. If other image files are written in a previous or next line of the previewed image line, you can view them using the up and down arrow keys or the mouse wheel.

            -

            Figure: Image preview

            +

            Figure: Image preview

            Image preview

          • Reference popup

            A reference popup is like a manual for the EDC keywords applicable to the current cursor position. It shows a description of an EDC keyword for the beginners, who are not familiar with the EDC programming script language, and helps them to understand the keyword syntax. To pop up the reference, press the F5 key after positioning the editor cursor on an EDC keyword.

            -

            Figure: Reference popup

            +

            Figure: Reference popup

            Reference popup

          @@ -300,10 +300,10 @@

          Using Live Edit

          The EDC Editor provides a live edit mode to add part objects to the application layout.

          To activate the live edit mode, click one of the part object buttons in the preview area tools. After that, you can add a part object using the live edit contextual pop-up, and change its position and size by dragging. Once you confirm the new part, a code snippet describing it is inserted in the code view. While the live edit mode is active, the code view is disabled.

          -

          Figure: Live edit mode

          +

          Figure: Live edit mode

          Live edit mode

          In the live edit mode, a wireframe is used to display the outlines of all parts with solid lines, to enable you to understand the logical boundaries of the parts in a layout. You can toggle the wireframe visibility by pressing the Ctrl + W key combination.

          -

          Figure: Wireframes

          +

          Figure: Wireframes

          Wireframes

          To use the live edit mode:

          @@ -334,7 +334,7 @@

          View Size

          When a new group view is shown in the live view area, it has a default view size, 300x300. You can change the view size by clicking the resize button in the status view and using a slider to manipulate the view size. You can control the slider using mouse dragging or the mouse wheel. Each group stores its individual view size, so when you switch views, they can have a different view size. To change the default view size, go to Settings > Preferences > View Size.

          You can swap the width and height of the live view instantly by pressing the swap button in the status view. The swap functionality can be used for simulating some scenarios, such as mobile device portrait and landscape modes.

          -

          Figure: View size change

          +

          Figure: View size change

          View size change

          Settings

          @@ -346,18 +346,18 @@
        • When the Auto Hiding Console option is switched on, the EDC Editor hides the console box automatically when no messages exist after you have fixed all grammatical errors.
        • When the Smart Undo/Redo option is switched on, the EDC Editor redoes and undoes text word by word. If disabled, redoing and undoing works character by character.
        • When the Error Message Red Alert option is switched on, the EDC Editor enables the error message red alert effect. When the EDC compilation fails because of a grammatical error, the EDC Editor alerts you with a fading screen effect. -

          Figure: Preference settings

          +

          Figure: Preference settings

          Preference settings

        • Text Editor

          The Text Editor tab provides text options to control the font size and type. You can also change the text color highlighting scheme. Double-click a keyword in the preview pane to change its color.

          -

          Figure: Text editor settings

          +

          Figure: Text editor settings

          Text editor settings

          Resources

          You can control some EDC Editor resources. For example, you can change the image, sound, font, data, and even the main EDC paths.

          -

          Figure: Resources settings

          +

          Figure: Resources settings

          Resources settings

          Running the EDC Editor

          @@ -393,7 +393,7 @@
        • Select a template in the EDC Editor New File dialog.

          The EDC Editor provides various template samples, which can bring you some ideas about what you can do with EDC programming. The templates contain simple samples and practical examples.

          If you select a template, the EDC Editor launches the new EDC file with the template source code, allowing you to build your own EDC layout faster.

          -

          Figure: EDC Editor templates

          +

          Figure: EDC Editor templates

          EDC Editor templates

        • @@ -415,9 +415,9 @@ app_get_resource("edje/my_layout.edj", edj_path, (int)PATH_MAX); elm_layout_file_set(layout, buf, "main"); -

          The elm_layout_file_set() function imports 1 group from an EDJ file. You can pass the EDJ file path to the second parameter and the group name to the third parameter. On success, this function returns EINA_TRUE.

          +

          The elm_layout_file_set() function imports 1 group from an EDJ file. You can pass the EDJ file path to the second parameter and the group name to the third parameter. On success, this function returns EINA_TRUE.

          -

          Figure: Imported EDC layout

          +

          Figure: Imported EDC layout

          Imported EDC layout

          diff --git a/org.tizen.studio/html/native_tools/manifest_elements_n.htm b/org.tizen.studio/html/native_tools/manifest_elements_n.htm index b831b40..f5575c1 100644 --- a/org.tizen.studio/html/native_tools/manifest_elements_n.htm +++ b/org.tizen.studio/html/native_tools/manifest_elements_n.htm @@ -47,7 +47,7 @@

          Using Additional Manifest Elements

          -

          The following sections summarize some of the common child elements used in the tizen-manifest.xml file of the native application.

          +

          The following sections summarize some of the common child elements used in the tizen-manifest.xml file of the native application.

          <app-control> Element

          This element represents Tizen application control configuration information.

          @@ -65,15 +65,15 @@
          - + - + - +
          Table: Tool buttons
          Icon Occurrences
          <operation><operation> 1 or more (optional)
          <uri><uri> 1 or more (optional)
          <mime><mime> 1 or more (optional)
          @@ -90,8 +90,8 @@

          This element represents the operation type of the application control.

          Attributes:

            -
          • name -

            Name of the application control, for example, http://tizen.org/appcontrol/operation/compose

            +
          • name +

            Name of the application control, for example, http://tizen.org/appcontrol/operation/compose

            For more information on the expected values, see Common Application Controls.

          For example:

          @@ -103,7 +103,7 @@

          This element represents the URI scheme of the application control.

          Attributes:

            -
          • name +
          • name

            Name of the URI scheme (string)

          @@ -116,7 +116,7 @@

          This element represents the MIME type of the application control.

          Attributes:

            -
          • name +
          • name

            Name of the MIME type (string)

          @@ -134,11 +134,11 @@

        Attributes:

          -
        • providerid +
        • providerid

          ID of the data control provider (string)

        • -
        • access +
        • access

          Access mode of the data control (string)

        • -
        • type +
        • type

          Type of the data control (string)

        @@ -174,7 +174,7 @@

        Attributes:

          -
        • xml:lang +
        • xml:lang

          Language of the label (available value: "<2-letter lowercase language code (ISO 639-1)>-<2-letter lowercase country code (ISO 3166-1 alpha-2)>")

        @@ -198,9 +198,9 @@

        Attributes:

          -
        • key +
        • key

          Key of metadata (string)

        • -
        • value +
        • value

          Value of metadata (string)

        For example:

        @@ -210,13 +210,10 @@

        <background-category> Element

        This element represents the category of the application running on the background.

        - - - - - - -
        Note
        The <background-category> element is not supported for API versions lower than 2.4. An application with a <background-category> element can fail to be installed on devices with a Tizen version lower than 2.4. In this case, the element can be replaced with <metadata key="http://tizen.org/metadata/bacgkround-category/<value>"/>.
        +
        + Note + The <background-category> element is not supported for API versions lower than 2.4. An application with a <background-category> element can fail to be installed on devices with a Tizen version lower than 2.4. In this case, the element can be replaced with <metadata key="http://tizen.org/metadata/bacgkround-category/<value>"/>. +

        For more information on the relationship between the elements, see the element hierarchy.

        Occurrences:

        @@ -225,7 +222,7 @@

        Attributes:

          -
        • value +
        • value

          Value of the background category (string)

        diff --git a/org.tizen.studio/html/native_tools/manifest_text_editor_n.htm b/org.tizen.studio/html/native_tools/manifest_text_editor_n.htm index 3e31363..dc26341 100644 --- a/org.tizen.studio/html/native_tools/manifest_text_editor_n.htm +++ b/org.tizen.studio/html/native_tools/manifest_text_editor_n.htm @@ -36,38 +36,34 @@

        Configuring the Application Manifest

        -

        A Tizen native application package consists of exactly 1 manifest file, called tizen-manifest.xml, which is used to describe the application information. The manifest file is composed of XML elements, which include the root <manifest> element and its child elements representing application information, such as <version>, and <privileges>. The child elements are organized into a specific hierarchy. The elements can have attributes associated with them, providing more information about the element.

        +

        A Tizen native application package consists of exactly 1 manifest file, called tizen-manifest.xml, which is used to describe the application information. The manifest file is composed of XML elements, which include the root <manifest> element and its child elements representing application information, such as <version>, and <privileges>. The child elements are organized into a specific hierarchy. The elements can have attributes associated with them, providing more information about the element.

        Editing the Manifest File

        -

        There are 2 different ways to edit the tizen-manifest.xml file:

        +

        There are 2 different ways to edit the tizen-manifest.xml file:

        • Use the text editor to modify the XML structure directly: -
          1. Right-click the tizen-manifest.xml file in the Project Explorer view.
          2. +
            1. Right-click the tizen-manifest.xml file in the Project Explorer view.
            2. Select Open with > Text Editor.
            -

            Figure: Text Editor

            +

            Figure: Text Editor

            Text Editor

          3. Use the manifest editor to modify the manifest in a form editor: -

            Double-click the tizen-manifest.xml file in the Project Explorer view.

            +

            Double-click the tizen-manifest.xml file in the Project Explorer view.

            -

            Figure: Manifest editor

            +

            Figure: Manifest editor

            Manifest editor

        - - - - - - - -
        Note
        The tizen-manifest.xml file must conform to both the standard XML file format and the Tizen native application specification requirements. Editing the manifest file XML structure with the text editor is intended for advanced users only. If the file does not conform to the standard and requirements, errors can occur during installation.
        +
        + Note + The tizen-manifest.xml file must conform to both the standard XML file format and the Tizen native application specification requirements. Editing the manifest file XML structure with the text editor is intended for advanced users only. If the file does not conform to the standard and requirements, errors can occur during installation. +

        Manifest Element Hierarchy

        -

        The Tizen native application manifest file consists of XML elements organized in a hierarchy. The following tree structure shows the relationship between the elements of the tizen-manifest.xml file.

        +

        The Tizen native application manifest file consists of XML elements organized in a hierarchy. The following tree structure shows the relationship between the elements of the tizen-manifest.xml file.

        @@ -79,123 +75,123 @@ - + - + - + @@ -203,7 +199,7 @@ @@ -211,7 +207,7 @@ @@ -219,7 +215,7 @@ @@ -227,83 +223,83 @@
        <manifest><manifest>
         <author><author>
         <description><description>
          - <service-application> + <service-application>
            - <label> + <label>
            - <icon> + <icon>
            - <app-control> + <app-control>
            - <metadata> + <metadata>
            - <datacontrol> + <datacontrol>
            - <background-category> + <background-category>
          - <ui-application> + <ui-application>
            - <label> + <label>
            - <icon> + <icon>
            - <app-control> + <app-control>
            - <metadata> + <metadata>
            - <datacontrol> + <datacontrol>
            - <background-category> + <background-category>
          - <account> + <account>
            - <account-provider> + <account-provider>
            - <icon> + <icon>
            - <label> + <label>
            - <capability> + <capability>
          - <privileges> + <privileges>
            - <privilege> + <privilege>
          - <feature> + <feature>
          - <profile> + <profile>
          - <widget-application> + <widget-application>
            - <icon> + <icon>
            - <label> + <label>
            - <support-size> + <support-size>
          - <watch-application> + <watch-application>
            - <icon> + <icon>
            - <label> + <label>

        Manifest Elements

        -

        The following sections summarize the elements used in the tizen-manifest.xml file of the native application.

        +

        The following sections summarize the elements used in the tizen-manifest.xml file of the native application.

        <manifest> Element

        -

        This element contains the manifest information of the Tizen native application. The <manifest> element is an easily readable description of the Tizen package and serves as a container for the other elements of the configuration document.

        +

        This element contains the manifest information of the Tizen native application. The <manifest> element is an easily readable description of the Tizen package and serves as a container for the other elements of the configuration document.

        For more information on the relationship between the elements, see the element hierarchy.

        Occurrences:

          @@ -316,66 +312,66 @@
    Occurrences
    <author><author> 1 (optional)
    <description><description> 1 or more (optional)
    <service-application><service-application> 1 (optional)
    <ui-application><ui-application> 1 (optional)
    <account><account> 1 (optional)
    <privileges><privileges> 1 (optional)
    <feature><feature> 1 or more (optional)
    <profile><profile> 1 or more (optional)
    <widget-application><widget-application> 1 (optional)
    <watch-application><watch-application> 1 (optional)
    -

    Figure: Editing the <manifest> element in the manifest editor

    +

    Figure: Editing the <manifest> element in the manifest editor

    Editing the manifest element in the manifest editor

    Attributes:

    For example:

    @@ -400,9 +396,9 @@

    Attributes:

    @@ -418,7 +414,7 @@

    Attributes:

    Expected value:

    @@ -448,69 +444,58 @@ Occurrences -<label> +<label> 1 or more (optional) -<icon> +<icon> 1 or more (optional) -<app-control> +<app-control> 1 or more (optional) -<metadata> +<metadata> 1 or more (optional) -<datacontrol> +<datacontrol> 1 or more (optional) - <background-category> + <background-category> 1 or more (optional)

    Attributes:

    @@ -544,59 +529,59 @@ Occurrences -<label> +<label> 1 or more (optional) -<icon> +<icon> 1 or more (optional) -<app-control> +<app-control> 1 or more (optional) -<metadata> +<metadata> 1 or more (optional) -<datacontrol> +<datacontrol> 1 or more (optional) - <background-category> + <background-category> 1 or more (optional)

    Attributes:

    For example:

    <ui-application appid="org.tizen.uiapp" exec="uiapp" launch_mode="single" 
                     multiple="false" nodisplay="false" taskmanage="true" 
    -                hw-acceleration="default" type="capp">
    +                hw-acceleration="on" type="capp">
        <label>uiapplication</label>
        <label xml:lang="en-gb">testlang</label>
        <icon>uiapp.png</icon>
    @@ -624,7 +609,7 @@
          Occurrences 
         
     
    -<account-provider> 
    +<account-provider> 
          1 or more 
         
     
    @@ -646,26 +631,26 @@
          Occurrences 
         
     
    -<icon> 
    +<icon> 
          1 or more 
         
     
    -<label> 
    +<label> 
          1 or more 
         
     
    -<capability> 
    +<capability> 
          1 or more (optional) 
         
     
     

    Attributes:

    @@ -682,8 +667,8 @@

    This element contains the account provider icon image. Since the icons are used in the device under settings, the account icons are placed in a shared directory.

    Attributes:

    Expected value:

    <capability> Element

    -

    This element contains the account provider capability. The capabilities are defined as http://<VENDOR_INFORMATION>/account/capability/<NAME>.

    +

    This element contains the account provider capability. The capabilities are defined as http://<VENDOR_INFORMATION>/account/capability/<NAME>.

    Expected value:

    Attributes:

    @@ -792,7 +777,7 @@

    <profile> Element

    This element contains the targeted requirements for specific device categories, which layer on top of the Tizen Common Platform, including additional components for devices, APIs, and hardware requirements. The platform must conform to the Tizen common requirements as well as at least 1 profile.

    -

    The <profile> element determines on which kind of device the Tizen package operates. This element has no child elements.

    +

    The <profile> element determines on which kind of device the Tizen package operates. This element has no child elements.

    Occurrences:

    Attributes:

    For example:

    @@ -823,28 +808,28 @@ Occurrences -<icon> +<icon> 1 or more -<label> +<label> 1 or more -<support-size> +<support-size> 1

    Attributes:

    @@ -898,18 +883,18 @@

    Attributes:

    Expected value:

    For example:

    @@ -932,24 +917,24 @@ Occurrences - <icon> + <icon> 1 - <label> + <label> 1

    Attributes:

    diff --git a/org.tizen.studio/html/native_tools/multiple_screen_n.htm b/org.tizen.studio/html/native_tools/multiple_screen_n.htm
    index 752ea8b..2f24700 100644
    --- a/org.tizen.studio/html/native_tools/multiple_screen_n.htm
    +++ b/org.tizen.studio/html/native_tools/multiple_screen_n.htm
    @@ -53,13 +53,9 @@
     
  • Internationalization (i18n)
  • - - - - - - - - - -
    Note
    Screen density +
    + Note + Screen density

    Screen density is usually referred to as DPI (dots per inch), which means the number of individual dots that can be placed in a line within the span of 1 inch (2.54 cm).

    Resource

    Resources are, for example, images, strings, application binary, and references of external places (such as files and networks). They are used only on runtime in Tizen.

    @@ -70,10 +66,7 @@

    Internationalization and localization

    Tizen provides localized resources to make your application usable for different countries. The Tizen Studio supports the Resource Manager view and string localization (with the PO file editor). By using the Resource Manager, you can make an application that contains a variety of languages.

    -
    +

    Configuring Multiple Screens

    @@ -82,8 +75,8 @@

    There are 2 screen configuration types:

    - - - - - - - - - -
    Note
    The .po file name usually has the form <ll>_<CC>.po, where <ll> stands for an ISO 639 2-letter language code, and <CC> stands for an ISO 3166 2-letter country code. For example, for German in Germany, the file name is de_DE.po.
    - - - +
    + Note + The .po file name usually has the form <ll>_<CC>.po, where <ll> stands for an ISO 639 2-letter language code, and <CC> stands for an ISO 3166 2-letter country code. For example, for German in Germany, the file name is de_DE.po. +
    diff --git a/org.tizen.studio/html/native_tools/project_conversion_n.htm b/org.tizen.studio/html/native_tools/project_conversion_n.htm index 343d386..3abe3b5 100644 --- a/org.tizen.studio/html/native_tools/project_conversion_n.htm +++ b/org.tizen.studio/html/native_tools/project_conversion_n.htm @@ -46,17 +46,17 @@
    1. In the Tizen Studio, open the project you want to convert.
    2. Right-click the project and select Export to CLI Project. -

      An info dialog appears, and the project_def.prop and build_def.prop files and the Build directory are created.

      +

      An info dialog appears, and the project_def.prop and build_def.prop files and the Build directory are created.

    -

    The Tizen Studio and CLI differ on how they describe the project properties and build configuration. The CLI uses the project_def.prop file for the project properties and the build_def.prop file for the build configurations. During the export, the project_def.prop, build_def.prop, and the makefiles are added to the converted CLI project automatically.

    +

    The Tizen Studio and CLI differ on how they describe the project properties and build configuration. The CLI uses the project_def.prop file for the project properties and the build_def.prop file for the build configurations. During the export, the project_def.prop, build_def.prop, and the makefiles are added to the converted CLI project automatically.

    -

    Figure: Project conversion

    +

    Figure: Project conversion

    Project conversion

    About the project_def.prop file

    -

    The project_def.prop file describes the project properties, such as project type and list of source files. When you edit the properties in the project_def.prop file to manipulate the build or packaging process, use the following characters:

    +

    The project_def.prop file describes the project properties, such as project type and list of source files. When you edit the properties in the project_def.prop file to manipulate the build or packaging process, use the following characters:

    +

    Table: Project properties

    - - + +

    For example: APPNAME = test

    - + - + +

    For example: profile = mobile-2.3

    - + +

    For example: USER_SRCS = src/*.c

    - + - + - + - + - + - - + - + - - + + - - + + - + +

    The list must be used without the -L characters. An absolute path can be available.

    - - + +

    For example: USER_EDCS = res/edje/*.edc

    - - + + - - + + - - + + - - + +

    For example: USER_POS = res/po/*.po

    Table: Project properties
    Property Value
    APPNAMEAPPNAME Application name, which must be given in lowercase letters. -

    For example: APPNAME = test

    typetype Application type, which can be app, sharedLib, or staticLib. -

    For example: type = app

    +

    For example: type = app

    This is a readonly property; do not edit it.

    profileprofile Profile with a version. -

    For example: profile = mobile-2.3

    USER_SRCSUSER_SRCS -List of .c and .cpp source files in the current project. +List of .c and .cpp source files in the current project.

    The list can be used with wildcard characters: *.

    If there are more than 2 files, a white-space character separator is used.

    -

    For example: USER_SRCS = src/*.c

    USER_DEFSUSER_DEFS List of user-defined C files added to the compilation process. -

    The list must be used without the -D characters for the C compiler.

    -

    For example: USER_DEFS = ABC DEF

    +

    The list must be used without the -D characters for the C compiler.

    +

    For example: USER_DEFS = ABC DEF

    USER_UNDEFSUSER_UNDEFS List of user-defined C files excluded from the compilation process. -

    The list must be used without the -U characters for the C compiler.

    +

    The list must be used without the -U characters for the C compiler.

    USER_CPP_DEFSUSER_CPP_DEFS List of user-defined C++ files added to the compilation process. -

    The list must be used without the -D characters for the C++ compiler.

    +

    The list must be used without the -D characters for the C++ compiler.

    USER_CPP_UNDEFSUSER_CPP_UNDEFS List of user-defined C++ files excluded from the compilation process. -

    The list must be used without the -U characters for the C++ compiler.

    +

    The list must be used without the -U characters for the C++ compiler.

    USER_LIBSUSER_LIBS List of library paths added to the linking process. -

    The list must be used without the -l characters.

    +

    The list must be used without the -l characters.

    USER_OBJSList of the .o file paths added to the linking process. + USER_OBJSList of the .o file paths added to the linking process.

    An absolute path can be available.

    USER_INC_DIRSUSER_INC_DIRS List of reference paths for C and C++ compiling. -

    The list must be used without the -I characters.

    -

    For example: USER_INC_DIRS = inc

    +

    The list must be used without the -I characters.

    +

    For example: USER_INC_DIRS = inc

    An absolute path can be available.

    USER_INC_FILESList of .h file paths for C. -

    The list must be used without the -include characters. An absolute path can be available.

    USER_INC_FILESList of .h file paths for C. +

    The list must be used without the -include characters. An absolute path can be available.

    USER_CPP_INC_FILESList of .h file paths for C++. -

    The list must be used without the -include characters. An absolute path can be available.

    USER_CPP_INC_FILESList of .h file paths for C++. +

    The list must be used without the -include characters. An absolute path can be available.

    USER_LIB_DIRSUSER_LIB_DIRS List of reference paths for the library linking. -

    The list must be used without the -L characters. An absolute path can be available.

    USER_EDCSList of .edc file paths. + USER_EDCSList of .edc file paths.

    The list can be used with wildcard characters, such as *.

    If there are more than 2 files, a white-space character separator is used.

    -

    For example: USER_EDCS = res/edje/*.edc

    USER_EDCS_IMAGE_DIRSList of EDC reference paths for compiling, such as the -id option of the Tizen Studio. An absolute path can be available.USER_EDCS_IMAGE_DIRSList of EDC reference paths for compiling, such as the -id option of the Tizen Studio. An absolute path can be available.
    USER_EDCS_SOUND_DIRSList of EDC reference paths for compiling, such as the -sd option of the Tizen Studio. An absolute path can be available.USER_EDCS_SOUND_DIRSList of EDC reference paths for compiling, such as the -sd option of the Tizen Studio. An absolute path can be available.
    USER_EDCS_FONT_DIRSList of EDC reference paths for compiling, such as the -fd option of the Tizen Studio. An absolute path can be available.USER_EDCS_FONT_DIRSList of EDC reference paths for compiling, such as the -fd option of the Tizen Studio. An absolute path can be available.
    USER_POSList of .po file paths. + USER_POSList of .po file paths.

    The list can be used with wildcard characters, such as *.

    If there are more than 2 files, a white-space character separator is used.

    -

    For example: USER_POS = res/po/*.po

    About the build_def.prop file

    -

    The build_def.prop file describes some build configurations. You can run the pre-build and post-build commands by describing the following properties.

    +

    The build_def.prop file describes some build configurations. You can run the pre-build and post-build commands by describing the following properties.

    +

    Table: Build properties

    - - + - - + + - + - - + +
    Table: Build properties
    Property Description
    PREBUILD_COMMANDPREBUILD_COMMAND Shell command executed before the project build.
    PREBUILD_DESCDescription of PREBUILD_COMMAND.PREBUILD_DESCDescription of PREBUILD_COMMAND.
    POSTBUILD_COMMANDPOSTBUILD_COMMAND Shell command executed after the project build.
    POSTBUILD_DESCDescription of POSTBUILD_COMMAND.POSTBUILD_DESCDescription of POSTBUILD_COMMAND.

    In addition, you can use some environment variables to describe the pre- and post-build commands.

    + +

    Table: Environment variables

    - - + - - + + - - + +
    Table: Environment variables
    Variable Description
    PROJ_PATHPROJ_PATH Path of the project root directory
    BUILD_CONFIGBuild configuration: Debug or ReleaseBUILD_CONFIGBuild configuration: Debug or Release
    BUILD_ARCHArchitecture type: x86 or armBUILD_ARCHArchitecture type: x86 or arm
    diff --git a/org.tizen.studio/html/native_tools/project_explorer_view_n.htm b/org.tizen.studio/html/native_tools/project_explorer_view_n.htm index f729b53..fe09329 100644 --- a/org.tizen.studio/html/native_tools/project_explorer_view_n.htm +++ b/org.tizen.studio/html/native_tools/project_explorer_view_n.htm @@ -38,7 +38,7 @@

    Managing Tizen Projects with Project Explorer View

    The Project Explorer view allows you to view and manage Tizen projects. You can view and change the resources of a project in the view, and build, export, and convert projects through the view.

    -

    Figure: Project Explorer

    +

    Figure: Project Explorer

    Project Explorer

    In this view, you can:

    @@ -55,19 +55,19 @@

    Opening the Project Explorer View

    Usually, the Project Explorer view is located in the left-top side in the Tizen Studio. You can change the position by dragging and dropping it. If you close the view, you can show it again by selecting Project Explorer in Window > Show View > Other > General.

    -

    Figure: Opening the view

    +

    Figure: Opening the view

    Opening the view

    Using the Project Explorer View

    The files that you select in the Project Explorer view affect the information that is displayed in the other views. You can execute and set some operations and configurations by clicking the icons (Toolbar icons) in the toolbar.

    -

    Figure: Executing operations

    +

    Figure: Executing operations

    Executing operations

    To execute operations, such as copying, moving, creating new resources, and comparing resources with each other, right-click on any resource in the Project Explorer view, and select the desired action in the context menu. The items in the context menu depend on the focused item. Different folder and file types have different action options.

    +

    Table: Project Explorer toolbar

    - @@ -116,8 +116,8 @@
    Table: Project Explorer toolbar
    Icon
    +

    Table: Project Explorer context menu

    - diff --git a/org.tizen.studio/html/native_tools/project_wizard_n.htm b/org.tizen.studio/html/native_tools/project_wizard_n.htm index da85292..f01118e 100644 --- a/org.tizen.studio/html/native_tools/project_wizard_n.htm +++ b/org.tizen.studio/html/native_tools/project_wizard_n.htm @@ -54,7 +54,7 @@

    Project Type

    When the Tizen Project Wizard opens, you must first select the project type.

    -

    Figure: Selecting the project type

    +

    Figure: Selecting the project type

    Selecting the project type

    The Tizen Studio provides various project templates and samples for the mobile and wearable devices according to the installed platform. The Tizen Project Wizard helps you select the template and sample for your project.

    @@ -88,7 +88,7 @@

    You can select the profile and version supported by your project, such as a mobile or wearable device. In addition, the Tizen Studio shows you which platforms among the supported platforms have been installed.

    Based on the selected profile and version, a list of templates is shown in the template selection step.

    -

    Figure: Selecting the profile and version

    +

    Figure: Selecting the profile and version

    File analysis

    To move to the next step, select the profile and version, and click Next.

    @@ -97,7 +97,7 @@

    You can select the native or Web application type for your project. For more information, see Native Application and Web Application.

    Based on the selected application type, a list of templates is shown in the template selection step.

    -

    Figure: Selecting the application type

    +

    Figure: Selecting the application type

    Selecting the application type

    To move to the next step, select the application type and click Next.

    @@ -105,7 +105,7 @@

    Template

    You can select the template for your project while viewing information about a variety of templates. The Tizen Project Wizard creates the project based on the selected template.

    -

    Figure: Selecting the template

    +

    Figure: Selecting the template

    Selecting the template

    To move to the next step, select the template and click Next.

    @@ -113,13 +113,13 @@

    Project Properties

    You can set basic project properties, such as the project name, location, and working sets.

    -

    Figure: Setting project properties

    +

    Figure: Setting project properties

    Setting project properties

    The options you can set are listed in the following table.

    +

    Table: Project properties

    Table: Project Explorer context menu
    Menu
    - @@ -135,7 +135,7 @@ - + diff --git a/org.tizen.studio/html/native_tools/resource_manager_n.htm b/org.tizen.studio/html/native_tools/resource_manager_n.htm index 32b8a62..6003e21 100644 --- a/org.tizen.studio/html/native_tools/resource_manager_n.htm +++ b/org.tizen.studio/html/native_tools/resource_manager_n.htm @@ -40,38 +40,28 @@

    Tizen native applications can run on different types of devices, such as wearable, phone, tablets, and TVs. Tizen also supports various resolutions (WVGA ~ XQXGA) and resources.

    When you take advantage of the above features, remember that you must always polish your work to create an optimal application for each device. The Tizen Studio provides a tool (Resource Manager view) for developing applications for multiple device types and resolutions.

    -
    Table: Project properties
    Property
    Use default locationIf you check this option, the project is created in the $<workspace_location>/<project_name> directory.If you check this option, the project is created in the $<workspace_location>/<project_name> directory.
    Location
    - - - - - - - - -
    Note
    The Resource Manager is supported in the 2.4 platform only. If you cannot access the Resource Manager view, check the version and api-version attributes in the <manifest> element of the application manifest file.
    +
    + Note + The Resource Manager is supported in the 2.4 platform only. If you cannot access the Resource Manager view, check the version and api-version attributes in the <manifest> element of the application manifest file. +
    +

    Resource Directory Hierarchy

    An application must provide a different UI depending on a specific device configuration, such as the screen size and screen orientation. When developing the application, provide alternative resources for each device display state by grouping them in resource directories.

    -

    The res/contents directory contains predefined directories for specific alternative resources, and the res.xml file that is referenced at application runtime. The following example of a Basic UI project shows how to group the resources in your project. Place resources, such as images and sounds, in a specific subdirectory of the project's res/contents directory or the root directory of the contents directory.

    +

    The res/contents directory contains predefined directories for specific alternative resources, and the res.xml file that is referenced at application runtime. The following example of a Basic UI project shows how to group the resources in your project. Place resources, such as images and sounds, in a specific subdirectory of the project's res/contents directory or the root directory of the contents directory.

    -

    Figure: Resource directory hierarchy

    +

    Figure: Resource directory hierarchy

    Resource directory hierarchy

    - - - - - - - - - -
    Note
    Always include the default resources in the root directory (not in a subdirectory of the contents directory) to ensure that your application has no dependencies on a specific device configuration.
    +
    + Note + Always include the default resources in the root directory (not in a subdirectory of the contents directory) to ensure that your application has no dependencies on a specific device configuration. +

    A specific subdirectory is named with a configuration-qualifier. The configuration-qualifier is an indicator that represents each device configuration, and more content can be appended to it with a dash (-). The following table shows the 2 configuration-qualifier types currently supported by the Tizen Studio.

    + +

    Table: Configuration-qualifiers

    - @@ -80,28 +70,29 @@ - - + + - - + +
    Table: Configuration-qualifiers
    Configuration-qualifier type
    Language and region codeFor example, en_US or en_UKThe type values have the form ll_CC, where ll stands for an ISO 639 2-letter language code, and the optionally followed CC stands for an ISO 3166 2-upper-letter region code.For example, en_US or en_UKThe type values have the form ll_CC, where ll stands for an ISO 639 2-letter language code, and the optionally followed CC stands for an ISO 3166 2-upper-letter region code.
    DPI (Dot Per Inch) densityLDPI -

    MDPI

    -

    HDPI

    -

    XHDPI

    -

    XXHDPI

    LDPI: low-dpi from 0 to 240 -

    MDPI: medium-dpi from 241 to 300

    -

    HDPI: high-dpi from 301 to 380

    -

    XHDPI: extra-high-dpi from 381 to 480

    -

    XXHDPI: extra-extra-high-dpi from 481 to 600

    LDPI +

    MDPI

    +

    HDPI

    +

    XHDPI

    +

    XXHDPI

    LDPI: low-dpi from 0 to 240 +

    MDPI: medium-dpi from 241 to 300

    +

    HDPI: high-dpi from 301 to 380

    +

    XHDPI: extra-high-dpi from 381 to 480

    +

    XXHDPI: extra-extra-high-dpi from 481 to 600

    Each application base scale can be applied to each DPI through a relation modification between the DPI and profile factor. For example, in case of the mobile profile, the Z device has a small screen (profile factor: 0.7) and the 1.8 base scale value, so the proper DPI is LDPI. The Z3 device has a large screen (profile factor: 0.8) and the 2.6 base scale value, so the proper DPI is MDPI.

    + +

    Table: DPI and profile factor

    - @@ -138,12 +129,12 @@
    Table: DPI and profile factor
    DPI type
    -

    The res.xml file is composed of XML elements, and describes where each alternative resource is grouped into a device configuration. The following example shows a res.xml file based on the BasicUI project.

    +

    The res.xml file is composed of XML elements, and describes where each alternative resource is grouped into a device configuration. The following example shows a res.xml file based on the BasicUI project.

    -

    Figure: res.xml file

    +

    Figure: res.xml file

    res.xml file

    -

    The res.xml file is automatically generated as part of the build packaging process by the Tizen Studio. Since editing the res.xml file manually is not easy, the Tizen Studio helps to minimize this difficulty by supporting the Resource Manager view.

    +

    The res.xml file is automatically generated as part of the build packaging process by the Tizen Studio. Since editing the res.xml file manually is not easy, the Tizen Studio helps to minimize this difficulty by supporting the Resource Manager view.

    Alternative Resources with the Resource Manager

    @@ -156,40 +147,28 @@
  • Generate code snippets by dragging and dropping in the source editor area.
  • - - - - - - - - - -
    Note
    If the Resource Manager view is not visible, open it by selecting Window > Show View > Other > Tizen > Resource Manager from the Tizen Studio menu.
    - -

    To place resource files (rsc1.edc file and the images referenced by it) for en_US and en_US-LDPI configurations:

    +
    + Note + If the Resource Manager view is not visible, open it by selecting Window > Show View > Other > Tizen > Resource Manager from the Tizen Studio menu. +
    + +

    To place resource files (rsc1.edc file and the images referenced by it) for en_US and en_US-LDPI configurations:

    1. Open the Resource Configuration dialog by clicking Setting icon in the Resource Manager view toolbar.
    2. Add a configuration by selecting LDPI and MDPI in the DPI combo box.
    3. -
    4. Drag the edje folder and drop it into the proper tab list view area in the Resource Manager view. +
    5. Drag the edje folder and drop it into the proper tab list view area in the Resource Manager view. The following figure shows the Tab list view (on the left) and the Folding list view (on the right) of the Resource Manager view. You can switch between the views using the buttons in the Resource Manager view toolbar (Folding list to switch to folding lists and Tab to switch to tab lists).
    -

    Figure: Tab view and Folding list view

    +

    Figure: Tab view and Folding list view

    Tab view and Folding list view

    - - - - - - - - - -
    Note
    All images used by the EDC file must be placed in the edje_res folder created by the Tizen Studio. The edje_res folder is excluded from the .tpk package file.
    +
    + Note + All images used by the EDC file must be placed in the edje_res folder created by the Tizen Studio. The edje_res folder is excluded from the .tpk package file. +

    Managing Resources

    @@ -199,8 +178,8 @@ The following figure shows the Tab list view (on the left) and the Folding list
  • Create a resource directory hierarchy and copy images into it.

    Copy images

  • -
  • Create a res.xml file by building the project package.
  • -
  • Check the res.xml file content. +
  • Create a res.xml file by building the project package.
  • +
  • Check the res.xml file content.

    Check the res.xml file

  • Add code for loading alternative resources by using the Resource Manager API (in mobile applications). diff --git a/org.tizen.studio/html/native_tools/static_analyzer_n.htm b/org.tizen.studio/html/native_tools/static_analyzer_n.htm index 3fcb11c..133dfda 100644 --- a/org.tizen.studio/html/native_tools/static_analyzer_n.htm +++ b/org.tizen.studio/html/native_tools/static_analyzer_n.htm @@ -46,7 +46,7 @@

    In the Project Explorer view, right-click the project on which you want to run the static analyzer, and select Check Potential Bugs with Build.

    The project is automatically built and the static analyzer is run during the build process.

    -

    Figure: Running the Static Analyzer

    +

    Figure: Running the Static Analyzer

    Running the Static Analyzer

    Customizing the Static Analyzer

    @@ -55,14 +55,11 @@

    To customize the static analyzer:

    1. In the Project Explorer view, right-click on the project and select Properties. -

    2. Go to Tizen Studio > Static Analysis.
    3. Select and clear the checkers, as needed.

      The analysis is carried out for the selected issues only.

      - -

    @@ -72,7 +69,7 @@

    When the static analysis is completed, the issues found by the static analyzer are listed in the Potential Bugs view on the right pane of the Tizen Studio.

    The issues are categorized based on type. You can expand the categories and double-click the issues to navigate to the exact location of the problem along with the path which caused the issue.

    -

    Figure: Analysis results in the Potential Bugs view

    +

    Figure: Analysis results in the Potential Bugs view

    Analysis results in the Potential Bugs view

    diff --git a/org.tizen.studio/html/native_tools/storyboard_n.htm b/org.tizen.studio/html/native_tools/storyboard_n.htm index bb22196..8466274 100644 --- a/org.tizen.studio/html/native_tools/storyboard_n.htm +++ b/org.tizen.studio/html/native_tools/storyboard_n.htm @@ -67,13 +67,13 @@

    When you select the Storyboard tab in the WYSIWYG editor, the Storyboard graphical viewer opens. If the UI Builder - Navigation View application template is used, the viewer contains 3 default views with some default connections between them. Otherwise, the viewer contains a single view.

    -

    Figure: Views shown in the Storyboard tab

    +

    Figure: Views shown in the Storyboard tab

    Views shown in the Storyboard tab

    To add a new view, right-click the editor, select Add View, and select the view type you want. Alternatively, you can add a new view in the Navigation view and drag and drop the view from the Navigation view to the Storyboard tab.

    -

    Figure: Adding a new view

    +

    Figure: Adding a new view

    Adding a new view

    You can move the views in the viewer by selecting the black label containing the view name and dragging the view to a new position.

    @@ -91,7 +91,7 @@ Alternatively, you can add a new view in the Navigation view an

    Select an appropriate event from the menu.

    Select event

    -

    After you select the event, the new connection is displayed and code is generated in the layout.xml file. The event handler code is also generated in the C file.

    +

    After you select the event, the new connection is displayed and code is generated in the layout.xml file. The event handler code is also generated in the C file.

    Connection

  • To edit the event code, right-click the connection, and select Go to Source Code. @@ -100,8 +100,8 @@ Alternatively, you can add a new view in the Navigation view an
  • In the source code, 2 functions are generated:
      -
    • view1_button1_onclicked() is called before the transition is performed to the target view.
    • -
    • view1_button1_onclicked_post() is called after the transition has been performed.
    • +
    • view1_button1_onclicked() is called before the transition is performed to the target view.
    • +
    • view1_button1_onclicked_post() is called after the transition has been performed.

    Write whatever operation you want to perform during the pre and post transition.

    Source code

    @@ -112,10 +112,10 @@ Alternatively, you can add a new view in the Navigation view an

    When you select a component or connection in the Storyboard, the editable properties related to it are displayed in the Properties view. You can view the transition properties and change the connection target view and title.

    -

    Figure: Component properties

    +

    Figure: Component properties

    Component properties

    -

    Figure: Connection properties

    +

    Figure: Connection properties

    Connection properties

    Maximizing and Minimizing Views

    @@ -124,7 +124,7 @@ Alternatively, you can add a new view in the Navigation view an

    Use this feature to reduce the clutter of multiple views present in the application without compromising on losing the overall sight of the application project.

    The startup view can be identified by an arrow symbol in the left top corner of the view.

    -

    Figure: Maximizing and minimizing views

    +

    Figure: Maximizing and minimizing views

    Maximizing and minimizing views

    diff --git a/org.tizen.studio/html/native_tools/t_trace_n.htm b/org.tizen.studio/html/native_tools/t_trace_n.htm index 4a047b3..24272be 100644 --- a/org.tizen.studio/html/native_tools/t_trace_n.htm +++ b/org.tizen.studio/html/native_tools/t_trace_n.htm @@ -45,7 +45,7 @@

    The following figure illustrates the T-trace dialog elements.

    -

    Figure: T-trace dialog

    +

    Figure: T-trace dialog

    T-trace dialog

    1. Tags @@ -75,17 +75,11 @@

      Running the T-trace

      When you run the T-trace, the tracing process gathers traces during a specified time period. After tracing is finished, the T-trace processes the traces and creates a trace report in the HTML format.

      - - - - - - - - - - -
      Note
      To operate the T-trace, you must first install Python (2.7.x) and Google Chrome™ on your computer.
      + +
      + Note + To operate the T-trace, you must first install Python (2.7.x) and Google Chrome™ on your computer. +

      To run the T-trace in the Tizen Studio:

        @@ -97,7 +91,7 @@
      1. In the dialog, set the tracing options and click Ready to trace.
      -

      You can also run the T-trace from the command line. The T-trace script is located in the <TIZEN_STUDIO>/tools/ttrace directory, and it requires that Python (2.7.x) or later to be installed on your computer.

      +

      You can also run the T-trace from the command line. The T-trace script is located in the <TIZEN_STUDIO>/tools/ttrace directory, and it requires that Python (2.7.x) or later to be installed on your computer.

      To run the T-trace from the command line:

        @@ -120,17 +114,17 @@ $ python ttrace.py --help

        Viewing the Tracing Result

        -

        The results are stored in the <TIZEN_STUDIO>/tools/ttrace/trace directory. Both a .text binary-format trace file and a .html result report file are generated. The files are named with a timestamp (YYYYMMDDHHMMSS).

        +

        The results are stored in the <TIZEN_STUDIO>/tools/ttrace/trace directory. Both a .text binary-format trace file and a .html result report file are generated. The files are named with a timestamp (YYYYMMDDHHMMSS).

        You can view the results using the Google Chrome™ browser as a viewer. The viewer is launched with the result report when you click Show result in the T-trace dialog. If you run the T-trace from the command line, open the result report manually in the viewer.

        -

        Figure: T-trace viewer

        +

        Figure: T-trace viewer

        T-trace viewer

        The following table lists the keyboard shortcuts available in the viewer.

        +

        Table: Viewer keyboard shortcuts

        - @@ -186,8 +180,8 @@ $ python ttrace.py --help

        The result report allows you to analyze various performance aspects of your application. The report shows how your application interacts with the Tizen framework, according to category tags you selected for tracing. The following table shows the kind of information each tag provides.

        +

        Table: Tag-specific information

        Table: Viewer keyboard shortcuts
        Keyboard shortcut
        - @@ -227,12 +221,12 @@ $ python ttrace.py --help

        You can analyze your application life-cycle using the T-trace in native applications. The following figure illustrates the various states of a Tizen application. The T-trace shows you the state changes as well as how much time is consumed at each state while the application is launching, running, and terminating.

        -

        Figure: Application life-cycle

        +

        Figure: Application life-cycle

        Application life-cycle

        To analyze the application life-cycle, run the T-trace with the Application manager tag. When the tracing process is finished, the T-trace generates a report, as shown in the following figure.

        -

        Figure: Application life-cycle report

        +

        Figure: Application life-cycle report

        Application life-cycle report

        In the section for Kernel and application processes, you can see your application state changes and system information, such as the CPU frequency and kernel task scheduling on a common timeline. With this information, you can investigate in which state your application spends unnecessary time and then make changes to optimize the time usage.

        diff --git a/org.tizen.studio/html/native_tools/ui_builder_n.htm b/org.tizen.studio/html/native_tools/ui_builder_n.htm index 78afbab..9d18ee3 100644 --- a/org.tizen.studio/html/native_tools/ui_builder_n.htm +++ b/org.tizen.studio/html/native_tools/ui_builder_n.htm @@ -95,7 +95,7 @@

        You can create the UI layout in the native UI Builder by using the XML editor in the Source tab to edit the layout file.

        While editing in the Source tab, you can preview the resulting layout in the preview pane.

        -

        Figure: Source tab

        +

        Figure: Source tab

        Source tab

        The native UI Builder provides content assist functionality, which helps you to write code faster and more efficiently. To use this functionality, type a few characters of the word and press Ctrl + Space.

        @@ -116,14 +116,14 @@
      1. To remove the event handler, click Remove the event handler.
      2. -

        Figure: Adding an event handler

        +

        Figure: Adding an event handler

        Add event handler

        Coding the Event Handler Actions

        When you click Get the event handler in the Properties view, the C code editor opens the generated event handler code. The following figure shows an example of the automatically generated event handler stub.

        -

        Figure: Event handler stub code

        +

        Figure: Event handler stub code

        Event handler stub code

        The signature contains the following parameters:

        @@ -131,7 +131,7 @@ void view1_button1_onclicked(uib_view1_view_context *vc, Evas_Object *obj, void *event_info)
          -
        • vc: View context related to the event. You can access the UI component in the view through this structure. The following code example shows a sample of the view context. +
        • vc: View context related to the event. You can access the UI component in the view through this structure. The following code example shows a sample of the view context.
           struct _uib_view1_view_context {
               /* Parent evas_object which was a parameter of the create function */
          @@ -151,13 +151,13 @@ struct _uib_view1_view_context {
           typedef struct _uib_view1_view_context;
           
        • -
        • obj: UI component where the event occurs.
        • -
        • event_info: User data passed from the Tizen framework. The event type determines the available data.
        • +
        • obj: UI component where the event occurs.
        • +
        • event_info: User data passed from the Tizen framework. The event type determines the available data.

        The following example shows how to change the button text in the event handler code:

        -

        Figure: Event handler code

        +

        Figure: Event handler code

        Event handler code

        diff --git a/org.tizen.studio/html/native_tools/unit_test_n.htm b/org.tizen.studio/html/native_tools/unit_test_n.htm index 95cd24e..6ce2b4f 100644 --- a/org.tizen.studio/html/native_tools/unit_test_n.htm +++ b/org.tizen.studio/html/native_tools/unit_test_n.htm @@ -60,9 +60,9 @@

        To use the test project:

          -
        1. In the Project Explorer view, open the <TEST_PROJECT_HOME>/src/<TEST_PROJECT_NAME>TestCase.cpp file.
        2. -
        3. Add a TEST_F() test case. -

          Each TEST_F() test case is independent. If the TEST_F() test case is associated with a fixture class name, the test case runs based on that fixture class.

        4. +
        5. In the Project Explorer view, open the <TEST_PROJECT_HOME>/src/<TEST_PROJECT_NAME>TestCase.cpp file.
        6. +
        7. Add a TEST_F() test case. +

          Each TEST_F() test case is independent. If the TEST_F() test case is associated with a fixture class name, the test case runs based on that fixture class.

        8. Add assertions.

          The unit test tool supports basic assertions, binary comparison, and string comparison in the gtest. For more information, see Google Test Advanced Guide.

        @@ -94,11 +94,11 @@ extern "C" -

        In the following example with a calculator sample project, a test case is created for the utils_round() function declared in the utils/utils.h header file:

        +

        In the following example with a calculator sample project, a test case is created for the utils_round() function declared in the utils/utils.h header file:

        1. Create a calculator project named myProject, and for it a unit test project named myProjectTest.
        2. -
        3. Append the test method to the end of the myProjectTest/src/myProjectTestTestCase.cpp file: +
        4. Append the test method to the end of the myProjectTest/src/myProjectTestTestCase.cpp file:
           TEST_F(TestSuite, utils_round)
           {
          @@ -108,7 +108,7 @@ TEST_F(TestSuite, utils_round)
           }
           
        5. -
        6. Change the line that includes the utils/utils.h file: +
        7. Change the line that includes the utils/utils.h file:
           #include "view/window.h"
           #include "view/main-view.h"
          @@ -124,12 +124,12 @@ extern "C"
           

          Running the Unit Test Project on Devices

          To launch the unit test project, click the Run icon in the toolbar.

          -

          Figure: Launching the test project

          +

          Figure: Launching the test project

          Launching the test project

          After the test cases are executed, the results are displayed on both the Test Result and Test Explorer views.

          -

          Figure: Test results

          +

          Figure: Test results

          Test results

          Customizing the Launch Configuration

          @@ -150,8 +150,8 @@ extern "C"

          On the Test Explorer view, you can launch the test cases, and check the results. If you want to open the Test Explorer view or update the test cases, right-click the unit test project in the Project Explorer, and select Show in Test Explorer.

          When the test cases are executed, the test case states are automatically updated.

          +

          Table: Test case states

        Table: Tag-specific information
        Tag
        - diff --git a/org.tizen.studio/html/platform_tools/cover_platform.htm b/org.tizen.studio/html/platform_tools/cover_platform.htm index 4844e04..3fc7b16 100644 --- a/org.tizen.studio/html/platform_tools/cover_platform.htm +++ b/org.tizen.studio/html/platform_tools/cover_platform.htm @@ -39,16 +39,10 @@

        The Tizen Studio provides a platform development environment that helps you develop preloaded platform applications, platform libraries, and device drivers in Ubuntu.

        -
        Table: Test case states
        Icon
        - - - - - - - - -
        Note
        Platform development is supported in Ubuntu 14.04 and higher (32- or 64-bit) only.
        +
        + Note + Platform development is supported in Ubuntu 14.04 and higher (32- or 64-bit) only. +

        By using the Tizen Studio for Ubuntu, you can, for example:

        @@ -110,7 +104,7 @@
      3. Select a rootstrap in the Rootstrap View.
      4. In the Project Explorer view, right-click the project and select Build Project.

        A dialog box appears and monitors the progress of building and packaging the project.

        -

        After packaging is completed, the package file is located in the $<PROJECT_NAME>\Debug or $<PROJECT_NAME>\Release folder within the project folder.

      5. +

        After packaging is completed, the package file is located in the $<PROJECT_NAME>\Debug or $<PROJECT_NAME>\Release folder within the project folder.

      If an error message appears in the Console view due to dependency problems, open the Package Manager and install the needed packages for building the project. After the installation is completed, rebuild the platform project to confirm that the dependency problems have been solved.

      @@ -120,7 +114,7 @@

      The Git Build System (GBS) builds a platform project internally. You can set the GBS options in the IDE.

      For more information about GBS, see Git Build System.

      -

      Figure: GBS options

      +

      Figure: GBS options

      GBS options

      To set the GBS options:

      @@ -179,9 +173,9 @@

      To debug a coredump archive:

      1. Connect a device to your computer.
      2. -
      3. In the Connection Explorer view, select the device for which a coredump archive to debug exists (for example, /opt/usr/share/crash/).
      4. +
      5. In the Connection Explorer view, select the device for which a coredump archive to debug exists (for example, /opt/usr/share/crash/).
      6. In the Project Explorer view, right-click the project and select Debug As > Tizen Platform Project – Coredump.
      7. -
      8. In the Launch Configuration dialog, select a core dumped file (*.coredump) and CS file (*.cs) by clicking Remote Browse or Local Browse. +
      9. In the Launch Configuration dialog, select a core dumped file (*.coredump) and CS file (*.cs) by clicking Remote Browse or Local Browse.

        Selecting files

        If the coredump information is displayed, click Next, select a rootstrap, and click Next again. (It takes about 1~5 minutes when installing the required libraries.)

        Selecting rootstrap

        diff --git a/org.tizen.studio/html/platform_tools/platform_tools.htm b/org.tizen.studio/html/platform_tools/platform_tools.htm index 434b6d0..971bb8e 100644 --- a/org.tizen.studio/html/platform_tools/platform_tools.htm +++ b/org.tizen.studio/html/platform_tools/platform_tools.htm @@ -46,7 +46,7 @@

        The Rootstrap View displays available rootstraps and the currently selected rootstrap. In the view, you can select, create, and remove a rootstrap, and also manage packages.

        -

        Figure: Rootstrap View

        +

        Figure: Rootstrap View

        Rootstrap View

          @@ -69,7 +69,7 @@

          To run the Package Manager, right-click the desired rootstrap and select Manage Packages. By selecting the applicable tab in the Package Manager, you can install packages to the rootstrap or the device.

          -

          Figure: Package Manager

          +

          Figure: Package Manager

          Package Manager

          On both tabs:

          @@ -87,7 +87,7 @@
        • Refresh: Resynchronize the package index files from the package repositories. If the repositories are changed, the package index is refreshed.
        • Upgrade: Perform a distribution upgrade.
        • Install: Install selected packages.
        • -
        • Install Local: Install the selected package files (.rpm).
        • +
        • Install Local: Install the selected package files (.rpm).
        • Uninstall: Uninstall selected packages.
        • Filter: Search for a package.
        @@ -98,22 +98,16 @@

        Specfile Editor

        -

        The Specfile Editor Plug-in for the Eclipse provides useful features to help you manage .spec files. The plug-in allows you to leverage several Eclipse GUI features in editing the .spec files, including an outline view in the editor, auto-completion, highlighting, file hyperlinks, and folding.

        +

        The Specfile Editor Plug-in for the Eclipse provides useful features to help you manage .spec files. The plug-in allows you to leverage several Eclipse GUI features in editing the .spec files, including an outline view in the editor, auto-completion, highlighting, file hyperlinks, and folding.

        - - - - - - - - - -
        Note
        The Tizen platform IDE does not support features relevant to rpmlint and createrepo.
        +
        + Note + The Tizen platform IDE does not support features relevant to rpmlint and createrepo. +

        To set the Specfile Editor configuration, go to Window > Preferences > Others > Specfile Editor in the IDE toolbar. For more information, see Help Contents > Specfile Editor User Guide > Configuring Specfile Editor Settings.

        -

        Figure: Specfile Editor

        +

        Figure: Specfile Editor

        Specfile Editor

        Content Assist

        @@ -129,31 +123,25 @@

        PO File Editor

        -

        The PO file editor is used to edit .po files to generate compiled gettext .mo files, which are used by Tizen platform applications to localize the user interface.

        +

        The PO file editor is used to edit .po files to generate compiled gettext .mo files, which are used by Tizen platform applications to localize the user interface.

        - - - - - - - - - -
        Note
        There is no specific wizard to create the .po files. To create a .po file, go to New > Other > General > File and save the file with the .po extension.
        +
        + Note + There is no specific wizard to create the .po files. To create a .po file, go to New > Other > General > File and save the file with the .po extension. +
        -

        Figure: PO file editor

        +

        Figure: PO file editor

        PO file editor

          -
        • To open the PO file editor, double-click the .po file in the Project Explorer view.
        • +
        • To open the PO file editor, double-click the .po file in the Project Explorer view.
        • To add a new string key, click the Add String Key icon.

          An empty row is added to the string table. Fill in the details for the row.

        • To remove a string key, right-click the key and select Remove.
        • To add a language, click the Add Language icon.

          In the Add Languages dialog, select the language code item you want.

          -

          Figure: Adding a language

          +

          Figure: Adding a language

          Adding a language

        • To remove a language, in the Supporting Languages pane, click the Remove Language icon and select the applicable language code item in the Remove Languages dialog.
        • diff --git a/org.tizen.studio/html/web_tools/IDE_preferences_w.htm b/org.tizen.studio/html/web_tools/IDE_preferences_w.htm index b8982d8..8ccb4fa 100644 --- a/org.tizen.studio/html/web_tools/IDE_preferences_w.htm +++ b/org.tizen.studio/html/web_tools/IDE_preferences_w.htm @@ -58,19 +58,13 @@

          Setting Web Preferences

          To set Web preferences, go to Window > Preferences > Tizen Studio > Web in the Tizen Studio menu.

          + +
          + Note + In Windows® and Linux, Preferences is located in the Window menu. However, in Mac OS® X, it is located in the Tizen Studio menu. +
          - - - - - - - - - -
          Note
          In Windows® and Linux, Preferences is located in the Window menu. However, in Mac OS® X, it is located in the Tizen Studio menu.
          - -

          Figure: Tizen Studio preferences

          +

          Figure: Tizen Studio preferences

          Tizen Studio preferences

          The preferences are listed in the left pane, and you can search for items by using the search box on the top left.

          @@ -78,9 +72,9 @@

          Widget ID

          To set a customized prefix for the widget ID, go to Window > Preferences > Tizen Studio > Web, and enter the value in the Widget ID prefix field. The default value of this field is http://yourdomain/.

          -

          The value is automatically used in all widget IDs when you create a new Web application in the Tizen Studio. You can view the widget ID in the config.xml file of the project.

          +

          The value is automatically used in all widget IDs when you create a new Web application in the Tizen Studio. You can view the widget ID in the config.xml file of the project.

          -

          Figure: Widget ID

          +

          Figure: Widget ID

          Widget ID

          Chrome™ Browser Path

          @@ -98,7 +92,7 @@

          Configuration Editor

          Go to Tizen Studio > Web > Editor > Configuration Editor.

          -

          To stop error messages from being displayed if you incorrectly modify the config.xml source file, select the Don't show error message check box.

          +

          To stop error messages from being displayed if you incorrectly modify the config.xml source file, select the Don't show error message check box.

          CSS Editor

          @@ -115,7 +109,7 @@
        • Warning
        • Error
        -

        You can exclude CSS files from parsing by specifying pattern strings, separated by a comma, in the Exclude files that match these patterns from validation field. The default value in this field is min, jquery, jqm-docs, phonegap, sencha, tizen-web-ui-fw, dowhide, globalize, coderdeck, modernizr, tau. For instance, since parsing the jquery.min.css file generates many warnings, the default pattern string values exclude the parsing of this CSS file.

        +

        You can exclude CSS files from parsing by specifying pattern strings, separated by a comma, in the Exclude files that match these patterns from validation field. The default value in this field is min, jquery, jqm-docs, phonegap, sencha, tizen-web-ui-fw, dowhide, globalize, coderdeck, modernizr, tau. For instance, since parsing the jquery.min.css file generates many warnings, the default pattern string values exclude the parsing of this CSS file.

        HTML Editor

        @@ -137,7 +131,7 @@
      10. Warning
      11. Error
      12. -

        You can exclude JS files from parsing by specifying pattern strings, separated by a comma, in the Exclude files that match these patterns from validation field. The default value in this field is min, jquery, jqm-docs, phonegap, sencha, tizen-web-ui-fw, dowhide, globalize, coderdeck, modernizr, tau. For instance, since parsing the jquery.min.js file generates many warnings, the default pattern string values exclude the parsing of this JS file.

        +

        You can exclude JS files from parsing by specifying pattern strings, separated by a comma, in the Exclude files that match these patterns from validation field. The default value in this field is min, jquery, jqm-docs, phonegap, sencha, tizen-web-ui-fw, dowhide, globalize, coderdeck, modernizr, tau. For instance, since parsing the jquery.min.js file generates many warnings, the default pattern string values exclude the parsing of this JS file.

        Json Editor

        @@ -159,7 +153,7 @@
      13. Warning
      14. Error
      15. -

        You can exclude JS files from parsing by specifying pattern strings, separated by a comma, in the Exclude files that match these patterns from validation field. The default value in this field is min, jquery, jqm-docs, phonegap, sencha, tizen-web-ui-fw, dowhide, globalize, coderdeck, modernizr, tau. For instance, since parsing the jquery.min.js file generates many warnings, the default pattern string values exclude the parsing of this JS file.

        +

        You can exclude JS files from parsing by specifying pattern strings, separated by a comma, in the Exclude files that match these patterns from validation field. The default value in this field is min, jquery, jqm-docs, phonegap, sencha, tizen-web-ui-fw, dowhide, globalize, coderdeck, modernizr, tau. For instance, since parsing the jquery.min.js file generates many warnings, the default pattern string values exclude the parsing of this JS file.

        National Language Support

        @@ -177,8 +171,8 @@
      16. zh_TW (Chinese Traditional)
      17. -

        To support a language, you must specify the language code. For example, to support the Korean language, edit the eclipse.ini file, which is located in your <TIZEN_STUDIO>/ide directory.

        -

        The following snippet shows the current eclipse.ini file supporting the English language:

        +

        To support a language, you must specify the language code. For example, to support the Korean language, edit the eclipse.ini file, which is located in your <TIZEN_STUDIO>/ide directory.

        +

        The following snippet shows the current eclipse.ini file supporting the English language:

         -clean
         -nl
        @@ -186,7 +180,7 @@ en
         -vmargs
         
        -

        To support the Korean language, replace en with ko and save the eclipse.ini file.

        +

        To support the Korean language, replace en with ko and save the eclipse.ini file.

         -clean
         -nl
        @@ -197,7 +191,7 @@ ko
         

        Launch

        Go to Tizen Studio > Web > Launch.

        -

        Select the option, if you want to launch the application even when the config.xml file has an error. The option is cleared by default.

        +

        Select the option, if you want to launch the application even when the config.xml file has an error. The option is cleared by default.

        Live Editing

        @@ -218,7 +212,7 @@ ko -

        Figure: Live highlight

        +

        Figure: Live highlight

        Live highlight

        diff --git a/org.tizen.studio/html/web_tools/code_productivity_w.htm b/org.tizen.studio/html/web_tools/code_productivity_w.htm index 9451cf2..e8f3183 100644 --- a/org.tizen.studio/html/web_tools/code_productivity_w.htm +++ b/org.tizen.studio/html/web_tools/code_productivity_w.htm @@ -51,7 +51,7 @@

        You can use the Code Beautifier in 3 ways:

        • In the Project Explorer view, right-click a CSS or JavaScript file in the project and select Code Beautifier. -

          A beautified file with the .beaut.<extension> extension is generated, and a notification dialog is displayed in the lower-right section of the Tizen Studio.

          +

          A beautified file with the .beaut.<extension> extension is generated, and a notification dialog is displayed in the lower-right section of the Tizen Studio.

        • In the Source Editor view, right-click the code and select Code Beautifier.
        • In the Source Editor or Project Explorer view, use the Ctrl + 6 hotkey.
        • @@ -59,11 +59,11 @@

          In case you use the Code Beautifier in the Source Editor view, no new file is generated. The original file is changed instead.

          -

          Figure: Code Beautifier with CSS file - before beautifying

          +

          Figure: Code Beautifier with CSS file - before beautifying

          Code Beautifier with CSS file - before beautifying

          -

          Figure: Code Beautifier with CSS file - after beautifying

          +

          Figure: Code Beautifier with CSS file - after beautifying

          Code Beautifier with CSS file - after beautifying

          @@ -103,7 +103,7 @@

          You can use the Code Minifier in 3 ways:

          • In the Project Explorer view, right-click a CSS or JavaScript file in the project and select Code Minifier. -

            A minified (compressed) file with the .min.<extension> extension is generated, and a notification dialog is displayed in the lower-right section of the Tizen Studio.

            +

            A minified (compressed) file with the .min.<extension> extension is generated, and a notification dialog is displayed in the lower-right section of the Tizen Studio.

          • In the Source Editor view, right-click the code and select Code Minifier.
          • In the Source Editor or Project Explorer view, use the Ctrl + 5 hotkey.
          • @@ -111,11 +111,11 @@

            In case you use the Code Minifier in the Source Editor view, no new file is generated. The original file is changed instead.

            -

            Figure: Code Minifier with CSS file - before minifying

            +

            Figure: Code Minifier with CSS file - before minifying

            Code Minifier with CSS file - before minifying

            -

            Figure: Code Minifier with CSS file - after minifying

            +

            Figure: Code Minifier with CSS file - after minifying

            Code Minifier with CSS file - after minifying

            diff --git a/org.tizen.studio/html/web_tools/config_editor_w.htm b/org.tizen.studio/html/web_tools/config_editor_w.htm index 9877986..51d37c1 100644 --- a/org.tizen.studio/html/web_tools/config_editor_w.htm +++ b/org.tizen.studio/html/web_tools/config_editor_w.htm @@ -38,49 +38,43 @@

            Configuring Applications

            -

            The Tizen Web application configuration file is composed of XML elements, including the <widget> element as its root and other elements. These elements represent the application information, such as configuration elements and Tizen extending configuration elements for mobile and wearable applications.

            +

            The Tizen Web application configuration file is composed of XML elements, including the <widget> element as its root and other elements. These elements represent the application information, such as configuration elements and Tizen extending configuration elements for mobile and wearable applications.

            -

            This configuration information is used when you install or run the Tizen Web application on the Tizen platform. The Tizen Web application project must have the config.xml file in the project root directory.

            +

            This configuration information is used when you install or run the Tizen Web application on the Tizen platform. The Tizen Web application project must have the config.xml file in the project root directory.

            The configuration file can be easily edited with the Web application configuration editor (form editor), or you can modify the XML structure directly using the configuration source editor. With the form editor, you can set the project configuration (manifest), even if you have no experience of developing a Tizen Web application project. If you are fluent with the configuration file XML structure, you can create the configuration file directly through the configuration source editor.

            - - - - - - - - - -
            Note
            The config.xml must conform to both the XML file format and the W3C specification requirements. Editing the file XML structure with the configuration source editor is intended for advanced users only.
            +
            + Note + The config.xml must conform to both the XML file format and the W3C specification requirements. Editing the file XML structure with the configuration source editor is intended for advanced users only. +

            Editing the config.xml File

            -

            There are 2 different ways to edit the config.xml file:

            +

            There are 2 different ways to edit the config.xml file:

            • Use the Source tab: -
              1. Double-click the config.xml file in the Project Explorer view.
              2. +
                1. Double-click the config.xml file in the Project Explorer view.
                2. Select the Source tab.
                -

                Figure: Source tab

                +

                Figure: Source tab

                Source tab

              3. Use the form tabs: -
                1. Double-click the config.xml file in the Project Explorer view.
                2. +
                  1. Double-click the config.xml file in the Project Explorer view.
                  2. Select one of the form tabs (Overview, Features, Privileges, Localization, Policy, Preferences, Tizen).
                  -

                  Figure: Form tabs

                  +

                  Figure: Form tabs

                  Form tabs

            Configuration Element Hierarchy

            -

            The Tizen Web application configuration file consists of XML elements organized in a hierarchy. The following tree structure shows the relationship between the elements of the config.xml file.

            +

            The Tizen Web application configuration file consists of XML elements organized in a hierarchy. The following tree structure shows the relationship between the elements of the config.xml file.

            @@ -88,243 +82,243 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
            <widget><widget>
             <name><name>
               <span><span>
             <description><description>
               <span><span>
             <author><author>
               <span><span>
             <content><content>
             <feature> (in mobile or wearable)<feature> (in mobile or wearable)
               <param><param>
             <icon><icon>
             <license><license>
               <span><span>
             <preference><preference>
             <access><access>
             <tizen:account> (in mobile only)<tizen:account> (in mobile only)
               <tizen:icon><tizen:icon>
               <tizen:display-name><tizen:display-name>
               <tizen:capability><tizen:capability>
             <tizen:app-control> (in mobile or wearable)<tizen:app-control> (in mobile or wearable)
               <tizen:src><tizen:src>
               <tizen:operation><tizen:operation>
               <tizen:uri><tizen:uri>
               <tizen:mime><tizen:mime>
             <tizen:application> (in mobile or wearable)<tizen:application> (in mobile or wearable)
             <tizen:content> (in mobile or wearable)<tizen:content> (in mobile or wearable)
             <tizen:privilege> (in mobile or wearable)<tizen:privilege> (in mobile or wearable)
             <tizen:setting> (in mobile or wearable)<tizen:setting> (in mobile or wearable)
             <tizen:background-category> (in mobile or wearable)<tizen:background-category> (in mobile or wearable)
             <tizen:content-security-policy> (in mobile or wearable)<tizen:content-security-policy> (in mobile or wearable)
             <tizen:content-security-policy-report-only> (in mobile or wearable)<tizen:content-security-policy-report-only> (in mobile or wearable)
             <tizen:allow-navigation> (in mobile or wearable)<tizen:allow-navigation> (in mobile or wearable)
             <tizen:metadata> (in mobile or wearable)<tizen:metadata> (in mobile or wearable)
             <tizen:profile> (in mobile or wearable)<tizen:profile> (in mobile or wearable)
             <tizen:ime> (in wearable only)<tizen:ime> (in wearable only)
               <tizen:uuid><tizen:uuid>
               <tizen:languages><tizen:languages>
                 <tizen:language><tizen:language>
             <tizen:category> (in wearable only)<tizen:category> (in wearable only)
             <tizen:service> (in wearable only)<tizen:service> (in wearable only)
               <tizen:name><tizen:name>
               <tizen:icon><tizen:icon>
               <tizen:content><tizen:content>
               <tizen:description><tizen:description>
               <tizen:metadata><tizen:metadata>
               <tizen:category><tizen:category>
             <tizen:app-widget> (in wearable only)<tizen:app-widget> (in wearable only)
               <tizen:widget-label><tizen:widget-label>
               <tizen:widget-content><tizen:widget-content>
                 <tizen:widget-size><tizen:widget-size>
               <tizen:widget-metadata><tizen:widget-metadata>

            Configuration Elements

            -

            The following tables summarize of the W3C configuration elements used in the config.xml file of the Web application. For more information on the W3C element details, see Packaging and XML Configuration (the details of the Tizen extending configuration elements are described in Extending Configuration Elements in Mobile Applications and Extending Configuration Elements in Wearable Applications). For a quick view of the element hierarchy, see Configuration Element Hierarchy.

            +

            The following tables summarize of the W3C configuration elements used in the config.xml file of the Web application. For more information on the W3C element details, see Packaging and XML Configuration (the details of the Tizen extending configuration elements are described in Extending Configuration Elements in Mobile Applications and Extending Configuration Elements in Wearable Applications). For a quick view of the element hierarchy, see Configuration Element Hierarchy.

            @@ -333,16 +327,16 @@
            Represents the root element of a configuration document.

            Expected children:

            -

            <name>, <description>, <author>, <license>, <icon>, <content>, <feature>, <preference>, <access>, <tizen:account>, <tizen:app-control>, <tizen:application>, <tizen:content>, <tizen:privilege>, <tizen:setting>, and <tizen:profile>

            Attributes:

            -
            • xml:lang
            • -
            • dir
            • -
            • id
            • -
            • version -

              Specific version of the Tizen package. The expected value is [0-255].[0-255].[0-65535].

            • -
            • height
            • -
            • width
            • -
            • viewmodes
            • -
            • defaultlocale
            +

            <name>, <description>, <author>, <license>, <icon>, <content>, <feature>, <preference>, <access>, <tizen:account>, <tizen:app-control>, <tizen:application>, <tizen:content>, <tizen:privilege>, <tizen:setting>, and <tizen:profile>

            Attributes:

            +
            • xml:lang
            • +
            • dir
            • +
            • id
            • +
            • version +

              Specific version of the Tizen package. The expected value is [0-255].[0-255].[0-65535].

            • +
            • height
            • +
            • width
            • +
            • viewmodes
            • +
            • defaultlocale
            @@ -354,10 +348,10 @@ Represents the Web application name used for example, in the application menu.

            Expected children:

            -

            <span> and <text node>

            Attributes:

            -
            • xml:lang
            • -
            • dir
            • -
            • short
            +

            <span> and <text node>

            Attributes:

            +
            • xml:lang
            • +
            • dir
            • +
            • short
            @@ -369,9 +363,9 @@ Represents text describing the purpose of the Web application.

            Expected children:

            -

            <span> and <text node>

            Attributes:

            -
            • xml:lang
            • -
            • dir
            +

            <span> and <text node>

            Attributes:

            +
            • xml:lang
            • +
            • dir
            @@ -383,11 +377,11 @@ Represents the person that created the Web application.

            Expected children:

            -

            <span> and <text node>

            Attributes:

            -
            • xml:lang
            • -
            • dir
            • -
            • href
            • -
            • email
            +

            <span> and <text node>

            Attributes:

            +
            • xml:lang
            • +
            • dir
            • +
            • href
            • +
            • email
            @@ -399,11 +393,11 @@ Represents the boot-strapping mechanism used to point to the main file of the Web application.

            Attributes:

            -
            • xml:lang
            • -
            • dir
            • -
            • encoding
            • -
            • src
            • -
            • type
            +
            • xml:lang
            • +
            • dir
            • +
            • encoding
            • +
            • src
            • +
            • type
            @@ -415,11 +409,11 @@ Represents the Web application icon.

            Attributes:

            -
            • xml:lang
            • -
            • dir
            • -
            • src
            • -
            • width
            • -
            • height
            +
            • xml:lang
            • +
            • dir
            • +
            • src
            • +
            • width
            • +
            • height
            @@ -431,10 +425,10 @@ Represents the license under which the Web application is distributed.

            Expected children:

            -

            <span> and <text node>

            Attributes:

            -
            • xml:lang
            • -
            • dir
            • -
            • href
            +

            <span> and <text node>

            Attributes:

            +
            • xml:lang
            • +
            • dir
            • +
            • href
            @@ -447,9 +441,9 @@ Used to declare preferences as key-value pairs for the Web application for use at runtime.

            Attributes:

              -
            • name

              The maximum length can be limited to 80 bytes. In that case, leftover bytes are ignored.

            • -
            • value

              The maximum length can be limited to 8192 bytes. In that case, leftover bytes are ignored.

            • -
            • readonly
            • +
            • name

              The maximum length can be limited to 80 bytes. In that case, leftover bytes are ignored.

            • +
            • value

              The maximum length can be limited to 8192 bytes. In that case, leftover bytes are ignored.

            • +
            • readonly
            @@ -462,8 +456,8 @@ Used to control network access from within a Web application and to request access to certain network resources from the user agent.

            Attributes:

            -
            • origin
            • -
            • subdomains
            +
            • origin
            • +
            • subdomains
            @@ -475,9 +469,9 @@ Represents the generic container used mainly for internationalization.

            Expected children:

            -

            <span> and <text node>

            Attributes:

            -
            • xml:lang
            • -
            • dir
            +

            <span> and <text node>

            Attributes:

            +
            • xml:lang
            • +
            • dir
            @@ -490,28 +484,22 @@ Used to declare parameters to be used with a feature in mobile and wearable applications.

            Attributes:

            -
            • xml:lang
            • -
            • dir
            • -
            • name
            • -
            • value
            +
            • xml:lang
            • +
            • dir
            • +
            • name
            • +
            • value

            Extending Configuration Elements in Mobile Applications

            -

            The following sections show additional configuration elements used in the config.xml file of the Web application, but not included in the Widget Packaging and XML Configuration guidelines. For a quick view of the entire element hierarchy, see Configuration Element Hierarchy.

            +

            The following sections show additional configuration elements used in the config.xml file of the Web application, but not included in the Widget Packaging and XML Configuration guidelines. For a quick view of the entire element hierarchy, see Configuration Element Hierarchy.

            - - - - - - - - - -
            Note
            The extension elements are denoted as though the xmlns:tizen="http://tizen.org/ns/widgets" namespace declaration was in effect. -

            The maximum length of the attribute and the element (except <tizen:metadata>, W3C preference element) can be limited to 2048 bytes. In this case, leftover bytes are ignored.

            +
            + Note + The extension elements are denoted as though the xmlns:tizen="http://tizen.org/ns/widgets" namespace declaration was in effect. +

            The maximum length of the attribute and the element (except <tizen:metadata>, W3C preference element) can be limited to 2048 bytes. In this case, leftover bytes are ignored.

            +

            Tizen Account

            @@ -528,16 +516,16 @@

            Expected children:

              -
            • icon

              Mandatory. Since the icons are used in the device under Settings > Accounts, place them in a shared directory.

              +
            • icon

              Mandatory. Since the icons are used in the device under Settings > Accounts, place them in a shared directory.

              Attributes:

              -
              • Account: File path of the account provider icon. The icon size is 72 x 72 pixels.
              • -
              • AccountSmall: File path of the account provider small icon. The icon size is 45 x 45 pixels.
            • -
            • display-name

              Mandatory; display name of the account provider

            • -
            • capability

              Optional; capability of the account provider. Capabilities are defined in the http://<VENDOR_INFORMATION>/accounts/capability/<NAME> IRI format.

            • +
              • Account: File path of the account provider icon. The icon size is 72 x 72 pixels.
              • +
              • AccountSmall: File path of the account provider small icon. The icon size is 45 x 45 pixels.
              +
            • display-name

              Mandatory; display name of the account provider

            • +
            • capability

              Optional; capability of the account provider. Capabilities are defined in the http://<VENDOR_INFORMATION>/accounts/capability/<NAME> IRI format.

            Attributes:

              -
            • multiple-account-support

              Mandatory; indicates whether multiple accounts are supported (available values: true, false)

            • +
            • multiple-account-support

              Mandatory; indicates whether multiple accounts are supported (available values: true, false)

            Example:

            <tizen:account multiple-account-support="false">
                <tizen:icon section="Account">account_provider_icon.png</tizen:icon>
            @@ -563,27 +551,21 @@
                 
                  

            Expected children:

              -
            • src +
            • src

              Attributes:

                -
              • name

                Mandatory; page handling the requests

              • -
              • reload

                Optional; sets whether the page is reloaded when it is already loaded (available values: enable (default), disable)

                Since: 2.4

                -
            - - - - - - - - -
            Note
            The reload attribute is supported from Tizen 2.4 onwards. If the required_version in the application's config.xml file is set to a version older than Tizen 2.4, and the reload attribute is used, the application installation fails.
            +
          • name

            Mandatory; page handling the requests

          • +
          • reload

            Optional; sets whether the page is reloaded when it is already loaded (available values: enable (default), disable)

            Since: 2.4

            +
            + Note + The reload attribute is supported from Tizen 2.4 onwards. If the required_version in the application's config.xml file is set to a version older than Tizen 2.4, and the reload attribute is used, the application installation fails. +
          -
        • operation

          Mandatory; string that defines the action to be performed

        • -
        • uri and mime

          Optional; additional parameters used for resolving application control requests

        • +
        • operation

          Mandatory; string that defines the action to be performed

        • +
        • uri and mime

          Optional; additional parameters used for resolving application control requests

        Example:

        <tizen:app-control>
            <tizen:src name="view.html" reload="disable"/>
            <tizen:operation name="http://tizen.org/appcontrol/operation/view"/>
        @@ -608,24 +590,18 @@
             
              

        Attributes:

          -
        • id

          Mandatory; Tizen application ID, which is a combination of the Tizen package ID and project name. The application ID is unique in the device.

          The project name is a set of characters (0~9, a~z, A~Z) randomly generated by the Tizen Studio. The minimum value is 1 byte and maximum value is 52 bytes.

        • -
        • package

          Mandatory; Tizen package ID generated by the Tizen Studio, comprises of 10 characters (0~9, a~z, A~Z). The package ID is unique in the Tizen Store.

        • -
        • required_version

          Mandatory; Tizen API version required for running the Web application

        • -
        • launch_mode

          Optional; sets which launch mode is supported (available values: single (default), group, caller)

          -
          • single: launched as a main application
          • -
          • group: launched as a sub application
          • -
          • caller: caller application defines the launch mode with the app_control_set_launch_mode() method
          +
        • id

          Mandatory; Tizen application ID, which is a combination of the Tizen package ID and project name. The application ID is unique in the device.

          The project name is a set of characters (0~9, a~z, A~Z) randomly generated by the Tizen Studio. The minimum value is 1 byte and maximum value is 52 bytes.

        • +
        • package

          Mandatory; Tizen package ID generated by the Tizen Studio, comprises of 10 characters (0~9, a~z, A~Z). The package ID is unique in the Tizen Store.

        • +
        • required_version

          Mandatory; Tizen API version required for running the Web application

        • +
        • launch_mode

          Optional; sets which launch mode is supported (available values: single (default), group, caller)

          +
          • single: launched as a main application
          • +
          • group: launched as a sub application
          • +
          • caller: caller application defines the launch mode with the app_control_set_launch_mode() method

          Since: 2.4

          - - - - - - - - - -
          Note
          The launch_mode attribute is supported from Tizen 2.4 onwards. If the required_version in the application's config.xml file is set to a version older than Tizen 2.4, and the launch_mode attribute is used, the application installation fails.
          +
          + Note + The launch_mode attribute is supported from Tizen 2.4 onwards. If the required_version in the application's config.xml file is set to a version older than Tizen 2.4, and the launch_mode attribute is used, the application installation fails. +

        Example:

        <tizen:application id="1234abcDEF.projectname"
                            package="1234abcDEF"
        @@ -643,15 +619,15 @@
         
          
          Used to point to a document which is hosted on an external server and acts as the Web application start page. The Tizen WRT allows the start page to be hosted on an external server.
        -     

        If the start page is contained in the widget package, it is defined with the <content> W3C element. If both <content> and <tizen:content /> elements are defined, the <tizen:content /> element is used.

        +

        If the start page is contained in the widget package, it is defined with the <content> W3C element. If both <content> and <tizen:content /> elements are defined, the <tizen:content /> element is used.

        Occurrences:

        • 0 or more -

          If more than 1 <tizen:content /> element is specified, the first instance of the element is used.

        • +

          If more than 1 <tizen:content /> element is specified, the first instance of the element is used.

        Attributes:

          -
        • src

          Mandatory; URI of the external start page

        • +
        • src

          Mandatory; URI of the external start page

        Example:

        <tizen:content src="https://www.tizen.org/" />
        @@ -673,7 +649,7 @@

        Attributes:

          -
        • name

          Mandatory; URI of the Device API privilege

        • +
        • name

          Mandatory; URI of the Device API privilege

        Example:

        <tizen:privilege name="http://tizen.org/privilege/application.launch" />
        @@ -693,30 +669,24 @@

        Attributes:

          -
        • background-support -

          Optional; application execution continues when it is moved to the background (available values: enable (execution continues on the background), disable (default; application is suspended))

          - - - - - - - - - -
          Note
          Since Tizen 2.4, the system manages background processes more tightly. Even if the background-support attribute is set to enable, the Web application process can be suspended on the background. To guarantee that the application runs on the background, add at least one background category for the application with the <tizen:background-category> element. Only the background categories declared in the system can be used.
          +
        • background-support +

          Optional; application execution continues when it is moved to the background (available values: enable (execution continues on the background), disable (default; application is suspended))

          +
          + Note + Since Tizen 2.4, the system manages background processes more tightly. Even if the background-support attribute is set to enable, the Web application process can be suspended on the background. To guarantee that the application runs on the background, add at least one background category for the application with the <tizen:background-category> element. Only the background categories declared in the system can be used. +
        • -
        • context-menu

          Optional; context menu is displayed when the user clicks, for example, an image, text, or link (available values: enable (default), disable)

        • -
        • encryption

          Optional; Web application resources (HTML, JavaScript, and CSS files) are stored encrypted (available values: enable, disable (default))

        • -
        • screen-orientation

          Optional; viewport orientation lock (available values: portrait (default), landscape), auto-rotation

          If the system auto rotation setting is on, the Web application viewport orientation is changed accordingly by default.
        • -
        • install-location

          Optional; application installation location (available values: auto (default), internal-only, prefer-external)

          +
        • context-menu

          Optional; context menu is displayed when the user clicks, for example, an image, text, or link (available values: enable (default), disable)

        • +
        • encryption

          Optional; Web application resources (HTML, JavaScript, and CSS files) are stored encrypted (available values: enable, disable (default))

        • +
        • screen-orientation

          Optional; viewport orientation lock (available values: portrait (default), landscape), auto-rotation

          If the system auto rotation setting is on, the Web application viewport orientation is changed accordingly by default.
        • +
        • install-location

          Optional; application installation location (available values: auto (default), internal-only, prefer-external)

            -
          • auto: the system defines the installation location
          • -
          • internal-only: the application is installed in the device's internal storage
          • -
          • prefer-external: the application is installed in the external storage (if available)
          • +
          • auto: the system defines the installation location
          • +
          • internal-only: the application is installed in the device's internal storage
          • +
          • prefer-external: the application is installed in the external storage (if available)
        • -
        • hwkey-event

          Optional; a hardware key event is sent to the Web application when the user presses the hardware key (available values: enable (default), disable)

          If this option is enabled, the tizenhwkey custom event is sent to the Web application. The tizenhwkey event object has a keyName attribute (available values: menu and back).

        • +
        • hwkey-event

          Optional; a hardware key event is sent to the Web application when the user presses the hardware key (available values: enable (default), disable)

          If this option is enabled, the tizenhwkey custom event is sent to the Web application. The tizenhwkey event object has a keyName attribute (available values: menu and back).

        Example:

        <!--Web application execution is not suspended-->
        @@ -750,25 +720,17 @@
          
          Used to represent the category of the application that is allowed to run on the background.
         
        -        
        -   
        -    
        -     
        -    
        -    
        -     
        -    
        -   
        -  
        Note
        In addition to declaring the <background-category> element, you must set the <tizen:setting background-support> attribute to enable to run Web applications on the background. -
        - +
        + Note + In addition to declaring the <background-category> element, you must set the <tizen:setting background-support> attribute to enable to run Web applications on the background. +

        Occurrences:

        • 0 or more

        Attributes:

        Example:

        <tizen:background-category value="media" />
        @@ -783,17 +745,11 @@ Used to define hardware and software components for a Tizen application. This attribute is only used in the Tizen Store for filtering purposes. It is ignored by the Web Runtime installation procedure. - - - - - - - - - -
        Note
        Even though the <feature /> element is defined in the Widget Packaging and XML Configuration guidelines, in Tizen, an extended version is used. -
        + +
        + Note + Even though the <feature /> element is defined in the Widget Packaging and XML Configuration guidelines, in Tizen, an extended version is used. +

        Occurrences:

          @@ -801,7 +757,7 @@

        Attributes:

        Example:

        <feature name="http://tizen.org/feature/network.bluetooth" />
        @@ -877,11 +833,11 @@

        Attributes:

          -
        • key +
        • key

          Mandatory; unique key string.

          The maximum length can be limited to 80 bytes. In this case, leftover bytes are ignored.

        • -
        • value +
        • value

          Optional; string.

          The maximum length can be limited to 8192 bytes. In this case, leftover bytes are ignored.

        • @@ -906,26 +862,20 @@

        Attributes:

          -
        • name

          Mandatory; string

        • +
        • name

          Mandatory; string

        Example:

        <tizen:profile name="mobile" />

        Extending Configuration Elements in Wearable Applications

        -

        The following sections show additional configuration elements used in the config.xml file of the Web application, but not included in the Widget Packaging and XML Configuration guidelines. For a quick view of the entire element hierarchy, see Configuration Element Hierarchy.

        +

        The following sections show additional configuration elements used in the config.xml file of the Web application, but not included in the Widget Packaging and XML Configuration guidelines. For a quick view of the entire element hierarchy, see Configuration Element Hierarchy.

        - - - - - - - - - -
        Note
        The extension elements are denoted as though the xmlns:tizen="http://tizen.org/ns/widgets" namespace declaration was in effect. -

        The maximum length of the attribute and the element (except tizen:metadata, W3C preference element) can be limited to 2048 bytes. In that case, leftover bytes are ignored.

        +
        + Note + The extension elements are denoted as though the xmlns:tizen="http://tizen.org/ns/widgets" namespace declaration was in effect. +

        The maximum length of the attribute and the element (except tizen:metadata, W3C preference element) can be limited to 2048 bytes. In that case, leftover bytes are ignored.

        +

        Tizen Application

        @@ -941,38 +891,26 @@

        Attributes:

          -
        • id

          Mandatory; Tizen application ID, which is a combination of the Tizen wearable package ID and project name. The application ID is unique in the device.

          The project name is a set of characters (0~9, a~z, A~Z) randomly generated by the Tizen Studio. The minimum value is 1 byte and maximum value is 52 bytes.

        • -
        • package

          Mandatory; Tizen wearable package ID generated by the Tizen Studio, comprises of 10 characters (0~9, a~z, A~Z). The package ID is unique in the Samsung Apps.

        • -
        • required_version

          Mandatory; Tizen API version required for running the Web application

        • -
        • launch_mode

          Optional; sets which launch mode is supported (available values: single (default), group, caller)

          -
          • single: launched as a main application
          • -
          • group: launched as a sub application
          • -
          • caller: caller application defines the launch mode with the app_control_set_launch_mode() method
          +
        • id

          Mandatory; Tizen application ID, which is a combination of the Tizen wearable package ID and project name. The application ID is unique in the device.

          The project name is a set of characters (0~9, a~z, A~Z) randomly generated by the Tizen Studio. The minimum value is 1 byte and maximum value is 52 bytes.

        • +
        • package

          Mandatory; Tizen wearable package ID generated by the Tizen Studio, comprises of 10 characters (0~9, a~z, A~Z). The package ID is unique in the Samsung Apps.

        • +
        • required_version

          Mandatory; Tizen API version required for running the Web application

        • +
        • launch_mode

          Optional; sets which launch mode is supported (available values: single (default), group, caller)

          +
          • single: launched as a main application
          • +
          • group: launched as a sub application
          • +
          • caller: caller application defines the launch mode with the app_control_set_launch_mode() method

          Since: 2.4

          -
        - - - - - - - - -
        Note
        The launch_mode attribute is supported from Tizen 2.4 onwards. If the required_version in the application's config.xml file is set to a version older than Tizen 2.4, and the launch_mode attribute is used, the application installation fails.
        +
        + Note + The launch_mode attribute is supported from Tizen 2.4 onwards. If the required_version in the application's config.xml file is set to a version older than Tizen 2.4, and the launch_mode attribute is used, the application installation fails. +
        -
      18. ambient_support

        Optional; sets whether the Web application supports the ambient mode (available values: enable, disable (default))

        If this option is enabled, the application can be shown in the ambient mode.

        Since: 2.3.1 +
      19. ambient_support

        Optional; sets whether the Web application supports the ambient mode (available values: enable, disable (default))

        If this option is enabled, the application can be shown in the ambient mode.

        Since: 2.3.1 - - - - - - - - - -
        Note
        The ambient_support option is only used for watch applications, and ignored in all non-watch applications. -

        The ambient_support attribute is supported from Tizen 2.3.1 onwards. If the required_version in the application's config.xml file is set to a version older than Tizen 2.3.1, and the ambient_support attribute is used, the application installation fails.

        +
        + Note + The ambient_support option is only used for watch applications, and ignored in all non-watch applications. +

        The ambient_support attribute is supported from Tizen 2.3.1 onwards. If the required_version in the application's config.xml file is set to a version older than Tizen 2.3.1, and the ambient_support attribute is used, the application installation fails.

        +
      20. Example:

        <tizen:application id="1234abcDEF.projectname"  
                            package="1234abcDEF"
        @@ -996,7 +934,7 @@
         	
         	 

        Attributes:

          -
        • name

          Mandatory; URI of the Device API privilege

        • +
        • name

          Mandatory; URI of the Device API privilege

        Example:

        <tizen:privilege name="http://tizen.org/privilege/application.launch" />
        @@ -1016,27 +954,22 @@

        Expected children:

          -
        • src +
        • src

          Attributes:

            -
          • name

            Mandatory; page handling the requests

          • -
          • reload

            Optional; sets whether the page is reloaded when it is already loaded (available values: enable (default), disable)

            Since: 2.4

            - - - - - - - - - -
            Note
            The reload attribute is supported from Tizen 2.4 onwards. If the required_version in the application's config.xml file is set to a version older than Tizen 2.4, and the reload attribute is used, the application installation fails.
            +
          • name

            Mandatory; page handling the requests

          • +
          • reload

            Optional; sets whether the page is reloaded when it is already loaded (available values: enable (default), disable)

            Since: 2.4

            + +
            + Note + The reload attribute is supported from Tizen 2.4 onwards. If the required_version in the application's config.xml file is set to a version older than Tizen 2.4, and the reload attribute is used, the application installation fails. +
        • -
        • operation

          Mandatory; string that defines the action to be performed

        • -
        • uri and mime

          Optional; additional parameters used for resolving application control requests

        • +
        • operation

          Mandatory; string that defines the action to be performed

        • +
        • uri and mime

          Optional; additional parameters used for resolving application control requests

        Example:

        <tizen:app-control>
            <tizen:src name="view.html" reload="disable"/>
            <tizen:operation name="http://tizen.org/appcontrol/operation/view"/>
        @@ -1062,34 +995,28 @@
         	 

        Attributes:

          -
        • background-support -

          Optional; application execution continues when it is moved to the background (available values: enable (execution continues on the background), disable (default; application is suspended))

          - - - - - - - - - -
          Note
          Since Tizen 2.4, the system manages background processes more tightly. Even if the background-support attribute is set to enable, the Web application process can be suspended on the background. To guarantee that the application runs on the background, add at least one background category for the application with the <tizen:background-category> element. Only the background categories declared in the system can be used.
          +
        • background-support +

          Optional; application execution continues when it is moved to the background (available values: enable (execution continues on the background), disable (default; application is suspended))

          +
          + Note + Since Tizen 2.4, the system manages background processes more tightly. Even if the background-support attribute is set to enable, the Web application process can be suspended on the background. To guarantee that the application runs on the background, add at least one background category for the application with the <tizen:background-category> element. Only the background categories declared in the system can be used. +
        • -
        • context-menu

          Optional; sets whether the context menu is shown (available values: enable (default), disable)

          If this option is enabled, the context menu is visible to the user.

        • -
        • encryption

          Optional; sets whether Web Application resources are encrypted (available values: enable, disable (default))

          If this option is enabled, the application resources(HTML, JS and CSS files) are encrypted.

        • -
        • screen-orientation

          Optional; sets whether it locks the orientation of the Web Application (available values: portrait (default), landscape, auto-rotation)

          -
          • portrait or landscape: orientation is locked to portrait or landscape respectively
          • -
          • auto-rotation: follows the device orientation setting
          +
        • context-menu

          Optional; sets whether the context menu is shown (available values: enable (default), disable)

          If this option is enabled, the context menu is visible to the user.

        • +
        • encryption

          Optional; sets whether Web Application resources are encrypted (available values: enable, disable (default))

          If this option is enabled, the application resources(HTML, JS and CSS files) are encrypted.

        • +
        • screen-orientation

          Optional; sets whether it locks the orientation of the Web Application (available values: portrait (default), landscape, auto-rotation)

          +
          • portrait or landscape: orientation is locked to portrait or landscape respectively
          • +
          • auto-rotation: follows the device orientation setting
        • -
        • install-location

          Optional; application installation location (available values: auto (default), internal-only, prefer-external)

          +
        • install-location

          Optional; application installation location (available values: auto (default), internal-only, prefer-external)

            -
          • auto: the system defines the installation location
          • -
          • internal-only: the application is installed in the device's internal storage
          • -
          • prefer-external: the application is installed in the external storage (if available)
          • +
          • auto: the system defines the installation location
          • +
          • internal-only: the application is installed in the device's internal storage
          • +
          • prefer-external: the application is installed in the external storage (if available)
        • -
        • hwkey-event

          Optional; a hardware key event is sent to the Web application when the user presses the hardware key (available values: enable (default), disable)

          If this option is enabled, the tizenhwkey custom event is sent to the Web application. The tizenhwkey event object has a keyName attribute (available value: back).

        • +
        • hwkey-event

          Optional; a hardware key event is sent to the Web application when the user presses the hardware key (available values: enable (default), disable)

          If this option is enabled, the tizenhwkey custom event is sent to the Web application. The tizenhwkey event object has a keyName attribute (available value: back).

        Example:

         <tizen:setting background-support="enable" />
        @@ -1112,17 +1039,10 @@
          
          Used to represent the category of the application that is allowed to run on the background.
         
        -        
        -   
        -    
        -     
        -    
        -    
        -     
        -    
        -   
        -  
        Note
        In addition to declaring the <background-category> element, you must set the <tizen:setting background-support> attribute to enable to run Web applications on the background. -
        +
        + Note + In addition to declaring the <background-category> element, you must set the <tizen:setting background-support> attribute to enable to run Web applications on the background. +

        Occurrences:

          @@ -1130,7 +1050,7 @@

        Attributes:

        Example:

        <tizen:background-category value="media" />
        @@ -1152,7 +1072,7 @@

        Attributes:

          -
        • src

          Mandatory; URI of an external start page

        • +
        • src

          Mandatory; URI of an external start page

        Example:

         <tizen:content src="https://www.tizen.org"/>
        @@ -1230,11 +1150,11 @@

        Attributes:

          -
        • key +
        • key

          Mandatory; unique key string.

          The maximum length can be limited to 80 bytes. In that case, leftover bytes are ignored.

        • -
        • value +
        • value

          Optional; string.

          The maximum length can be limited to 8192 bytes. In that case, leftover bytes are ignored.

        • @@ -1252,34 +1172,24 @@ Used to define the properties of IME (Input Method Editor) type application, which is used when you want to create your own keyboard module for Tizen platform. - - - - - - - - - -
          Note
          <tizen:category name="http://tizen.org/category/ime"/> must be defined to activate <tizen:ime>
          + +
          + Note + <tizen:category name="http://tizen.org/category/ime"/> must be defined to activate <tizen:ime>. +

          Occurrences:

          • 0 or 1

          Expected children:

            -
          • uuid

            Mandatory; universally unique, an unique identifier that distinguishes an IME from each other, displayed in the form of standard UUID (8-4-4-4-12 for a total of 36 characters)

          • -
          • languages

            Mandatory; list of input languages that the current IME supports

            - - - - - - - - - -
            Note
            <tizen:language/> elements are provided as the child elements of this element.
            +
          • uuid

            Mandatory; universally unique, an unique identifier that distinguishes an IME from each other, displayed in the form of standard UUID (8-4-4-4-12 for a total of 36 characters)

          • +
          • languages

            Mandatory; list of input languages that the current IME supports

            + +
            + Note + <tizen:language/> elements are provided as the child elements of this element. +

          Example:

          <tizen:ime>
          @@ -1328,7 +1238,7 @@
                   

        Attributes:

          -
        • name

          Mandatory; string

        • +
        • name

          Mandatory; string

        Example:

        <tizen:category name="http://tizen.org/category/wearable_clock" />
        @@ -1358,13 +1268,13 @@

        Attributes:

          -
        • id

          Mandatory; Tizen service ID, which is a combination of the Tizen wearable package ID and service name.

          The service ID is a set of characters (0~9, a~z, A~Z) and unique in the device. The minimum value is 1 byte and maximum value is 52 bytes.

        • +
        • id

          Mandatory; Tizen service ID, which is a combination of the Tizen wearable package ID and service name.

          The service ID is a set of characters (0~9, a~z, A~Z) and unique in the device. The minimum value is 1 byte and maximum value is 52 bytes.

          -
        • auto-restart

          Optional; sets whether the service application is relaunched automatically when it is terminated (available values: true, false (default))

        • +
        • auto-restart

          Optional; sets whether the service application is relaunched automatically when it is terminated (available values: true, false (default))

          -
        • on-boot

          Optional; sets whether the service application is launched automatically on device booting time (available values: true, false (default))

        • +
        • on-boot

          Optional; sets whether the service application is launched automatically on device booting time (available values: true, false (default))

        Example:

        <tizen:service id="webService.application" auto-restart="true" on-boot="false">
            <tizen:name>WebService</tizen:name>
        @@ -1391,7 +1301,7 @@
         	
         	 

        Attributes:

        @@ -1410,7 +1320,7 @@

        Attributes:

          -
        • src

          Mandatory; file path of the Web Service Application icon. The path is relative to the source Web application directory.

        • +
        • src

          Mandatory; file path of the Web Service Application icon. The path is relative to the source Web application directory.

        @@ -1429,7 +1339,7 @@

        Attributes:

          -
        • src

          Mandatory; start JavaScript file path of the Web Service Application. The path is relative to the source Web application directory.

        • +
        • src

          Mandatory; start JavaScript file path of the Web Service Application. The path is relative to the source Web application directory.

        @@ -1463,8 +1373,8 @@

        Attributes:

          -
        • key

          Mandatory; unique key string

        • -
        • value

          Optional; string

        • +
        • key

          Mandatory; unique key string

        • +
        • value

          Optional; string

        @@ -1483,7 +1393,7 @@

        Attributes:

          -
        • name

          Mandatory; string

        • +
        • name

          Mandatory; string

        @@ -1503,7 +1413,7 @@

        Attributes:

          -
        • name

          Mandatory; string

        • +
        • name

          Mandatory; string

        Example:

        <tizen:profile name="wearable" />
        @@ -1517,17 +1427,11 @@ Used to define the hardware and software components for a Tizen wearable Web application. This attribute is only used in the Samsung Apps for filtering purposes. It is ignored by the Web Runtime installation procedure. - - - - - - - - - -
        Note
        Even though the <feature /> element is defined in the Widget Packaging and XML Configuration guidelines, in Tizen, an extended version is used. -
        + +
        + Note + Even though the <feature /> element is defined in the Widget Packaging and XML Configuration guidelines, in Tizen, an extended version is used. +

        Occurrences:

          @@ -1535,7 +1439,7 @@

        Attributes:

        Example:

        <feature name="http://tizen.org/feature/network.bluetooth" />
        @@ -1561,9 +1465,9 @@

        Attributes:

          -
        • id

          Mandatory; unique ID of the Web widget in the <TIZEN_APPLICATION_ID>.<STRING> format, where <STRING> comprises 1 or more characters (0~9, a~z, A~Z)

        • -
        • primary

          Mandatory; defines a primary Web widget among the Web widgets in a Web application (available values: true, false)

        • -
        • max-instance

          Optional; limits the number of widget instances concurrently executable for a Web application. When omitted or its value is 0, unlimited number of widget instances are supported. The expected value is integer.

        • +
        • id

          Mandatory; unique ID of the Web widget in the <TIZEN_APPLICATION_ID>.<STRING> format, where <STRING> comprises 1 or more characters (0~9, a~z, A~Z)

        • +
        • primary

          Mandatory; defines a primary Web widget among the Web widgets in a Web application (available values: true, false)

        • +
        • max-instance

          Optional; limits the number of widget instances concurrently executable for a Web application. When omitted or its value is 0, unlimited number of widget instances are supported. The expected value is integer.

        Example:

        @@ -1592,7 +1496,7 @@
         	
         	 

        Attributes:

        @@ -1615,7 +1519,7 @@

        Attributes:

          -
        • src

          Mandatory; local file path, relative to the source Web application directory of the widget starting page

        • +
        • src

          Mandatory; local file path, relative to the source Web application directory of the widget starting page

        @@ -1634,7 +1538,7 @@

        Attributes:

          -
        • preview

          Mandatory; image file path, relative to the source Web application directory of the box content displayed in the widget viewer

        • +
        • preview

          Mandatory; image file path, relative to the source Web application directory of the box content displayed in the widget viewer

        @@ -1653,8 +1557,8 @@

        Attributes:

          -
        • key

          Mandatory. The expected value is String.

        • -
        • value

          Mandatory. The expected value is String.

        • +
        • key

          Mandatory. The expected value is String.

        • +
        • value

          Mandatory. The expected value is String.

        diff --git a/org.tizen.studio/html/web_tools/content_assist_w.htm b/org.tizen.studio/html/web_tools/content_assist_w.htm index a8a975c..2d5cf80 100644 --- a/org.tizen.studio/html/web_tools/content_assist_w.htm +++ b/org.tizen.studio/html/web_tools/content_assist_w.htm @@ -45,7 +45,7 @@

        Content assist allows you to quickly type names in the context of the code. It can be further improved to assist the you. For example, you can just type in the first letter as lowercase (uppercase letters from a type or variable name), and press Ctrl + Space to be offered all the choices that match the entered letters that are valid for the current context (class name, interface name, variable, or field names).

        The Tizen Studio supports Web API, W3C API, jQuery API, and jQuery Mobile API. User-defined and third party APIs can be supported by expanding the content assist functionality.

        -

        Figure: Content assist in the JavaScript editor

        +

        Figure: Content assist in the JavaScript editor

        Content assist in the JavaScript editor

        Using the Content Assist

        @@ -60,8 +60,8 @@

        To activate the content assist for user-defined and third party APIs:

        1. Prepare an API definition document using the WIDL (Web Interface Definition Language) standard. -

          The Tizen Studio supports the .xml and .widlprocxml files.

        2. -
        3. Add the definition file in the config.xml file. +

          The Tizen Studio supports the .xml and .widlprocxml files.

        4. +
        5. Add the definition file in the config.xml file.

          For more information, see Specifying Privileges in the Privilege Tab.

        diff --git a/org.tizen.studio/html/web_tools/js_analyzer_w.htm b/org.tizen.studio/html/web_tools/js_analyzer_w.htm index 4ecd4dc..d67398a 100644 --- a/org.tizen.studio/html/web_tools/js_analyzer_w.htm +++ b/org.tizen.studio/html/web_tools/js_analyzer_w.htm @@ -57,17 +57,17 @@

        To analyze a Web application with the JSA in the Tizen Studio, choose the target project in the Project Explorer view, open the context menu, and select Check JavaScript Rules.

        -

        Figure: JSA in the menu

        +

        Figure: JSA in the menu

        JSA in the menu

        -

        The JSA analyzes JavaScript codes in the selected Web application project after selecting JavaScript files and code segments to analyze. This can be done by parsing the start HTML file (such as index.html) specified in the config.xml file.

        +

        The JSA analyzes JavaScript codes in the selected Web application project after selecting JavaScript files and code segments to analyze. This can be done by parsing the start HTML file (such as index.html) specified in the config.xml file.

        -

        Figure: Checking in progress

        +

        Figure: Checking in progress

        Checking in progress

        If JavaScript Analyzer detects codes that can cause potential problems during its analysis step, the problems are listed up in the Problems view. If you want to locate a possibly problematic code line, double-click the alarm in the view.

        -

        Figure: Problems view

        +

        Figure: Problems view

        Problems view

        Setting JavaScript Rules

        @@ -79,7 +79,7 @@
      21. Select or clear a rule checkbox to enable or disable the rule.
      -

      Figure: Preferences

      +

      Figure: Preferences

      Preferences

      @@ -89,13 +89,13 @@

      The JSA provides coding rules to help in writing better JavaScript code. For more information about these rules, see JSLint and Google JavaScript Guide.

      -

      Rule 1. Use var to declare variables

      +

      Rule 1. Use var to declare variables

      -

      If variables are declared without the var keyword, they are assigned to the global scope in the JavaScript language. This can be dangerous.

      +

      If variables are declared without the var keyword, they are assigned to the global scope in the JavaScript language. This can be dangerous.

      -

      For example, if the functions that have a same name are defined as following example codes, the foo function is changed whenever the func1 or func2 function is called. The foo function can not be guaranteed.

      +

      For example, if the functions that have a same name are defined as following example codes, the foo function is changed whenever the func1 or func2 function is called. The foo function can not be guaranteed.

      -

      This rule is supported by the JSLint and the Google Closure Linter. They say that "When you fail to specify var, the variable gets placed in the global context, potentially clobbering existing values. Also, if there is no declaration, it is hard to tell in what scope a variable lives."

      +

      This rule is supported by the JSLint and the Google Closure Linter. They say that "When you fail to specify var, the variable gets placed in the global context, potentially clobbering existing values. Also, if there is no declaration, it is hard to tell in what scope a variable lives."

      function func1() {
          /* The foo function is defined without the var keyword */
      @@ -122,9 +122,9 @@ function func2() {
       
       

      Rule 2. Do Not Declare an Arguments Array within Functions

      -

      If the arguments array is declared with var in functions, this causes duplication with the reserved keyword arguments of JavaScript language in the functions.

      +

      If the arguments array is declared with var in functions, this causes duplication with the reserved keyword arguments of JavaScript language in the functions.

      -

      In the following example, the statement var arguments = []; in the function overwrites the reserved keyword arguments. As a result, the reserved keyword arguments in functions lose the feature to access the arguments of the function.

      +

      In the following example, the statement var arguments = []; in the function overwrites the reserved keyword arguments. As a result, the reserved keyword arguments in functions lose the feature to access the arguments of the function.

      function func() {
          /* 'arguments' has been predefined as a reserved keyword */
      @@ -139,7 +139,7 @@ function func2() {
       
       

      If there are captured variables in functions, they can make a closure. The closure may cause potential defects.

      -

      In the following example, you always expect 1 to be returned from calling the test function. However, the returned value is not always 1 because the variable x in the function outer is captured.

      +

      In the following example, you always expect 1 to be returned from calling the test function. However, the returned value is not always 1 because the variable x in the function outer is captured.

      This rule is introduced in the Google JavaScript Style Guide. They say that "The ability to create closures is perhaps the most useful and often overlooked feature of JS.One thing to keep in mind, however, is that a closure keeps a pointer to its enclosing scope. As a result, attaching a closure to a DOM element can create a circular reference and thus, a memory leak.".

      @@ -199,7 +199,7 @@ var result = func();

      Deleting the property of the object needs time to operate removing the property. In addition, it changes the shape of object. The change of the object's shape may cause decrease of performance.

      -

      In the following example, the property value of the instance obj is deleted using the keyword delete. This leads the instance obj not to share the shape of the constructor Obj with other instances. For that reason, the performance can be slower.

      +

      In the following example, the property value of the instance obj is deleted using the keyword delete. This leads the instance obj not to share the shape of the constructor Obj with other instances. For that reason, the performance can be slower.

      This rule is introduced by the Google JavaScript Style Guide. They say that "In modern JavaScript engines, changing the number of properties on an object is much slower than reassigning the values. The delete keyword should be avoided except when it is necessary to remove a property from an object's iterated list of keys, or to change the result of if (key in obj)."

      @@ -233,7 +233,7 @@ var str = 'The Test String \

      Use array and object literals instead of their constructors to avoid confusing and unexpected results.

      -

      In the following example, the array arr2 that has 3 values (1, 2, and 3) can be created using an array constructor. In the same way, if the array arr1 that has a single value (1) is created using an array constructor, it is the array with the length 1, not arr[0] is 1.

      +

      In the following example, the array arr2 that has 3 values (1, 2, and 3) can be created using an array constructor. In the same way, if the array arr1 that has a single value (1) is created using an array constructor, it is the array with the length 1, not arr[0] is 1.

      This rule is introduced by the Google Javascript Style Guide. They say that "Array constructors are error-prone due to their arguments".

      @@ -251,7 +251,7 @@ var arr2 = new Array(1, 2, 3);

      Rule 8. Do Not Modify the Prototypes of Built-in Objects

      -

      Modifying built-ins, such as Object.prototype and Array.prototype, can lead to debugging issues in production and must be avoided.

      +

      Modifying built-ins, such as Object.prototype and Array.prototype, can lead to debugging issues in production and must be avoided.

      For example, the functions in prototypes of built-in objects are shared by every instance of the built-in objects. If the function is modified, it affects every instances of the built-in objects.

      @@ -270,7 +270,7 @@ Object.prototype.create = function() {

      Avoid creating primitive typed values using the constructor of a wrapper objects.

      -

      If a boolean variable is created by the constructor Boolean, its value is a wrapper object, not true or false. In the following example, the program always prints true because the variable bool is a object that has a value, false.

      +

      If a boolean variable is created by the constructor Boolean, its value is a wrapper object, not true or false. In the following example, the program always prints true because the variable bool is a object that has a value, false.

      This rule is introduced by the Google Javascript Style Guide. They say that "There's no reason to use wrapper objects for primitive types, plus they are dangerous".

      @@ -289,11 +289,11 @@ else {
      [Coding Rule] Do not convert a wrapper object Boolean to a primitive value.
      -

      Rule 10. Do Not Use the for-in Structure with Arrays

      +

      Rule 10. Do Not Use the for-in Structure with Arrays

      If the array is used in for-in statement, the operation can be different from the normal for statement.

      -

      In the following example, you expect to print a, b, and c, but the program prints 0, 1, and 2.

      +

      In the following example, you expect to print a, b, and c, but the program prints 0, 1, and 2.

      This rule is introduced both by the JSLint and the Google Javascript Style Guide. They say that "for-in loops are often incorrectly used to loop over the elements in an Array. This is however very error prone because it does not loop from 0 to length - 1 but over all the present keys in the object and its prototype chain."

      @@ -311,7 +311,7 @@ for (var key in arr) {

      Rule 11. Do Not Use Unclosed Braces

      A function, an object, a code block, or a similar element which has an opening brace but no closing brace is not correct. The analysis detects this and stops with an error message.

      -

      In the following example, the temp() function needs a closing brace to indicate that the function definition is finished. The JSA detects this and creates an alarm, and the analysis is stopped because of the error.

      +

      In the following example, the temp() function needs a closing brace to indicate that the function definition is finished. The JSA detects this and creates an alarm, and the analysis is stopped because of the error.

       /* The temp function needs the closing brace */
      @@ -359,7 +359,7 @@ for (var i = 0; i < 10; i++) {
       
       

      Semicolon is needed in JavaScript to indicate that the declaration is finished. Missing a semicolon is not recommended, and although the analysis detects this, it proceeds without stopping.

      -

      In the following example, the variable a declared in the tempx() function without a semicolon, and the JSA detects it and creates an alarm.

      +

      In the following example, the variable a declared in the tempx() function without a semicolon, and the JSA detects it and creates an alarm.

       /* The declaration of a needed semicolon in the end */
      @@ -438,7 +438,7 @@ if (true)
       
       

      Accessing API which not provided by the Tizen API modules are notified as an WebAPIError and the analysis proceeded.

      -

      In the following example, the tizen.alarm.gett() function does not exist in the Tizen API, so the JSA detects it and creates an alarm.

      +

      In the following example, the tizen.alarm.gett() function does not exist in the Tizen API, so the JSA detects it and creates an alarm.

      /* Mistyping get as gett */
       var alarm = tizen.alarm.gett(abs_alarm.id);
      @@ -452,7 +452,7 @@ var alarm = tizen.alarm.gett(abs_alarm.id);

      Invoking a function with a wrong argument number is notified as an WebAPIError and the analysis proceeded.

      -

      In the following example, the tizen.filesystem.resolve() function needs more than 1 argument. Since the number of arguments is 1, the JSA detects it and creates an alarm.

      +

      In the following example, the tizen.filesystem.resolve() function needs more than 1 argument. Since the number of arguments is 1, the JSA detects it and creates an alarm.

      /* The number of arguments is wrong (2 or more arguments required) */
       tizen.filesystem.resolve('images'
      @@ -466,7 +466,7 @@ tizen.filesystem.resolve('images'
       
       

      Invoking an asynchronous function without an error callback is notified as an WebAPIError and the analysis proceeded.

      -

      In the following example, the tizen.filesystem.resolve() function needs an error callback as its third argument. Because the error callback does not exist, the JSA detects it and creates an alarm.

      +

      In the following example, the tizen.filesystem.resolve() function needs an error callback as its third argument. Because the error callback does not exist, the JSA detects it and creates an alarm.

      tizen.filesystem.resolve('images',
                                function(dir) {
      @@ -481,9 +481,9 @@ tizen.filesystem.resolve('images'
       
       

      Rule 4. Missing Exception Handling

      -

      Invoking an API, which can throw an exception without the try-catch clause is notified as an WebAPIError and the analysis proceeded.

      +

      Invoking an API, which can throw an exception without the try-catch clause is notified as an WebAPIError and the analysis proceeded.

      -

      In the following example, the tizen.calendar.getCalendars() is a function that can throw exceptions, so it must be wrapped by a try-catch statement. Because the try-catch statement does not exist, the JSA detects it and creates an alarm.

      +

      In the following example, the tizen.calendar.getCalendars() is a function that can throw exceptions, so it must be wrapped by a try-catch statement. Because the try-catch statement does not exist, the JSA detects it and creates an alarm.

      /* tizen.calendar.getCalendars API can make exceptions, so it should be wrapped in a try-catch statement */
       tizen.calendar.getCalendars('EVENT', calendarListCallback, errorCallback);
      @@ -496,7 +496,7 @@ tizen.calendar.getCalendars('EVENT', calendarListCallback, errorCallback

      Invoking API which passes wrong type value is notified as an WebAPIError and the is proceeded.

      -

      In the following example, the tizen.contact.getAddressBooks() function needs arguments whose type is the function instead of the string and the undefined, so the JSA detects it and makes an alarm.

      +

      In the following example, the tizen.contact.getAddressBooks() function needs arguments whose type is the function instead of the string and the undefined, so the JSA detects it and makes an alarm.

      var addressBooksCB = 'notFucntion';
       try {
      @@ -516,7 +516,7 @@ catch (e) {
       
       

      Creating a dictionary object with wrong key-value pairs is notified as an WebAPIError and the is proceeded.

      -

      In the following example, the constructor tizen.Contact() function needs a dictionary object as the first argument. If the keys of the dictionary object are different from the spec, the JSA detects it and creates an alarm.

      +

      In the following example, the constructor tizen.Contact() function needs a dictionary object as the first argument. If the keys of the dictionary object are different from the spec, the JSA detects it and creates an alarm.

      var validContactObj = new tizen.Contact({
          name: new tizen.ContactName({
      @@ -541,7 +541,7 @@ var invalidContactObj = new tizen.Contact(
       
       

      Invoking an API which is not defined in the current API version is noticed, although the analysis proceeds without stopping. If the Web API was defined in another API version or platform, the version name is provided in the error message.

      -

      In the following example, the Web App is developed for the Tizen 2.3 wearable platform, but the tizen.archive.open() function is defined in for the Tizen 2.3 mobile platform, so the JSA detects it and creates an alarm.

      +

      In the following example, the Web App is developed for the Tizen 2.3 wearable platform, but the tizen.archive.open() function is defined in for the Tizen 2.3 mobile platform, so the JSA detects it and creates an alarm.

       function onsuccess() { /* ... */ }
      @@ -562,9 +562,9 @@ try {
       
       

      Rule 8. API Privilege Missing

      -

      To use a privileged Tizen Device API in a target device, the config.xml file of the Tizen Web application must have a corresponding privilege URL defined. An alarm is raised if the privilege is not found in the config.xml file.

      +

      To use a privileged Tizen Device API in a target device, the config.xml file of the Tizen Web application must have a corresponding privilege URL defined. An alarm is raised if the privilege is not found in the config.xml file.

      -

      In the following example, the Web application is using the tizen.application.launch() function, which requires the http://tizen.org/privilege/application.launch privilege, which is commented in the config.xml file. So an alarm is raised.

      +

      In the following example, the Web application is using the tizen.application.launch() function, which requires the http://tizen.org/privilege/application.launch privilege, which is commented in the config.xml file. So an alarm is raised.

      @@ -578,7 +578,7 @@ tizen.application.launch('targetApp0.main', onsuccess);
       
       

      The JSA displays the following message:

      -
      [Web API Rule] Tizen tizen.application.launch API need "http://tizen.org/privilege/application.launch" privilege in 'config.xml'.
      +
      [Web API Rule] Tizen tizen.application.launch API need "http://tizen.org/privilege/application.launch" privilege in 'config.xml'.

      Using the Stale Object Checker

      @@ -590,20 +590,20 @@ tizen.application.launch('targetApp0.main', onsuccess);
    2. Select the testing platform:
      • In the Tizen device mode, the project is packaged as an application first, and then pushed to the Tizen device. Finally, it is launched automatically. After the application is launched, you can test the application.
      • -
      • In the PC Browser mode, the Web application runs at http://localhost:8888.
      • +
      • In the PC Browser mode, the Web application runs at http://localhost:8888.
    3. When all operations are finished on the Tizen device or PC browser, click Stop Recoding on the Console view toolbar or enter Alt+Shift+T on the keyboard.

      Stop recording

    4. After you stop recording, a confirmation message os displayed. Click OK. -

      The Stale Object Checker continues to inspect the data collected and launches a result page at http://localhost:9000. The result page can be accessed by any Web browser in the PC.

      +

      The Stale Object Checker continues to inspect the data collected and launches a result page at http://localhost:9000. The result page can be accessed by any Web browser in the PC.

      Confirmation of the recording stop

    Result Page View

    The result page appears with the view shown in the following figure. The page is composed of 2 parts: issue table and all-sites timeline. You can switch between the parts using the menu at the top of the page.

    -

    Figure: Result page with the issue table

    +

    Figure: Result page with the issue table

    Result page with the issue table

    The following details are provided in the issue table:

    @@ -619,14 +619,14 @@ tizen.application.launch('targetApp0.main', onsuccess);

    When you click a site in the issue table, a set of detailed information on a leak occurrence is shown. In the source view, you can easily find the code segment that steadily creates stale objects (possibly causing a memory leak), since it is marked with a colored box.

    -

    Figure: Detailed information

    +

    Figure: Detailed information

    Detailed information

    In the above figure:

    • The anonymous event handler function at the line 10 is identified as a stale object that can cause a memory leak.
    • In the call tree view, a call hierarchy is shown for the function which contains the code that creates stale objects. The name of a node in the call tree view indicates the file name, line number, and column number. -

      The "js/main_orig_.js:10:45" root element indicates that the memory leak occurs at line 10, column 45 in the js/main_orig_.js file.

      +

      The "js/main_orig_.js:10:45" root element indicates that the memory leak occurs at line 10, column 45 in the js/main_orig_.js file.

      Click the root element to move the source view to the location. Click the "js/main_orig_.js:27:5" child node to move the source view to line 27 where the function that contains the memory leak issue is called, and to highlight the function.

    • In the timeline view, the x axis represents the time elapse and the y axis represents the number of created objects from this site. Move the mouse to a specific time to show the number of stale and allocated instances on the graph.
    • In the access paths view, you can find out the scope of an object at runtime which leads to the location of the memory leak.
    @@ -636,14 +636,14 @@ tizen.application.launch('targetApp0.main', onsuccess);

    The all-sites time shows the timeline for all the objects created during the execution. The timeline graph in the issue table (figure above) shows the diagram for a specific site while the timeline in the all-sites page (figure below) indicates the diagram for all sites in the application. The pie charts shows the proportion of each site in all allocated and stale objects.

    -

    Figure: All-sites timeline page

    +

    Figure: All-sites timeline page

    All-sites timeline page

    Timer Sample Code

    -

    When you click start, the Timer starts to run. If you click again, the timer stops. The exitApp() function registers an event handler for the Tizen Back key to terminate the application when the Back key is pressed.

    +

    When you click start, the Timer starts to run. If you click again, the timer stops. The exitApp() function registers an event handler for the Tizen Back key to terminate the application when the Back key is pressed.

    -

    In the runtime() function, the exitApp() function is added by mistake. As a result, every time you click start, the exitApp() function is called, creates an anonymous function, and registers it to listen to the Back key events. When you test this application with the Stale Object Checker, multiple start button clicks are shown as a memory leak.

    +

    In the runtime() function, the exitApp() function is added by mistake. As a result, every time you click start, the exitApp() function is called, creates an anonymous function, and registers it to listen to the Back key events. When you test this application with the Stale Object Checker, multiple start button clicks are shown as a memory leak.

     /* JavaScript snippets */
    @@ -667,24 +667,24 @@ function runtime() {
     

    When testing the source code, the following figure shows the result. It indicates that a memory leak occurred at the "js/main_orig_.js:39:42" site. Clicking this site, the detailed information is retrieved.

    -

    Figure: Timer example issue table

    +

    Figure: Timer example issue table

    Timer example issue table

    -

    Figure: Timer example detailed information

    +

    Figure: Timer example detailed information

    Timer example detailed information

    -

    The detailed information shows that function object added to listen for "tizenhwkey" events caused a memory leak. If you click the "Call Tree" on the page, you can see that the exitApp() function with a memory leak issue is called in the runtime() function.

    +

    The detailed information shows that function object added to listen for "tizenhwkey" events caused a memory leak. If you click the "Call Tree" on the page, you can see that the exitApp() function with a memory leak issue is called in the runtime() function.

    -

    This code site is detected as a leak because the handler function objects created from the site have not been used before the application exits. The call tree says that when the runtime() function is executed, the exitApp() function is invoked, every time creates an anonymous function and registers it to a document object.

    +

    This code site is detected as a leak because the handler function objects created from the site have not been used before the application exits. The call tree says that when the runtime() function is executed, the exitApp() function is invoked, every time creates an anonymous function and registers it to a document object.

    In the "Timeline" graph, you can see how the number of stale instances increases steadily. This graph shows any objects created from this code site that have not been used before the application exists.

    Calculator Sample Code

    -

    When you click a number button, the command() function is executed. The init() function registers an event handler for the Tizen Back key.

    +

    When you click a number button, the command() function is executed. The init() function registers an event handler for the Tizen Back key.

    -

    In the command() function, the init() function is added by mistake. As a result, every time you click a number button, the init() function is called, creates an anonymous function, and registers it to listen to Tizen Back key events.

    +

    In the command() function, the init() function is added by mistake. As a result, every time you click a number button, the init() function is called, creates an anonymous function, and registers it to listen to Tizen Back key events.

    When you test this application with the Stale Object Checker and click a number button many times, the problem is diagnosed as a memory leak. When testing the source code, the result is the same as in the Timer example above.

    diff --git a/org.tizen.studio/html/web_tools/live_editing_w.htm b/org.tizen.studio/html/web_tools/live_editing_w.htm
    index a599214..c54350f 100644
    --- a/org.tizen.studio/html/web_tools/live_editing_w.htm
    +++ b/org.tizen.studio/html/web_tools/live_editing_w.htm
    @@ -61,23 +61,16 @@
     
  • Select the Enable live editing check box in the run configuration.
  • If you are running your application for the first time, you must create a new configuration first.

    - - - - - - - - - - -
    Note
    The live editing feature has the following limitations: + +
    + Note + The live editing feature has the following limitations:
    • The Tizen Device API does not work on the emulator.
    • Only specific device APIs are supported by the Web simulator.
    • Live editing does not work in certain environments, such as a proxy network.
    -
    +

    To define how the live editing works, set the Tizen Studio Live Editing preferences.

    diff --git a/org.tizen.studio/html/web_tools/previewer_w.htm b/org.tizen.studio/html/web_tools/previewer_w.htm index 939894a..e817fff 100644 --- a/org.tizen.studio/html/web_tools/previewer_w.htm +++ b/org.tizen.studio/html/web_tools/previewer_w.htm @@ -65,25 +65,18 @@
  • In the context menu, select Preview (or use the hotkey Ctrl + 4).
  • -

    Figure: HTML previewer (calendar application in mobile Web) and CSS previewer

    +

    Figure: HTML previewer (calendar application in mobile Web) and CSS previewer

    HTML previewer (calendar application in mobile Web) and CSS previewer HTML previewer (calendar application in mobile Web) and CSS previewer

    You can configure the previewer to suit your own preferences.

    You can set the preview in Window > Preferences > Tizen Studio > Web > Live Editing.

    - - - - - - - - - -
    Note
    The previewer is based on the Google Chrome™ browser. +
    + Note + The previewer is based on the Google Chrome™ browser.

    The CSS preview can differ from the actual product. It allows you to see the overall outline.

    -

    Some selectors and elements do not work on the CSS previewer.

    - +

    Some selectors and elements do not work on the CSS previewer.

    + diff --git a/org.tizen.studio/html/web_tools/privilege_checker_w.htm b/org.tizen.studio/html/web_tools/privilege_checker_w.htm index 2b64ad3..b0befe7 100644 --- a/org.tizen.studio/html/web_tools/privilege_checker_w.htm +++ b/org.tizen.studio/html/web_tools/privilege_checker_w.htm @@ -48,7 +48,7 @@
  • Right-click the project folder, and select Check Privilege.
  • -

    Figure: Privilege Checker

    +

    Figure: Privilege Checker

    Privilege Checker

    Setting the Options

    @@ -65,17 +65,17 @@
  • Warning
  • Error (default)
  • -

    You can exclude JS files from parsing by specifying pattern strings, separated by a comma, in the Exclude files that match these patterns from validation field. The default value in this field is min, jquery, jqm-docs, phonegap, sencha, tizen-web-ui-fw, dowhide, globalize, coderdeck, modernizr, tau. For instance, since parsing the jquery.min.js file generates many warnings, the default pattern string values exclude the parsing of this JS file.

    +

    You can exclude JS files from parsing by specifying pattern strings, separated by a comma, in the Exclude files that match these patterns from validation field. The default value in this field is min, jquery, jqm-docs, phonegap, sencha, tizen-web-ui-fw, dowhide, globalize, coderdeck, modernizr, tau. For instance, since parsing the jquery.min.js file generates many warnings, the default pattern string values exclude the parsing of this JS file.

    -

    The check results are displayed in the Problems view and vertical ruler. To resolve an alarm, click the annotation on the vertical ruler and select an entry from the proposal list. The required privilege is automatically added into the config.xml file (for a quick fix, use the Ctrl + 1 keyboard shortcut).

    +

    The check results are displayed in the Problems view and vertical ruler. To resolve an alarm, click the annotation on the vertical ruler and select an entry from the proposal list. The required privilege is automatically added into the config.xml file (for a quick fix, use the Ctrl + 1 keyboard shortcut).

    -

    Figure: Check results displayed in the Problems view

    +

    Figure: Check results displayed in the Problems view

    Check results displayed in the Problems view

    -

    Figure: Required privilege is automatically added

    +

    Figure: Required privilege is automatically added

    Required privilege is automatically added

    +

    Table: Privilege check alarm example

    - @@ -93,16 +93,10 @@
    Table: Privilege check alarm example
    Alarm type
    - - - - - - - - - -
    Note
    The Privilege Checker tool is based on the Content Assist Engine of the Tizen Studio. It is used for codes that are not supported by Content Assist and cannot be checked. Therefore, the check results can possibly have missing (unsound) values.
    +
    + Note + The Privilege Checker tool is based on the Content Assist Engine of the Tizen Studio. It is used for codes that are not supported by Content Assist and cannot be checked. Therefore, the check results can possibly have missing (unsound) values. +
    diff --git a/org.tizen.studio/html/web_tools/project_explorer_view_w.htm b/org.tizen.studio/html/web_tools/project_explorer_view_w.htm index 0748273..e8fc50760 100644 --- a/org.tizen.studio/html/web_tools/project_explorer_view_w.htm +++ b/org.tizen.studio/html/web_tools/project_explorer_view_w.htm @@ -38,7 +38,7 @@

    Managing Tizen Projects with Project Explorer View

    The Project Explorer view allows you to view and manage Tizen projects. You can view and change the resources of a project in the view, and build, export, and convert projects through the view.

    -

    Figure: Project Explorer

    +

    Figure: Project Explorer

    Project Explorer

    In this view, you can:

    @@ -55,19 +55,19 @@

    Opening the Project Explorer View

    Usually, the Project Explorer view is located in the left-top side in the Tizen Studio. You can change the position by dragging and dropping it. If you close the view, you can show it again by selecting Project Explorer in Window > Show View > Other > General.

    -

    Figure: Opening the view

    +

    Figure: Opening the view

    Opening the view

    Using the Project Explorer View

    The files that you select in the Project Explorer view affect the information that is displayed in the other views. You can execute and set some operations and configurations by clicking the icons (Toolbar icons) in the toolbar.

    -

    Figure: Executing operations

    +

    Figure: Executing operations

    Executing operations

    To execute operations, such as copying, moving, creating new resources, and comparing resources with each other, right-click on any resource in the Project Explorer view, and select the desired action in the context menu. The items in the context menu depend on the focused item. Different folder and file types have different action options.

    +

    Table: Project Explorer toolbar

    - @@ -116,8 +116,8 @@
    Table: Project Explorer toolbar
    Icon
    +

    Table: Project Explorer context menu

    - diff --git a/org.tizen.studio/html/web_tools/project_wizard_w.htm b/org.tizen.studio/html/web_tools/project_wizard_w.htm index e2d840b..ca05bcf 100644 --- a/org.tizen.studio/html/web_tools/project_wizard_w.htm +++ b/org.tizen.studio/html/web_tools/project_wizard_w.htm @@ -54,7 +54,7 @@

    Project Type

    When the Tizen Project Wizard opens, you must first select the project type.

    -

    Figure: Selecting the project type

    +

    Figure: Selecting the project type

    Selecting the project type

    The Tizen Studio provides various project templates and samples for the mobile and wearable devices according to the installed platform. The Tizen Project Wizard helps you select the template and sample for your project.

    @@ -85,7 +85,7 @@

    You can select the profile and version supported by your project, such as a mobile or wearable device. In addition, the Tizen Studio shows you which platforms among the supported platforms have been installed.

    Based on the selected profile and version, a list of templates is shown in the template selection step.

    -

    Figure: Selecting the profile and version

    +

    Figure: Selecting the profile and version

    File analysis

    To move to the next step, select the profile and version, and click Next.

    @@ -94,7 +94,7 @@

    You can select the Web or native application type for your project. For more information, see Web Application and Native Application.

    Based on the selected application type, a list of templates is shown in the template selection step.

    -

    Figure: Selecting the application type

    +

    Figure: Selecting the application type

    Selecting the application type

    To move to the next step, select the application type and click Next.

    @@ -102,7 +102,7 @@

    Template

    You can select the template for your project while viewing information about a variety of templates. The Tizen Project Wizard creates the project based on the selected template.

    -

    Figure: Selecting the template

    +

    Figure: Selecting the template

    Selecting the template

    To move to the next step, select the template and click Next.

    @@ -110,13 +110,13 @@

    Project Properties

    You can set basic project properties, such as the project name, location, and working sets.

    -

    Figure: Setting project properties

    +

    Figure: Setting project properties

    Setting project properties

    The options you can set are listed in the following table.

    +

    Table: Project properties

    Table: Project Explorer context menu
    Menu
    - @@ -128,7 +128,7 @@ - + diff --git a/org.tizen.studio/html/web_tools/rest_viewer_w.htm b/org.tizen.studio/html/web_tools/rest_viewer_w.htm index b0d8979..1de6e07 100644 --- a/org.tizen.studio/html/web_tools/rest_viewer_w.htm +++ b/org.tizen.studio/html/web_tools/rest_viewer_w.htm @@ -64,7 +64,7 @@

    The REST Viewer displays the components of the WADL (Web Application Description Language) document in a hierarchical structure.

    The viewer loads the documents from a specific location and classifies them as 4-typed WADL components.

    -

    Figure: REST Viewer

    +

    Figure: REST Viewer

    REST Viewer

    The WADL document can contain 4 types of WADL components:

    @@ -81,26 +81,20 @@

    To use the REST Viewer, you need WADL. If WADL provided by the REST API service providers exists, it can be used to import. When you export a test case, others can be used.

    With the REST Viewer, you can make new WADL components, and import and export WADL files. You can handle a selected WADL component only if you open a dialog to modify it. You cannot modify the selected component's parent or child components at the same time.

    -
    Table: Project properties
    Property
    Use default locationIf you check this option, the project is created in the $<workspace_location>/<project_name> directory.If you check this option, the project is created in the $<workspace_location>/<project_name> directory.
    Location
    - - - - - - - - -
    Note
    Some attributes are required to make a structure for the tree viewer even if they are optional in the WADL schema.
    +
    + Note + Some attributes are required to make a structure for the tree viewer even if they are optional in the WADL schema. +

    To manage the WADL components, in the REST Viewer view toolbar, click the following icons:

    • Add icon: Add new WADL components.
    • Import icon: Import a WADL file and show the WADL models from a local WADL file or URL.
    • -
    • Export icon: Export the selected WADL models as a .wadl file.
    • +
    • Export icon: Export the selected WADL models as a .wadl file.

    When you add a new WADL component, you must define its place in the WADL structure in the addition dialog. The WADL structure is "Service > Base URI > Path [> Path] > API".

    -

    Figure: Adding a WADL component

    +

    Figure: Adding a WADL component

    Adding a WADL component

    Fill in the necessary details:

      @@ -145,7 +139,7 @@
    • OAuth 2.0 authentication information for a RESTful API
    -

    Figure: Authentication details

    +

    Figure: Authentication details

    Authentication details

    @@ -157,25 +151,25 @@
  • Right-click the selected API and run the test from the context menu.
  • Click Save and Run in the dialog when adding or modifying components.
  • -

    The API that works with variables needs specific values for the test. Each profile has its own user variables (key and value). You can manage the profiles and user variables in the Preferences window. After the user variables are set, you can use them with a placeholder to test the API (for example, ${email}).

    +

    The API that works with variables needs specific values for the test. Each profile has its own user variables (key and value). You can manage the profiles and user variables in the Preferences window. After the user variables are set, you can use them with a placeholder to test the API (for example, ${email}).

    -

    Figure: User variables

    +

    Figure: User variables

    User variables

    You can select an active profile in the REST Viewer user variable toolbar menu. When you test the APIs in the REST Viewer, user variables of the selected profile are used.

    -

    Figure: Selecting a profile

    +

    Figure: Selecting a profile

    Selecting a profile

    The user variables of the active profile are shown when you set the values for an API.

    -

    Figure: Selecting a user variable

    +

    Figure: Selecting a user variable

    Selecting a user variable

    After setting the variables and running the test, the result is displayed in the Console view. You can save the response structure.

    -

    Figure: Test result

    +

    Figure: Test result

    Test result

    Automatic Code Generation

    @@ -183,7 +177,7 @@

    There are 2 ways to use automatic code generation:

    • Use the content assist feature. -

      You can activate the content assist with the prefix rest..

    • +

      You can activate the content assist with the prefix rest..

    • Drag and drop:
      1. Select the API model in the REST Viewer, and drag and drop it to the Web HTML Editor.
      2. @@ -192,7 +186,7 @@
    -

    Figure: Selecting functions for the REST API

    +

    Figure: Selecting functions for the REST API

    Selecting functions for the REST API

    diff --git a/org.tizen.studio/html/web_tools/web_editor_w.htm b/org.tizen.studio/html/web_tools/web_editor_w.htm index 8ac7d32..d03c505 100644 --- a/org.tizen.studio/html/web_tools/web_editor_w.htm +++ b/org.tizen.studio/html/web_tools/web_editor_w.htm @@ -55,34 +55,28 @@
  • Right-click the file and select Check JavaScript Rules.
  • - - - - - - - - - -
    Note
    You can check JavaScript immediately, even without saving the file.
    +
    + Note + You can check JavaScript immediately, even without saving the file. +
    -

    Figure: Checking JavaScript rules manually

    +

    Figure: Checking JavaScript rules manually

    Checking JavaScript rules manually

  • Automatic check

    When writing code, if there are syntax errors, the automatic check displays the CSSLint or JSLint validator results on the left edge of the editor.

    • If you save a file, the project is built and syntax is checked automatically. -

      Figure: Checking JavaScript automatically

      +

      Figure: Checking JavaScript automatically

      Checking JavaScript automatically

      -

      Figure: JavaScript scan results in the Problems view

      +

      Figure: JavaScript scan results in the Problems view

      JavaScript scan results in the Problems view

    • Using content assist.

      You can get suggestions for HTML, CSS, and JavaScript tag and attribute properties. Also, if you mistype, content assist displays an error. Press Ctrl + Space to open content assist.

      -

      Figure: Content assist in a CSS file

      +

      Figure: Content assist in a CSS file

      Content assist in a CSS file

    @@ -106,41 +100,41 @@

    The advanced content assist supports code completion of the attribute values for some elements in the HTML Editor.

    The advanced content assist has the following features:

      -
    • Proposes code completion of the href attribute value of the <a> element: +
    • Proposes code completion of the href attribute value of the <a> element:
      • List of HTML files included in the project
      • -
      • List of id values that are assigned to the elements of the edited file
      • +
      • List of id values that are assigned to the elements of the edited file
    • -
    • Proposes code completion of the href attribute value of the <link> element: +
    • Proposes code completion of the href attribute value of the <link> element:
      • List of CSS files included in the project
    • -
    • Proposes code completion of the src attribute value of the <script> element: +
    • Proposes code completion of the src attribute value of the <script> element:
      • List of JavaScript files included in the project
    • -
    • Proposes code completion of the src attribute value of the <iframe> element: +
    • Proposes code completion of the src attribute value of the <iframe> element:
      • List of HTML files included in the project
    • -
    • Proposes code completion of the src attribute value of the <img> element: +
    • Proposes code completion of the src attribute value of the <img> element:
      • List of image files included in the project
    • -
    • Proposes code completion of id or class attribute values of all elements: +
    • Proposes code completion of id or class attribute values of all elements:
        -
      • id: List of ID selectors of linked CSS files
      • -
      • class: List of class selectors of linked CSS files
      • +
      • id: List of ID selectors of linked CSS files
      • +
      • class: List of class selectors of linked CSS files
    -

    Figure: Content assist with the <img> element

    +

    Figure: Content assist with the <img> element

    Content assist with the img element

    To use content assist in the HTML editor:

    @@ -155,19 +149,19 @@

    The advanced content hover supports additional information of the attribute values of some elements in the HTML editor.

    The advanced content hover has the following features:

      -
    • Supports a preview at the href attribute value of the <a> element. +
    • Supports a preview at the href attribute value of the <a> element.
        -
      • When the HTML file path is assigned to the href value, the preview shows the HTML code of the linked file.
      • -
      • When an id element value is assigned to the href value, the preview shows the code snippet of the element that is assigned the id value.
      • +
      • When the HTML file path is assigned to the href value, the preview shows the HTML code of the linked file.
      • +
      • When an id element value is assigned to the href value, the preview shows the code snippet of the element that is assigned the id value.
    • -
    • Supports a preview of the CSS file at the href attribute value of the <link> element.
    • -
    • Supports a preview of the JavaScript file at the src attribute value of the <script> element.
    • -
    • Supports a preview of the HTML file at the src attribute value of the <iframe> element.
    • -
    • Supports a preview of the image file at the src attribute value of the <img> element.
    • -
    • Support a preview of the CSS rule at the id or class attribute value of all elements, if the selector (that is made by the id or class value) exists.
    • +
    • Supports a preview of the CSS file at the href attribute value of the <link> element.
    • +
    • Supports a preview of the JavaScript file at the src attribute value of the <script> element.
    • +
    • Supports a preview of the HTML file at the src attribute value of the <iframe> element.
    • +
    • Supports a preview of the image file at the src attribute value of the <img> element.
    • +
    • Support a preview of the CSS rule at the id or class attribute value of all elements, if the selector (that is made by the id or class value) exists.
    -

    Figure: Content hover with the <link> element

    +

    Figure: Content hover with the <link> element

    Content hover with the link element

    To use the hover feature in the HTML editor, hover the mouse cursor at the above attributes.

    @@ -182,10 +176,10 @@
  • File delete refactoring

    When a file is deleted, other files to which the deleted file is related, are commented out at the linked line of codes.

  • -

    Figure: Before CSS file rename refactoring

    +

    Figure: Before CSS file rename refactoring

    Before CSS file rename refactoring

    -

    Figure: After CSS file rename refactoring

    +

    Figure: After CSS file rename refactoring

    After CSS file rename refactoring

    Previewer

    @@ -197,36 +191,36 @@

    The JavaScript Log Console view is a tool that helps to debug the log analysis using the JavaScript Console API when developing Web applications. The JavaScript Log Console view is active only in the Debug launch mode.

    Using the console functions provided to JavaScript code, the view shows the log information in the target.

    +

    Table: Supported JavaScript log methods

    - - - + + - - + + - - + + - - + + - - + +
    Table: Supported JavaScript log methods
    Method Example
    console.logconsole.log("console.log");console.logconsole.log("console.log");
    console.infoconsole.info("console.info");console.infoconsole.info("console.info");
    console.warnconsole.warn("console.warn");console.warnconsole.warn("console.warn");
    console.errorconsole.error("console.error");console.errorconsole.error("console.error");
    console.debugconsole.debug("console.debug");console.debugconsole.debug("console.debug");
    -

    Figure: JavaScript log method colors

    +

    Figure: JavaScript log method colors

    JavaScript log method colors

    Live Edit

    diff --git a/org.tizen.studio/html/web_tools/web_inspector_w.htm b/org.tizen.studio/html/web_tools/web_inspector_w.htm index 242e412..e57b21e 100644 --- a/org.tizen.studio/html/web_tools/web_inspector_w.htm +++ b/org.tizen.studio/html/web_tools/web_inspector_w.htm @@ -54,44 +54,44 @@
  • Profiles Panel
  • Console Panel
  • -

    Figure: JavaScript Debugger panels

    +

    Figure: JavaScript Debugger panels

    JavaScript Debugger panels

    -

    When debugging with the Emulator, the Emulator communicates with the Google Chrome™ browser through the HTTP protocol.

    +

    When debugging with the emulator, the emulator communicates with the Google Chrome™ browser through the HTTP protocol.

    When the JavaScript Debugger is started, the Network panel is off. To enable the Network panel and start monitoring the resource loading status, press the F5 key. This reloads the current page and displays the load time on the Network panel.

    Elements Panel

    The Elements panel of the JavaScript Debugger allows you to see the Web page components (the DOM tree, CSS style, and Document Object Model).

    -

    Figure: Elements panel

    +

    Figure: Elements panel

    Elements panel

    Resources Panel

    The Resources panel of the JavaScript Debugger allows you to inspect resources. You can interact with frames containing resources, such as HTML, JavaScript, CSS, images, and fonts. You can also inspect HTML5 databases, local storage, cookies, and application cache.

    -

    Figure: Resources panel

    +

    Figure: Resources panel

    Resources panel

    Network Panel

    The Network panel of the JavaScript Debugger allows you to inspect resources downloaded over the network. You can also inspect the HTTP header, response, cookies, and preview.

    -

    Figure: Network panel

    +

    Figure: Network panel

    Network panel

    Sources Panel

    The Sources panel of the JavaScript Debugger allows you to inspect the JavaScript source page. You can debug your JavaScript code. This panel supports watch expressions, callstack, scope variables, and break point operation. In addition, it supports basic debugging operations: continue, step over, step into, and step out.

    -

    Figure: Sources panel

    +

    Figure: Sources panel

    Sources panel

    Timeline Panel

    The Timeline panel of the JavaScript Debugger allows you to perform advanced timing and speed analysis. You can see how long the browser takes to handle DOM events, and rendering and painting windows.

    -

    Figure: Timeline panel

    +

    Figure: Timeline panel

    Timeline panel

    Profiles Panel

    The Profiles panel of the JavaScript Debugger allows you to inspect the JavaScript performance analyses. You can inspect CPU profiles or CSS Select profiles.

    -

    Figure: Profiles panel

    +

    Figure: Profiles panel

    Profiles panel

    Console Panel

    The Console panel of the JavaScript Debugger allows you to inspect the JavaScript console operation. You can interact with your page programmatically. Any errors or warnings on your page are shown in the console.

    -

    Figure: Console panel

    +

    Figure: Console panel

    Console panel

    diff --git a/org.tizen.studio/html/web_tools/web_localization_w.htm b/org.tizen.studio/html/web_tools/web_localization_w.htm index ab7eeff..006a065 100644 --- a/org.tizen.studio/html/web_tools/web_localization_w.htm +++ b/org.tizen.studio/html/web_tools/web_localization_w.htm @@ -57,7 +57,7 @@
  • Click Localization.
  • -

    Figure: Opening the Web Localization view

    +

    Figure: Opening the Web Localization view

    Opening the Web Localization view

    @@ -76,10 +76,10 @@
  • To confirm the selected locale information, click OK.
  • -

    Figure: Added locales

    +

    Figure: Added locales

    Added locales

    -

    A container named locales is created for the localized content. Under the container, a subfolder for a locale is added when you set a locale. For example, /locales/en-us and /locales/zn-cn.

    +

    A container named locales is created for the localized content. Under the container, a subfolder for a locale is added when you set a locale. For example, /locales/en-us and /locales/zn-cn.

    Creating and Managing Localized Strings

    @@ -98,50 +98,43 @@

    You can check the defined strings in the String tab.

    -

    Figure: Defined strings

    +

    Figure: Defined strings

    Defined strings

    You can add more items to the table or remove them, as needed.

    You can change the table tab configuration between ID and Locale by clicking the Change ViewMode button.

    -

    Figure: String-based viewmode

    +

    Figure: String-based viewmode

    String-based viewmode

    When the string localization is complete, the following modifications are made in the project:

    - - - - - - - - - - -
    Note
    For more information about using localized string content, see Localization.
    - + +
    + Note + For more information about using localized string content, see Localization. +

    Using Resources for Localization

    In the Resource tab, you can localize resource files, such as images, sound, video, HTML, and JavaScript more efficiently. The Resource tab displays the resources of the project in a tile form.

    -

    Figure: Resource tab

    +

    Figure: Resource tab

    Resource tab

    If a resource is not localized, the + button appears on the resource tile.

    -

    Figure: Missing resource file

    +

    Figure: Missing resource file

    Missing resource file

    To localize the missing resource:

    @@ -156,8 +149,8 @@

    Folder-based Localization

    -

    Folder-based localization places the resources inside locale folders with names determined by the language tag, such as en-us and ko-kr. The locale folders are located under a container folder named locales. The localized resources are used in accordance with the location settings of the device. If there are no localized resources, the default resource is used.

    -

    For example, if the locale of a device is ko-kr, the images/a.png and images/c.png images are replaced with the locales/ko-kr/images/a.png and locales/ko-kr/images/c.png images. However, the images/b.png image is not replaced, because there is no applicable resource in the locales/ko-kr/images/ folder.

    +

    Folder-based localization places the resources inside locale folders with names determined by the language tag, such as en-us and ko-kr. The locale folders are located under a container folder named locales. The localized resources are used in accordance with the location settings of the device. If there are no localized resources, the default resource is used.

    +

    For example, if the locale of a device is ko-kr, the images/a.png and images/c.png images are replaced with the locales/ko-kr/images/a.png and locales/ko-kr/images/c.png images. However, the images/b.png image is not replaced, because there is no applicable resource in the locales/ko-kr/images/ folder.

     root/
    diff --git a/org.tizen.studio/html/web_tools/web_simulator_features_w.htm b/org.tizen.studio/html/web_tools/web_simulator_features_w.htm
    index 3ee90af..fb2c596 100644
    --- a/org.tizen.studio/html/web_tools/web_simulator_features_w.htm
    +++ b/org.tizen.studio/html/web_tools/web_simulator_features_w.htm
    @@ -52,14 +52,14 @@
     		  

    In the Orientation and Zooming panel, you can switch the orientation between the portrait and landscape modes. If your application has subscribed to the orientation change event, it receives the event and the subscribed event handler is invoked.

    You can also set the zoom level of your application to view specific areas of the application. Zooming is a visual aid and does not trigger application notifications.

    -

    Figure: Orientation and Zooming panel (mobile app on the left, wearable on the right)

    +

    Figure: Orientation and Zooming panel (mobile app on the left, wearable on the right)

    Orientation and Zooming panel

    System Summary

    The System Summary panel displays generic information and settings about the application, system, device, and platform.

    -

    Figure: System Summary panel (mobile app on the left, wearable on the right)

    +

    Figure: System Summary panel (mobile app on the left, wearable on the right)

    System Summary panel

    @@ -67,7 +67,7 @@

    The Geolocation panel contains location-related settings. You can set the local time zone to test whether your application reacts properly when the target device is located in different geographical areas.

    -

    Figure: Geolocation panel

    +

    Figure: Geolocation panel

    Geolocation panel

    The panel also provides an input area to configure geographical data being sent from the device. Additionally, a map is displayed and updated in accordance to the changing of data.

    To simulate a custom, multi-point route:

    @@ -81,9 +81,9 @@

    Application Configuration

    -

    The Application Configuration panel displays a graphical representation of the config.xml file. You can use it to ensure the validity of your application configuration.

    +

    The Application Configuration panel displays a graphical representation of the config.xml file. You can use it to ensure the validity of your application configuration.

    For more information about the configuration details, see W3C/HTML5 Specifications.

    -

    Figure: Application Configuration panel

    +

    Figure: Application Configuration panel

    Application Configuration panel

    @@ -98,29 +98,21 @@
  • Shake simulates shaking the device along the X axis.
  • ResetAll simulates returning the device to its default position.
  • -

    Figure: Accelerometer sensor (mobile app on the left, wearable on the right)

    +

    Figure: Accelerometer sensor (mobile app on the left, wearable on the right)

    Accelerometer sensor

    To set the magnetic field, enter the X, Y, and Z axis values.

    -

    Figure: Accelerometer and gyro sensors

    +

    Figure: Accelerometer and gyro sensors

    Accelerometer and gyro sensors

    - - - - - - - - - -
    Note

    If the computer does not fully support WebGL, the simulated device in the Sensors panel looks like in the following figure.

    -

    Figure: Sensor without WebGL

    -

    Sensor without WebGL

    - - - -

    Packages and Applications

    - - + +
    + Note + If the computer does not fully support WebGL, the simulated device in the Sensors panel looks like in the following figure. +

    Figure: Sensor without WebGL

    +

    Sensor without WebGL

    +
    + +

    Packages and Applications

    +

    The Packages and Applications panel provides a simulated packages and applications management center on a device. It lists available and installed packages and applications on a device:

    • On the Packages tab, the available packages list provides INSTALL and UPDATE operations. The operations generate events, such as INSTALLED and UPDATED, and call the required callbacks.
    • @@ -128,9 +120,9 @@

    You can use the Packages and Applications panel to verify created operations and operation details.

    -

    Figure: Packages and Applications panel

    +

    Figure: Packages and Applications panel

    Packages and Applications panel

    -

    The following sample code demonstrates how to receive the INSTALLED, UPDATED, and UNINSTALLED events for changes in the installed packages list. If you select Sample Package from the available packages list and click Install, the "The package "Sample Package" is installed" message is displayed in the console, and for each application in the package, the oninstalled event is generated. You can subscribe to these application events by registering the tizen.application.addAppInfoEventListener interface.

    +

    The following sample code demonstrates how to receive the INSTALLED, UPDATED, and UNINSTALLED events for changes in the installed packages list. If you select Sample Package from the available packages list and click Install, the "The package "Sample Package" is installed" message is displayed in the console, and for each application in the package, the oninstalled event is generated. You can subscribe to these application events by registering the tizen.application.addAppInfoEventListener interface.

    var packageEventCallback =
     {
        oninstalled: function(packageInfo)
    @@ -153,7 +145,7 @@ tizen.package.setPackageInfoEventListener(packageEventCallback);

    Preinstalled Packages and Applications In Mobile Applications

    A Sample Package is preinstalled in the simulator and contains 2 sample applications: Tizen dialer for making phone calls, and Tizen sender for sending SMS messages. Many sample applications, such as CallLog, use the Tizen Application API to invoke these service applications. Since the simulator allows you to run only 1 application at a time, the Application Module Message window is available, which can provide return data for success callback and simulate application launch failure.

    -

    The following sample code demonstrates how to define an application control and invoke the http://tizen.org/appcontrol/operation/send_text service provided by the Tizen sender application. You can use the Application Module Message window to simulate the success value for the success callback or an error message for the error callback.

    +

    The following sample code demonstrates how to define an application control and invoke the http://tizen.org/appcontrol/operation/send_text service provided by the Tizen sender application. You can use the Application Module Message window to simulate the success value for the success callback or an error message for the error callback.

    var appControl = new tizen.ApplicationControl('http://tizen.org/appcontrol/operation/send_text',
                                                   'sms:' + phoneNumber);
     
    @@ -169,11 +161,11 @@ tizen.application.launchAppControl(appControl, null, function()
        onfailure: function(er) {/* Error handling */}
     });
    -

    Figure: Providing application callback data

    +

    Figure: Providing application callback data

    Providing application callback data

    -

    The Web Simulator does not have a home screen. Therefore, when the application.exit() method is called, you cannot navigate to another application or to the home screen. In this situation, a message is displayed stating that the application tried to exit and can be launched again.

    +

    The Web Simulator does not have a home screen. Therefore, when the application.exit() method is called, you cannot navigate to another application or to the home screen. In this situation, a message is displayed stating that the application tried to exit and can be launched again.

    -

    Figure: Launch an application again

    +

    Figure: Launch an application again

    Launch an application again

    Communications in Mobile Applications

    @@ -181,10 +173,10 @@ tizen.application.launchAppControl(appControl, null, function()

    In the Communications panel, you can handle calls, messages, and the push service.

    Calls

    The Calls tab provides controls for simulating incoming calls made to the application. The calls can be tracked by call history-related methods using the Tizen Call History API.

    -

    Figure: Calls tab

    +

    Figure: Calls tab

    Calls tab

    Click Call to display the calling screen. Click Answer to simulate a received call, and Ignore to simulate a rejected call.

    -

    Figure: Calling screen

    +

    Figure: Calling screen

    Calling screen

    Messages

    The Messages tab provides controls for simulating SMS, MMS, and email message exchange between the panel and a target application. To send a message from the panel to the application:

    @@ -195,18 +187,18 @@ tizen.application.launchAppControl(appControl, null, function()

    The application receives messages using the Tizen Messaging API.

    The Message Thread section shows the message history of the current session.

    -

    Figure: Messages tab

    +

    Figure: Messages tab

    Messages tab

    Push Service

    The Push tab provides controls for delivering push notifications to your application. The applications table (on the Packages and Applications panel) lists registered applications for receiving push notifications and connectivity status. If an application is connected, the push service sends the push notification data directly to the application. If an application is not connected, the push service posts a UI notification on the Notification panel.

    -

    For the application to receive push messages, it has to register itself with the tizen.push.registerService() method. If the registration is successful, a red pause button is shown at the Application section under Status. During this status, notification messages pushed by the service server are posted on the Notification panel.

    -

    Figure: Registered for the push service

    +

    For the application to receive push messages, it has to register itself with the tizen.push.registerService() method. If the registration is successful, a red pause button is shown at the Application section under Status. During this status, notification messages pushed by the service server are posted on the Notification panel.

    +

    Figure: Registered for the push service

    Registered for the push service

    -

    After the registration, the application must connect to the push service with the tizen.push.connectService() method. When the application is connected, a callback provided by the application is called whenever a notification message arrives.

    +

    After the registration, the application must connect to the push service with the tizen.push.connectService() method. When the application is connected, a callback provided by the application is called whenever a notification message arrives.

    -

    Figure: Connected to the push service

    +

    Figure: Connected to the push service

    Connected to the push service

    To push a message from the panel to the application:

    @@ -216,7 +208,7 @@ tizen.application.launchAppControl(appControl, null, function()
  • Click Push.
  • The application receives push notifications using the Tizen Push API.

    -

    Figure: Push tab

    +

    Figure: Push tab

    Push tab

    @@ -224,18 +216,18 @@ tizen.application.launchAppControl(appControl, null, function()

    The Network Management panel is used to manage network capabilities, such as Wi-Fi, cellular network (2G, 3G, and 4G), NFC, Bluetooth, and bearer selection.

    -

    Figure: Network Management panel

    +

    Figure: Network Management panel

    Network Management panel

    You can also set additional parameters for the NFC and Bluetooth functionalities, such as NFC tag and target type, Bluetooth adapter information, and the simulated devices.

    -

    Figure: NFC parameters

    +

    Figure: NFC parameters

    NFC parameters

    -

    Figure: Bluetooth parameters

    +

    Figure: Bluetooth parameters

    Bluetooth parameters

    The Bearer Selection section provides network bearer selection management by listing supported network devices and their current availability status. You can request and release specific network connections from this section.

    -

    Figure: Network bearer selection

    +

    Figure: Network bearer selection

    Network bearer selection

    Your application can manage network devices and network status using the Tizen NFC, Bluetooth, and Network Bearer Selection APIs.

    @@ -245,7 +237,7 @@ tizen.application.launchAppControl(appControl, null, function()

    Power Manager in Mobile Applications

    The Power Manager panel provides controls for managing the state of the battery and power resources.

    -

    Figure: Power Manager panel

    +

    Figure: Power Manager panel

    Power Manager panel

    The BATTERY section simulates the device battery level. Your application can retrieve the current battery status using the Tizen System Information API.

    @@ -254,13 +246,13 @@ tizen.application.launchAppControl(appControl, null, function()

    Download in Mobile Applications

    The Download panel allows you to create a simulated download object with custom size, MIME type, and download speed. All simulated download objects support start, cancel, pause, and resume operations, and provide status feedback mechanism. You can use the simulated download object created by the panel to test various conditions for your application.

    -

    The panel contains 2 predefined simulated download objects: http://tizen.org/small_file.zip and http://tizen.org/big_file.zip. When an object is selected from the drop-down list, its details are displayed at the bottom half of the panel. The panel also allows you to add, remove, and update download objects. Details, such as URL, MIME type, file size, and speed, are configurable.

    +

    The panel contains 2 predefined simulated download objects: http://tizen.org/small_file.zip and http://tizen.org/big_file.zip. When an object is selected from the drop-down list, its details are displayed at the bottom half of the panel. The panel also allows you to add, remove, and update download objects. Details, such as URL, MIME type, file size, and speed, are configurable.

    The following sample code demonstrates how to start the download process and set a listener callback to monitor the status of the download. By adjusting the parameter of the download object, you can verify that you application behaves correctly in different scenarios.

    request = tizen.DownloadRequest("http://tizen.org/small_file.zip")
     downloadId = tizen.download.start(request)
     tizen.download.setListener(downloadId, listener)
     
    -

    Figure: Download panel

    +

    Figure: Download panel

    Download panel

    @@ -268,10 +260,10 @@ tizen.download.setListener(downloadId, listener)

    Notification in Mobile Applications

    The Notification panel provides a notification center administrating system notifications. As the Simulator has no real desktop UI components, such as status bar or notification tray, the panel serves as the final rendering place of all the notifications. You can easily verify that the notification details you created with the Tizen Notification API are correct.

    -

    Figure: Notification panel with empty notification

    +

    Figure: Notification panel with empty notification

    Notification panel with empty notification

    -

    The following sample code demonstrates how to create a status notification. When it is posted with the post() method, the details of the notification are displayed on the panel, as shown in the figure below.

    +

    The following sample code demonstrates how to create a status notification. When it is posted with the post() method, the details of the notification are displayed on the panel, as shown in the figure below.

     notification = new tizen.StatusNotification("PROGRESS", "Notification Sample", 
     {
    @@ -283,7 +275,7 @@ notification = new tizen.StatusNotification("PROGRESS", "Notifica
     });
     
     
    -

    Figure: Notification panel with a notification

    +

    Figure: Notification panel with a notification

    Notification panel with a notification

    diff --git a/org.tizen.studio/html/web_tools/web_simulator_w.htm b/org.tizen.studio/html/web_tools/web_simulator_w.htm index 701b9df..eb22497 100644 --- a/org.tizen.studio/html/web_tools/web_simulator_w.htm +++ b/org.tizen.studio/html/web_tools/web_simulator_w.htm @@ -47,17 +47,11 @@

    The Tizen Web Simulator is based on the Ripple-UI Framework and is licensed under Apache Software License v.2.0.

    - - - - - - - - - -
    Note
    The Web Simulator does not support a wearable circular UI.
    -

    Figure: Tizen Web Simulator

    +
    + Note + The Web Simulator does not support a wearable circular UI. +
    +

    Figure: Tizen Web Simulator

    Tizen Web Simulator

    Web Simulator Settings

    @@ -84,17 +78,11 @@
    -

    The following example shows the syntax of the manifest reference. The <manifest> element serves as a container for the other configuration elements.

    +

    The following example shows the syntax of the manifest reference. The <manifest> element serves as a container for the other configuration elements.

     <manifest xmlns=http://tizen.org/ns/packages
               package="org.tizen.application"
    @@ -250,7 +250,7 @@ uid(root, app) is applied to directories and files.

    The following image describes the relationship between the signatures.

    -

    Figure: Signature

    +

    Figure: Signature

    Signature

    @@ -258,10 +258,10 @@ uid(root, app) is applied to directories and files.

    The following figure describes how the application installer works.

    -

    Figure: Installer

    +

    Figure: Installer

    Installer

    -

    The installer applies smack according to the privileges that are specified in the tizen-manifest.xml file.

    +

    The installer applies smack according to the privileges that are specified in the tizen-manifest.xml file.

    An application can only access the resources that are allowed by the privileges. The privileges are used in Tizen Store to show the permissions and receive user consent.

    @@ -270,7 +270,7 @@ uid(root, app) is applied to directories and files.

    You can use shell commands to install, uninstall, update, and launch applications.

    -

    Figure: Tizen Studio interactions

    +

    Figure: Tizen Studio interactions

    Tizen Studio interactions

    diff --git a/org.tizen.training/html/native/details/app_filtering_n.htm b/org.tizen.training/html/native/details/app_filtering_n.htm index df06923..84ed428 100644 --- a/org.tizen.training/html/native/details/app_filtering_n.htm +++ b/org.tizen.training/html/native/details/app_filtering_n.htm @@ -38,25 +38,26 @@

    Some features can be selectively supported by the Tizen device manufacturer. To prevent problems when the user is trying to run your application on a device that does not support all the features your application is using, do one of the following:

    • When the application is running, check whether the device supports the needed features. If not, the application can use other features, which are supported by the device, as a workaround. -

      For example, if an application wants to use location information, it can check the device capability by using the system_info_get_XXX() function of the System Information API (in mobile and wearable applications). If the device supports GPS, the application uses GPS information, and if the device supports WPS only, the application uses WPS information instead of GPS.

      +

      For example, if an application wants to use location information, it can check the device capability by using the system_info_get_XXX() function of the System Information API (in mobile and wearable applications). If the device supports GPS, the application uses GPS information, and if the device supports WPS only, the application uses WPS information instead of GPS.

    • Use feature-based filtering to prevent your application from being shown in the application list on the Tizen Store, if the user's device does not support all the features of your application. This way you can prevent the application from being installed on an unsupportive device in the first place.

      Be careful when defining the feature list for feature-based filtering. The feature list can dramatically reduce your chances of getting the application downloaded by reducing the number of devices which can support the application.

    -

    If the tizen-manifest.xml file of the application package includes a feature list, the Tizen Store compares the capabilities of the device with the required feature conditions of the application. The store only lists the applications whose conditions match the capabilities of the device, and thus prevents unsupported applications from being installed.

    +

    If the tizen-manifest.xml file of the application package includes a feature list, the Tizen Store compares the capabilities of the device with the required feature conditions of the application. The store only lists the applications whose conditions match the capabilities of the device, and thus prevents unsupported applications from being installed.

    -

    Figure: Feature-based filtering

    +

    Figure: Feature-based filtering

    Feature-based filtering

    -

    When multiple features are defined in the feature list for feature-based filtering, the Tizen Store creates the filtering condition for all using the "AND" operation. For example, if there are http://tizen.org/feature/network.nfc and http://tizen.org/feature/network.bluetooth features in the feature list of the application package, only a device that has both those features can show the application on the Tizen Store application list for downloading.

    +

    When multiple features are defined in the feature list for feature-based filtering, the Tizen Store creates the filtering condition for all using the "AND" operation. For example, if there are http://tizen.org/feature/network.nfc and http://tizen.org/feature/network.bluetooth features in the feature list of the application package, only a device that has both those features can show the application on the Tizen Store application list for downloading.

    Screen Size Feature

    -

    The screen size feature is the only exception to the normal feature handling process described above. When the screen size is defined in the feature list, the Tizen Store creates the filtering condition with the "OR" operation. For example, if the http://tizen.org/feature/screen.size.normal.480.800 and http://tizen.org/feature/screen.size.normal.720.1280 features are defined in your application feature list, a device that supports one or the other of those features can show the application on the Tizen Store application list.

    -

    If you do not specify a proper screen size in the tizen-manifest.xml file, your application can be rejected from the Tizen store.

    +

    The screen size feature is the only exception to the normal feature handling process described above. When the screen size is defined in the feature list, the Tizen Store creates the filtering condition with the "OR" operation. For example, if the http://tizen.org/feature/screen.size.normal.480.800 and http://tizen.org/feature/screen.size.normal.720.1280 features are defined in your application feature list, a device that supports one or the other of those features can show the application on the Tizen Store application list.

    +

    If you do not specify a proper screen size in the tizen-manifest.xml file, your application can be rejected from the Tizen store.

    The following table lists the available screen size features.

    + +

    Table: Available screen size features

    - @@ -64,78 +65,78 @@ - + - + - + - + +

    You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

    If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

    - + +

    You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

    If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

    - + +

    You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

    If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

    - + +

    You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

    If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

    - + +

    You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

    If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

    - + +

    You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

    If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

    - + +

    You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

    If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

    - + +

    You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

    If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

    - + +

    You cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously. If you do, only the most specific resolution key is considered and the less specific resolution keys are ignored. For example, if you specify both http://tizen.org/feature/screen.size.all and http://tizen.org/feature/screen.size.normal.320.480 keys, only the http://tizen.org/feature/screen.size.normal.320.480 key is applied.

    If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

    @@ -144,27 +145,25 @@

    Feature Hierarchy

    -

    The feature keys have a hierarchy. For example, consider the http://tizen.org/feature/location, http://tizen.org/feature/location.gps, and http://tizen.org/feature/location.wps features:

    +

    The feature keys have a hierarchy. For example, consider the http://tizen.org/feature/location, http://tizen.org/feature/location.gps, and http://tizen.org/feature/location.wps features:

      -
    • If the feature list includes the http://tizen.org/feature/location.gps feature, only a device which has the http://tizen.org/feature/location.gps feature can show the application on the Tizen Store application list.
    • -
    • If the feature list includes the http://tizen.org/feature/location feature, a device which has the http://tizen.org/feature/location.gps, http://tizen.org/feature/location.wps, or http://tizen.org/feature/location feature can show the application on the Tizen Store application list. -

      This means that the Tizen Store considers the http://tizen.org/feature/location feature as the http://tizen.org/feature/location.gps OR http://tizen.org/feature/location.wps feature. (If the feature list includes the http://tizen.org/feature/location.gps and http://tizen.org/feature/location.wps features together, only a device which supports both those features can show the application.)

    +
  • If the feature list includes the http://tizen.org/feature/location.gps feature, only a device which has the http://tizen.org/feature/location.gps feature can show the application on the Tizen Store application list.
  • +
  • If the feature list includes the http://tizen.org/feature/location feature, a device which has the http://tizen.org/feature/location.gps, http://tizen.org/feature/location.wps, or http://tizen.org/feature/location feature can show the application on the Tizen Store application list. +

    This means that the Tizen Store considers the http://tizen.org/feature/location feature as the http://tizen.org/feature/location.gps OR http://tizen.org/feature/location.wps feature. (If the feature list includes the http://tizen.org/feature/location.gps and http://tizen.org/feature/location.wps features together, only a device which supports both those features can show the application.)

  • Adding the Feature List

    -

    To enable filtering for your native application, add the feature list for the application tizen-manifest.xml file:

    +

    To enable filtering for your native application, add the feature list for the application tizen-manifest.xml file:

      -
    1. To open the manifest editor in the Tizen Studio, double-click the tizen-manifest.xml file in the Project Explorer view.
    2. -
    3. In the Features tab, click Add and set the mandatory features for the application package.

      The manifest file (tizen-manifest.xml) is updated automatically.

      +
    4. To open the manifest editor in the Tizen Studio, double-click the tizen-manifest.xml file in the Project Explorer view.
    5. +
    6. In the Features tab, click Add and set the mandatory features for the application package.

      The manifest file (tizen-manifest.xml) is updated automatically.

    7. Upload and publish the application package on the Tizen Store.
    8. If a Tizen-powered device requests applications, the store displays a list containing only applications compatible with the user's device.

    The following tables show the available requirements for an application package. If you want to check which features are necessary for using a specific API, see the related feature in the native API Reference.

    +

    Table: Available mobile native requirements

    Table: Available screen size features
    Feature keySince
    http://tizen.org/feature/screen.size.normalhttp://tizen.org/feature/screen.size.normal Specify this key, if the application supports all possible current and future resolutions on the normal screen size. -

    You cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously. If you do, only the most specific resolution key is considered and the less specific resolution keys are ignored. For example, if you specify both http://tizen.org/feature/screen.size.normal and http://tizen.org/feature/screen.size.normal.320.480 keys, only the http://tizen.org/feature/screen.size.normal.320.480 key is applied.

    If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

    +

    You cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously. If you do, only the most specific resolution key is considered and the less specific resolution keys are ignored. For example, if you specify both http://tizen.org/feature/screen.size.normal and http://tizen.org/feature/screen.size.normal.320.480 keys, only the http://tizen.org/feature/screen.size.normal.320.480 key is applied.

    If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

    2.2.1
    http://tizen.org/feature/screen.size.normal.240.400http://tizen.org/feature/screen.size.normal.240.400 Specify this key, if the application supports the 240 x 400 resolution on the normal screen size. -

    You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

    If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

    +

    You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

    If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

    2.2.1
    http://tizen.org/feature/screen.size.normal.320.320http://tizen.org/feature/screen.size.normal.320.320 Specify this key, if the application supports the 320 x 320 resolution on the normal screen size. -

    You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

    If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

    +

    You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

    If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

    2.3
    http://tizen.org/feature/screen.size.normal.320.480http://tizen.org/feature/screen.size.normal.320.480 Specify this key, if the application supports the 320 x 480 resolution on the normal screen size. -

    You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

    If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

    2.2.1
    http://tizen.org/feature/screen.size.normal.360.360http://tizen.org/feature/screen.size.normal.360.360 Specify this key, if the application supports the 360 x 360 resolution on the normal screen size. -

    You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

    If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

    2.3.2
    http://tizen.org/feature/screen.size.normal.360.480http://tizen.org/feature/screen.size.normal.360.480 Specify this key, if the application supports the 360 x 480 resolution on the normal screen size. -

    You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

    If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

    2.3
    http://tizen.org/feature/screen.size.normal.480.800http://tizen.org/feature/screen.size.normal.480.800 Specify this key, if the application supports the 480 x 800 resolution on the normal screen size. -

    You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

    If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

    2.2.1
    http://tizen.org/feature/screen.size.normal.540.960http://tizen.org/feature/screen.size.normal.540.960 Specify this key, if the application supports the 540 x 960 resolution on the normal screen size. -

    You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

    If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

    2.2.1
    http://tizen.org/feature/screen.size.normal.600.1024http://tizen.org/feature/screen.size.normal.600.1024 Specify this key, if the application supports the 600 x 1024 resolution on the normal screen size. -

    You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

    If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

    2.2.1
    http://tizen.org/feature/screen.size.normal.720.1280http://tizen.org/feature/screen.size.normal.720.1280 Specify this key, if the application supports the 720 x 1280 resolution on the normal screen size. -

    You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

    If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

    2.2.1
    http://tizen.org/feature/screen.size.normal.1080.1920http://tizen.org/feature/screen.size.normal.1080.1920 Specify this key, if the application supports the 1080 x 1920 resolution on the normal screen size. -

    You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

    If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

    2.2.1
    http://tizen.org/feature/screen.size.allhttp://tizen.org/feature/screen.size.all Specify this key, if the application supports all possible current and future screen sizes and all possible current and future resolutions per screen size. -

    You cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously. If you do, only the most specific resolution key is considered and the less specific resolution keys are ignored. For example, if you specify both http://tizen.org/feature/screen.size.all and http://tizen.org/feature/screen.size.normal.320.480 keys, only the http://tizen.org/feature/screen.size.normal.320.480 key is applied.

    If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

    2.2.1
    - @@ -172,707 +171,705 @@ - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
    - Table: Available mobile native requirements -
    Feature keySince
    http://tizen.org/feature/camerahttp://tizen.org/feature/camera Specify this key, if the application requires any kind of a camera. 2.2.1
    http://tizen.org/feature/camera.backhttp://tizen.org/feature/camera.back Specify this key, if the application requires a back-facing camera. 2.2.1
    http://tizen.org/feature/camera.back.flashhttp://tizen.org/feature/camera.back.flash Specify this key, if the application requires a back-facing camera with a flash. 2.2.1
    http://tizen.org/feature/camera.fronthttp://tizen.org/feature/camera.front Specify this key, if the application requires a front-facing camera. 2.2.1
    http://tizen.org/feature/camera.front.flashhttp://tizen.org/feature/camera.front.flash Specify this key, if the application requires a front-facing camera with a flash. 2.2.1
    http://tizen.org/feature/consumer_irhttp://tizen.org/feature/consumer_ir Specify this key, if the application requires the Consumer Infrared (CIR) feature. 3.0
    http://tizen.org/feature/convergence.d2dhttp://tizen.org/feature/convergence.d2d Specify this key, if the application requires the Device-to-Device (D2D) Convergence feature, which provides the service to discover near-by devices and to communicate information and data to the remote devices. 3.0
    http://tizen.org/feature/database.encryptionhttp://tizen.org/feature/database.encryption Specify this key, if the application requires the database encryption feature. 2.2.1
    http://tizen.org/feature/fido.uafhttp://tizen.org/feature/fido.uaf Specify this key, if the application requires the FIDO (Fast Identity Online) UAF (Universal Authentication Framework) client API. 3.0
    http://tizen.org/feature/fmradiohttp://tizen.org/feature/fmradio Specify this key, if the application requires an FM radio. 2.2.1
    http://tizen.org/feature/graphics.accelerationhttp://tizen.org/feature/graphics.acceleration Specify this key, if the application requires hardware acceleration for both 2D and 3D graphics. 2.2.1
    http://tizen.org/feature/input.keyboardhttp://tizen.org/feature/input.keyboard Specify this key, if the application requires a built-in physical keyboard. 2.2.1
    http://tizen.org/feature/input.keyboard.layoutSpecify this key with a specific keyboard layout (string type), if the application requires a built-in physical keyboard supporting the specified keyboard layout.http://tizen.org/feature/input.keyboard.layoutSpecify this key with a specific keyboard layout (string type), if the application requires a built-in physical keyboard supporting the specified keyboard layout. 2.2.1
    http://tizen.org/feature/iot.ocfhttp://tizen.org/feature/iot.ocf Specify this key, if the application requires the Open Connectivity Foundation (OCF) framework. 3.0
    http://tizen.org/feature/ledhttp://tizen.org/feature/led Specify this key, if the application requires a LED. 2.3
    http://tizen.org/feature/locationhttp://tizen.org/feature/location Specify this key, if the application requires any location positioning features. 2.2.1
    http://tizen.org/feature/location.batchhttp://tizen.org/feature/location.batch Specify this key, if the application requires the location tracking with a position batch information feature. 2.3
    http://tizen.org/feature/location.geofencehttp://tizen.org/feature/location.geofence Specify this key, if the application requires the geofence feature. 2.4
    http://tizen.org/feature/location.gpshttp://tizen.org/feature/location.gps Specify this key, if the application requires the Global Positioning System (GPS) feature. 2.2.1
    http://tizen.org/feature/location.wpshttp://tizen.org/feature/location.wps Specify this key, if the application requires the Wi-Fi-based Positioning System (WPS) feature. 2.2.1
    http://tizen.org/feature/mapshttp://tizen.org/feature/maps Specify this key, if the application requires the map service feature. 2.3.2
    http://tizen.org/feature/microphonehttp://tizen.org/feature/microphone Specify this key, if the application requires a microphone. 2.2.1
    http://tizen.org/feature/multimedia.transcoderhttp://tizen.org/feature/multimedia.transcoder Specify this key, if the application requires the multimedia transcoder feature. 2.3
    http://tizen.org/feature/multi_point_touch.pinch_zoomhttp://tizen.org/feature/multi_point_touch.pinch_zoom Specify this key, if the application requires a pinch-zoom gesture feature. 2.2.1
    http://tizen.org/feature/multi_point_touch.point_countSpecify this key with a specific number (int type), if the application requires the minimum of specified number of simultaneous touches in a multi-point touch.http://tizen.org/feature/multi_point_touch.point_countSpecify this key with a specific number (int type), if the application requires the minimum of specified number of simultaneous touches in a multi-point touch. 2.2.1
    http://tizen.org/feature/network.bluetoothhttp://tizen.org/feature/network.bluetooth Specify this key, if the application requires the Bluetooth feature. 2.2.1
    http://tizen.org/feature/network.bluetooth.audio.callhttp://tizen.org/feature/network.bluetooth.audio.call Specify this key, if the application requires the Bluetooth Handsfree feature (HFP). 2.3
    http://tizen.org/feature/network.bluetooth.audio.controllerhttp://tizen.org/feature/network.bluetooth.audio.controller Specify this key, if the application requires the Bluetooth Advanced Audio Distribution (A2DP) sink feature and the Bluetooth Audio Video Remote Control (AVRCP) controller feature. 3.0
    http://tizen.org/feature/network.bluetooth.audio.mediahttp://tizen.org/feature/network.bluetooth.audio.media Specify this key, if the application requires the Bluetooth Advanced Audio feature (A2DP). 2.3
    http://tizen.org/feature/network.bluetooth.healthhttp://tizen.org/feature/network.bluetooth.health Specify this key, if the application requires the Bluetooth Health feature (HDP). 2.3
    http://tizen.org/feature/network.bluetooth.hidhttp://tizen.org/feature/network.bluetooth.hid Specify this key, if the application requires the Bluetooth Human Input Device feature (HID). 2.3
    http://tizen.org/feature/network.bluetooth.lehttp://tizen.org/feature/network.bluetooth.le Specify this key, if the application requires the Bluetooth LE feature. 2.3
    http://tizen.org/feature/network.bluetooth.opphttp://tizen.org/feature/network.bluetooth.opp Specify this key, if the application requires the Bluetooth Object Push feature (OPP). 2.3
    http://tizen.org/feature/network.ethernethttp://tizen.org/feature/network.ethernet Specify this key, if the application requires the ethernet connection. 2.4
    http://tizen.org/feature/network.mtphttp://tizen.org/feature/network.mtp Specify this key, if the application requires the Media Transfer Protocol (MTP) Host (Initiator) feature. 3.0
    http://tizen.org/feature/network.net_proxyhttp://tizen.org/feature/network.net_proxy Specify this key, if the application requires the net-proxy feature for the Internet connection. A net-proxy feature for a device acts as an intermediary between client (network service customer) and server (network service provider). 3.0
    http://tizen.org/feature/network.nfchttp://tizen.org/feature/network.nfc Specify this key, if the application requires the use of any API that, in turn, requires the Near Field Communication (NFC) feature. 2.2.1
    http://tizen.org/feature/network.nfc.card_emulationhttp://tizen.org/feature/network.nfc.card_emulation Specify this key, if the application requires the NFC card emulation feature. 2.3
    http://tizen.org/feature/network.nfc.card_emulation.hcehttp://tizen.org/feature/network.nfc.card_emulation.hce Specify this key, if the application requires the NFC host-based card emulation feature. 2.3.1
    http://tizen.org/feature/network.nfc.p2phttp://tizen.org/feature/network.nfc.p2p Specify this key, if the application requires the NFC p2p feature. 2.3.1
    http://tizen.org/feature/network.nfc.reserved_pushhttp://tizen.org/feature/network.nfc.reserved_push Specify this key, if the application requires the NFC reserved push feature.2.2.1
    http://tizen.org/feature/network.nfc.taghttp://tizen.org/feature/network.nfc.tag Specify this key, if the application requires the NFC tag feature. 2.3.1
    http://tizen.org/feature/network.pushhttp://tizen.org/feature/network.push Specify this key, if the application requires the network-based push service. 2.2.1
    http://tizen.org/feature/network.secure_elementhttp://tizen.org/feature/network.secure_element Specify this key, if the application requires the secure element feature. 2.2.1
    http://tizen.org/feature/network.secure_element.esehttp://tizen.org/feature/network.secure_element.ese Specify this key, if the application requires the ESE secure element feature. 2.3
    http://tizen.org/feature/network.secure_element.uicchttp://tizen.org/feature/network.secure_element.uicc Specify this key, if the application requires the UICC secure element feature. 2.3
    http://tizen.org/feature/network.service_discovery.dnssdhttp://tizen.org/feature/network.service_discovery.dnssd Specify this key, if the application requires the DNS-based Service Discovery Feature (DNSSD). 3.0
    http://tizen.org/feature/network.service_discovery.ssdphttp://tizen.org/feature/network.service_discovery.ssdp Specify this key, if the application requires the Simple Service Discovery Protocol feature (SSDP). 3.0
    http://tizen.org/feature/network.telephonyhttp://tizen.org/feature/network.telephony Specify this key, if the application requires the use of any API that, in turn, requires the telephony feature. 2.2.1
    http://tizen.org/feature/network.telephony.mmshttp://tizen.org/feature/network.telephony.mms Specify this key, if the application requires the MMS feature. 2.2.1
    http://tizen.org/feature/network.telephony.smshttp://tizen.org/feature/network.telephony.sms Specify this key, if the application requires the SMS feature. 2.4
    http://tizen.org/feature/network.telephony.sms.cbshttp://tizen.org/feature/network.telephony.sms.cbs Specify this key, if the application requires the SMS Cell Broadcast Service (CBS) feature. 2.2.1
    http://tizen.org/feature/network.tetheringhttp://tizen.org/feature/network.tethering Specify this key, if the application requires any kind of tethering feature. 2.3
    http://tizen.org/feature/network.tethering.bluetoothhttp://tizen.org/feature/network.tethering.bluetooth Specify this key, if the application requires the tethering over Bluetooth feature. 2.3
    http://tizen.org/feature/network.tethering.usbhttp://tizen.org/feature/network.tethering.usb Specify this key, if the application requires the tethering over USB connection feature. 2.3
    http://tizen.org/feature/network.tethering.wifihttp://tizen.org/feature/network.tethering.wifi Specify this key, if the application requires the tethering over Wi-Fi feature. 2.3
    http://tizen.org/feature/network.vpnhttp://tizen.org/feature/network.vpn Specify this key, if the application requires the Virtual Private Network feature (VPN). 3.0
    http://tizen.org/feature/network.wifihttp://tizen.org/feature/network.wifi Specify this key, if the application requires the use of any API that, in turn, requires the Wi-Fi feature. 2.2.1
    http://tizen.org/feature/network.wifi.directhttp://tizen.org/feature/network.wifi.direct Specify this key, if the application requires the Wi-Fi Direct™ feature. 2.2.1
    http://tizen.org/feature/network.wifi.direct.displayhttp://tizen.org/feature/network.wifi.direct.display Specify this key, if the application requires the Wi-Fi Direct™ display feature. 2.3
    http://tizen.org/feature/network.wifi.direct.service_discoveryhttp://tizen.org/feature/network.wifi.direct.service_discovery Specify this key, if the application requires the Wi-Fi Direct™ service discovery feature. 2.3
    http://tizen.org/feature/network.wifi.tdlshttp://tizen.org/feature/network.wifi.tdls Specify this key, if the application requires the Wi-Fi Tunneled Direct Link Setup (TDLS). 3.0
    http://tizen.org/feature/opengles.texture_format.3dchttp://tizen.org/feature/opengles.texture_format.3dc Specify this key, if the application requires the 3DC texture format for OpenGL® ES. 2.2.1
    http://tizen.org/feature/opengles.texture_format.atchttp://tizen.org/feature/opengles.texture_format.atc Specify this key, if the application requires the ATC texture format for OpenGL® ES. 2.2.1
    http://tizen.org/feature/opengles.texture_format.etchttp://tizen.org/feature/opengles.texture_format.etc Specify this key, if the application requires the ETC texture format for OpenGL® ES. 2.2.1
    http://tizen.org/feature/opengles.texture_format.ptchttp://tizen.org/feature/opengles.texture_format.ptc Specify this key, if the application requires the PTC texture format for OpenGL® ES. 2.2.1
    http://tizen.org/feature/opengles.texture_format.pvrtchttp://tizen.org/feature/opengles.texture_format.pvrtc Specify this key, if the application requires the PVRTC texture format for OpenGL® ES. 2.2.1
    http://tizen.org/feature/opengles.texture_format.utchttp://tizen.org/feature/opengles.texture_format.utc Specify this key, if the application requires the UTC texture format for OpenGL® ES. 2.2.1
    http://tizen.org/feature/opengles.version.1_1http://tizen.org/feature/opengles.version.1_1 Specify this key, if the application requires OpenGL® ES version 1.1 at minimum.

    You can specify at most 1 openGL® ES version. If you specify multiple versions, only the highest one is considered.

    2.2.1
    http://tizen.org/feature/opengles.version.2_0http://tizen.org/feature/opengles.version.2_0 Specify this key, if the application requires OpenGL® ES version 2.0.

    You can specify at most 1 openGL® ES version. If you specify multiple versions, only the highest one is considered.

    2.2.1
    http://tizen.org/feature/opengles.version.3_0http://tizen.org/feature/opengles.version.3_0 Specify this key, if the application requires OpenGL® ES version 3.0.

    You can specify at most 1 openGL® ES version. If you specify multiple versions, only the highest one is considered.

    2.4
    http://tizen.org/feature/platform.core.cpu.arch.armv7http://tizen.org/feature/platform.core.cpu.arch.armv7 Specify this key, if the application requires the ARMv7 CPU architecture. 2.2.1
    http://tizen.org/feature/platform.core.cpu.arch.x86http://tizen.org/feature/platform.core.cpu.arch.x86 Specify this key, if the application requires the x86 CPU architecture. 2.2.1
    http://tizen.org/feature/platform.core.fpu.arch.sse2http://tizen.org/feature/platform.core.fpu.arch.sse2 Specify this key, if the application requires the SSE2 Floating Point Unit (FPU) architecture. 2.2.1
    http://tizen.org/feature/platform.core.fpu.arch.sse3http://tizen.org/feature/platform.core.fpu.arch.sse3 Specify this key, if the application requires the SSE3 FPU architecture. 2.2.1
    http://tizen.org/feature/platform.core.fpu.arch.ssse3http://tizen.org/feature/platform.core.fpu.arch.ssse3 Specify this key, if the application requires the SSSE3 FPU architecture. 2.2.1
    http://tizen.org/feature/platform.core.fpu.arch.vfpv3http://tizen.org/feature/platform.core.fpu.arch.vfpv3 Specify this key, if the application requires the VFPv3 FPU architecture. 2.2.1
    http://tizen.org/feature/platform.native.osp_compatiblehttp://tizen.org/feature/platform.native.osp_compatible Specify this key, if the application requires OSP compatibility (the bada compatibility mode). 2.2.1
    http://tizen.org/feature/screen.auto_rotationhttp://tizen.org/feature/screen.auto_rotation Specify this key, if the application requires the automatic screen rotation feature. 2.2.1
    http://tizen.org/feature/screen.size.allhttp://tizen.org/feature/screen.size.all Specify this key, if the application supports all possible current and future screen sizes and all possible current and future resolutions per screen size. 2.2.1
    http://tizen.org/feature/screen.size.normalhttp://tizen.org/feature/screen.size.normal Specify this key, if the application supports all possible current and future resolutions on the normal screen size. 2.2.1
    http://tizen.org/feature/screen.size.normal.240.400http://tizen.org/feature/screen.size.normal.240.400 Specify this key, if the application supports the 240 x 400 resolution on the normal screen size. 2.2.1
    http://tizen.org/feature/screen.size.normal.320.320http://tizen.org/feature/screen.size.normal.320.320 Specify this key, if the application supports the 320 x 320 resolution on the normal screen size. 2.3
    http://tizen.org/feature/screen.size.normal.320.480http://tizen.org/feature/screen.size.normal.320.480 Specify this key, if the application supports the 320 x 480 resolution on the normal screen size. 2.2.1
    http://tizen.org/feature/screen.size.normal.360.360http://tizen.org/feature/screen.size.normal.360.360 Specify this key, if the application supports the 360 x 360 resolution on the normal screen size. 2.3.2
    http://tizen.org/feature/screen.size.normal.360.480http://tizen.org/feature/screen.size.normal.360.480 Specify this key, if the application supports the 360 x 480 resolution on the normal screen size. 2.3
    http://tizen.org/feature/screen.size.normal.480.800http://tizen.org/feature/screen.size.normal.480.800 Specify this key, if the application supports the 480 x 800 resolution on the normal screen size. 2.2.1
    http://tizen.org/feature/screen.size.normal.540.960http://tizen.org/feature/screen.size.normal.540.960 Specify this key, if the application supports the 540 x 960 resolution on the normal screen size. 2.2.1
    http://tizen.org/feature/screen.size.normal.600.1024http://tizen.org/feature/screen.size.normal.600.1024 Specify this key, if the application supports the 600 x 1024 resolution on the normal screen size. 2.2.1
    http://tizen.org/feature/screen.size.normal.720.1280http://tizen.org/feature/screen.size.normal.720.1280 Specify this key, if the application supports the 720 x 1280 resolution on the normal screen size. 2.2.1
    http://tizen.org/feature/screen.size.normal.1080.1920http://tizen.org/feature/screen.size.normal.1080.1920 Specify this key, if the application supports the 1080 x 1920 resolution on the normal screen size. 2.2.1
    http://tizen.org/feature/sensor.accelerometerhttp://tizen.org/feature/sensor.accelerometer Specify this key, if the application requires an acceleration sensor. 2.2.1
    http://tizen.org/feature/sensor.accelerometer.wakeuphttp://tizen.org/feature/sensor.accelerometer.wakeup Specify this key, if the application requires the acceleration sensor wake-up feature. 2.2.1
    http://tizen.org/feature/sensor.activity_recognitionhttp://tizen.org/feature/sensor.activity_recognition Specify this key, if the application requires an activity recognition sensor. 2.3
    http://tizen.org/feature/sensor.barometerhttp://tizen.org/feature/sensor.barometer Specify this key, if the application requires a barometer sensor. 2.2.1
    http://tizen.org/feature/sensor.barometer.wakeuphttp://tizen.org/feature/sensor.barometer.wakeup Specify this key, if the application requires the barometer sensor wake-up feature. 2.2.1
    http://tizen.org/feature/sensor.geomagnetic_rotation_vectorhttp://tizen.org/feature/sensor.geomagnetic_rotation_vector Specify this key, if the application requires a geomagnetic-based rotation vector sensor. 2.4
    http://tizen.org/feature/sensor.gesture_recognitionhttp://tizen.org/feature/sensor.gesture_recognition Specify this key, if the application requires a gesture recognition sensor. 2.3
    http://tizen.org/feature/sensor.gravityhttp://tizen.org/feature/sensor.gravity Specify this key, if the application requires a gravity sensor. 2.3
    http://tizen.org/feature/sensor.gyroscopehttp://tizen.org/feature/sensor.gyroscope Specify this key, if the application requires a gyro sensor. 2.2.1
    http://tizen.org/feature/sensor.gyroscope_rotation_vectorhttp://tizen.org/feature/sensor.gyroscope_rotation_vector Specify this key, if the application requires a gyroscope-based rotation vector sensor. 2.4
    http://tizen.org/feature/sensor.gyroscope.uncalibratedhttp://tizen.org/feature/sensor.gyroscope.uncalibrated Specify this key, if the application requires an uncalibrated gyroscope sensor. 2.4
    http://tizen.org/feature/sensor.gyroscope.wakeuphttp://tizen.org/feature/sensor.gyroscope.wakeup Specify this key, if the application requires the gyro sensor wake-up feature. 2.2.1
    http://tizen.org/feature/sensor.heart_rate_monitorhttp://tizen.org/feature/sensor.heart_rate_monitor Specify this key, if the application requires a heart rate monitor sensor. 2.3
    http://tizen.org/feature/sensor.heart_rate_monitor.led_greenhttp://tizen.org/feature/sensor.heart_rate_monitor.led_green Specify this key, if the application requires the LED green heart rate monitor sensor. 2.3.1
    http://tizen.org/feature/sensor.heart_rate_monitor.led_irhttp://tizen.org/feature/sensor.heart_rate_monitor.led_ir Specify this key, if the application requires the LED infrared heart rate monitor sensor. 2.3.1
    http://tizen.org/feature/sensor.heart_rate_monitor.led_redhttp://tizen.org/feature/sensor.heart_rate_monitor.led_red Specify this key, if the application requires the LED red heart rate monitor sensor. 2.3.1
    http://tizen.org/feature/sensor.humidityhttp://tizen.org/feature/sensor.humidity Specify this key, if the application requires a humidity sensor. 2.3
    http://tizen.org/feature/sensor.linear_accelerationhttp://tizen.org/feature/sensor.linear_acceleration Specify this key, if the application requires a linear acceleration sensor. 2.3
    http://tizen.org/feature/sensor.magnetometerhttp://tizen.org/feature/sensor.magnetometer Specify this key, if the application requires a magnetic sensor. 2.2.1
    http://tizen.org/feature/sensor.magnetometer.uncalibratedhttp://tizen.org/feature/sensor.magnetometer.uncalibrated Specify this key, if the application requires an uncalibrated geomagnetic sensor. 2.4
    http://tizen.org/feature/sensor.magnetometer.wakeuphttp://tizen.org/feature/sensor.magnetometer.wakeup Specify this key, if the application requires the magnetic sensor wake-up feature. 2.2.1
    http://tizen.org/feature/sensor.pedometerhttp://tizen.org/feature/sensor.pedometer Specify this key, if the application requires a pedometer sensor. 2.3
    http://tizen.org/feature/sensor.photometerhttp://tizen.org/feature/sensor.photometer Specify this key, if the application requires a photometer sensor. 2.2.1
    http://tizen.org/feature/sensor.photometer.wakeuphttp://tizen.org/feature/sensor.photometer.wakeup Specify this key, if the application requires the photometer sensor wake-up feature. 2.2.1
    http://tizen.org/feature/sensor.proximityhttp://tizen.org/feature/sensor.proximity Specify this key, if the application requires a proximity sensor. 2.2.1
    http://tizen.org/feature/sensor.proximity.wakeuphttp://tizen.org/feature/sensor.proximity.wakeup Specify this key, if the application requires the proximity sensor wake-up feature. 2.2.1
    http://tizen.org/feature/sensor.rotation_vectorhttp://tizen.org/feature/sensor.rotation_vector Specify this key, if the application requires a rotation vector sensor. 2.3
    http://tizen.org/feature/sensor.sleep_monitorhttp://tizen.org/feature/sensor.sleep_monitor Specify this key, if the application requires a sleep monitor sensor which tracks the human sleep state or a sleep detector sensor which detects whether the human falls asleep or wakes up. 3.0
    http://tizen.org/feature/sensor.stress_monitorhttp://tizen.org/feature/sensor.stress_monitor Specify this key, if the application requires a stress monitor sensor which tracks the human stress level. 3.0
    http://tizen.org/feature/sensor.temperaturehttp://tizen.org/feature/sensor.temperature Specify this key, if the application requires a temperature sensor. 2.3
    http://tizen.org/feature/sensor.tiltmeterhttp://tizen.org/feature/sensor.tiltmeter Specify this key, if the application requires a tilt sensor. 2.2.1
    http://tizen.org/feature/sensor.tiltmeter.wakeuphttp://tizen.org/feature/sensor.tiltmeter.wakeup Specify this key, if the application requires the tilt sensor wake-up feature. 2.2.1
    http://tizen.org/feature/sensor.ultraviolethttp://tizen.org/feature/sensor.ultraviolet Specify this key, if the application requires a ultraviolet sensor. 2.3
    http://tizen.org/feature/sensor.wrist_uphttp://tizen.org/feature/sensor.wrist_up Specify this key, if the application requires a wrist up sensor. 2.3
    http://tizen.org/feature/shell.appwidgethttp://tizen.org/feature/shell.appwidget Specify this key, if the application requires the AppWidget (Dynamic Box) feature. 2.2.1
    http://tizen.org/feature/sip.voiphttp://tizen.org/feature/sip.voip Specify this key, if the application requires the Voice Over Internet Protocol (VOIP) feature. 2.2.1
    http://tizen.org/feature/speech.controlhttp://tizen.org/feature/speech.control Specify this key, if the application requires the voice control feature. 2.4
    http://tizen.org/feature/speech.recognitionhttp://tizen.org/feature/speech.recognition Specify this key, if the application requires the speech recognition (STT) feature. 2.2.1
    http://tizen.org/feature/speech.synthesishttp://tizen.org/feature/speech.synthesis Specify this key, if the application requires the speech synthesis (text to speech, TTS) feature. 2.2.1
    http://tizen.org/feature/usb.accessoryhttp://tizen.org/feature/usb.accessory Specify this key, if the application requires the USB client (or accessory) feature. 2.2.1
    http://tizen.org/feature/usb.hosthttp://tizen.org/feature/usb.host Specify this key, if the application requires the USB host feature. 2.2.1
    http://tizen.org/feature/vision.barcode_detectionhttp://tizen.org/feature/vision.barcode_detection Specify this key, if the application requires the barcode detection feature. 2.4
    http://tizen.org/feature/vision.barcode_generationhttp://tizen.org/feature/vision.barcode_generation Specify this key, if the application requires the barcode generation feature. 2.4
    http://tizen.org/feature/vision.face_recognitionhttp://tizen.org/feature/vision.face_recognition Specify this key, if the application requires the face recognition feature. 2.2.1
    http://tizen.org/feature/vision.image_recognitionhttp://tizen.org/feature/vision.image_recognition Specify this key, if the application requires the image recognition feature. 2.2.1
    http://tizen.org/feature/vision.qrcode_generationhttp://tizen.org/feature/vision.qrcode_generation Specify this key, if the application requires the QR code generation feature. 2.2.1
    http://tizen.org/feature/vision.qrcode_recognitionhttp://tizen.org/feature/vision.qrcode_recognition Specify this key, if the application requires the QR code recognition feature. 2.2.1
    +

    Table: Available wearable native requirements

    - @@ -880,672 +877,672 @@ - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1555,11 +1552,13 @@

    Profile-based Filtering

    A Tizen profile describes the requirements for a category of Tizen devices that have a common application execution environment. Applications are created for a single specific target profile, such as mobile, wearable, or TV, and can run on devices compliant to that profile.

    -

    Use profile-based filtering to ensure that your application is only downloaded on the appropriate device profile. To ensure this, declare the intended profile by adding the profile name element in the tizen-manifest.xml file.

    +

    Use profile-based filtering to ensure that your application is only downloaded on the appropriate device profile. To ensure this, declare the intended profile by adding the profile name element in the tizen-manifest.xml file.

    The following table lists the Tizen profiles and related profile name attributes.

    +

    Table: Tizen profiles and profile name attributes

    +
    - Table: Available wearable native requirements -
    Feature keySince
    http://tizen.org/feature/camerahttp://tizen.org/feature/camera Specify this key, if the application requires any kind of a camera. 2.2.1
    http://tizen.org/feature/camera.backhttp://tizen.org/feature/camera.back Specify this key, if the application requires a back-facing camera. 2.2.1
    http://tizen.org/feature/camera.back.flashhttp://tizen.org/feature/camera.back.flash Specify this key, if the application requires a back-facing camera with a flash. 2.2.1
    http://tizen.org/feature/camera.fronthttp://tizen.org/feature/camera.front Specify this key, if the application requires a front-facing camera. 2.2.1
    http://tizen.org/feature/camera.front.flashhttp://tizen.org/feature/camera.front.flash Specify this key, if the application requires a front-facing camera with a flash. 2.2.1
    http://tizen.org/feature/consumer_irhttp://tizen.org/feature/consumer_ir Specify this key, if the application requires the Consumer Infrared (CIR) feature. 3.0
    http://tizen.org/feature/convergence.d2dhttp://tizen.org/feature/convergence.d2d Specify this key, if the application requires the Device-to-Device (D2D) Convergence feature, which provides the service to discover near-by devices and to communicate information and data to the remote devices. 3.0
    http://tizen.org/feature/database.encryptionhttp://tizen.org/feature/database.encryption Specify this key, if the application requires the database encryption feature. 2.2.1
    http://tizen.org/feature/fido.uafhttp://tizen.org/feature/fido.uaf Specify this key, if the application requires the FIDO (Fast Identity Online) UAF (Universal Authentication Framework) client API. 3.0
    http://tizen.org/feature/fmradiohttp://tizen.org/feature/fmradio Specify this key, if the application requires an FM radio. 2.2.1
    http://tizen.org/feature/graphics.accelerationhttp://tizen.org/feature/graphics.acceleration Specify this key, if the application requires hardware acceleration for both 2D and 3D graphics. 2.2.1
    http://tizen.org/feature/input.keyboardhttp://tizen.org/feature/input.keyboard Specify this key, if the application requires a built-in physical keyboard. 2.2.1
    http://tizen.org/feature/input.keyboard.layoutSpecify this key with a specific keyboard layout (string type), if the application requires a built-in physical keyboard supporting the specified keyboard layout.http://tizen.org/feature/input.keyboard.layoutSpecify this key with a specific keyboard layout (string type), if the application requires a built-in physical keyboard supporting the specified keyboard layout. 2.2.1
    http://tizen.org/feature/input.rotating_bezelhttp://tizen.org/feature/input.rotating_bezel Specify this key, if the application requires rotating bezel input. 2.3.1
    http://tizen.org/feature/iot.ocfhttp://tizen.org/feature/iot.ocf Specify this key, if the application requires the Open Connectivity Foundation (OCF) framework. 3.0
    http://tizen.org/feature/ledhttp://tizen.org/feature/led Specify this key, if the application requires a LED. 2.3
    http://tizen.org/feature/locationhttp://tizen.org/feature/location Specify this key, if the application requires any location positioning features. 2.2.1
    http://tizen.org/feature/location.batchhttp://tizen.org/feature/location.batch Specify this key, if the application requires the location tracking with a position batch information feature. 2.3
    http://tizen.org/feature/location.gpshttp://tizen.org/feature/location.gps Specify this key, if the application requires the Global Positioning System (GPS) feature. 2.2.1
    http://tizen.org/feature/location.wpshttp://tizen.org/feature/location.wps Specify this key, if the application requires the Wi-Fi-based Positioning System (WPS) feature. 2.2.1
    http://tizen.org/feature/mapshttp://tizen.org/feature/maps Specify this key, if the application requires the map service feature. 2.3.2
    http://tizen.org/feature/microphonehttp://tizen.org/feature/microphone Specify this key, if the application requires a microphone. 2.2.1
    http://tizen.org/feature/multimedia.transcoderhttp://tizen.org/feature/multimedia.transcoder Specify this key, if the application requires the multimedia transcoder feature. 2.3
    http://tizen.org/feature/multi_point_touch.pinch_zoomhttp://tizen.org/feature/multi_point_touch.pinch_zoom Specify this key, if the application requires a pinch-zoom gesture feature. 2.2.1
    http://tizen.org/feature/multi_point_touch.point_countSpecify this key with a specific number (int type), if the application requires the minimum of specified number of simultaneous touches in a multi-point touch.http://tizen.org/feature/multi_point_touch.point_countSpecify this key with a specific number (int type), if the application requires the minimum of specified number of simultaneous touches in a multi-point touch. 2.2.1
    http://tizen.org/feature/network.bluetoothhttp://tizen.org/feature/network.bluetooth Specify this key, if the application requires the Bluetooth feature. 2.2.1
    http://tizen.org/feature/network.bluetooth.audio.callhttp://tizen.org/feature/network.bluetooth.audio.call Specify this key, if the application requires the Bluetooth Handsfree feature (HFP). 2.3
    http://tizen.org/feature/network.bluetooth.audio.controllerhttp://tizen.org/feature/network.bluetooth.audio.controller Specify this key, if the application requires the Bluetooth Advanced Audio Distribution (A2DP) sink feature and the Bluetooth Audio Video Remote Control (AVRCP) controller feature. 3.0
    http://tizen.org/feature/network.bluetooth.audio.mediahttp://tizen.org/feature/network.bluetooth.audio.media Specify this key, if the application requires the Bluetooth Advanced Audio feature (A2DP). 2.3
    http://tizen.org/feature/network.bluetooth.healthhttp://tizen.org/feature/network.bluetooth.health Specify this key, if the application requires the Bluetooth Health feature (HDP). 2.3
    http://tizen.org/feature/network.bluetooth.hidhttp://tizen.org/feature/network.bluetooth.hid Specify this key, if the application requires the Bluetooth Human Input Device feature (HID). 2.3
    http://tizen.org/feature/network.bluetooth.hid.devicehttp://tizen.org/feature/network.bluetooth.hid.device Specify this key, if the application requires the Bluetooth Human Interface Device (HID) device feature. 3.0
    http://tizen.org/feature/network.bluetooth.lehttp://tizen.org/feature/network.bluetooth.le Specify this key, if the application requires the Bluetooth LE feature. 2.3
    http://tizen.org/feature/network.bluetooth.opphttp://tizen.org/feature/network.bluetooth.opp Specify this key, if the application requires the Bluetooth Object Push feature (OPP). 2.3
    http://tizen.org/feature/network.bluetooth.phonebook.clienthttp://tizen.org/feature/network.bluetooth.phonebook.client Specify this key, if the application requires the Bluetooth Phone Book Access (PBAP) client feature. 3.0
    http://tizen.org/feature/network.ethernethttp://tizen.org/feature/network.ethernet Specify this key, if the application requires the ethernet connection. 2.4
    http://tizen.org/feature/network.internethttp://tizen.org/feature/network.internet Specify this key, if the application requires Internet access. 2.3.1
    http://tizen.org/feature/network.net_proxyhttp://tizen.org/feature/network.net_proxy Specify this key, if the application requires the net-proxy feature for the Internet connection. A net-proxy feature for a device acts as an intermediary between client (network service customer) and server (network service provider). 3.0
    http://tizen.org/feature/network.nfchttp://tizen.org/feature/network.nfc Specify this key, if the application requires the use of any API that, in turn, requires the Near Field Communication (NFC) feature. 2.2.1
    http://tizen.org/feature/network.nfc.card_emulationhttp://tizen.org/feature/network.nfc.card_emulation Specify this key, if the application requires the NFC card emulation feature. 2.3
    http://tizen.org/feature/network.nfc.card_emulation.hcehttp://tizen.org/feature/network.nfc.card_emulation.hce Specify this key, if the application requires the NFC host-based card emulation feature. 2.3.1
    http://tizen.org/feature/network.nfc.p2phttp://tizen.org/feature/network.nfc.p2p Specify this key, if the application requires the NFC p2p feature. 2.3.1
    http://tizen.org/feature/network.nfc.reserved_pushhttp://tizen.org/feature/network.nfc.reserved_push Specify this key, if the application requires the NFC reserved push feature.2.2.1
    http://tizen.org/feature/network.nfc.taghttp://tizen.org/feature/network.nfc.tag Specify this key, if the application requires the NFC tag feature. 2.3.1
    http://tizen.org/feature/network.pushhttp://tizen.org/feature/network.push Specify this key, if the application requires the network-based push service. 2.2.1
    http://tizen.org/feature/network.secure_elementhttp://tizen.org/feature/network.secure_element Specify this key, if the application requires the secure element feature. 2.2.1
    http://tizen.org/feature/network.secure_element.esehttp://tizen.org/feature/network.secure_element.ese Specify this key, if the application requires the ESE secure element feature. 2.3
    http://tizen.org/feature/network.secure_element.uicchttp://tizen.org/feature/network.secure_element.uicc Specify this key, if the application requires the UICC secure element feature. 2.3
    http://tizen.org/feature/network.service_discovery.dnssdhttp://tizen.org/feature/network.service_discovery.dnssd Specify this key, if the application requires the DNS-based Service Discovery Feature (DNSSD). 3.0
    http://tizen.org/feature/network.service_discovery.ssdphttp://tizen.org/feature/network.service_discovery.ssdp Specify this key, if the application requires the Simple Service Discovery Protocol feature (SSDP). 3.0
    http://tizen.org/feature/network.telephonyhttp://tizen.org/feature/network.telephony Specify this key, if the application requires the use of any API that, in turn, requires the telephony feature. 2.2.1
    http://tizen.org/feature/network.telephony.mmshttp://tizen.org/feature/network.telephony.mms Specify this key, if the application requires the MMS feature. 2.2.1
    http://tizen.org/feature/network.telephony.smshttp://tizen.org/feature/network.telephony.sms Specify this key, if the application requires the SMS feature. 2.4
    http://tizen.org/feature/network.telephony.sms.cbshttp://tizen.org/feature/network.telephony.sms.cbs Specify this key, if the application requires the SMS Cell Broadcast Service (CBS) feature. 2.2.1
    http://tizen.org/feature/network.vpnhttp://tizen.org/feature/network.vpn Specify this key, if the application requires the Virtual Private Network feature (VPN). 3.0
    http://tizen.org/feature/network.wifihttp://tizen.org/feature/network.wifi Specify this key, if the application requires the use of any API that, in turn, requires the Wi-Fi feature. 2.2.1
    http://tizen.org/feature/network.wifi.tdlshttp://tizen.org/feature/network.wifi.tdls Specify this key, if the application requires the Wi-Fi Tunneled Direct Link Setup (TDLS). 3.0
    http://tizen.org/feature/opengles.texture_format.3dchttp://tizen.org/feature/opengles.texture_format.3dc Specify this key, if the application requires the 3DC texture format for OpenGL® ES. 2.2.1
    http://tizen.org/feature/opengles.texture_format.atchttp://tizen.org/feature/opengles.texture_format.atc Specify this key, if the application requires the ATC texture format for OpenGL® ES. 2.2.1
    http://tizen.org/feature/opengles.texture_format.etchttp://tizen.org/feature/opengles.texture_format.etc Specify this key, if the application requires the ETC texture format for OpenGL® ES. 2.2.1
    http://tizen.org/feature/opengles.texture_format.ptchttp://tizen.org/feature/opengles.texture_format.ptc Specify this key, if the application requires the PTC texture format for OpenGL® ES. 2.2.1
    http://tizen.org/feature/opengles.texture_format.pvrtchttp://tizen.org/feature/opengles.texture_format.pvrtc Specify this key, if the application requires the PVRTC texture format for OpenGL® ES. 2.2.1
    http://tizen.org/feature/opengles.texture_format.utchttp://tizen.org/feature/opengles.texture_format.utc Specify this key, if the application requires the UTC texture format for OpenGL® ES. 2.2.1
    http://tizen.org/feature/opengles.version.1_1http://tizen.org/feature/opengles.version.1_1 Specify this key, if the application requires OpenGL® ES version 1.1 at minimum.

    You can specify at most 1 openGL® ES version. If you specify multiple versions, only the highest one is considered.

    2.2.1
    http://tizen.org/feature/opengles.version.2_0http://tizen.org/feature/opengles.version.2_0 Specify this key, if the application requires OpenGL® ES version 2.0.

    You can specify at most 1 openGL® ES version. If you specify multiple versions, only the highest one is considered.

    2.2.1
    http://tizen.org/feature/opengles.version.3_0http://tizen.org/feature/opengles.version.3_0 Specify this key, if the application requires OpenGL® ES version 3.0.

    You can specify at most 1 openGL® ES version. If you specify multiple versions, only the highest one is considered.

    2.4
    http://tizen.org/feature/platform.core.cpu.arch.armv7http://tizen.org/feature/platform.core.cpu.arch.armv7 Specify this key, if the application requires the ARMv7 CPU architecture. 2.2.1
    http://tizen.org/feature/platform.core.cpu.arch.x86http://tizen.org/feature/platform.core.cpu.arch.x86 Specify this key, if the application requires the x86 CPU architecture. 2.2.1
    http://tizen.org/feature/platform.core.fpu.arch.sse2http://tizen.org/feature/platform.core.fpu.arch.sse2 Specify this key, if the application requires the SSE2 Floating Point Unit (FPU) architecture. 2.2.1
    http://tizen.org/feature/platform.core.fpu.arch.sse3http://tizen.org/feature/platform.core.fpu.arch.sse3 Specify this key, if the application requires the SSE3 FPU architecture. 2.2.1
    http://tizen.org/feature/platform.core.fpu.arch.ssse3http://tizen.org/feature/platform.core.fpu.arch.ssse3 Specify this key, if the application requires the SSSE3 FPU architecture. 2.2.1
    http://tizen.org/feature/platform.core.fpu.arch.vfpv3http://tizen.org/feature/platform.core.fpu.arch.vfpv3 Specify this key, if the application requires the VFPv3 FPU architecture. 2.2.1
    http://tizen.org/feature/platform.native.osp_compatiblehttp://tizen.org/feature/platform.native.osp_compatible Specify this key, if the application requires OSP compatibility (the bada compatibility mode). 2.2.1
    http://tizen.org/feature/screen.auto_rotationhttp://tizen.org/feature/screen.auto_rotation Specify this key, if the application requires the automatic screen rotation feature. 2.2.1
    http://tizen.org/feature/screen.shape.circlehttp://tizen.org/feature/screen.shape.circle Specify this key, if the application requires a circle-shaped screen. 2.3.1
    http://tizen.org/feature/screen.shape.rectanglehttp://tizen.org/feature/screen.shape.rectangle Specify this key, if the application requires a rectangle-shaped screen. 2.3.1
    http://tizen.org/feature/screen.size.allhttp://tizen.org/feature/screen.size.all Specify this key, if the application supports all possible current and future screen sizes and all possible current and future resolutions per screen size. 2.2.1
    http://tizen.org/feature/screen.size.normalhttp://tizen.org/feature/screen.size.normal Specify this key, if the application supports all possible current and future resolutions on the normal screen size. 2.2.1
    http://tizen.org/feature/screen.size.normal.240.400http://tizen.org/feature/screen.size.normal.240.400 Specify this key, if the application supports the 240 x 400 resolution on the normal screen size. 2.2.1
    http://tizen.org/feature/screen.size.normal.320.320http://tizen.org/feature/screen.size.normal.320.320 Specify this key, if the application supports the 320 x 320 resolution on the normal screen size. 2.3
    http://tizen.org/feature/screen.size.normal.320.480http://tizen.org/feature/screen.size.normal.320.480 Specify this key, if the application supports the 320 x 480 resolution on the normal screen size. 2.2.1
    http://tizen.org/feature/screen.size.normal.360.360http://tizen.org/feature/screen.size.normal.360.360 Specify this key, if the application supports the 360 x 360 resolution on the normal screen size. 2.3.2
    http://tizen.org/feature/screen.size.normal.360.480http://tizen.org/feature/screen.size.normal.360.480 Specify this key, if the application supports the 360 x 480 resolution on the normal screen size. 2.3
    http://tizen.org/feature/screen.size.normal.480.800http://tizen.org/feature/screen.size.normal.480.800 Specify this key, if the application supports the 480 x 800 resolution on the normal screen size. 2.2.1
    http://tizen.org/feature/screen.size.normal.540.960http://tizen.org/feature/screen.size.normal.540.960 Specify this key, if the application supports the 540 x 960 resolution on the normal screen size. 2.2.1
    http://tizen.org/feature/screen.size.normal.600.1024http://tizen.org/feature/screen.size.normal.600.1024 Specify this key, if the application supports the 600 x 1024 resolution on the normal screen size. 2.2.1
    http://tizen.org/feature/screen.size.normal.720.1280http://tizen.org/feature/screen.size.normal.720.1280 Specify this key, if the application supports the 720 x 1280 resolution on the normal screen size. 2.2.1
    http://tizen.org/feature/screen.size.normal.1080.1920http://tizen.org/feature/screen.size.normal.1080.1920 Specify this key, if the application supports the 1080 x 1920 resolution on the normal screen size. 2.2.1
    http://tizen.org/feature/sensor.accelerometerhttp://tizen.org/feature/sensor.accelerometer Specify this key, if the application requires an acceleration sensor. 2.2.1
    http://tizen.org/feature/sensor.accelerometer.wakeuphttp://tizen.org/feature/sensor.accelerometer.wakeup Specify this key, if the application requires the acceleration sensor wake-up feature. 2.2.1
    http://tizen.org/feature/sensor.activity_recognitionhttp://tizen.org/feature/sensor.activity_recognition Specify this key, if the application requires an activity recognition sensor. 2.3
    http://tizen.org/feature/sensor.barometerhttp://tizen.org/feature/sensor.barometer Specify this key, if the application requires a barometer sensor. 2.2.1
    http://tizen.org/feature/sensor.barometer.wakeuphttp://tizen.org/feature/sensor.barometer.wakeup Specify this key, if the application requires the barometer sensor wake-up feature. 2.2.1
    http://tizen.org/feature/sensor.geomagnetic_rotation_vectorhttp://tizen.org/feature/sensor.geomagnetic_rotation_vector Specify this key, if the application requires a geomagnetic-based rotation vector sensor. 2.4
    http://tizen.org/feature/sensor.gesture_recognitionhttp://tizen.org/feature/sensor.gesture_recognition Specify this key, if the application requires a gesture recognition sensor. 2.3
    http://tizen.org/feature/sensor.gravityhttp://tizen.org/feature/sensor.gravity Specify this key, if the application requires a gravity sensor. 2.3
    http://tizen.org/feature/sensor.gyroscopehttp://tizen.org/feature/sensor.gyroscope Specify this key, if the application requires a gyro sensor. 2.2.1
    http://tizen.org/feature/sensor.gyroscope_rotation_vectorhttp://tizen.org/feature/sensor.gyroscope_rotation_vector Specify this key, if the application requires a gyroscope-based rotation vector sensor. 2.4
    http://tizen.org/feature/sensor.gyroscope.uncalibratedhttp://tizen.org/feature/sensor.gyroscope.uncalibrated Specify this key, if the application requires an uncalibrated gyroscope sensor. 2.4
    http://tizen.org/feature/sensor.gyroscope.wakeuphttp://tizen.org/feature/sensor.gyroscope.wakeup Specify this key, if the application requires the gyro sensor wake-up feature. 2.2.1
    http://tizen.org/feature/sensor.heart_rate_monitorhttp://tizen.org/feature/sensor.heart_rate_monitor Specify this key, if the application requires a heart rate monitor sensor. 2.3
    http://tizen.org/feature/sensor.heart_rate_monitor.led_greenhttp://tizen.org/feature/sensor.heart_rate_monitor.led_green Specify this key, if the application requires the LED green heart rate monitor sensor. 2.3.1
    http://tizen.org/feature/sensor.heart_rate_monitor.led_irhttp://tizen.org/feature/sensor.heart_rate_monitor.led_ir Specify this key, if the application requires the LED infrared heart rate monitor sensor. 2.3.1
    http://tizen.org/feature/sensor.heart_rate_monitor.led_redhttp://tizen.org/feature/sensor.heart_rate_monitor.led_red Specify this key, if the application requires the LED red heart rate monitor sensor. 2.3.1
    http://tizen.org/feature/sensor.humidityhttp://tizen.org/feature/sensor.humidity Specify this key, if the application requires a humidity sensor. 2.3
    http://tizen.org/feature/sensor.linear_accelerationhttp://tizen.org/feature/sensor.linear_acceleration Specify this key, if the application requires a linear acceleration sensor. 2.3
    http://tizen.org/feature/sensor.magnetometerhttp://tizen.org/feature/sensor.magnetometer Specify this key, if the application requires a magnetic sensor. 2.2.1
    http://tizen.org/feature/sensor.magnetometer.uncalibratedhttp://tizen.org/feature/sensor.magnetometer.uncalibrated Specify this key, if the application requires an uncalibrated geomagnetic sensor. 2.4
    http://tizen.org/feature/sensor.magnetometer.wakeuphttp://tizen.org/feature/sensor.magnetometer.wakeup Specify this key, if the application requires the magnetic sensor wake-up feature. 2.2.1
    http://tizen.org/feature/sensor.pedometerhttp://tizen.org/feature/sensor.pedometer Specify this key, if the application requires a pedometer sensor. 2.3
    http://tizen.org/feature/sensor.photometerhttp://tizen.org/feature/sensor.photometer Specify this key, if the application requires a photometer sensor. 2.2.1
    http://tizen.org/feature/sensor.photometer.wakeuphttp://tizen.org/feature/sensor.photometer.wakeup Specify this key, if the application requires the photometer sensor wake-up feature. 2.2.1
    http://tizen.org/feature/sensor.proximityhttp://tizen.org/feature/sensor.proximity Specify this key, if the application requires a proximity sensor. 2.2.1
    http://tizen.org/feature/sensor.proximity.wakeuphttp://tizen.org/feature/sensor.proximity.wakeup Specify this key, if the application requires the proximity sensor wake-up feature. 2.2.1
    http://tizen.org/feature/sensor.rotation_vectorhttp://tizen.org/feature/sensor.rotation_vector Specify this key, if the application requires a rotation vector sensor. 2.3
    http://tizen.org/feature/sensor.temperaturehttp://tizen.org/feature/sensor.temperature Specify this key, if the application requires a temperature sensor. 2.3
    http://tizen.org/feature/sensor.tiltmeterhttp://tizen.org/feature/sensor.tiltmeter Specify this key, if the application requires a tilt sensor. 2.2.1
    http://tizen.org/feature/sensor.tiltmeter.wakeuphttp://tizen.org/feature/sensor.tiltmeter.wakeup Specify this key, if the application requires the tilt sensor wake-up feature. 2.2.1
    http://tizen.org/feature/sensor.ultraviolethttp://tizen.org/feature/sensor.ultraviolet Specify this key, if the application requires a ultraviolet sensor. 2.3
    http://tizen.org/feature/sensor.wrist_uphttp://tizen.org/feature/sensor.wrist_up Specify this key, if the application requires a wrist up sensor. 2.3
    http://tizen.org/feature/shell.appwidgethttp://tizen.org/feature/shell.appwidget Specify this key, if the application requires the AppWidget (Dynamic Box) feature. 2.2.1
    http://tizen.org/feature/sip.voiphttp://tizen.org/feature/sip.voip Specify this key, if the application requires the Voice Over Internet Protocol (VOIP) feature. 2.2.1
    http://tizen.org/feature/speech.controlhttp://tizen.org/feature/speech.control Specify this key, if the application requires the voice control feature. 2.4
    http://tizen.org/feature/speech.recognitionhttp://tizen.org/feature/speech.recognition Specify this key, if the application requires the speech recognition (STT) feature. 2.2.1
    http://tizen.org/feature/speech.synthesishttp://tizen.org/feature/speech.synthesis Specify this key, if the application requires the speech synthesis (text to speech, TTS) feature. 2.2.1
    http://tizen.org/feature/usb.accessoryhttp://tizen.org/feature/usb.accessory Specify this key, if the application requires the USB client (or accessory) feature. 2.2.1
    http://tizen.org/feature/usb.hosthttp://tizen.org/feature/usb.host Specify this key, if the application requires the USB host feature. 2.2.1
    http://tizen.org/feature/vision.barcode_detectionhttp://tizen.org/feature/vision.barcode_detection Specify this key, if the application requires the barcode detection feature. 2.4
    http://tizen.org/feature/vision.barcode_generationhttp://tizen.org/feature/vision.barcode_generation Specify this key, if the application requires the barcode generation feature. 2.4
    http://tizen.org/feature/vision.face_recognitionhttp://tizen.org/feature/vision.face_recognition Specify this key, if the application requires the face recognition feature. 2.2.1
    http://tizen.org/feature/vision.image_recognitionhttp://tizen.org/feature/vision.image_recognition Specify this key, if the application requires the image recognition feature. 2.2.1
    http://tizen.org/feature/vision.qrcode_generationhttp://tizen.org/feature/vision.qrcode_generation Specify this key, if the application requires the QR code generation feature. 2.2.1
    http://tizen.org/feature/vision.qrcode_recognitionhttp://tizen.org/feature/vision.qrcode_recognition Specify this key, if the application requires the QR code recognition feature. 2.2.1
    - + @@ -1567,25 +1566,25 @@ - + - + - +
    Table: Tizen profiles and profile name attributes
    Tizen profile
    Mobilemobilemobile
    Wearablewearablewearable
    TVTVTV
    -

    In a native application, the profile name element can be added to the tizen-manifest.xml file as follows:

    +

    In a native application, the profile name element can be added to the tizen-manifest.xml file as follows:

     <manifest xmlns="http://tizen.org/ns/packages" api-version="2.3.1" ... >
     <profile name="mobile"/>
     
    -

    The Tizen Store compares the device profile and the profile name element in an application. The store only shows the applications with a profile name matching the device profile to prevent unsupported applications from being installed.

    +

    The Tizen Store compares the device profile and the profile name element in an application. The store only shows the applications with a profile name matching the device profile to prevent unsupported applications from being installed.

    diff --git a/org.tizen.training/html/native/details/deprecation_policy_n.htm b/org.tizen.training/html/native/details/deprecation_policy_n.htm index 33ec81c..4aa02ad 100644 --- a/org.tizen.training/html/native/details/deprecation_policy_n.htm +++ b/org.tizen.training/html/native/details/deprecation_policy_n.htm @@ -53,8 +53,8 @@
  • This policy comes into effect beginning with Tizen 2.4.
  • The functionality of the deprecated API is available for 2 releases, as indicated in the following table. +

    Table: Deprecation schedule

    - diff --git a/org.tizen.training/html/native/details/error_handling_n.htm b/org.tizen.training/html/native/details/error_handling_n.htm index 8e07368..d65f04a 100644 --- a/org.tizen.training/html/native/details/error_handling_n.htm +++ b/org.tizen.training/html/native/details/error_handling_n.htm @@ -62,7 +62,7 @@ BUNDLE_ERROR_OUT_OF_MEMORY /* Out of memory */
  • Obtaining a message for specific error code -

    Use the get_error_message() function to query the meaning of each error code. +

    Use the get_error_message() function to query the meaning of each error code. The pointer returned is a static variable, you must not free it.

    For example:

    @@ -76,7 +76,7 @@ if (LOCATIONS_ERROR_NONE != result) {     dlog_print(DLOG_INFO, "MyTag", "%s", errMsg); } -

    The get_error_message() function takes an error code as an input and returns its corresponding error messages, such as "Location service is not available".

    +

    The get_error_message() function takes an error code as an input and returns its corresponding error messages, such as "Location service is not available".

  • Every error code in the Tizen native API is represented as an integer value.

    diff --git a/org.tizen.training/html/native/details/event_handling_n.htm b/org.tizen.training/html/native/details/event_handling_n.htm index 5a08aea..36f48a5 100644 --- a/org.tizen.training/html/native/details/event_handling_n.htm +++ b/org.tizen.training/html/native/details/event_handling_n.htm @@ -39,23 +39,18 @@

    All Tizen mobile native devices provide the Menu and Back hardware keys, and the circular wearable devices provide rotary components for emitting rotary events. Both mobile and wearable devices support the media key events. You can use the Efl Extension Event API (in mobile and wearable applications) to handle the Menu key, Back key, and rotary events.

    -
    Table: Deprecation schedule
    - - - - - - - - -
    Note
    For more information on using Efl Extension for Menu key, Back key, and rotary events, see Hardware Input Handling.
    + +
    + Note + For more information on using Efl Extension for Menu key, Back key, and rotary events, see Hardware Input Handling. +

    Follow the guidelines below to ensure predictable and reliable navigation in your application.

    All Tizen mobile devices provide a Menu key, which is used to present users a context-dependent set of options. Pressing the Menu key shows a hierarchical option menu. The following figure illustrates the Menu key position and the option menu.

    -

    Figure: Menu key

    +

    Figure: Menu key

    Menu key

    @@ -76,7 +71,7 @@

    You can use the rotary events to change your application state (for example, change the value of the scroller or slider, change selected items, or zoom the image).

    -

    Figure: Rotary device

    +

    Figure: Rotary device

    Rotary device

    diff --git a/org.tizen.training/html/native/details/io_overview_n.htm b/org.tizen.training/html/native/details/io_overview_n.htm index cdf4faf..bcddf87 100644 --- a/org.tizen.training/html/native/details/io_overview_n.htm +++ b/org.tizen.training/html/native/details/io_overview_n.htm @@ -41,9 +41,9 @@
  • The following table shows the application directory hierarchy:

    - + +

    Table: Application package directory hierarchy

    - @@ -51,62 +51,61 @@ - + - + - + +

    To get the application data directory path, call the app_get_data_path() function of the App Common module.

    - + - + - + - + - +
    Table: Application package directory hierarchy
    NamePermission
    binbin Executable binary path Owner: Read

    Others: Access denied

    liblib Library path Owner: Read

    Others: Access denied

    datadata Used to store private data of an application. -

    To get the application data directory path, call the app_get_data_path() function of the App Common module.

    Owner: Read and Write

    Others: Access denied

    resres Used to read resource files that are delivered with the application package. -

    To get the application resource directory path, call the app_get_resource_path() function of the App common module.

    +

    To get the application resource directory path, call the app_get_resource_path() function of the App common module.

    Owner: Read

    Others: Access denied

    sharedshared Parent directory of the data, res, and trusted sub-directories. Files in this directory cannot be delivered with the application package. Owner: Read

    Others: Read

    shared/datashared/data Used to share data with other applications. -

    To get this directory path of your own application, call the app_get_shared_data_path() function of the App common module.

    +

    To get this directory path of your own application, call the app_get_shared_data_path() function of the App common module.

    Files stored in the shared/data directory can be read by other applications. Do not store application's private data in the shared/data directory.

    Owner: Read and Write

    Others: Read

    shared/resshared/res Used to share resources with other applications. The resource files are delivered with the application package. -

    To get this directory path of your own application, call the app_get_shared_resource_path() function of the App common module.

    +

    To get this directory path of your own application, call the app_get_shared_resource_path() function of the App common module.

    Files stored in the shared/res directory can be read by other applications. Do not pack application's private resource files in the shared/res directory.

    Owner: Read

    Others: Read

    shared/trustedshared/trusted Used to share data with family of trusted applications. The family applications signed with the same certificate can access data in the shared/trusted directory. -

    To get this directory path of your own application, call the app_get_shared_trusted_path() function of the App common module.

    +

    To get this directory path of your own application, call the app_get_shared_trusted_path() function of the App common module.

    Owner: Read and Write

    Family: Read and Write

    Others: Access denied

    -

    Every application can access a storage area where media files are stored. This is the media directory. In native applications, to obtain the media directory path, call the storage_get_directory() function of Storage module. The following table lists the sub-directories of the media directory.

    - +

    Every application can access a storage area where media files are stored. This is the media directory. In native applications, to obtain the media directory path, call the storage_get_directory() function of Storage module. The following table lists the sub-directories of the media directory.

    +

    Table: Media directory hierarchy

    - @@ -114,41 +113,41 @@ - + - + - + - + - + - + - + - + - + @@ -156,10 +155,10 @@
    Table: Media directory hierarchy
    NamePermission
    ImagesImages Used for Image data. Read and Write
    SoundsSounds Used for Sound data.
    VidesVides Used for Video data.
    CamerasCameras Used for Camera pictures.
    DownloadsDownloads Used for Downloaded data.
    MusicMusic Used for Music data.
    DocumentsDocuments Used for Documents.
    System RingtonesSystem Ringtones Used for System default ringtones. Read
    OthersOthers Used for other types. Read and Write
    -

    Every application can also access the external storage, such as MMC. This is the external storage directory. In native applications, to obtain the external storage directory path, call the storage_get_directory() function of the Storage module. The following table lists the sub-directories of the external storage directory.

    +

    Every application can also access the external storage, such as MMC. This is the external storage directory. In native applications, to obtain the external storage directory path, call the storage_get_directory() function of the Storage module. The following table lists the sub-directories of the external storage directory.

    +

    Table: External storage directory hierarchy

    - @@ -167,38 +166,38 @@ - + - + - + - + - + - + - + - + diff --git a/org.tizen.training/html/native/details/sec_privileges_n.htm b/org.tizen.training/html/native/details/sec_privileges_n.htm index 2d18e1f..e11cfb2 100644 --- a/org.tizen.training/html/native/details/sec_privileges_n.htm +++ b/org.tizen.training/html/native/details/sec_privileges_n.htm @@ -39,25 +39,19 @@ tr.partner-level, tr.platform-level { background-color: #cff }
  • The platform level is the highest privilege level, and an application that needs these privileges requires at least a platform-signed certificate, which is granted to vendor developers.
  • -

    Since Tizen platform 3.0, some privileges are categorized as privacy-related and give an option to the user to switch them on and off. If an application invokes a privacy-related privileged API, the Tizen system checks whether the privilege is allowed for the application. For the application to use the API, the privilege must be declared in the tizen-manifest.xml file and the user must have switched it on.

    +

    Since Tizen platform 3.0, some privileges are categorized as privacy-related and give an option to the user to switch them on and off. If an application invokes a privacy-related privileged API, the Tizen system checks whether the privilege is allowed for the application. For the application to use the API, the privilege must be declared in the tizen-manifest.xml file and the user must have switched it on.

    -
    Table: External storage directory hierarchy
    NamePermission
    ImagesImages Used for Image data. Read and Write
    SoundsSounds Used for Sound data.
    VidesVides Used for Video data.
    CamerasCameras Used for Camera pictures.
    DownloadsDownloads Used for Downloaded data.
    MusicMusic Used for Music data.
    DocumentsDocuments Used for Documents.
    OthersOthers Used for other types.
    - - - - - - - - -
    Note
    In applications with the platform version 3.0 or higher, if you use privacy-related privileged APIs, make sure that the user has switched the privilege on before making the function call. Otherwise, the application does not work as expected.
    +
    + Note + In applications with the platform version 3.0 or higher, if you use privacy-related privileged APIs, make sure that the user has switched the privilege on before making the function call. Otherwise, the application does not work as expected. +

    The Tizen Studio also provides privilege checker tools to check whether the Tizen application source code contains any privilege violations. For more information, see Verifying APIs and Privileges.

    The following tables list the API privileges, which you must to declare when using security-sensitive API modules.

    +

    Table: Mobile native API privileges

    - @@ -67,672 +61,672 @@ tr.partner-level, tr.platform-level { background-color: #cff } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -741,8 +735,8 @@ tr.partner-level, tr.platform-level { background-color: #cff }
    Table: Mobile native API privileges
    PrivilegeDescription
    http://tizen.org/privilege/account.readhttp://tizen.org/privilege/account.read public Account 2.3 The application can read accounts.
    http://tizen.org/privilege/account.writehttp://tizen.org/privilege/account.write public Account 2.3 The application can create, edit, and delete accounts.
    http://tizen.org/privilege/alarm.gethttp://tizen.org/privilege/alarm.get public 2.3 The application can read information about the saved alarms.
    http://tizen.org/privilege/alarm.sethttp://tizen.org/privilege/alarm.set public 2.3 The application can set alarms and wake the device up at scheduled times.
    http://tizen.org/privilege/antivirus.adminhttp://tizen.org/privilege/antivirus.admin platform 3.0 The application can enable or disable antivirus programs and manage detected malware.
    http://tizen.org/privilege/antivirus.scanhttp://tizen.org/privilege/antivirus.scan partner 3.0 The application can request to scan files in other applications or on the device to detect harmful content.
    http://tizen.org/privilege/antivirus.webprotecthttp://tizen.org/privilege/antivirus.webprotect partner 3.0 The application can check the reputation of a Web address and determine whether accessing it can put the user's device at risk.
    http://tizen.org/privilege/apphistory.readhttp://tizen.org/privilege/apphistory.read public User history 2.4 The application can read the statistics of application usage, such as which applications have been used frequently or recently.
    http://tizen.org/privilege/appmanager.killhttp://tizen.org/privilege/appmanager.kill platform 2.3 The application can close other applications.
    http://tizen.org/privilege/appmanager.kill.bgapphttp://tizen.org/privilege/appmanager.kill.bgapp public 2.4 The application can request to close applications running in the background.
    http://tizen.org/privilege/appmanager.launchhttp://tizen.org/privilege/appmanager.launch public 2.3 The application can open other applications.
    http://tizen.org/privilege/bluetoothhttp://tizen.org/privilege/bluetooth public 2.3 The application can perform unrestricted actions using Bluetooth, such as scanning for and connecting to other devices.
    http://tizen.org/privilege/bluetooth.adminhttp://tizen.org/privilege/bluetooth.admin platform 2.3 The application can change Bluetooth settings, such as switching Bluetooth on or off, setting the device name, and enabling or disabling the AV remote control.
    http://tizen.org/privilege/bookmark.adminhttp://tizen.org/privilege/bookmark.admin platform Bookmark 2.3 The application can retrieve, create, edit, and delete Internet bookmarks.
    http://tizen.org/privilege/calendar.readhttp://tizen.org/privilege/calendar.read public Calendar 2.3 The application can read events and tasks.
    http://tizen.org/privilege/calendar.writehttp://tizen.org/privilege/calendar.write public Calendar 2.3 The application can create, update, and delete events and tasks.
    http://tizen.org/privilege/callhttp://tizen.org/privilege/call public Call 2.3 The application can make phone calls to numbers when they are tapped without further confirmation. This can result in additional charges depending on the user's payment plan.
    http://tizen.org/privilege/callhistory.readhttp://tizen.org/privilege/callhistory.read public User history 2.3 The application can read call log items.
    http://tizen.org/privilege/callhistory.writehttp://tizen.org/privilege/callhistory.write public User history 2.3 The application can create, update, and delete call log items.
    http://tizen.org/privilege/camerahttp://tizen.org/privilege/camera public Camera 2.3 The application can take pictures and switch the camera flash on and off while using the camera.
    http://tizen.org/privilege/contact.readhttp://tizen.org/privilege/contact.read public Contacts 2.3 The application can read the user profile, contacts, and contact history. Contact history can include social network activity.
    http://tizen.org/privilege/contact.writehttp://tizen.org/privilege/contact.write public Contacts 2.3 The application can create, update, and delete the user profile, contacts, and any contact history that is related to this application. Contact history can include social network activity.
    http://tizen.org/privilege/content.writehttp://tizen.org/privilege/content.write public 2.3 The application can change media information. This information can be used by other applications.
    http://tizen.org/privilege/d2d.datasharinghttp://tizen.org/privilege/d2d.datasharing public 3.0 The application can share data with other devices.
    http://tizen.org/privilege/datasharinghttp://tizen.org/privilege/datasharing public 2.3 The application can share data with other applications.
    http://tizen.org/privilege/displayhttp://tizen.org/privilege/display public 2.3 The application can manage display settings, such as the brightness. This can increase battery consumption.
    http://tizen.org/privilege/downloadhttp://tizen.org/privilege/download public 2.3 The application can manage HTTP downloads. This can result in additional charges depending on the user's payment plan.
    http://tizen.org/privilege/dpm.bluetoothhttp://tizen.org/privilege/dpm.bluetooth partner 3.0 The application can restrict Bluetooth connections. This can prevent applications that use Bluetooth from working properly.

    Allowed to licensed partners.

    http://tizen.org/privilege/dpm.browserhttp://tizen.org/privilege/dpm.browser partner 3.0 The application can prevent the use of browser applications. This can prevent applications that use browser applications from working properly.

    Allowed to licensed partners.

    http://tizen.org/privilege/dpm.camerahttp://tizen.org/privilege/dpm.camera partner 3.0 The application can restrict the use of the camera. This can prevent applications that use the camera from working properly.

    Allowed to licensed partners.

    http://tizen.org/privilege/dpm.clipboardhttp://tizen.org/privilege/dpm.clipboard partner 3.0 The application can restrict the use of the clipboard. This can prevent applications that use the clipboard from working properly.

    Allowed to licensed partners.

    http://tizen.org/privilege/dpm.debugginghttp://tizen.org/privilege/dpm.debugging partner 3.0 The application can restrict the use of debugging. This can prevent applications that use debugging from working properly.

    Allowed to licensed partners.

    http://tizen.org/privilege/dpm.emailhttp://tizen.org/privilege/dpm.email partner 3.0 The application can restrict POP and IMAP email access. This can prevent applications that use email services from working properly.

    Allowed to licensed partners.

    http://tizen.org/privilege/dpm.locationhttp://tizen.org/privilege/dpm.location partner 3.0 The application can restrict the use of location functions. This can prevent applications that use location functions from working properly.

    Allowed to licensed partners.

    http://tizen.org/privilege/dpm.lockhttp://tizen.org/privilege/dpm.lock partner 3.0 The application can lock the device.

    Allowed to licensed partners.

    http://tizen.org/privilege/dpm.messagehttp://tizen.org/privilege/dpm.message partner 3.0 The application can restrict the use of text, multimedia, and chat messaging services. This can prevent applications that use messaging services from working properly.

    Allowed to licensed partners.

    http://tizen.org/privilege/dpm.microphonehttp://tizen.org/privilege/dpm.microphone partner 3.0 The application can restrict the use of the microphone. This can prevent applications that use the microphone from working properly.

    Allowed to licensed partners.

    http://tizen.org/privilege/dpm.passwordhttp://tizen.org/privilege/dpm.password partner 3.0 The application can manage password policies and reset the passwords used to unlock the device and recover data.

    Allowed to licensed partners.

    http://tizen.org/privilege/dpm.securityhttp://tizen.org/privilege/dpm.security partner 3.0 The application can change security settings, such as those for certificate installation, data encryption, and factory data resets.

    Allowed to licensed partners.

    http://tizen.org/privilege/dpm.storagehttp://tizen.org/privilege/dpm.storage partner 3.0 The application can prevent the use of external storages, such as SD cards and USB storage devices. This can prevent applications that use external storage from working properly.

    Allowed to licensed partners.

    http://tizen.org/privilege/dpm.usbhttp://tizen.org/privilege/dpm.usb partner 3.0 The application can prevent USB connections, including the use of USB tethering. This can prevent applications that use USB connections from working properly.

    Allowed to licensed partners.

    http://tizen.org/privilege/dpm.wifihttp://tizen.org/privilege/dpm.wifi partner 3.0 The application can restrict the use of Wi-Fi networks and mobile hotspots. If the device cannot connect to a Wi-Fi network, it can connect to a mobile network. This can result in additional charges depending on the user's payment plan.

    Allowed to licensed partners.

    http://tizen.org/privilege/dpm.wipehttp://tizen.org/privilege/dpm.wipe partner 3.0 The application can erase all data from the user's device and reset the user's device to its factory default settings.

    Allowed to licensed partners.

    http://tizen.org/privilege/dpm.zonehttp://tizen.org/privilege/dpm.zone partner 3.0 The application can create and remove containers. Containers are private workspaces which provide separate application runtime environments and data storage.

    Allowed to licensed partners.

    http://tizen.org/privilege/emailhttp://tizen.org/privilege/email public 2.3 The application can manage the user's email accounts, including the user's folders and emails, POP3 and IMAP downloads, and SMTP uploads. This can result in additional charges depending on the user's payment plan.
    http://tizen.org/privilege/email.adminhttp://tizen.org/privilege/email.admin platform 2.3 The application can manage the email application settings.
    http://tizen.org/privilege/fido.clienthttp://tizen.org/privilege/fido.client public 3.0 The application can trigger authenticators in the user's device and it can request to use the user's PIN or biometrics (fingerprints or irises) for authentication.
    http://tizen.org/privilege/haptichttp://tizen.org/privilege/haptic public 2.3 The application can control vibration feedback.
    http://tizen.org/privilege/healthinfohttp://tizen.org/privilege/healthinfo public Sensor 2.3.1 The application can read health information gathered by the device sensors, such as the pedometer and heart rate monitor.
    http://tizen.org/privilege/imehttp://tizen.org/privilege/ime public 2.4 The application can provide users with a way to enter characters and symbols into an associated text field.
    http://tizen.org/privilege/imemanagerhttp://tizen.org/privilege/imemanager public 2.4 The application can manage installed input methods.
    http://tizen.org/privilege/inputgeneratorhttp://tizen.org/privilege/inputgenerator platform 2.4 The application can simulate keys being pressed and touch interactions with the screen.
    http://tizen.org/privilege/keygrabhttp://tizen.org/privilege/keygrab platform 2.4 The application can read actions involving special keys, such as the volume keys on this or other devices (such as TV remote controls), even when it is running in the background.
    http://tizen.org/privilege/keymanagerhttp://tizen.org/privilege/keymanager public 2.3 The application can save keys, certificates, and data to, and retrieve and delete them from, a password-protected storage. Checking the status of certificates while connected to a mobile network can result in additional charges depending on the user's payment plan.

    Deprecated since 3.0.

    http://tizen.org/privilege/keymanager.adminhttp://tizen.org/privilege/keymanager.admin platform 2.3 The application can lock and unlock a password-protected storage, and manage password changes for it.

    Deprecated since 2.4.

    http://tizen.org/privilege/ledhttp://tizen.org/privilege/led public 2.3 The application can switch LEDs on or off, such as the LED on the front of the device and the camera flash.
    http://tizen.org/privilege/locationhttp://tizen.org/privilege/location public Location 2.3 The application can read the user's location information.
    http://tizen.org/privilege/location.coarsehttp://tizen.org/privilege/location.coarse public Location 3.0 The application can determine the user's approximate location including the user device's Cell ID, LAC (Location Area Code), and TAC (Tracking Area Code).
    http://tizen.org/privilege/location.enablehttp://tizen.org/privilege/location.enable platform Location 2.3 The application can control the user's location service settings.
    http://tizen.org/privilege/mapservicehttp://tizen.org/privilege/mapservice public 2.4 The application can use map services, such as geocoding, places, and routing (directions).
    http://tizen.org/privilege/mediacontroller.clienthttp://tizen.org/privilege/mediacontroller.client public 2.4 The application can receive information about currently playing media from applications that are allowed to send it, and can control those applications remotely.
    http://tizen.org/privilege/mediacontroller.serverhttp://tizen.org/privilege/mediacontroller.server public 2.4 The application can send information about currently playing media to applications that are allowed to receive it, and can be controlled remotely by those applications.
    http://tizen.org/privilege/mediahistory.readhttp://tizen.org/privilege/mediahistory.read public User history 2.4 The application can read the statistics concerning the music and videos played on the device, such as the peak times for playing music or videos.
    http://tizen.org/privilege/message.readhttp://tizen.org/privilege/message.read public Message 2.3 The application can read text and multimedia messages, and any information related to them.
    http://tizen.org/privilege/message.writehttp://tizen.org/privilege/message.write public Message 2.3 The application can write, send, delete, and move text and multimedia messages, and change the settings and status of the messages, such as read or unread.
    http://tizen.org/privilege/minicontrol.providerhttp://tizen.org/privilege/minicontrol.provider public 2.4 The application can show a small toolbar on the notification panel or lock screen while it is open.

    Deprecated since 3.0.

    http://tizen.org/privilege/network.gethttp://tizen.org/privilege/network.get public 2.3 The application can retrieve network information, such as the status of each network, its type, and detailed network profile information.
    http://tizen.org/privilege/network.profilehttp://tizen.org/privilege/network.profile public 2.3 The application can add, remove, and edit network profiles.
    http://tizen.org/privilege/network.sethttp://tizen.org/privilege/network.set public 2.3 The application can switch Wi-Fi on and off, and connect to and disconnect from Wi-Fi and mobile networks. This can result in additional charges depending on the user's payment plan.
    http://tizen.org/privilege/nfchttp://tizen.org/privilege/nfc public 2.3 The application can read and write NFC tag information, and send NFC messages to other devices.
    http://tizen.org/privilege/nfc.adminhttp://tizen.org/privilege/nfc.admin platform 2.3 The application can change NFC settings, such as switching NFC on or off.
    http://tizen.org/privilege/nfc.cardemulationhttp://tizen.org/privilege/nfc.cardemulation public 2.3 The application can access smart card details, such as credit card details, and allow users to make payments using NFC.
    http://tizen.org/privilege/notificationhttp://tizen.org/privilege/notification public 2.3 The application can show and hide its own notifications and badges.
    http://tizen.org/privilege/packagemanager.adminhttp://tizen.org/privilege/packagemanager.admin platform 2.3 The application can install and uninstall application packages.
    http://tizen.org/privilege/packagemanager.clearcachehttp://tizen.org/privilege/packagemanager.clearcache public 2.4 The application can clear other applications' caches.
    http://tizen.org/privilege/packagemanager.infohttp://tizen.org/privilege/packagemanager.info public 2.3 The application can retrieve detailed application package information.
    http://tizen.org/privilege/powerhttp://tizen.org/privilege/power public 2.3 The application can control power-related settings, such as dimming the screen.
    http://tizen.org/privilege/pushhttp://tizen.org/privilege/push public 2.3 The application can receive notifications from the Internet. This can result in additional charges depending on the user's payment plan.
    http://tizen.org/privilege/reboothttp://tizen.org/privilege/reboot platform 2.3.1 The application can restart the device.
    http://tizen.org/privilege/recorderhttp://tizen.org/privilege/recorder public Microphone 2.3 The application can record video and audio.
    http://tizen.org/privilege/screenshothttp://tizen.org/privilege/screenshot platform 2.3 The application can capture screenshots.
    http://tizen.org/privilege/secureelementhttp://tizen.org/privilege/secureelement public 2.3.1 The application can access secure smart card chips, such as UICC/SIM, embedded secure elements, and secure SD cards.
    http://tizen.org/privilege/shortcuthttp://tizen.org/privilege/shortcut public 2.3 The application can create and delete shortcuts.
    http://tizen.org/privilege/systemmonitorhttp://tizen.org/privilege/systemmonitor public 2.4 The application can read system information, including information from the CPU and RAM.
    http://tizen.org/privilege/systemsettingshttp://tizen.org/privilege/systemsettings public 2.3 The application can read and write unrestricted system settings.

    Deprecated since 2.3.1.

    http://tizen.org/privilege/systemsettings.adminhttp://tizen.org/privilege/systemsettings.admin platform 2.3 The application can read and write all system settings.
    http://tizen.org/privilege/telephonyhttp://tizen.org/privilege/telephony public 2.3 The application can retrieve telephony information, such as the network and SIM card used, the IMEI, and the status of calls.
    http://tizen.org/privilege/telephony.adminhttp://tizen.org/privilege/telephony.admin platform 2.3 The application can manage telephony settings, such as those for incoming and outgoing calls, forwarding and holding calls, networks, and SIM cards.
    http://tizen.org/privilege/tethering.adminhttp://tizen.org/privilege/tethering.admin platform 2.3 The application can enable and disable tethering services. This can result in additional charges depending on the user's payment plan.
    http://tizen.org/privilege/use_irhttp://tizen.org/privilege/use_ir public 3.0 The application can use the infrared transmitter.
    http://tizen.org/privilege/volume.sethttp://tizen.org/privilege/volume.set public 2.3 The application can adjust the volume for different features, such as notification alerts, ringtones, and media.
    http://tizen.org/privilege/vpnservicehttp://tizen.org/privilege/vpnservice public 3.0 The application can manage the VPN (virtual private network) and change its settings.
    http://tizen.org/privilege/web-history.adminhttp://tizen.org/privilege/web-history.admin platform User history 2.3 The application can manage the user's Internet history.
    http://tizen.org/privilege/widget.viewerhttp://tizen.org/privilege/widget.viewer public 2.3.1 The application can show widgets, and information from their associated applications, on the home screen.
    http://tizen.org/privilege/wifidirecthttp://tizen.org/privilege/wifidirect public 2.3 The application can enable and disable Wi-Fi Direct™, manage Wi-Fi Direct™ connections, and change Wi-Fi Direct™ settings.
    http://tizen.org/privilege/window.priority.sethttp://tizen.org/privilege/window.priority.set public 2.3
    +

    Table: Wearable native API privileges

    - @@ -752,350 +746,350 @@ tr.partner-level, tr.platform-level { background-color: #cff } - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1103,231 +1097,231 @@ tr.partner-level, tr.platform-level { background-color: #cff }

    Deprecated since 3.0.

    - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -1342,9 +1336,8 @@ tr.partner-level, tr.platform-level { background-color: #cff }

    The following table lists the non-API bound privileges.

    +

    Table: Non-API bound privileges

    Table: Wearable native API privileges
    PrivilegeDescription
    http://tizen.org/privilege/account.readhttp://tizen.org/privilege/account.read public Account 3.0 The application can read accounts.
    http://tizen.org/privilege/account.writehttp://tizen.org/privilege/account.write public Account 3.0 The application can create, edit, and delete accounts.
    http://tizen.org/privilege/alarm.gethttp://tizen.org/privilege/alarm.get public 2.3.1 The application can read information about the saved alarms.
    http://tizen.org/privilege/alarm.sethttp://tizen.org/privilege/alarm.set public 2.3.1 The application can set alarms and wake the device up at scheduled times.
    http://tizen.org/privilege/antivirus.adminhttp://tizen.org/privilege/antivirus.admin platform 3.0 The application can enable or disable antivirus programs and manage detected malware.
    http://tizen.org/privilege/antivirus.scanhttp://tizen.org/privilege/antivirus.scan partner 3.0 The application can request to scan files in other applications or on the device to detect harmful content.
    http://tizen.org/privilege/antivirus.webprotecthttp://tizen.org/privilege/antivirus.webprotect partner 3.0 The application can check the reputation of a Web address and determine whether accessing it can put the user's device at risk.
    http://tizen.org/privilege/appmanager.killhttp://tizen.org/privilege/appmanager.kill platform 2.3.1 The application can close other applications.
    http://tizen.org/privilege/appmanager.kill.bgapphttp://tizen.org/privilege/appmanager.kill.bgapp public 3.0 The application can request to close applications running in the background.
    http://tizen.org/privilege/appmanager.launchhttp://tizen.org/privilege/appmanager.launch public 2.3.1 The application can open other applications.
    http://tizen.org/privilege/bluetoothhttp://tizen.org/privilege/bluetooth public 2.3.1 The application can perform unrestricted actions using Bluetooth, such as scanning for and connecting to other devices.
    http://tizen.org/privilege/bluetooth.adminhttp://tizen.org/privilege/bluetooth.admin platform 2.3.1 The application can change Bluetooth settings, such as switching Bluetooth on or off, setting the device name, and enabling or disabling the AV remote control.
    http://tizen.org/privilege/callhttp://tizen.org/privilege/call public Call 2.3.1 The application can make phone calls to numbers when they are tapped without further confirmation. This can result in additional charges depending on the user's payment plan.
    http://tizen.org/privilege/callhistory.readhttp://tizen.org/privilege/callhistory.read public User history 2.3.1 The application can read call log items.
    http://tizen.org/privilege/callhistory.writehttp://tizen.org/privilege/callhistory.write public User history 2.3.1 The application can create, update, and delete call log items.
    http://tizen.org/privilege/camerahttp://tizen.org/privilege/camera public Camera 2.3.1 The application can take pictures and switch the camera flash on and off while using the camera.
    http://tizen.org/privilege/contact.readhttp://tizen.org/privilege/contact.read public Contacts 3.0 The application can read the user profile, contacts, and contact history. Contact history can include social network activity.
    http://tizen.org/privilege/contact.writehttp://tizen.org/privilege/contact.write public Contacts 3.0 The application can create, update, and delete the user profile, contacts, and any contact history that is related to this application. Contact history can include social network activity.
    http://tizen.org/privilege/content.writehttp://tizen.org/privilege/content.write public 2.3.1 The application can change media information. This information can be used by other applications.
    http://tizen.org/privilege/d2d.datasharinghttp://tizen.org/privilege/d2d.datasharing public 3.0 The application can share data with other devices.
    http://tizen.org/privilege/datasharinghttp://tizen.org/privilege/datasharing public 2.3.1 The application can share data with other applications.
    http://tizen.org/privilege/displayhttp://tizen.org/privilege/display public 2.3.1 The application can manage display settings, such as the brightness. This can increase battery consumption.
    http://tizen.org/privilege/downloadhttp://tizen.org/privilege/download public 2.3.1 The application can manage HTTP downloads. This can result in additional charges depending on the user's payment plan.
    http://tizen.org/privilege/dpm.bluetoothhttp://tizen.org/privilege/dpm.bluetooth partner 3.0 The application can restrict Bluetooth connections. This can prevent applications that use Bluetooth from working properly.

    Allowed to licensed partners.

    http://tizen.org/privilege/dpm.browserhttp://tizen.org/privilege/dpm.browser partner 3.0 The application can prevent the use of browser applications. This can prevent applications that use browser applications from working properly.

    Allowed to licensed partners.

    http://tizen.org/privilege/dpm.camerahttp://tizen.org/privilege/dpm.camera partner 3.0 The application can restrict the use of the camera. This can prevent applications that use the camera from working properly.

    Allowed to licensed partners.

    http://tizen.org/privilege/dpm.clipboardhttp://tizen.org/privilege/dpm.clipboard partner 3.0 The application can restrict the use of the clipboard. This can prevent applications that use the clipboard from working properly.

    Allowed to licensed partners.

    http://tizen.org/privilege/dpm.debugginghttp://tizen.org/privilege/dpm.debugging partner 3.0 The application can restrict the use of debugging. This can prevent applications that use debugging from working properly.

    Allowed to licensed partners.

    http://tizen.org/privilege/dpm.emailhttp://tizen.org/privilege/dpm.email partner 3.0 The application can restrict POP and IMAP email access. This can prevent applications that use email services from working properly.

    Allowed to licensed partners.

    http://tizen.org/privilege/dpm.locationhttp://tizen.org/privilege/dpm.location partner 3.0 The application can restrict the use of location functions. This can prevent applications that use location functions from working properly.

    Allowed to licensed partners.

    http://tizen.org/privilege/dpm.lockhttp://tizen.org/privilege/dpm.lock partner 3.0 The application can lock the device.

    Allowed to licensed partners.

    http://tizen.org/privilege/dpm.messagehttp://tizen.org/privilege/dpm.message partner 3.0 The application can restrict the use of text, multimedia, and chat messaging services. This can prevent applications that use messaging services from working properly.

    Allowed to licensed partners.

    http://tizen.org/privilege/dpm.microphonehttp://tizen.org/privilege/dpm.microphone partner 3.0 The application can restrict the use of the microphone. This can prevent applications that use the microphone from working properly.

    Allowed to licensed partners.

    http://tizen.org/privilege/dpm.passwordhttp://tizen.org/privilege/dpm.password partner 3.0 The application can manage password policies and reset the passwords used to unlock the device and recover data.

    Allowed to licensed partners.

    http://tizen.org/privilege/dpm.securityhttp://tizen.org/privilege/dpm.security partner 3.0 The application can change security settings, such as those for certificate installation, data encryption, and factory data resets.

    Allowed to licensed partners.

    http://tizen.org/privilege/dpm.storagehttp://tizen.org/privilege/dpm.storage partner 3.0 The application can prevent the use of external storages, such as SD cards and USB storage devices. This can prevent applications that use external storage from working properly.

    Allowed to licensed partners.

    http://tizen.org/privilege/dpm.usbhttp://tizen.org/privilege/dpm.usb partner 3.0 The application can prevent USB connections, including the use of USB tethering. This can prevent applications that use USB connections from working properly.

    Allowed to licensed partners.

    http://tizen.org/privilege/dpm.wifihttp://tizen.org/privilege/dpm.wifi partner 3.0 The application can restrict the use of Wi-Fi networks and mobile hotspots. If the device cannot connect to a Wi-Fi network, it can connect to a mobile network. This can result in additional charges depending on the user's payment plan.

    Allowed to licensed partners.

    http://tizen.org/privilege/dpm.wipehttp://tizen.org/privilege/dpm.wipe partner 3.0 The application can erase all data from the user's device and reset the user's device to its factory default settings.

    Allowed to licensed partners.

    http://tizen.org/privilege/dpm.zonehttp://tizen.org/privilege/dpm.zone partner 3.0 The application can create and remove containers. Containers are private workspaces which provide separate application runtime environments and data storage.

    Allowed to licensed partners.

    http://tizen.org/privilege/emailhttp://tizen.org/privilege/email public 3.0 The application can manage the user's email accounts, including the user's folders and emails, POP3 and IMAP downloads, and SMTP uploads. This can result in additional charges depending on the user's payment plan.
    http://tizen.org/privilege/fido.clienthttp://tizen.org/privilege/fido.client public 3.0 The application can trigger authenticators in the user's device and it can request to use the user's PIN or biometrics (fingerprints or irises) for authentication.
    http://tizen.org/privilege/haptichttp://tizen.org/privilege/haptic public 2.3.1 The application can control vibration feedback.
    http://tizen.org/privilege/healthinfohttp://tizen.org/privilege/healthinfo public Sensor 2.3.1 The application can read health information gathered by the device sensors, such as the pedometer and heart rate monitor.
    http://tizen.org/privilege/imehttp://tizen.org/privilege/ime public 3.0 The application can provide users with a way to enter characters and symbols into an associated text field.
    http://tizen.org/privilege/imemanagerhttp://tizen.org/privilege/imemanager public 3.0 The application can manage installed input methods.
    http://tizen.org/privilege/inputgeneratorhttp://tizen.org/privilege/inputgenerator platform 3.0 The application can simulate keys being pressed and touch interactions with the screen.
    http://tizen.org/privilege/keygrabhttp://tizen.org/privilege/keygrab platform 3.0 The application can read actions involving special keys, such as the volume keys on this or other devices (such as TV remote controls), even when it is running in the background.
    http://tizen.org/privilege/keymanagerhttp://tizen.org/privilege/keymanager public 2.3.1 The application can save keys, certificates, and data to, and retrieve and delete them from, a password-protected storage.
    http://tizen.org/privilege/keymanager.adminhttp://tizen.org/privilege/keymanager.admin platform 2.3.1
    http://tizen.org/privilege/ledhttp://tizen.org/privilege/led public 2.3.1 The application can switch LEDs on or off, such as the LED on the front of the device and the camera flash.
    http://tizen.org/privilege/locationhttp://tizen.org/privilege/location public Location 2.3.1 The application can read the user's location information.
    http://tizen.org/privilege/location.coarsehttp://tizen.org/privilege/location.coarse public Location 3.0 The application can determine the user's approximate location including the user device's Cell ID, LAC (Location Area Code), and TAC (Tracking Area Code).
    http://tizen.org/privilege/location.enablehttp://tizen.org/privilege/location.enable platform Location 2.3.1 The application can control the user's location service settings.
    http://tizen.org/privilege/mapservicehttp://tizen.org/privilege/mapservice public 2.3.2 The application can use map services, such as geocoding, places, and routing (directions).
    http://tizen.org/privilege/mediacontroller.clienthttp://tizen.org/privilege/mediacontroller.client public 3.0 The application can receive information about currently playing media from applications that are allowed to send it, and can control those applications remotely.
    http://tizen.org/privilege/mediacontroller.serverhttp://tizen.org/privilege/mediacontroller.server public 3.0 The application can send information about currently playing media to applications that are allowed to receive it, and can be controlled remotely by those applications.
    http://tizen.org/privilege/message.readhttp://tizen.org/privilege/message.read public Message 2.3.1 The application can read text and multimedia messages, and any information related to them.
    http://tizen.org/privilege/message.writehttp://tizen.org/privilege/message.write public Message 2.3.1 The application can write, send, delete, and move text and multimedia messages, download multimedia messages, and change the settings and status of the messages, such as read or unread. This can result in additional charges depending on the user's payment plan.
    http://tizen.org/privilege/network.gethttp://tizen.org/privilege/network.get public 2.3.1 The application can retrieve network information, such as the status of each network, its type, and detailed network profile information.
    http://tizen.org/privilege/network.profilehttp://tizen.org/privilege/network.profile public 2.3.1 The application can add, remove, and edit network profiles.
    http://tizen.org/privilege/network.sethttp://tizen.org/privilege/network.set public 2.3.1 The application can switch Wi-Fi on and off, and connect to and disconnect from Wi-Fi and mobile networks. This can result in additional charges depending on the user's payment plan.
    http://tizen.org/privilege/nfchttp://tizen.org/privilege/nfc public 2.3.1 The application can read and write NFC tag information, and send NFC messages to other devices.
    http://tizen.org/privilege/nfc.adminhttp://tizen.org/privilege/nfc.admin platform 2.3.1 The application can change NFC settings, such as switching NFC on or off.
    http://tizen.org/privilege/nfc.cardemulationhttp://tizen.org/privilege/nfc.cardemulation public 2.3.1 The application can access smart card details, such as credit card details, and allow users to make payments using NFC.
    http://tizen.org/privilege/notificationhttp://tizen.org/privilege/notification public 2.3.1 The application can show and hide its own notifications and badges.
    http://tizen.org/privilege/packagemanager.adminhttp://tizen.org/privilege/packagemanager.admin platform 2.3.1 The application can install and uninstall application packages.
    http://tizen.org/privilege/packagemanager.clearcachehttp://tizen.org/privilege/packagemanager.clearcache public 3.0 The application can clear other applications' caches.
    http://tizen.org/privilege/packagemanager.infohttp://tizen.org/privilege/packagemanager.info public 2.3.1 The application can retrieve detailed application package information.
    http://tizen.org/privilege/powerhttp://tizen.org/privilege/power public 2.3.1 The application can control power-related settings, such as dimming the screen.
    http://tizen.org/privilege/pushhttp://tizen.org/privilege/push public 2.3.1 The application can receive notifications from the Internet. This can result in additional charges depending on the user's payment plan.
    http://tizen.org/privilege/reboothttp://tizen.org/privilege/reboot platform 2.3.1 The application can restart the device.
    http://tizen.org/privilege/recorderhttp://tizen.org/privilege/recorder public Microphone 2.3.1 The application can record video and audio.
    http://tizen.org/privilege/screenshothttp://tizen.org/privilege/screenshot platform 2.3.1 The application can capture screenshots.
    http://tizen.org/privilege/secureelementhttp://tizen.org/privilege/secureelement public 2.3.1 The application can access secure smart card chips, such as UICC/SIM, embedded secure elements, and secure SD cards.
    http://tizen.org/privilege/systemmonitorhttp://tizen.org/privilege/systemmonitor public 3.0 The application can read system information, including information from the CPU and RAM.
    http://tizen.org/privilege/systemsettings.adminhttp://tizen.org/privilege/systemsettings.admin platform 2.3.1 The application can read and write all system settings.
    http://tizen.org/privilege/telephonyhttp://tizen.org/privilege/telephony public 2.3.1 The application can retrieve telephony information, such as the network and SIM card used, the IMEI, and the status of calls.
    http://tizen.org/privilege/telephony.adminhttp://tizen.org/privilege/telephony.admin platform 2.3.1 The application can manage telephony settings, such as those for incoming and outgoing calls, forwarding and holding calls, networks, and SIM cards.
    http://tizen.org/privilege/use_irhttp://tizen.org/privilege/use_ir public 3.0 The application can use the infrared transmitter.
    http://tizen.org/privilege/volume.sethttp://tizen.org/privilege/volume.set public 2.3.1 The application can adjust the volume for different features, such as notification alerts, ringtones, and media.
    http://tizen.org/privilege/widget.viewerhttp://tizen.org/privilege/widget.viewer public 2.3.1 The application can show widgets, and information from their associated applications, on the home screen.
    http://tizen.org/privilege/window.priority.sethttp://tizen.org/privilege/window.priority.set public 2.3.1
    - - @@ -1353,40 +1346,40 @@ tr.partner-level, tr.platform-level { background-color: #cff } - + +

    The new privilege is coupled with IP addresses of the destination and source of the IP packets. If your socket is connecting to or listening for any IP address except 127.0.0.1, this privilege is required to communicate properly. If your application does not have this privilege, the connection is blocked in the kernel layer and returns an error in the connect() function as the permission is denied. If you are listening to a socket, you never receive any packets from the outside without errors on the socket functions.

    +

    If you are using the listen() and connect() functions between the local loopback interface (127.0.0.1), you cannot connect to a random application (due to sandboxing) no matter how you add this privilege. However, you can connect between multiple processes of the same application binary.

    - + - + - - + +

    If your application does not have this privilege, no file operations with the application data stored in the external storage area succeed and you receive a permission denied error. If you have this privilege, you can store data in the application-specific directory of the external storage. You can find the path for storing data in the external storage with, for example, the app_get_external_data_path(), app_get_external_cache_path(), and app_get_external_shared_data_path() functions.

    - + - +
    Table: Non-API bound privileges
    PrivilegeDescription
    http://tizen.org/privilege/internethttp://tizen.org/privilege/internet public 2.3 / 2.3.1 Most of the mobile and wearable devices use a cellular network for IP communication. However, the cellular network can cause data costs and an application that sends data through the Internet can be crucial for user privacy. Due to the importance of the functionality, a privilege for controlling application Internet access has been added. -

    The new privilege is coupled with IP addresses of the destination and source of the IP packets. If your socket is connecting to or listening for any IP address except 127.0.0.1, this privilege is required to communicate properly. If your application does not have this privilege, the connection is blocked in the kernel layer and returns an error in the connect() function as the permission is denied. If you are listening to a socket, you never receive any packets from the outside without errors on the socket functions.

    -

    If you are using the listen() and connect() functions between the local loopback interface (127.0.0.1), you cannot connect to a random application (due to sandboxing) no matter how you add this privilege. However, you can connect between multiple processes of the same application binary.

    http://tizen.org/privilege/mediastoragehttp://tizen.org/privilege/mediastorage public 2.3 / 2.3.1 When you connect the device to a computer (Windows or Mac) through USB, you can access a dedicated media storage area shown as massive media storage. This region of the storage is called media storage and is usually used for multimedia files, such as photos, videos, and music files. Since this storage area is used for user private data, access to it must be protected with a privilege.

    If your application does not have this privilege, no file operations into the media storage area succeed and you receive a permission denied error. If you have this privilege, you can read and write directories and files, create new files, and delete files in the storage area.

    http://tizen.org/privilege/externalstoragehttp://tizen.org/privilege/externalstorage public 2.3 / 2.3.1Similar to the media storage, many devices support external storages, such as MicroSD card or USB memory. As with the media storage, the access to an external storage must be protected with a privilege. You can find the absolute path of the external storage with the Storage API functions, such as storage_get_root_directory(). +Similar to the media storage, many devices support external storages, such as MicroSD card or USB memory. As with the media storage, the access to an external storage must be protected with a privilege. You can find the absolute path of the external storage with the Storage API functions, such as storage_get_root_directory().

    If your application does not have this privilege, all file operations fail with a permission denied error. If you have this privilege, you have full access to the external storage.

    http://tizen.org/privilege/externalstorage.appdatahttp://tizen.org/privilege/externalstorage.appdata public 2.3 / 2.3.1 Many devices support external storages, such as MicroSD card or USB memory. As with the media storage, the access to an external storage must be protected with a privilege. -

    If your application does not have this privilege, no file operations with the application data stored in the external storage area succeed and you receive a permission denied error. If you have this privilege, you can store data in the application-specific directory of the external storage. You can find the path for storing data in the external storage with, for example, the app_get_external_data_path(), app_get_external_cache_path(), and app_get_external_shared_data_path() functions.

    http://tizen.org/privilege/appdir.shareddatahttp://tizen.org/privilege/appdir.shareddata public 3.0 / 3.0Since Tizen 3.0, the application must have this privilege to support the shared/data directory. -

    The app_get_shared_data_path() and app_manager_get_shared_data_path() functions return an error when the application does not have this privilege. Note that the shared/data directory is writable for the application itself and readable for all other applications. You must be careful when you use this privilege and share data through the shared/data directory. For a more secure way of sharing files with another application, try to pass the file path through an application control.

    Since Tizen 3.0, the application must have this privilege to support the shared/data directory. +

    The app_get_shared_data_path() and app_manager_get_shared_data_path() functions return an error when the application does not have this privilege. Note that the shared/data directory is writable for the application itself and readable for all other applications. You must be careful when you use this privilege and share data through the shared/data directory. For a more secure way of sharing files with another application, try to pass the file path through an application control.

    diff --git a/org.tizen.training/html/native/details/sign_certificate_n.htm b/org.tizen.training/html/native/details/sign_certificate_n.htm index 6d55a90..a0501f5 100644 --- a/org.tizen.training/html/native/details/sign_certificate_n.htm +++ b/org.tizen.training/html/native/details/sign_certificate_n.htm @@ -63,7 +63,7 @@
  • The distributor signature determines the API set that the application can use.
  • -

    Figure: Signature type

    +

    Figure: Signature type

    Signature type

    @@ -78,8 +78,8 @@

    For an application to use a privileged API, the distributor signature must be generated from a certificate (and its signing key) with a proper privilege level. If an application has a distributor signature generated from a partner level certificate (and its signing key), the application can use only public and partner level APIs.

    The following table shows the relationship between the certificate (and signing key) privilege level and the API privilege level.

    +

    Table: API levels allowed in specific certificate privilege levels

    - @@ -116,7 +116,7 @@

    The following figure illustrates the signature and certificate flow.

    -

    Figure: Signature flow

    +

    Figure: Signature flow

    Signature flow

    The testing distributor certificate and its signing key with the public level are preloaded in the Tizen Studio. The author certificate and its signing key can also be created in the Tizen Studio. For more information, see Working with the Certificate Profile.

    @@ -128,7 +128,7 @@

    The following figure shows the signature file structure.

    -

    Figure: Signature file structure

    +

    Figure: Signature file structure

    Signature file structure

    diff --git a/org.tizen.training/html/native/details/tizen_apis_n.htm b/org.tizen.training/html/native/details/tizen_apis_n.htm index dfc59f6..3e2ce4d 100644 --- a/org.tizen.training/html/native/details/tizen_apis_n.htm +++ b/org.tizen.training/html/native/details/tizen_apis_n.htm @@ -36,20 +36,13 @@

    The following table defines the Tizen mobile native API layout. The table describes the API modules and the functionality of all their submodule APIs within that module. The table also acts as reference sources for when you are planning a new feature for your application and need a way to efficiently compare different API modules to decide which APIs to use.

    -
    Table: API levels allowed in specific certificate privilege levels
    Certificate privilege level
    - - - - - - - - -
    Note
    Except as noted, the mobile native APIs are available since Tizen 2.3.
    - +
    + Note + Except as noted, the mobile native APIs are available since Tizen 2.3. +
    +

    Table: Mobile native API modules

    - @@ -179,7 +172,7 @@ - + @@ -201,7 +194,7 @@ - + @@ -622,20 +615,14 @@

    The following table describes the API modules in the wearable profile and the functionality of all their submodule APIs within that module. The table also acts as reference sources for when you are planning a new feature for your application and need a way to efficiently compare different API modules to decide which APIs to use.

    -
    Table: Mobile native API modules
    API module
    MinizipProvides a library to process files in the .zip format. It can be used to zip, unzip and compress files.Provides a library to process files in the .zip format. It can be used to zip, unzip and compress files.
    OpenMP
    MIME TypeMaps MIME types to file extensions and vice versa. For example, the .jpeg file extension is mapped to the image/jpeg MIME type, which is required when using other API modules, such as the AppControl API in the Application submodule API, because it operates with MIME types.Maps MIME types to file extensions and vice versa. For example, the .jpeg file extension is mapped to the image/jpeg MIME type, which is required when using other API modules, such as the AppControl API in the Application submodule API, because it operates with MIME types.
    Media Content
    - - - - - - - - -
    Note
    Except as noted, the wearable native APIs are available since Tizen 2.3.1.
    - - - - +
    + Note + Except as noted, the wearable native APIs are available since Tizen 2.3.1. +
    + +

    Table: Wearable native API modules

    +
    Table: Wearable native API modules
    + @@ -750,7 +737,7 @@ - + @@ -763,7 +750,7 @@ - +
    API module API submodule
    MinizipProvides a library to process files in the .zip format. It can be used to zip, unzip and compress files.Provides a library to process files in the .zip format. It can be used to zip, unzip and compress files.
    OpenMP
    Content MIME TypeMaps MIME types to file extensions and vice versa. For example, the .jpeg file extension is mapped to the image/jpeg MIME type, which is required when using other API modules, such as the AppControl API in the Application submodule API, because it operates with MIME types.Maps MIME types to file extensions and vice versa. For example, the .jpeg file extension is mapped to the image/jpeg MIME type, which is required when using other API modules, such as the AppControl API in the Application submodule API, because it operates with MIME types. The Content API module contains submodule APIs for managing the most common device media data types, such as image, audio, and video files. It provides operations to search for content, search for content information stored on the device, create playlists, and access the EXIF information of an image file.

    Guides:

      diff --git a/org.tizen.training/html/native/feature/app_battery_lifecycle_n.htm b/org.tizen.training/html/native/feature/app_battery_lifecycle_n.htm index c1251dc..fa66cb6 100644 --- a/org.tizen.training/html/native/feature/app_battery_lifecycle_n.htm +++ b/org.tizen.training/html/native/feature/app_battery_lifecycle_n.htm @@ -45,38 +45,39 @@

      Application Life-cycle

      -

      The Tizen native application can be in one of several different states. Typically, the application is launched by the user from the Launcher, or by another application. As the application is starting, the app_create_cb() callback is executed and the main event loop starts. The application now normally becomes the frontmost window, with focus. When the application loses the frontmost or focus status, the app_pause_cb() callback is invoked and the application goes into a pause state. The pause state means that the application is not terminated, but is running in the background. When your application becomes visible again, the app_resume_cb() callback is invoked. When your application starts exiting, the app_terminate_cb() callback is invoked.

      +

      The Tizen native application can be in one of several different states. Typically, the application is launched by the user from the Launcher, or by another application. As the application is starting, the app_create_cb() callback is executed and the main event loop starts. The application now normally becomes the frontmost window, with focus. When the application loses the frontmost or focus status, the app_pause_cb() callback is invoked and the application goes into a pause state. The pause state means that the application is not terminated, but is running in the background. When your application becomes visible again, the app_resume_cb() callback is invoked. When your application starts exiting, the app_terminate_cb() callback is invoked.

      The application state changes are managed by the underlying framework. The following figure illustrates the application states.

      -

      Figure: Application states

      +

      Figure: Application states

      Application states

      The application states are described in the following table.

      + +

      Table: Application states

      - - + - + - + - + - + @@ -92,8 +93,8 @@

      The location server is alive while the device is turned on and working on the best effort basis to find the current location with various positioning sources by the location method requested by the client. The positioning sources fixing the current location are based on GNSS (Global Navigation Satellite System). GNSS includes systems, such as GPS (Global Positioning System) of USA, GLONASS (Global Orbiting Navigation Satellite System) of Russia, Galileo of Europe, Beidou of China, and QZSS (Quasi-Zenith Satellite System) of Japan, as well as Wi-Fi and mobile network cell tower information. Moreover, various sensors, such as the accelerometer, gyroscope, and compass, are used to determine the location.

      The location server has several states according to the client requests.

      +

      Table: Location states

      Table: Application states
      State Description
      READYREADY The application is launched.
      CREATEDCREATED The application starts the main loop.
      RUNNINGRUNNING The application is running and visible to the user.
      PAUSEDPAUSED The application is running but invisible to the user.
      TERMINATEDTERMINATED The application is terminated.
      - @@ -129,7 +130,7 @@

      The running state is identified as all states except idle and terminated. In the running state, the power consumption is higher than in the other states because the server is working to find the location using the various positioning sources.

      The following figure illustrates the location service state changes.

      -

      Figure: Location state changes

      +

      Figure: Location state changes

      Location state changes

      @@ -141,8 +142,8 @@

      The following table shows how to synchronize the states between an application and location service.

      +

      Table: State synchronization

      Table: Location states
      State
      - @@ -150,17 +151,17 @@ - + - + - + @@ -173,12 +174,12 @@ - + - + diff --git a/org.tizen.training/html/native/feature/app_battery_location_n.htm b/org.tizen.training/html/native/feature/app_battery_location_n.htm index 704746d..7499d85 100644 --- a/org.tizen.training/html/native/feature/app_battery_location_n.htm +++ b/org.tizen.training/html/native/feature/app_battery_location_n.htm @@ -49,7 +49,7 @@

      If you create a service application, you can stop the location service with an alarm and then restart the service after a specific time interval, because there are no pause and resume states for the service application. Finally, you can stop the location service when the current position is fixed after some seconds or minutes.

      -

      The following example demonstrates how you can stop the location service using the timer with the ecore_timer_add() function:

      +

      The following example demonstrates how you can stop the location service using the timer with the ecore_timer_add() function:

       #include <tizen.h>
      @@ -201,16 +201,10 @@ main(int argc, char* argv[])
       
       

      Tizen provides the Alarm API to trigger events whenever you want to. You can increase the life time of the device by stopping the location service with an alarm, when you have no further need for the location information or the device cannot fix the current location for a long time because its location only has weak GPS satellite, Wi-Fi, and mobile network signals.

      -
      Table: State synchronization
      Application stateLocation state description
      READYREADY Idle Location handle has been initialized.
      CREATEDCREATED Idle Location handle has been created.
      RUNNINGRUNNING Started Location service is started.
      Location is fixed.
      PAUSEDPAUSED Stopped Location service has been stopped.
      TERMINATEDTERMINATED Terminated Location handle has been destroyed.
      - - - - - - - - -
      Note
      The application control is supported in UI applications only, so the following example cannot be reused in service applications.
      +
      + Note + The application control is supported in UI applications only, so the following example cannot be reused in service applications. +

      The following example demonstrates how you can stop the location service using an alarm:

      diff --git a/org.tizen.training/html/native/feature/app_battery_power_n.htm b/org.tizen.training/html/native/feature/app_battery_power_n.htm index 9f04bdf..d8f1815 100644 --- a/org.tizen.training/html/native/feature/app_battery_power_n.htm +++ b/org.tizen.training/html/native/feature/app_battery_power_n.htm @@ -45,8 +45,8 @@

      The location services provide different methods for determining the location, as illustrated in the following table.

      +

      Table: Location service methods

      - @@ -54,17 +54,17 @@ - + - + - + @@ -78,8 +78,8 @@

      The following table shows how much power is consumed approximately by GPS at a standalone mode in the condition of no assistant GPS, such as SUPL (Secure User Plane Location) server.

      +

      Table: GPS power consumption

      Table: Location service methods
      MethodDescription
      LOCATIONS_METHOD_HYBRIDLOCATIONS_METHOD_HYBRID GPS, Wi-Fi AP, cell information This method allows the device to use all location sources. It provides the best effort with the highest power consumption.
      LOCATIONS_METHOD_GPSLOCATIONS_METHOD_GPS GPS This method is used by navigation applications requiring high accuracy. The power consumption is lower than in the hybrid method but higher than in the WPS method.
      LOCATIONS_METHOD_WPSLOCATIONS_METHOD_WPS Wi-Fi AP, cell information This method receives location information from an external positioning server that computes the approximate location based on the Wi-Fi or mobile network cell tower. It provides the lowest power consumption, and the weakest location accuracy.
      - @@ -105,7 +105,7 @@

      Required Privileges

      -

      To use the location service, the application must declare the required privileges in the tizen-manifest.xml file. For more information on the Tizen privileges, see Security and API Privileges.

      +

      To use the location service, the application must declare the required privileges in the tizen-manifest.xml file. For more information on the Tizen privileges, see Security and API Privileges.

      For this example, the application manifest must include the following privileges:

      diff --git a/org.tizen.training/html/native/feature/app_connectivity_operation_n.htm b/org.tizen.training/html/native/feature/app_connectivity_operation_n.htm
      index e953ff9..8154884 100644
      --- a/org.tizen.training/html/native/feature/app_connectivity_operation_n.htm
      +++ b/org.tizen.training/html/native/feature/app_connectivity_operation_n.htm
      @@ -46,7 +46,7 @@
       
       

      Required Privileges and Features

      -

      Applications that use the Network (in mobile and wearable applications) and Telephony (in mobile and wearable applications) APIs must declare the required privileges in the tizen-manifest.xml file. For more information on the Tizen privileges, see Security and API Privileges.

      +

      Applications that use the Network (in mobile and wearable applications) and Telephony (in mobile and wearable applications) APIs must declare the required privileges in the tizen-manifest.xml file. For more information on the Tizen privileges, see Security and API Privileges.

      To perform the network operations, the application manifest must include the following privileges:

      @@ -58,8 +58,8 @@

      To perform the network operations, the device must support the following features:

        -
      • http://tizen.org/feature/network.wifi
      • -
      • http://tizen.org/feature/network.telephony
      • +
      • http://tizen.org/feature/network.wifi
      • +
      • http://tizen.org/feature/network.telephony

      Network Selection

      @@ -70,7 +70,7 @@

      The Connection Manager API (in mobile and wearable applications) provides functions for managing data connections. It allows you to get a state of the connection interface, such as Bluetooth, mobile network, and Wi-Fi. It also contains functions for getting the IP address, proxy information, and gateway information.

      -

      Before your application attempts to connect to a network, it must check whether a network connection is available, by using the connection_get_type() function. This is necessary, because the device can be out of range of a network, or the user may have disabled both Wi-Fi and mobile data access.

      +

      Before your application attempts to connect to a network, it must check whether a network connection is available, by using the connection_get_type() function. This is necessary, because the device can be out of range of a network, or the user may have disabled both Wi-Fi and mobile data access.

      The following example demonstrates how to create a connection handle and check the currently used connection type with the Connection API:

      @@ -151,7 +151,7 @@ main(int argc, char* argv[])

      Required Privileges

      -

      To download HTTP content, the application must declare the required privileges in the tizen-manifest.xml file. The files that the application downloads from the Internet are stored in the storage of a device. The privileges are required to access the resources for downloading content and to save them to the media storage. For more information on the Tizen privileges, see Security and API Privileges.

      +

      To download HTTP content, the application must declare the required privileges in the tizen-manifest.xml file. The files that the application downloads from the Internet are stored in the storage of a device. The privileges are required to access the resources for downloading content and to save them to the media storage. For more information on the Tizen privileges, see Security and API Privileges.

      To perform the HTTP download operations, the application manifest must include the following privileges:

      @@ -223,7 +223,7 @@ main(int argc, char* argv[])     return service_app_main(argc, argv, &event_callback, ad); }
      -

      The ecore_thread_feedback() function allows the download_thread_run_cb() callback to call the download_feedback_cb() callback:

      +

      The ecore_thread_feedback() function allows the download_thread_run_cb() callback to call the download_feedback_cb() callback:

       static void
      @@ -340,10 +340,10 @@ download_thread_cancel_cb(void *data, Ecore_Thread *thread)
       
       

      The following figure illustrates the download states:

      -

      Figure: Download states

      +

      Figure: Download states

      Download states

      -

      The Start step begins to download content. If the queue is empty, the state is transited to downloading ( DOWNLOAD_STATE_COMPLETED). Otherwise, the request is queued. The application can pause, cancel, or resume the download based on user interaction. Whenever the user makes a request, the state of the download is transited accordingly to paused, canceled, or downloading.

      +

      The Start step begins to download content. If the queue is empty, the state is transited to downloading (DOWNLOAD_STATE_COMPLETED). Otherwise, the request is queued. The application can pause, cancel, or resume the download based on user interaction. Whenever the user makes a request, the state of the download is transited accordingly to paused, canceled, or downloading.

      The following example demonstrates how to perform an HTTP download:

      @@ -472,7 +472,7 @@ main(int argc, char* argv[])

      Required Privileges

      -

      Applications that read and write to a device file system must declare the required privileges in the tizen-manifest.xml file. For more information on the Tizen privileges, see Security and API Privileges.

      +

      Applications that read and write to a device file system must declare the required privileges in the tizen-manifest.xml file. For more information on the Tizen privileges, see Security and API Privileges.

      To perform the download operations and read and write to a file system, the application manifest must include the following privileges:

      @@ -593,16 +593,10 @@ json_parse(char *file_name, void *data)

      Libxml2 is the XML C parser and toolkit developed for the Gnome project (but usable outside the Gnome platform). It is free software available under the MIT License. XML itself is a metalanguage to design markup languages: it is a text language where semantics and structure are added to the content using extra markup information enclosed between angle brackets. HTML is the most well-known markup language. Though the library is written in C, a variety of language bindings make it available in other environments.

      -
      Table: GPS power consumption
      Operation
      - - - - - - - - -
      Note
      For more examples and tutorials, see libxml Tutorial.
      +
      + Note + For more examples and tutorials, see libxml Tutorial. +

      The following example comes from the libxml Tutorial. It demonstrates how to parse and validate an XML file to a tree and free the result:

      diff --git a/org.tizen.training/html/native/feature/app_connectivity_p2p_n.htm b/org.tizen.training/html/native/feature/app_connectivity_p2p_n.htm index f45c57d..4c1718d 100644 --- a/org.tizen.training/html/native/feature/app_connectivity_p2p_n.htm +++ b/org.tizen.training/html/native/feature/app_connectivity_p2p_n.htm @@ -55,7 +55,7 @@

      Required Privileges and Features

      -

      Applications that use Wi-Fi Direct™ must declare the required privileges in the tizen-manifest.xml file. For more information on the Tizen privileges, see Security and API Privileges.

      +

      Applications that use Wi-Fi Direct™ must declare the required privileges in the tizen-manifest.xml file. For more information on the Tizen privileges, see Security and API Privileges.

      To perform the Wi-Fi Direct™ operations, the application manifest must include the following privileges:

      @@ -66,24 +66,18 @@    <privilege>http://tizen.org/privilege/wifidirect</privilege> </privileges> - - - - - - - - - - -
      Note
      Wi-Fi Direct™ does not require an Internet connection, but it needs the http://tizen.org/privilege/internet privilege because it uses standard sockets.
      + +
      + Note + Wi-Fi Direct™ does not require an Internet connection, but it needs the http://tizen.org/privilege/internet privilege because it uses standard sockets. +

      To perform the Wi-Fi Direct™ operations, the device must support the following features:

        -
      • http://tizen.org/feature/network.wifi
      • -
      • http://tizen.org/feature/network.wifi.direct
      • -
      • http://tizen.org/feature/network.wifi.direct.display
      • -
      • http://tizen.org/feature/network.wifi.direct.service_discovery
      • +
      • http://tizen.org/feature/network.wifi
      • +
      • http://tizen.org/feature/network.wifi.direct
      • +
      • http://tizen.org/feature/network.wifi.direct.display
      • +
      • http://tizen.org/feature/network.wifi.direct.service_discovery

      Wi-Fi Direct™ Settings

      @@ -106,12 +100,12 @@ int error_code; error_code = wifi_direct_initialize(); -

      To monitor the state of several events, the application can set state changed callbacks using the wifi_direct_set_device_state_changed_cb(), discovery_state_changed_cb(), and wifi_direct_set_connection_state_changed_cb() functions after initializing Wi-Fi Direct™.

      +

      To monitor the state of several events, the application can set state changed callbacks using the wifi_direct_set_device_state_changed_cb(), discovery_state_changed_cb(), and wifi_direct_set_connection_state_changed_cb() functions after initializing Wi-Fi Direct™.

    • Activate Wi-Fi Direct™. -

      Define the device_state_changed_cb() callback function, which is invoked whenever a Wi-Fi Direct™ local device activates or deactivates:

      +

      Define the device_state_changed_cb() callback function, which is invoked whenever a Wi-Fi Direct™ local device activates or deactivates:

       /* Get the Wi-Fi Direct™ activation and deactivation events in device_state_changed_cb() callback */
      @@ -138,7 +132,7 @@ if (error_code != WIFI_DIRECT_ERROR_NONE) {
       }
       
      -

      After the wifi_direct_activate() function is completed, the device_state_changed_cb() callback is invoked.

      +

      After the wifi_direct_activate() function is completed, the device_state_changed_cb() callback is invoked.

    • Start the discovery to find nearby peer devices: @@ -153,12 +147,12 @@ error_code = wifi_direct_set_discovery_state_changed_cb(discovery_state_changed_ wifi_direct_start_discovery(false, 0); -

      When the Wi-Fi Direct™ discovery state changes, the discovery_state_changed_cb() function is called.

      +

      When the Wi-Fi Direct™ discovery state changes, the discovery_state_changed_cb() function is called.

    • Fetch the list of peers. -

      Get the list of peers with the wifi_direct_foreach_discovered_peers() function. It invokes the wifi_direct_discovered_peer_cb() callback, which provides information about the peers that Wi-Fi P2P has detected:

      +

      Get the list of peers with the wifi_direct_foreach_discovered_peers() function. It invokes the wifi_direct_discovered_peer_cb() callback, which provides information about the peers that Wi-Fi P2P has detected:

       char * mac_address = NULL;
      @@ -228,7 +222,7 @@ connection_state_changed_cb(wifi_direct_error_e error_code,
               break;
           case WIFI_DIRECT_DISASSOCIATION_IND:
           case WIFI_DIRECT_DISCONNECTION_IND:
      -        printf("Peer : [%s] disconnected.\n", mac_address);
      +        printf("Peer: [%s] disconnected.\n", mac_address);
               /* Handle the event */
               break;
           case WIFI_DIRECT_CONNECTION_IN_PROGRESS:
      @@ -288,7 +282,7 @@ wifi_direct_unset_connection_state_changed_cb(NULL);
       
    • Release the Wi-Fi Direct™. -

      Power off the local device using the wifi_direct_deactivate() function:

      +

      Power off the local device using the wifi_direct_deactivate() function:

       /* Release Wi-Fi Direct™ */
      @@ -314,7 +308,7 @@ wifi_direct_deinitialize();
       
       

      Wi-Fi Direct™ is a new technology defined by the Wi-Fi Alliance aimed at enhancing direct device to device communications in Wi-Fi. Wi-Fi Direct™ can be used to directly connect mobile phones, tablets, and PCs to peripherals, such as cameras, printers, gaming devices, or a wireless mouse, without the need for an access point. Devices can make a one-to-one connection, or a group of several devices can connect.

      -

      Figure: Wi-Fi Direct™

      +

      Figure: Wi-Fi Direct™

      Wi-Fi Direct

      Direct device to device connectivity was already possible in the original IEEE 802.11 standard by means of the ad-hoc mode of operation. However, this never became widely deployed. Wi-Fi Direct™ takes a different approach: in it, one of the devices acts as an access point. This means that legacy Wi-Fi devices can seamlessly connect to Wi-Fi Direct™ devices.

      @@ -323,7 +317,7 @@ wifi_direct_deinitialize();

      The IEEE 802.11z amendment is a mechanism that makes it possible to directly transfer data between 2 Wi-Fi clients that are part of the same Wi-Fi network.

      -

      Figure: TDLS

      +

      Figure: TDLS

      TDLS

      Usually, in a Wi-Fi network, data is transferred from one client to another through an access point (AP). The IEEE 802.11z amendment defines mechanisms that allow IEEE 802.11 to set up a direct link between client devices while also remaining associated with the AP. These mechanisms are referred to as Tunneled Direct Link Setup (TDLS). This reduces the amount of traffic that is transferred in the network and prevents congestion at the AP.

      diff --git a/org.tizen.training/html/native/feature/app_connectivity_usage_n.htm b/org.tizen.training/html/native/feature/app_connectivity_usage_n.htm index 0a45fba..ebf15ae 100644 --- a/org.tizen.training/html/native/feature/app_connectivity_usage_n.htm +++ b/org.tizen.training/html/native/feature/app_connectivity_usage_n.htm @@ -44,7 +44,7 @@

      Required Privileges and Features

      -

      Applications that access network information and statistics must declare the required privileges in the tizen-manifest.xml file. For more information on the Tizen privileges, see Security and API Privileges.

      +

      Applications that access network information and statistics must declare the required privileges in the tizen-manifest.xml file. For more information on the Tizen privileges, see Security and API Privileges.

      To perform the network operations, the application manifest must include the following privileges:

      @@ -58,15 +58,15 @@
      • To use Wi-Fi:
          -
        • http://tizen.org/feature/network.wifi
        • -
        • http://tizen.org/feature/network.wifi.direct
        • -
        • http://tizen.org/feature/network.wifi.direct.display
        • -
        • http://tizen.org/feature/network.wifi.direct.service_discovery
        • +
        • http://tizen.org/feature/network.wifi
        • +
        • http://tizen.org/feature/network.wifi.direct
        • +
        • http://tizen.org/feature/network.wifi.direct.display
        • +
        • http://tizen.org/feature/network.wifi.direct.service_discovery
      • To use the mobile network:
          -
        • http://tizen.org/feature/network.telephony
        • +
        • http://tizen.org/feature/network.telephony
      @@ -80,11 +80,11 @@

      The Connection API supports the following network types:

        -
      • CONNECTION_TYPE_DISCONNECTED
      • -
      • CONNECTION_TYPE_WIFI
      • -
      • CONNECTION_TYPE_CELLULAR (indicates the mobile network)
      • -
      • CONNECTION_TYPE_ETHERNET
      • -
      • CONNECTION_TYPE_BT
      • +
      • CONNECTION_TYPE_DISCONNECTED
      • +
      • CONNECTION_TYPE_WIFI
      • +
      • CONNECTION_TYPE_CELLULAR (indicates the mobile network)
      • +
      • CONNECTION_TYPE_ETHERNET
      • +
      • CONNECTION_TYPE_BT

      The following example demonstrates how to monitor network connection changes:

      @@ -128,27 +128,27 @@ get_network_connection()

      The Telephony Information API (in mobile and wearable applications) is composed of Call (in mobile and wearable applications), SIM (in mobile and wearable applications), Network (in mobile and wearable applications), and Modem (in mobile and wearable applications) APIs for the mobile network service.

      -

      The Telephony Network API provides the detailed mobile network information: LAC, Cell ID, RSSI, roaming state, MCC, MNC, network provider name, PS type, and network type. The telephony_network_get_service_state() function gets the current network state of the telephony service. It returns one of the telephony_network_service_state_e enumerator values (in mobile and wearable applications).

      +

      The Telephony Network API provides the detailed mobile network information: LAC, Cell ID, RSSI, roaming state, MCC, MNC, network provider name, PS type, and network type. The telephony_network_get_service_state() function gets the current network state of the telephony service. It returns one of the telephony_network_service_state_e enumerator values (in mobile and wearable applications).

      -

      The following table indicates the telephony_network_service_state_e enumeration that has the mobile network service state.

      +

      The following table indicates the telephony_network_service_state_e enumeration that has the mobile network service state.

      +

      Table: Mobile network service states

      - - + - + - +
      Table: Mobile network service states
      Enumeration Description
      TELEPHONY_NETWORK_SERVICE_STATE_IN_SERVICETELEPHONY_NETWORK_SERVICE_STATE_IN_SERVICE In service
      TELEPHONY_NETWORK_SERVICE_STATE_OUT_OF_SERVICETELEPHONY_NETWORK_SERVICE_STATE_OUT_OF_SERVICE Out of service
      TELEPHONY_NETWORK_SERVICE_STATE_EMERGENCY_ONLYTELEPHONY_NETWORK_SERVICE_STATE_EMERGENCY_ONLY Only emergency call is allowed
      @@ -234,12 +234,12 @@ main(int argc, char* argv[])

      Another way to get the mobile network state and protect the user against unreasonable use of the mobile network resources is to register a notification callback.

      -

      The telephony_set_noti_cb() function allows the application to listen for the changes in the mobile network state, and also provides mobile network information by specifying the notification ID when the mobile network state changes.

      +

      The telephony_set_noti_cb() function allows the application to listen for the changes in the mobile network state, and also provides mobile network information by specifying the notification ID when the mobile network state changes.

      The following table indicates the available notification IDs.

      +

      Table: Notification IDs

      - @@ -247,39 +247,39 @@ main(int argc, char* argv[]) - + - + - + - + - + - + - + - +
      Table: Notification IDs
      Changed state
      Network service stateTELEPHONY_NOTI_NETWORK_SERVICE_STATETELEPHONY_NOTI_NETWORK_SERVICE_STATE
      Cell IDTELEPHONY_NOTI_NETWORK_CELLIDTELEPHONY_NOTI_NETWORK_CELLID
      Roaming statusTELEPHONY_NOTI_NETWORK_ROAMING_STATUSTELEPHONY_NOTI_NETWORK_ROAMING_STATUS
      Signal strengthTELEPHONY_NOTI_NETWORK_SIGNALSTRENGTH_LEVELTELEPHONY_NOTI_NETWORK_SIGNALSTRENGTH_LEVEL
      Network nameTELEPHONY_NOTI_NETWORK_NETWORK_NAMETELEPHONY_NOTI_NETWORK_NETWORK_NAME
      Packet-switched typeTELEPHONY_NOTI_NETWORK_PS_TYPETELEPHONY_NOTI_NETWORK_PS_TYPE
      Default data subscriptionTELEPHONY_NOTI_NETWORK_DEFAULT_DATA_SUBSCRIPTIONTELEPHONY_NOTI_NETWORK_DEFAULT_DATA_SUBSCRIPTION
      Default subscriptionTELEPHONY_NOTI_NETWORK_DEFAULT_SUBSCRIPTIONTELEPHONY_NOTI_NETWORK_DEFAULT_SUBSCRIPTION
      -

      The telephony_noti_e enumerator (in mobile and wearable applications) defines the available notification IDs. The callback function registered by the telephony_set_noti_cb() function (network_service_state_noti_cb() in the following example) delivers change notifications for a network asynchronously.

      +

      The telephony_noti_e enumerator (in mobile and wearable applications) defines the available notification IDs. The callback function registered by the telephony_set_noti_cb() function (network_service_state_noti_cb() in the following example) delivers change notifications for a network asynchronously.

      The following example demonstrates how to register a notification for the mobile network state change:

      @@ -339,17 +339,17 @@ app_terminate(void *data)

      Getting the Mobile (Cellular) Network Connection State

      -

      The application can use the connection_get_cellular_state() function to get the mobile connection state.

      +

      The application can use the connection_get_cellular_state() function to get the mobile connection state.

      The network connection can be in one of the following states:

        -
      • CONNECTION_CELLULAR_STATE_OUT_OF_SERVICE
      • -
      • CONNECTION_CELLULAR_STATE_FLIGHT_MODE
      • -
      • CONNECTION_CELLULAR_STATE_ROAMING_OFF
      • -
      • CONNECTION_CELLULAR_STATE_CALL_ONLY_AVAILABLE
      • -
      • CONNECTION_CELLULAR_STATE_AVAILABLE
      • -
      • CONNECTION_CELLULAR_STATE_CONNECTED
      • +
      • CONNECTION_CELLULAR_STATE_OUT_OF_SERVICE
      • +
      • CONNECTION_CELLULAR_STATE_FLIGHT_MODE
      • +
      • CONNECTION_CELLULAR_STATE_ROAMING_OFF
      • +
      • CONNECTION_CELLULAR_STATE_CALL_ONLY_AVAILABLE
      • +
      • CONNECTION_CELLULAR_STATE_AVAILABLE
      • +
      • CONNECTION_CELLULAR_STATE_CONNECTED

      The following example demonstrates how to get the mobile network state:

      @@ -384,14 +384,14 @@ default:

      Getting Wi-Fi Connection State

      -

      The application can use the connection_get_wifi_state() function to get the Wi-Fi connection state.

      +

      The application can use the connection_get_wifi_state() function to get the Wi-Fi connection state.

      The Wi-Fi connection can be in one of the following states:

        -
      • CONNECTION_WIFI_STATE_DEACTIVATED
      • -
      • CONNECTION_WIFI_STATE_DISCONNECTED
      • -
      • CONNECTION_WIFI_STATE_CONNECTED
      • +
      • CONNECTION_WIFI_STATE_DEACTIVATED
      • +
      • CONNECTION_WIFI_STATE_DISCONNECTED
      • +
      • CONNECTION_WIFI_STATE_CONNECTED

      The following example demonstrates how to get the Wi-Fi network state:

      @@ -419,11 +419,11 @@ default:

      The Connection Statistics API (in mobile and wearable applications) provides functions for getting statistical information, such as the amount of sent or received data. The API also provides functions for getting the cumulative size of packets sent or received since the last reset based on the operation mode, such as packet switching (PS).

      -

      Connection statistics include the amount of total sent and received data and the last sent and received data. The parameters of the connection_get_statistics() function determine which connection type and which statistics are gathered:

      +

      Connection statistics include the amount of total sent and received data and the last sent and received data. The parameters of the connection_get_statistics() function determine which connection type and which statistics are gathered:

        -
      • The connection_type_e enumerator (in mobile and wearable applications) defines the connection types: CONNECTION_TYPE_WIFI is Wi-Fi and CONNECTION_TYPE_CELLULAR is the mobile network. Only Wi-Fi and mobile network connections are supported in the statistics.
      • -
      • The connection_statistics_type_e enumerator (in mobile and wearable applications) defines the statistics type.
      • +
      • The connection_type_e enumerator (in mobile and wearable applications) defines the connection types: CONNECTION_TYPE_WIFI is Wi-Fi and CONNECTION_TYPE_CELLULAR is the mobile network. Only Wi-Fi and mobile network connections are supported in the statistics.
      • +
      • The connection_statistics_type_e enumerator (in mobile and wearable applications) defines the statistics type.

      The following example demonstrates how to get received data and sent data for mobile connections:

      diff --git a/org.tizen.training/html/native/feature/app_contacts_basic_n.htm b/org.tizen.training/html/native/feature/app_contacts_basic_n.htm index 7c91623..bfef44b 100644 --- a/org.tizen.training/html/native/feature/app_contacts_basic_n.htm +++ b/org.tizen.training/html/native/feature/app_contacts_basic_n.htm @@ -50,7 +50,7 @@

      The following figure illustrates the contact structure. The example shows 3 instances of the same contact stored in different address books. Person1 is an aggregation of all 3 instances (Contact1, Contact2, and Contact3).

      -

      Figure: Contact structure

      +

      Figure: Contact structure

      Contact structure

      Records and Views

      @@ -59,18 +59,18 @@

      Records contain properties of basic types:

        -
      • integer
      • -
      • string
      • -
      • boolean
      • -
      • long integer
      • -
      • long long integer (lli)
      • -
      • double
      • +
      • integer
      • +
      • string
      • +
      • boolean
      • +
      • long integer
      • +
      • long long integer (lli)
      • +
      • double

      The following table lists the functions for setting and getting different record property types.

      +

      Table: Functions for specific record property types

      - @@ -78,36 +78,36 @@ - - - + + + - - - + + + - - - + + + - - - + + + - - - + + +
      Table: Functions for specific record property types
      Property typeGetter function
      stringcontacts_record_set_str()contacts_record_get_str()stringcontacts_record_set_str()contacts_record_get_str()
      integercontacts_record_set_int()contacts_record_get_int()integercontacts_record_set_int()contacts_record_get_int()
      booleancontacts_record_set_bool()contacts_record_get_bool()booleancontacts_record_set_bool()contacts_record_get_bool()
      long long integercontacts_record_set_lli()contacts_record_get_lli()long long integercontacts_record_set_lli()contacts_record_get_lli()
      doublecontacts_record_set_double()contacts_record_get_double()doublecontacts_record_set_double()contacts_record_get_double()
      -

      A view is a structure describing the record properties, where the property elements have their data types and names. For example, the _contacts_contact view describes the properties of the contact record, part of which is listed in the following table.

      +

      A view is a structure describing the record properties, where the property elements have their data types and names. For example, the _contacts_contact view describes the properties of the contact record, part of which is listed in the following table.

      +

      Table: Some contact record properties

      - @@ -115,43 +115,43 @@ - - + + - - + + - - + + - - - + + + - + - + - + - + - + - +
      Table: Some contact record properties
      Property IDDescription
      uristringuristring Identifier of this contact view
      idintegeridinteger Database record ID of the contact
      display_namestringdisplay_namestring Display name of the contact
      is_favoritebooleanboolean value indicating whether the contact is a favoriteis_favoritebooleanboolean value indicating whether the contact is a favorite
      namename Record_contacts_name child record containing the contact name details_contacts_name child record containing the contact name details
      companycompany Record_contacts_company child record containing the contact's company details_contacts_company child record containing the contact's company details
      addressaddress Record_contacts_address child record containing the contact address details_contacts_address child record containing the contact address details
      -

      Every view has a special field (_uri) that uniquely identifies the view. In many cases, you must provide the _uri value to indicate what type of record you want to operate on. The following example code creates a contact record and obtains the record handle using the _contacts_contact._uri property:

      +

      Every view has a special field (_uri) that uniquely identifies the view. In many cases, you must provide the _uri value to indicate what type of record you want to operate on. The following example code creates a contact record and obtains the record handle using the _contacts_contact._uri property:

       contacts_record_h contact = NULL;
      diff --git a/org.tizen.training/html/native/feature/app_contacts_group_n.htm b/org.tizen.training/html/native/feature/app_contacts_group_n.htm
      index 67a3993..c86e135 100644
      --- a/org.tizen.training/html/native/feature/app_contacts_group_n.htm
      +++ b/org.tizen.training/html/native/feature/app_contacts_group_n.htm
      @@ -44,7 +44,7 @@
       
       

      Retrieving Groups

      -

      A group is a collection of contacts from the same address book. Retrieving a single group is very similar to retrieving a single person: use the same function (contacts_db_get_record()) while setting the first parameter to the relevant group view (_contacts_group._uri).

      +

      A group is a collection of contacts from the same address book. Retrieving a single group is very similar to retrieving a single person: use the same function (contacts_db_get_record()) while setting the first parameter to the relevant group view (_contacts_group._uri).

       contacts_record_h group;
      @@ -62,7 +62,7 @@ if (error_code != CONTACTS_ERROR_NONE)
       
      1. Create a filter handle.
      2. Add search conditions to the filter handle. -

        As shown in the example, the search strings and the OR operator are added to the filter handle.

      3. +

        As shown in the example, the search strings and the OR operator are added to the filter handle.

      4. Make a query with the filter, and apply the query to the Contacts database.
      @@ -89,7 +89,7 @@ error_code = contacts_filter_destroy(filter); error_code = contacts_query_destroy(query);
      -

      The third parameter of the contacts_db_get_records_with_query() function defines a limit for the number of results. Since the parameter is set to 0 in the above example, the function returns all the groups matching the query.

      +

      The third parameter of the contacts_db_get_records_with_query() function defines a limit for the number of results. Since the parameter is set to 0 in the above example, the function returns all the groups matching the query.

      Updating Groups

      @@ -105,7 +105,7 @@ contacts_record_h group = NULL; error_code = contacts_db_get_record(_contacts_group._uri, group_id, &group);
      -

      You can also retrieve the group using a search function with queries, such as contacts_db_get_records_with_query().

      +

      You can also retrieve the group using a search function with queries, such as contacts_db_get_records_with_query().

    • Set the properties to be changed.

      The following example changes the name and image of the group:

      @@ -126,7 +126,7 @@ error_code = contacts_db_update_record(group);
    • Destroy the handle and release its resources. -

      If you set the second parameter to true, the function destroys any child records automatically.

      +

      If you set the second parameter to true, the function destroys any child records automatically.

       error_code = contacts_record_destroy(group, true);
      @@ -138,7 +138,7 @@ error_code = contacts_record_destroy(group, true);
       

      To create a new group, you must create a group handle, set the group properties, insert the group into the database, and destroy the group handle:

      1. Create a group handle. -

        The first parameter of the contacts_record_create() function specifies the record type to be created. In this case, the value is the _contacts_group._uri property, because you are creating a group. The second parameter stores the new group handle.

        +

        The first parameter of the contacts_record_create() function specifies the record type to be created. In this case, the value is the _contacts_group._uri property, because you are creating a group. The second parameter stores the new group handle.

         contacts_record_h group = NULL;
         
        @@ -146,9 +146,9 @@ error_code = contacts_record_create(_contacts_group._uri, &group);
         
      2. Set the group properties. -

        You can set the group properties using the contacts_record_set_XXX() functions with the relevant properties as the second parameter. Depending on the property type, you must use the proper functions, respectively.

        +

        You can set the group properties using the contacts_record_set_XXX() functions with the relevant properties as the second parameter. Depending on the property type, you must use the proper functions, respectively.

          -
        • If you set the group name, which is a string type, use the contacts_record_set_str() function with the _contacts_group.name property as the second parameter: +
        • If you set the group name, which is a string type, use the contacts_record_set_str() function with the _contacts_group.name property as the second parameter:
           error_code = contacts_record_set_str(group, _contacts_group.name, "Neighbors");
          @@ -173,7 +173,7 @@ error_code = contacts_db_insert_record(group, &added_group_id);
           
        • Destroy the group handle and release its resources. -

          If you set the second parameter to true, the function destroys any child records automatically.

          +

          If you set the second parameter to true, the function destroys any child records automatically.

           error_code = contacts_record_destroy(group, true);
           
          @@ -181,7 +181,7 @@ error_code = contacts_record_destroy(group, true);

      Deleting a Group

      -

      You can delete a group record from the Contacts database exactly like you delete a person: use the contacts_db_delete_record() function. The difference is the first parameter, which for the group deletion is set to the group property (_contacts_group._uri). The ID of the group to be deleted is given as the second parameter.

      +

      You can delete a group record from the Contacts database exactly like you delete a person: use the contacts_db_delete_record() function. The difference is the first parameter, which for the group deletion is set to the group property (_contacts_group._uri). The ID of the group to be deleted is given as the second parameter.

       int group_id = ... /* Get the group ID */
      @@ -190,7 +190,7 @@ error_code = contacts_db_delete_record(_contacts_group._uri, group_id);
       

      Managing Group Members

      -

      Group members are contacts from the same address book. With a contact ID and group ID on hand, you can add and remove contacts within a group using the contacts_group_add_contact() and contacts_group_remove_contact() functions:

      +

      Group members are contacts from the same address book. With a contact ID and group ID on hand, you can add and remove contacts within a group using the contacts_group_add_contact() and contacts_group_remove_contact() functions:

      • Adding a group member:
        diff --git a/org.tizen.training/html/native/feature/app_contacts_management_n.htm b/org.tizen.training/html/native/feature/app_contacts_management_n.htm
        index 9afc8ea..181feab 100644
        --- a/org.tizen.training/html/native/feature/app_contacts_management_n.htm
        +++ b/org.tizen.training/html/native/feature/app_contacts_management_n.htm
        @@ -45,7 +45,7 @@
         
         

        Connecting to the Contact Service

        -

        To initialize the contact service and use the functions and data types of the Contacts API, you must include the <contacts.h> header file in your application. To be able to access the Contacts database and operations, such as fetching, inserting, or updating, you must also connect to the contact service by calling the contacts_connect() function.

        +

        To initialize the contact service and use the functions and data types of the Contacts API, you must include the <contacts.h> header file in your application. To be able to access the Contacts database and operations, such as fetching, inserting, or updating, you must also connect to the contact service by calling the contacts_connect() function.

         #include <contacts.h>
        @@ -57,15 +57,11 @@ if (error_code != CONTACTS_ERROR_NONE)
             dlog_print(DLOG_ERROR, LOG_TAG, "failed to connect contacts: error code = %d", error_code);
         
        -

        When you no longer need it, disconnect from the contact service using the contacts_disconnect() function.

        - - - - - - - - - - -
        Note
        To use the Contacts API, your application has to request permission by adding the following privileges to the tizen-manifest.xml file in the application package: +

        When you no longer need it, disconnect from the contact service using the contacts_disconnect() function.

        + +
        + Note + To use the Contacts API, your application has to request permission by adding the following privileges to the tizen-manifest.xml file in the application package:
         <privileges>
        @@ -73,10 +69,7 @@ if (error_code != CONTACTS_ERROR_NONE)
            <privilege>http://tizen.org/privilege/contact.write</privilege>
         </privileges>
         
        -
        +

        Retrieving Persons

        @@ -84,7 +77,7 @@ if (error_code != CONTACTS_ERROR_NONE)
        • -

          If a person ID is known in your application, you can retrieve the person's details using the contacts_db_get_record() function, whose first parameter is the _contacts_person._uri view:

          +

          If a person ID is known in your application, you can retrieve the person's details using the contacts_db_get_record() function, whose first parameter is the _contacts_person._uri view:

           contacts_record_h person = NULL;
          @@ -98,7 +91,7 @@ if (error_code != CONTACTS_ERROR_NONE)
           
        • -

          If you need to retrieve a list of persons matching a search keyword without knowing a specific person ID, you can use the contacts_db_search_records() function. The third parameter is the offset, meaning the record index from which to search, and the fourth parameter sets a limit to the number of results, where 0 means that all the matched records are retrieved.

          +

          If you need to retrieve a list of persons matching a search keyword without knowing a specific person ID, you can use the contacts_db_search_records() function. The third parameter is the offset, meaning the record index from which to search, and the fourth parameter sets a limit to the number of results, where 0 means that all the matched records are retrieved.

          The following example shows how to find all person records that contain the keyword "John".

          @@ -114,9 +107,9 @@ if (error_code != CONTACTS_ERROR_NONE)
        • If you have more complex search requirements, you can use queries and filters to retrieve records:

          -
          • Queries are used to retrieve data that satisfies given criteria, for example, an integer property being greater than a given value, or a string property containing a given substring.
          • -
          • Filters specify the search conditions for queries. When creating a filter, you must specify the filter type using the _uri property. -

            Conditions can be joined by using the logical operators AND and OR. For contact filters, there are enumerations of operators and conditions for each type: contacts_filter_operator_e (in mobile and wearable applications), contacts_match_int_flag_e (in mobile and wearable applications), and contacts_match_str_flag_e (in mobile and wearable applications).

            +
            • Queries are used to retrieve data that satisfies given criteria, for example, an integer property being greater than a given value, or a string property containing a given substring.
            • +
            • Filters specify the search conditions for queries. When creating a filter, you must specify the filter type using the _uri property. +

              Conditions can be joined by using the logical operators AND and OR. For contact filters, there are enumerations of operators and conditions for each type: contacts_filter_operator_e (in mobile and wearable applications), contacts_match_int_flag_e (in mobile and wearable applications), and contacts_match_str_flag_e (in mobile and wearable applications).

            The following code demonstrates how to retrieve the contacts associated with a person using queries and filters. As a person can be associated with 1 or more contacts, the number of the contact records for the person can be 1 or more.

            @@ -155,7 +148,7 @@ _get_associated_contacts(contacts_record_h record, contacts_list_h *associated_c }
        -

        The following example uses queries and filters to retrieve a person's default phone number. If a person is associated with multiple phone numbers, one of them is defined as the default phone number. To determine the default phone number, you can check the is_primary_default property of the _contacts_person_number view. For the default phone number, the property is set to true.

        +

        The following example uses queries and filters to retrieve a person's default phone number. If a person is associated with multiple phone numbers, one of them is defined as the default phone number. To determine the default phone number, you can check the is_primary_default property of the _contacts_person_number view. For the default phone number, the property is set to true.

         static bool
        @@ -208,7 +201,7 @@ _get_default_phone_number(contacts_record_h record, char **default_phone_number)
         

        To update information of the existing contacts, you must retrieve, change, and save the information you want to update:

          -
        1. Retrieve the contact you want to update using the contacts_db_get_record() function with the contact ID as the second parameter. Alternatively, you can also retrieve the contact using a search function, such as contacts_db_get_records_with_query(). +
        2. Retrieve the contact you want to update using the contacts_db_get_record() function with the contact ID as the second parameter. Alternatively, you can also retrieve the contact using a search function, such as contacts_db_get_records_with_query().
           int contact_id = ... /* Get the contact ID */
           contacts_record_h contact = NULL;
          @@ -228,7 +221,7 @@ error_code = contacts_record_set_str(name, _contacts_name.first, "Mark"
           
        3. The following example set a new birthday event for the contact by updating another child record. -

          The example assumes that the birthday is the only event for the contact, meaning that the event record can be retrieved using the contacts_record_get_child_record_at_p() function with index 0 as the second parameter. If the contact has multiple events, you must iterate through them.

          +

          The example assumes that the birthday is the only event for the contact, meaning that the event record can be retrieved using the contacts_record_get_child_record_at_p() function with index 0 as the second parameter. If the contact has multiple events, you must iterate through them.

           contacts_record_h event = NULL;
           /* Retrieve the contact's birthday event record */
          @@ -238,7 +231,7 @@ int new_date = 1990 * 10000 + 6 * 100 + 21;
           error_code = contacts_record_set_int(event, _contacts_event.date, new_date);
           
        4. -
        5. The following example shows the iteration to change the country in all contact addresses, which are child records of the contact. Each address can be traversed by using the contacts_record_get_child_record_at_p() function. +
        6. The following example shows the iteration to change the country in all contact addresses, which are child records of the contact. Each address can be traversed by using the contacts_record_get_child_record_at_p() function.
           int contact_id = ... /* Get the contact ID */
          @@ -257,7 +250,7 @@ for (i = 0; i < address_num; i++) {
           
    • -
    • Apply the changes to the database using the contacts_db_update_record() function: +
    • Apply the changes to the database using the contacts_db_update_record() function:
       error_code = contacts_db_update_record(contact);
      @@ -266,19 +259,14 @@ if (error_code != CONTACTS_ERROR_NONE)
           dlog_print(DLOG_ERROR, LOG_TAG, "failed to update record: error code = %d", error_code);
       
      - - - - - - - - - -
      Note
      The contacts_record_set_XXX() functions only change the data in the memory object, not in the Contacts database. Normally, to update the database, you must update each record separately using the contacts_db_update_record() function. However, if you retrieve a child record using the contacts_record_get_child_record_at_p() function, you only need to update the parent record to the database; the child record is updated automatically with the parent record.
      +
      + Note + The contacts_record_set_XXX() functions only change the data in the memory object, not in the Contacts database. Normally, to update the database, you must update each record separately using the contacts_db_update_record() function. However, if you retrieve a child record using the contacts_record_get_child_record_at_p() function, you only need to update the parent record to the database; the child record is updated automatically with the parent record. +
      +
    • -
    • When no longer needed, destroy the contact handle and release all its resources using the contacts_record_destroy() function. -

      If you set the second parameter to true, the function destroys any child records automatically, irrespective of how the child records were added (individually or along with their parent record).

      +
    • When no longer needed, destroy the contact handle and release all its resources using the contacts_record_destroy() function. +

      If you set the second parameter to true, the function destroys any child records automatically, irrespective of how the child records were added (individually or along with their parent record).

       error_code = contacts_record_destroy(contact, true);
      @@ -293,7 +281,7 @@ if (error_code != CONTACTS_ERROR_NONE)
       

      To create a new contact, you must create a contact handle, set the contact properties, insert the contact into the database, and destroy the handle:

        -
      1. Create a contact handle using the contacts_record_create() function with the _contacts_contact._uri property as the first parameter: +
      2. Create a contact handle using the contacts_record_create() function with the _contacts_contact._uri property as the first parameter:
         contacts_record_h contact;
        @@ -304,7 +292,7 @@ if (error_code != CONTACTS_ERROR_NONE)
             dlog_print(DLOG_ERROR, LOG_TAG, "failed to create record: error code = %d", error_code);
         
        -

        Remember that records created with the contacts_record_create() function are memory objects, with contacts_record_h type variables as their handles. If you change these objects, the changes are not reflected in the Contacts database until you explicitly insert or update the objects to the database using the contacts_db_insert_record() or contacts_db_update_record() function.

      3. +

        Remember that records created with the contacts_record_create() function are memory objects, with contacts_record_h type variables as their handles. If you change these objects, the changes are not reflected in the Contacts database until you explicitly insert or update the objects to the database using the contacts_db_insert_record() or contacts_db_update_record() function.

      4. Set the contact properties.

        The following examples set the contact name, image, phone number, and event.

        To simplify the example code, error handling has been omitted.

        @@ -312,7 +300,7 @@ if (error_code != CONTACTS_ERROR_NONE)
      5. Name

        Create a name record, set the string values, "John" and "Smith", to the name, and set the name record as a child record of the contact record.

        -

        When creating the name record, the first parameter of the contacts_record_create() function is the _contacts_name._uri property.

        +

        When creating the name record, the first parameter of the contacts_record_create() function is the _contacts_name._uri property.

         contacts_record_h name;
         
        @@ -326,8 +314,8 @@ error_code = contacts_record_add_child_record(contact, _contacts_contact.name, n
         
      6. Image

        Similarly, create an image record, set the values of the property, and add the image record to the contact as a child record:

        -
        • Create the image record with the _contacts_image._uri property.
        • -
        • Set the path for the image in the caller_id_path[] variable, which is saved in the _contacts_image.path property by the contacts_record_set_str() function.
        • +
          • Create the image record with the _contacts_image._uri property.
          • +
          • Set the path for the image in the caller_id_path[] variable, which is saved in the _contacts_image.path property by the contacts_record_set_str() function.
          @@ -348,7 +336,7 @@ error_code = contacts_record_add_child_record(contact, _contacts_contact.image,
           
           
        • Phone number

          Similarly again, create a phone number record, set the number, and add the phone number record to the contact as a child record.

          -

          When creating a phone number record, use the _contacts_number._uri property as the second parameter of the contacts_record_create() function.

          +

          When creating a phone number record, use the _contacts_number._uri property as the second parameter of the contacts_record_create() function.

           contacts_record_h number;
          @@ -361,15 +349,15 @@ error_code = contacts_record_add_child_record(contact, _contacts_contact.number,
           
        • Event -

          An event consists of a type, date, and other properties. You can set various types of events, as defined in the contacts_event_type_e enumeration (in mobile and wearable applications). If the event type is CUSTOM, you can set a custom label for the event using the _contacts_event.label property.

          +

          An event consists of a type, date, and other properties. You can set various types of events, as defined in the contacts_event_type_e enumeration (in mobile and wearable applications). If the event type is CUSTOM, you can set a custom label for the event using the _contacts_event.label property.

          The following example sets a birthday event:

            -
          • In creating an event record, use the _contacts_event._uri property.
          • -
          • The event type is set as CONTACTS_EVENT_TYPE_BIRTH in the _contacts_event.type property.
          • -
          • When you set the event date, the date is an integer type property (_contact_event.date), calculated as year * 10000 + month * 100 + day.
          • +
          • In creating an event record, use the _contacts_event._uri property.
          • +
          • The event type is set as CONTACTS_EVENT_TYPE_BIRTH in the _contacts_event.type property.
          • +
          • When you set the event date, the date is an integer type property (_contact_event.date), calculated as year * 10000 + month * 100 + day.
          -

          Add the event record to the contact as a child record using the contacts_record_add_child_record() function.

          +

          Add the event record to the contact as a child record using the contacts_record_add_child_record() function.

           contacts_record_h event;
           
          @@ -390,7 +378,7 @@ error_code = contacts_record_add_child_record(contact, _contacts_contact.event,
           

        For other contact properties, you can follow the same steps: create an appropriate record, set the values in the properties, and add the record to the contact as a child record.

      7. -
      8. Insert the contact into the Contacts database using the contacts_db_insert_record() function. All the child records added to the contact are inserted automatically along with the parent. The second parameter of the function is for the contact ID, which is unique and assigned by the system. +
      9. Insert the contact into the Contacts database using the contacts_db_insert_record() function. All the child records added to the contact are inserted automatically along with the parent. The second parameter of the function is for the contact ID, which is unique and assigned by the system.
         int id = -1;
        @@ -398,8 +386,8 @@ int id = -1;
         error_code = contacts_db_insert_record(contact, &id);
         
      10. -
      11. Destroy the contact handle and release all its resources using the contacts_record_destroy() function. -

        If you set the second parameter to true, the function destroys any child records automatically, irrespective of how the child records were added (individually or along with their parent record).

        +
      12. Destroy the contact handle and release all its resources using the contacts_record_destroy() function. +

        If you set the second parameter to true, the function destroys any child records automatically, irrespective of how the child records were added (individually or along with their parent record).

         error_code = contacts_record_destroy(contact, true);
        @@ -408,7 +396,7 @@ error_code = contacts_record_destroy(contact, true);
         

      Deleting a Person

      -

      By using the contacts_db_delete_record() function, you can delete a person record from the database with related child records. The person ID is given to the function as the second parameter.

      +

      By using the contacts_db_delete_record() function, you can delete a person record from the database with related child records. The person ID is given to the function as the second parameter.

       int person_id = ... /* Get the person ID */
      @@ -422,8 +410,8 @@ error_code = contacts_db_delete_record(_contacts_person._uri, person_id);
       
       

      When you create a contact, it is automatically linked to a person:

        -
      • You can link the new contact to an existing person by setting the _contacts_contact.link_mode property as CONTACTS_CONTACT_LINK_MODE_NONE. -

        Linking is determined based on the contact properties for phone numbers and email addresses (_contacts_number.number and _contacts_email.email). If an existing person has the same phone number or email address, but in a different address book, the contact is automatically linked to that person. However, if the phone number or email address leads to an existing contact in the same address book, the linking does not work.

      • +
      • You can link the new contact to an existing person by setting the _contacts_contact.link_mode property as CONTACTS_CONTACT_LINK_MODE_NONE. +

        Linking is determined based on the contact properties for phone numbers and email addresses (_contacts_number.number and _contacts_email.email). If an existing person has the same phone number or email address, but in a different address book, the contact is automatically linked to that person. However, if the phone number or email address leads to an existing contact in the same address book, the linking does not work.

      • If the contact cannot be linked to any existing person, a new person is automatically created and linked to the contact.
      @@ -453,7 +441,7 @@ contacts_record_destroy(contact, true);

      You can modify the contact and person linking, as needed:

        -
      • To merge existing contacts into 1 person, use the contacts_person_link_person() function to link the contacts of one person to another person. The first parameter of the function is the ID of the person to be merged, and the second parameter is the ID of the person who will have all the merged contacts. After the linking, the former is deleted from the Contacts database. The latter person is left with both their original contacts and the other person's contacts. +
      • To merge existing contacts into 1 person, use the contacts_person_link_person() function to link the contacts of one person to another person. The first parameter of the function is the ID of the person to be merged, and the second parameter is the ID of the person who will have all the merged contacts. After the linking, the former is deleted from the Contacts database. The latter person is left with both their original contacts and the other person's contacts.
         int person_id1 = ... /* Get the person ID whose contacts are merged elsewhere */
        @@ -463,10 +451,10 @@ error_code = contacts_person_link_person(person_id1, person_id2);
         

        The following figure illustrates the process of linking a person. Even though the contacts have different address books, they can be linked to the same person. After linking, the person2 record is destroyed automatically.

        -

        Figure: Linking a person

        +

        Figure: Linking a person

        Linking a person

      • -
      • To separate (unlink) a contact record from the person record, use the contacts_person_unlink_contact() function. The function removes the contact from the person, creates a new person, and links the contact to the new person. +
      • To separate (unlink) a contact record from the person record, use the contacts_person_unlink_contact() function. The function removes the contact from the person, creates a new person, and links the contact to the new person.
         int person_id = ... /* Get the person ID */
        @@ -478,7 +466,7 @@ error_code = contacts_person_unlink_contact(person_id, contact_id, &unlinked
         
         

        The following figure illustrates the process of unlinking a contact. After unlinking, the person3 record is newly created.

        -

        Figure: Unlinking a contact

        +

        Figure: Unlinking a contact

        Unlinking a contact

      diff --git a/org.tizen.training/html/native/feature/app_contentshare_n.htm b/org.tizen.training/html/native/feature/app_contentshare_n.htm index 9b5c33b..9d181ec 100644 --- a/org.tizen.training/html/native/feature/app_contentshare_n.htm +++ b/org.tizen.training/html/native/feature/app_contentshare_n.htm @@ -70,7 +70,7 @@
    • The URI and MIME type contain information about the content to be handled.
    • The extra data consists of key-value pairs, which provide additional information for the operation.
    -

    By specifying a proper operation with the content information, your application can share the content with other applications. On the other hand, to allow other applications to find and launch your application, you can advertise your application features by declaring your application control information in the tizen-manifest.xml file.

    +

    By specifying a proper operation with the content information, your application can share the content with other applications. On the other hand, to allow other applications to find and launch your application, you can advertise your application features by declaring your application control information in the tizen-manifest.xml file.

    diff --git a/org.tizen.training/html/native/feature/app_contentshare_nfc_n.htm b/org.tizen.training/html/native/feature/app_contentshare_nfc_n.htm index e7a5872..49bd0ce 100644 --- a/org.tizen.training/html/native/feature/app_contentshare_nfc_n.htm +++ b/org.tizen.training/html/native/feature/app_contentshare_nfc_n.htm @@ -46,16 +46,16 @@

    To initialize NFC:

      -
    1. To use the functions and data types of the NFC API (in mobile and wearable applications), include the <nfc.h> header file in your application: +
    2. To use the functions and data types of the NFC API (in mobile and wearable applications), include the <nfc.h> header file in your application:
       #include <nfc.h>
       
    3. -
    4. Add the http://tizen.org/privilege/nfc privilege to the application manifest file.
    5. +
    6. Add the http://tizen.org/privilege/nfc privilege to the application manifest file.
    7. -
    8. Check whether the device supports NFC by calling the nfc_manager_is_supported() function. It takes no parameters and returns true if NFC is supported on the device. +
    9. Check whether the device supports NFC by calling the nfc_manager_is_supported() function. It takes no parameters and returns true if NFC is supported on the device.
       void
      @@ -67,9 +67,9 @@ Network_NFC_startup(void)
               dlog_print(DLOG_INFO, LOG_TAG, "is_nfc_supported NOT SUPPORTED");
       }
       
      -

      The gmainloop created above is used to wait for the results of calling asynchronous functions.

      +

      The gmainloop created above is used to wait for the results of calling asynchronous functions.

    10. -
    11. Call the nfc_manager_initialize() function to start the initialization: +
    12. Call the nfc_manager_initialize() function to start the initialization:
       int error_code = NFC_ERROR_NONE;
      @@ -82,7 +82,7 @@ g_timeout_add(1000, timeout_func, gmainloop);
       g_main_loop_run(gmainloop);
       
      -

      Run gmainloop to wait for the initialization result. It is closed when the time set in the g_timeout_add() function elapses. The time is defined in milliseconds, so in the above example the timeout_func is called after 1 second.

      +

      Run gmainloop to wait for the initialization result. It is closed when the time set in the g_timeout_add() function elapses. The time is defined in milliseconds, so in the above example the timeout_func is called after 1 second.

    Sending and Receiving Messages through NFC P2P

    @@ -94,7 +94,7 @@ g_main_loop_run(gmainloop);
    1. Prepare the NDEF message:
        -
      1. To create an NDEF message consisting of text records, use the nfc_ndef_record_create_text() function. The following example creates 3 records for a name, phone number, and email address:

        +
      2. To create an NDEF message consisting of text records, use the nfc_ndef_record_create_text() function. The following example creates 3 records for a name, phone number, and email address:

         nfc_ndef_record_h ndef_name_record = NULL;
        @@ -126,7 +126,7 @@ nfc_ndef_message_append_record(ndef_message, ndef_email_record);
         
      3. Register callbacks to receive notifications about discovered P2P targets and the received data:
        • To exchange messages using P2P, register a callback for receiving notifications about discovered P2P targets. When the P2P target is discovered, the callback provides a handle to that device and information on whether it is attached or detached.
        • -
        • Register a callback for receiving notifications about received data using the nfc_p2p_set_data_received_cb() function. Place the registration code in the callback called after the P2P device is discovered.
        • +
        • Register a callback for receiving notifications about received data using the nfc_p2p_set_data_received_cb() function. Place the registration code in the callback called after the P2P device is discovered.
        @@ -138,7 +138,7 @@ nfc_p2p_set_data_received_cb(target, on_p2p_data_received, NULL);
         
      4. Exchange messages:
        • Send a message to another device. -

          When the other P2P device is attached, send the prepared message to it. You can use the nfc_p2p_send() function, if you do not want to check permissions.

          +

          When the other P2P device is attached, send the prepared message to it. You can use the nfc_p2p_send() function, if you do not want to check permissions.

           nfc_p2p_send(target, ndef_message, NULL, NULL);
          @@ -146,7 +146,7 @@ nfc_p2p_send(target, ndef_message, NULL, NULL);
           
        • Receive a message from another device.

          The callback about receiving data is invoked when the device receives a message. The callback provides a handle to the received message and a handle to the message source.

          -

          To get a specified record from the message, use the nfc_ndef_message_get_record() function with the parameters for a message handle, a record index, and a handle to store the obtained record. When the record is obtained, get the stored text using the nfc_ndef_record_get_text() function.

          +

          To get a specified record from the message, use the nfc_ndef_message_get_record() function with the parameters for a message handle, a record index, and a handle to store the obtained record. When the record is obtained, get the stored text using the nfc_ndef_record_get_text() function.

           nfc_ndef_record_h ndef_record;
          diff --git a/org.tizen.training/html/native/feature/app_contentshare_receive_n.htm b/org.tizen.training/html/native/feature/app_contentshare_receive_n.htm
          index 07885dd..5b4ab0a 100644
          --- a/org.tizen.training/html/native/feature/app_contentshare_receive_n.htm
          +++ b/org.tizen.training/html/native/feature/app_contentshare_receive_n.htm
          @@ -42,9 +42,9 @@
           
           

          Exporting Application Control Functionality

          -

          To allow other applications to find and use your application features implicitly without your application ID, you must advertise your application features to other applications. You can do this by declaring your application control information in the tizen-manifest.xml file.

          +

          To allow other applications to find and use your application features implicitly without your application ID, you must advertise your application features to other applications. You can do this by declaring your application control information in the tizen-manifest.xml file.

          -

          The following example shows an advertisement for the VIEW and CALL application control operations:

          +

          The following example shows an advertisement for the VIEW and CALL application control operations:

           <app-control>
          @@ -58,25 +58,19 @@
           </app-control>
           
          - - - - - - - - - -
          Note
          In the application manifest file, the valid operation name format is http://tizen.org/appcontrol/operation/<verb>. You cannot use the related macro name format: APP_CONTROL_OPERATION_<VERB>.
          +
          + Note + In the application manifest file, the valid operation name format is http://tizen.org/appcontrol/operation/<verb>. You cannot use the related macro name format: APP_CONTROL_OPERATION_<VERB>. +

          Handling Incoming Content

          -

          When another application sends an application control request to your application, the application framework calls your application's app_control_cb() callback just after your application enters the main loop. This callback is passed to the handler, app_control, containing the reason why your application was launched. For example, your application can be launched to open a file that another application is sharing with you.

          +

          When another application sends an application control request to your application, the application framework calls your application's app_control_cb() callback just after your application enters the main loop. This callback is passed to the handler, app_control, containing the reason why your application was launched. For example, your application can be launched to open a file that another application is sharing with you.

          -

          When an application control request arrives, your application is responsible for checking and responding accordingly to the information of the app_control handler.

          +

          When an application control request arrives, your application is responsible for checking and responding accordingly to the information of the app_control handler.

          -

          The following example shows how you can initialize the application to allow the application control callback to handle the request for the APP_CONTROL_OPERATION_VIEW operation:

          +

          The following example shows how you can initialize the application to allow the application control callback to handle the request for the APP_CONTROL_OPERATION_VIEW operation:

           int
          @@ -125,7 +119,7 @@ app_control(app_control_h app_control, void *user_data)
           
           

          Managing Extra Data

          -

          Using the app_control_foreach_extra_data() function, you can read any extra data added to the app_control handle. This function calls the _app_control_extra_data_cb() callback once for each extra data key-value pair contained in the handle. When the callback returns false, the iteration ends.

          +

          Using the app_control_foreach_extra_data() function, you can read any extra data added to the app_control handle. This function calls the _app_control_extra_data_cb() callback once for each extra data key-value pair contained in the handle. When the callback returns false, the iteration ends.

           bool
          diff --git a/org.tizen.training/html/native/feature/app_contentshare_send_n.htm b/org.tizen.training/html/native/feature/app_contentshare_send_n.htm
          index d8d2020..f78f45d 100644
          --- a/org.tizen.training/html/native/feature/app_contentshare_send_n.htm
          +++ b/org.tizen.training/html/native/feature/app_contentshare_send_n.htm
          @@ -44,7 +44,7 @@
           
           

          The most common content sharing use case is sending text to another application. For example, a Web browser can share the URL of the currently visited site with other applications, such as a messenger or email application, to allow the user to send the URL to their friends.

          -

          Use the APP_CONTROL_OPERATION_SHARE operation and the text/plain MIME type to create an application control request, and define the text content to be shared in the APP_CONTROL_DATA_TEXT extra data:

          +

          Use the APP_CONTROL_OPERATION_SHARE operation and the text/plain MIME type to create an application control request, and define the text content to be shared in the APP_CONTROL_DATA_TEXT extra data:

           #include <app_control.h>
          @@ -61,26 +61,19 @@ app_control_send_launch_request(app_control, NULL, NULL);
           

          The above example has no explicit designation of the application to be called. When you request an implicit launch, the application launcher framework determines which application to launch by comparing the conditions: operation, URI (or scheme), and MIME type. If only one application is found to match the given conditions, that application is launched. If multiple matching applications are found, the application selector is shown and the user can select the application they want.

          - - - - - - - - - - - -
          Note
          When using application controls, pay attention to the following: + +
          + Note + When using application controls, pay attention to the following:
          • Since Tizen 2.4, application controls that launch service applications outside the current package are not supported. Because of this, a service application can only be launched explicitly by an application in the same package.
          • -
          • The operation is mandatory information for sending a launch request. If the operation is not specified, the APP_CONTROL_OPERATION_DEFAULT operation is used. In that case, the application ID is mandatory to explicitly launch an application.
          • -
          +
        • The operation is mandatory information for sending a launch request. If the operation is not specified, the APP_CONTROL_OPERATION_DEFAULT operation is used. In that case, the application ID is mandatory to explicitly launch an application.
        • +
        +

        Sending Binaries

        -

        Depending on the number of binary content items to be shared, you can use the APP_CONTROL_OPERATION_SHARE (for a single item) or APP_CONTROL_OPERATION_MULTI_SHARE (for multiple items) operation. The location of the content to be shared is defined in the APP_CONTROL_DATA_PATH extra data or extra data array.

        +

        Depending on the number of binary content items to be shared, you can use the APP_CONTROL_OPERATION_SHARE (for a single item) or APP_CONTROL_OPERATION_MULTI_SHARE (for multiple items) operation. The location of the content to be shared is defined in the APP_CONTROL_DATA_PATH extra data or extra data array.

        The following example demonstrates how to share a single binary content item and multiple items:

        @@ -127,13 +120,13 @@ app_control_send_launch_request(service, NULL, NULL); app_control_destroy(service);
      5. -

        If you try to share a set of files with different MIME types, use <type>/* or */*. For example, if you send video/mp4 and audio/ogg, the MIME type must be */*.

        +

        If you try to share a set of files with different MIME types, use <type>/* or */*. For example, if you send video/mp4 and audio/ogg, the MIME type must be */*.

        Sending Files

        -

        When sharing files, you can use the app_control_set_uri() function to set the file URI with the file:// scheme.

        -

        Since Tizen 2.4, if the second parameter of the app_control_set_uri() function starts with file://, and it is a regular file in your application's data path which can be obtained by calling the app_get_data_path() function, the file is shared with the called application. The framework grants a temporary permission to the called application for this file, and revokes it when the called application is terminated. The called application can just read the file.

        +

        When sharing files, you can use the app_control_set_uri() function to set the file URI with the file:// scheme.

        +

        Since Tizen 2.4, if the second parameter of the app_control_set_uri() function starts with file://, and it is a regular file in your application's data path which can be obtained by calling the app_get_data_path() function, the file is shared with the called application. The framework grants a temporary permission to the called application for this file, and revokes it when the called application is terminated. The called application can just read the file.

        The following example launches a viewer application with the operation, URI, and MIME type:

        diff --git a/org.tizen.training/html/native/feature/app_graphics_animation_n.htm b/org.tizen.training/html/native/feature/app_graphics_animation_n.htm index d620325..308f34d 100644 --- a/org.tizen.training/html/native/feature/app_graphics_animation_n.htm +++ b/org.tizen.training/html/native/feature/app_graphics_animation_n.htm @@ -42,18 +42,18 @@

        To implement animations in an application:

        1. Create a new project and specify the project name as AnimatorEx.
        2. -
        3. After the project is created, open the .c source file in the src folder and add the new code to the create_base_gui() function to create 2 rectangles and 2 animations. +
        4. After the project is created, open the .c source file in the src folder and add the new code to the create_base_gui() function to create 2 rectangles and 2 animations.

          The following functions are used to create the animations:

            -
          • ecore_animator_frametime_set() specifies a frame time interval for an animation. For example, if you specify the interval as 1/50, 50 frame events occur in 1 second. The unit is seconds.
          • -
          • ecore_animator_timeline_add() creates an Animator object with a limited time specified in seconds by the first parameter. Once the runtime of the animator has elapsed, it is deleted automatically. +
          • ecore_animator_frametime_set() specifies a frame time interval for an animation. For example, if you specify the interval as 1/50, 50 frame events occur in 1 second. The unit is seconds.
          • +
          • ecore_animator_timeline_add() creates an Animator object with a limited time specified in seconds by the first parameter. Once the runtime of the animator has elapsed, it is deleted automatically.

            The second parameter indicates the frame event callback function that actually defines the animation details, and the third parameter indicates the user data, which generally passes an object or application data to which you apply the animation.

            -

            The callback function can return ECORE_CALLBACK_RENEW to keep the animator running or ECORE_CALLBACK_CANCEL to stop it and automatically delete it at any time.

          • -
          • ecore_animator_add() creates an Animator object. The first parameter indicates the frame event callback function that actually defines the animation details, and the second parameter indicates the user data. -

            The ecore_animator_timeline_add() function is just like the ecore_animator_add() function, except that the animator only runs for a limited time.

          • -
          • ecore_timer_add() creates a timer to call the given function in the given period of time. The first parameter is the interval in seconds, and the second parameter is the given function. -

            If this function returns ECORE_CALLBACK_RENEW, the timer is rescheduled for the next interval given in the first parameter. If it returns ECORE_CALLBACK_CANCEL, the timer is deleted automatically. The third parameter indicates the user data to pass to the function when it is called.

          • +

            The callback function can return ECORE_CALLBACK_RENEW to keep the animator running or ECORE_CALLBACK_CANCEL to stop it and automatically delete it at any time.

            +
          • ecore_animator_add() creates an Animator object. The first parameter indicates the frame event callback function that actually defines the animation details, and the second parameter indicates the user data. +

            The ecore_animator_timeline_add() function is just like the ecore_animator_add() function, except that the animator only runs for a limited time.

          • +
          • ecore_timer_add() creates a timer to call the given function in the given period of time. The first parameter is the interval in seconds, and the second parameter is the given function. +

            If this function returns ECORE_CALLBACK_RENEW, the timer is rescheduled for the next interval given in the first parameter. If it returns ECORE_CALLBACK_CANCEL, the timer is deleted automatically. The third parameter indicates the user data to pass to the function when it is called.

          The label is not used in this example, so annotate it.

          @@ -101,7 +101,7 @@ evas_object_show(rect2); /* Animation */ ecore_animator_frametime_set(1. / 50); -Ecore_Animator *anim = ecore_animator_timeline_add(5,_advance_frame, rect); +Ecore_Animator *anim = ecore_animator_timeline_add(5, _advance_frame, rect); Ecore_Animator *anim2 = ecore_animator_add(_advance_frame3, rect2); Ecore_Timer *timer1 = ecore_timer_add(10, _start_second_anim, rect); Ecore_Timer *timer2 = ecore_timer_add(5, _freeze_third_anim, rect2); @@ -111,20 +111,20 @@ Ecore_Timer *timer3 = ecore_timer_add(10, _thaw_third_anim, rect2); evas_object_show(ad->win);
      6. -
      7. Create the frame event callback functions by adding them to the top of the create_base_gui() function: +
      8. Create the frame event callback functions by adding them to the top of the create_base_gui() function:
          -
        • The code of the _advance_frame() timeline animation frame event callback function specifies the new size, position, and color of the square. It changes the blue square to red and grows it larger as it moves to the bottom right. The style applied to the animation is ECORE_POS_MAP_LINEAR, which keeps the animation moving at a certain speed.
        • +
        • The code of the _advance_frame() timeline animation frame event callback function specifies the new size, position, and color of the square. It changes the blue square to red and grows it larger as it moves to the bottom right. The style applied to the animation is ECORE_POS_MAP_LINEAR, which keeps the animation moving at a certain speed.
        • -
        • The code of the _advance_frame2() timeline animation frame event callback function also specifies the size, position, and color of a square. The style applied to the animation is ECORE_POS_MAP_BOUNCE, which creates a vibration like a bouncing ball. It slows to a stop after bouncing off the ending point.
        • +
        • The code of the _advance_frame2() timeline animation frame event callback function also specifies the size, position, and color of a square. The style applied to the animation is ECORE_POS_MAP_BOUNCE, which creates a vibration like a bouncing ball. It slows to a stop after bouncing off the ending point.
        • -
        • The code of the _advance_frame3() timeline animation frame event callback function increases the X coordinate of an object by 2 at every frame. The static variable x is used in order to increase the X coordinate whenever this function is called. When the X coordinate becomes greater than 250, it starts back from 0. The evas_object_move() function changes the position of an object.
        • +
        • The code of the _advance_frame3() timeline animation frame event callback function increases the X coordinate of an object by 2 at every frame. The static variable x is used in order to increase the X coordinate whenever this function is called. When the X coordinate becomes greater than 250, it starts back from 0. The evas_object_move() function changes the position of an object.
        -

        The ecore_animator_pos_map() function returns the resulting value that is mapped onto the position of the current animation. The returned values range between 0 and 1. The resulting value when the animation starts is 0, and it gradually increases and eventually reaches 1 when the animation stops.

        -

        The second parameter of the timeline animation event function must be passed to the first parameter of the ecore_animator_pos_map() function. For the second parameter, enter the style of the animation. The style types are described in the _Ecore_Pos_Map enumeration (in mobile and wearable applications) that defines the position mappings for the animation. For the third and fourth parameter, enter the intensity and tempo of the speed change.

        +

        The ecore_animator_pos_map() function returns the resulting value that is mapped onto the position of the current animation. The returned values range between 0 and 1. The resulting value when the animation starts is 0, and it gradually increases and eventually reaches 1 when the animation stops.

        +

        The second parameter of the timeline animation event function must be passed to the first parameter of the ecore_animator_pos_map() function. For the second parameter, enter the style of the animation. The style types are described in the _Ecore_Pos_Map enumeration (in mobile and wearable applications) that defines the position mappings for the animation. For the third and fourth parameter, enter the intensity and tempo of the speed change.

        -

        The _advance_frame() function is only valid for 5 seconds, since its runtime (specified by the first parameter of the ecore_animator_timeline_add() function) is 5 seconds. Therefore, the _advance_frame() function is automatically deleted after 5 seconds. The freeze_third_anim() function is called 5 seconds after the application starts, and the ecore_animator_freeze() function pauses the animation. The thaw_third_anim() and _start_second_anim() functions are called 10 seconds after the application starts, and the ecore_animator_thaw() function restarts the animation.

        +

        The _advance_frame() function is only valid for 5 seconds, since its runtime (specified by the first parameter of the ecore_animator_timeline_add() function) is 5 seconds. Therefore, the _advance_frame() function is automatically deleted after 5 seconds. The freeze_third_anim() function is called 5 seconds after the application starts, and the ecore_animator_freeze() function pauses the animation. The thaw_third_anim() and _start_second_anim() functions are called 10 seconds after the application starts, and the ecore_animator_thaw() function restarts the animation.

         static Eina_Bool
        diff --git a/org.tizen.training/html/native/feature/app_graphics_polygon_n.htm b/org.tizen.training/html/native/feature/app_graphics_polygon_n.htm
        index 0697074..332eb66 100644
        --- a/org.tizen.training/html/native/feature/app_graphics_polygon_n.htm
        +++ b/org.tizen.training/html/native/feature/app_graphics_polygon_n.htm
        @@ -40,13 +40,13 @@
         

        To implement polygons in an application:

        1. Create a new project and specify the project name as DrawPolygon.
        2. -
        3. After the project is created, open the .c source file in the src folder and add the new code to the create_base_gui() function to create a canvas and a triangle. +
        4. After the project is created, open the .c source file in the src folder and add the new code to the create_base_gui() function to create a canvas and a triangle.

          The following functions are used to create the triangle:

            -
          • evas_object_polygon_add() creates a polygon object on a canvas.
          • -
          • evas_object_polygon_point_add() adds point coordinates to a polygon object. A polygon must have at least 3 points. The first parameter indicates the polygon object, and the second and third parameters indicate the X and Y coordinates.
          • -
          • evas_object_color_set() specifies a color for a shape. The parameters are Red, Green, Blue, and semi-transparency.
          • +
          • evas_object_polygon_add() creates a polygon object on a canvas.
          • +
          • evas_object_polygon_point_add() adds point coordinates to a polygon object. A polygon must have at least 3 points. The first parameter indicates the polygon object, and the second and third parameters indicate the X and Y coordinates.
          • +
          • evas_object_color_set() specifies a color for a shape. The parameters are Red, Green, Blue, and semi-transparency.

          The label is not used in this example, so annotate it.

          @@ -96,7 +96,7 @@ evas_object_show(ad->win);

          Create the project

        5. Adding 4 points to a polygon object creates a square, while adding 5 points creates a pentagon. -

          Create a pentagon by adding new code to the create_base_gui() function.

          +

          Create a pentagon by adding new code to the create_base_gui() function.

           /* Polygon triangle */
          diff --git a/org.tizen.training/html/native/feature/app_graphics_square_n.htm b/org.tizen.training/html/native/feature/app_graphics_square_n.htm
          index 716f2d4..9e5af3d 100644
          --- a/org.tizen.training/html/native/feature/app_graphics_square_n.htm
          +++ b/org.tizen.training/html/native/feature/app_graphics_square_n.htm
          @@ -39,9 +39,9 @@
           
           

          The following example is created using the Basic UI template as a source code. To create a new project:

            -
          1. In the Tizen Studio menu, select File > New > Tizen Native Project. +
          2. In the Tizen Studio menu, select File > New > Tizen Project.

            Open the Project Wizard

          3. -
          4. In the Project Wizard, select Template > MOBILE-[version] > Basic UI.
          5. +
          6. In the Project Wizard, select Template as the project type, MOBILE profile and applicable version, Native Application type, and Basic UI template.
          7. Enter DrawRect in the Project name field.

            Create the project

          8. Click Finish.
          9. @@ -50,15 +50,15 @@

            After the project is created, modify the template to create the application with 3 squares:

              -
            1. Open the .c source file in the src folder and add the new code to the create_base_gui() function. +
            2. Open the .c source file in the src folder and add the new code to the create_base_gui() function.

              The following functions are used to create the squares:

                -
              • evas_object_evas_get() retrieves the Evas handler from the window object, which is embedded into the Evas object parameter.
              • -
              • evas_object_rectangle_add() creates a rectangle object on a canvas.
              • -
              • evas_object_color_set() specifies a color for a shape. The parameters are Red, Green, Blue, and semi-transparency. For example, entering 255, 0, 0, 192 creates a semi-transparent red.
              • -
              • evas_object_move() moves objects to a given location. The first parameter indicates the object, and the second and third parameters indicate the horizontal and vertical position.
              • -
              • evas_object_resize() changes the size of the object. The first parameter indicates the object, and the second and third parameters indicates the width and height.
              • +
              • evas_object_evas_get() retrieves the Evas handler from the window object, which is embedded into the Evas object parameter.
              • +
              • evas_object_rectangle_add() creates a rectangle object on a canvas.
              • +
              • evas_object_color_set() specifies a color for a shape. The parameters are Red, Green, Blue, and semi-transparency. For example, entering 255, 0, 0, 192 creates a semi-transparent red.
              • +
              • evas_object_move() moves objects to a given location. The first parameter indicates the object, and the second and third parameters indicate the horizontal and vertical position.
              • +
              • evas_object_resize() changes the size of the object. The first parameter indicates the object, and the second and third parameters indicates the width and height.

              The label is not used in this example, so annotate it.

              diff --git a/org.tizen.training/html/native/feature/app_multimedia_audio_n.htm b/org.tizen.training/html/native/feature/app_multimedia_audio_n.htm index 6343723..9fffccf 100644 --- a/org.tizen.training/html/native/feature/app_multimedia_audio_n.htm +++ b/org.tizen.training/html/native/feature/app_multimedia_audio_n.htm @@ -47,17 +47,17 @@

              The following figure illustrates the player state changes.

              -

              Figure: Player state changes

              +

              Figure: Player state changes

              Player state changes

              Initializing the Audio Player

              -

              You can create a player by calling the player_create() function, which returns a player handle on success. You need the player handle in setting which files to play and with which configuration. You also have to register appropriate callback functions to handle notifications about interruptions, ends, and errors during playback.

              +

              You can create a player by calling the player_create() function, which returns a player handle on success. You need the player handle in setting which files to play and with which configuration. You also have to register appropriate callback functions to handle notifications about interruptions, ends, and errors during playback.

              To prepare the player for playback, and to define the necessary callbacks to handle playback events:

                -
              1. To use the data types and functions of the Player API (in mobile and wearable applications), include the <player.h> header file in your application:

                +
              2. To use the data types and functions of the Player API (in mobile and wearable applications), include the <player.h> header file in your application:

                 #include <player.h>
                 
                @@ -85,7 +85,7 @@ init_base_player(appdata_s *ad)
        6. Set configurations, such as the source file URI. -

          To set a specific path for audio files to play, retrieve the default internal storage paths. To access and use internal storage, include the <storage.h> header file in your application.

          +

          To set a specific path for audio files to play, retrieve the default internal storage paths. To access and use internal storage, include the <storage.h> header file in your application.

           #include <storage.h>
           
          @@ -140,7 +140,7 @@ _set_test_path()
               strncat(audio_path, MP3_SAMPLE, strlen(MP3_SAMPLE));
           }
           
          -

          Once the storage path is set, you can specify the audio file to play using the player_set_uri() function with the player handle:

          +

          Once the storage path is set, you can specify the audio file to play using the player_set_uri() function with the player handle:

           error_code = player_set_uri(ad->player, audio_path);
           if (error_code != PLAYER_ERROR_NONE)
          @@ -239,13 +239,13 @@ init_base_player(appdata_s *ad)
           
           

          Managing Audio Playback

          -

          When the player is created, it is in the PLAYER_STATE_IDLE state. To start playback, it must be in the PLAYER_STATE_READY state.

          +

          When the player is created, it is in the PLAYER_STATE_IDLE state. To start playback, it must be in the PLAYER_STATE_READY state.

          To manage playback:

          1. -

            Get the player ready for playback by calling the player_prepare() function, which changes the player state from PLAYER_STATE_IDLE to PLAYER_STATE_READY:

            +

            Get the player ready for playback by calling the player_prepare() function, which changes the player state from PLAYER_STATE_IDLE to PLAYER_STATE_READY:

             error_code = player_prepare(ad->player);
             if (error_code != PLAYER_ERROR_NONE)
            @@ -253,7 +253,7 @@ if (error_code != PLAYER_ERROR_NONE)
             
          2. -

            Once the player is ready, start playing the audio file using the player_start() function. The player state changes to PLAYER_STATE_PLAYING.

            +

            Once the player is ready, start playing the audio file using the player_start() function. The player state changes to PLAYER_STATE_PLAYING.

             error_code = player_start(ad->player);
             if (error_code != PLAYER_ERROR_NONE)
            @@ -261,8 +261,8 @@ if (error_code != PLAYER_ERROR_NONE)
             
          3. -

            Stop playback by calling the player_stop() function. The player state changes back to PLAYER_STATE_READY.

            -

            By calling the player_pause() function, you can pause playback and change the player state to PLAYER_STATE_PAUSED.

            +

            Stop playback by calling the player_stop() function. The player state changes back to PLAYER_STATE_READY.

            +

            By calling the player_pause() function, you can pause playback and change the player state to PLAYER_STATE_PAUSED.

          @@ -270,8 +270,8 @@ if (error_code != PLAYER_ERROR_NONE)

          When you are finished using the player, release all the resources allocated to it:

            -
          1. Reset the player by calling the player_unprepare() function, which changes the player state to PLAYER_STATE_IDLE.
          2. -
          3. Destroy the player handle using the player_destroy() function.
          4. +
          5. Reset the player by calling the player_unprepare() function, which changes the player state to PLAYER_STATE_IDLE.
          6. +
          7. Destroy the player handle using the player_destroy() function.
          @@ -294,7 +294,7 @@ if (error_code != PLAYER_ERROR_NONE)
           

          The supported formats in audio recording are M4A and AMR.

          The following figure illustrates the general recorder state changes.

          -

          Figure: Recorder state changes

          +

          Figure: Recorder state changes

          Recorder state changes

          Initializing the Audio Recorder

          @@ -303,13 +303,13 @@ if (error_code != PLAYER_ERROR_NONE)
          1. -

            To use the data types and functions of the Recorder API (in mobile and wearable applications), include the <recorder.h> header file in your application:

            +

            To use the data types and functions of the Recorder API (in mobile and wearable applications), include the <recorder.h> header file in your application:

             #include <recorder.h>
             
          2. -

            Create an audio recorder by calling the recorder_create_audiorecorder() function. On success, the function returns a handle for the audio recorder and the state of the audio recorder is set as RECORDER_STATE_CREATED.

            +

            Create an audio recorder by calling the recorder_create_audiorecorder() function. On success, the function returns a handle for the audio recorder and the state of the audio recorder is set as RECORDER_STATE_CREATED.

             static recorder_h g_recorder;
             
            @@ -351,7 +351,7 @@ _recorder_recording_limit_reached_cb(recorder_recording_limit_type_e type, void
             
          3. You can set various attributes of audio recording, such as audio codec, file format, file name, file size limit, encoder bitrate, audio device, and sample rate:

              -
            • Set the audio codec for encoding the audio stream using the recorder_set_audio_encoder() function. The possible audio codec values are defined in the recorder_audio_codec_e enumeration (in mobile and wearable applications). +
            • Set the audio codec for encoding the audio stream using the recorder_set_audio_encoder() function. The possible audio codec values are defined in the recorder_audio_codec_e enumeration (in mobile and wearable applications).
               #define FILENAME_PREFIX "AUDIO"
               struct tm localtime = {0};
              @@ -363,13 +363,13 @@ size_t size;
               error_code = recorder_set_audio_encoder(g_recorder, RECORDER_AUDIO_CODEC_AAC);
               
            • -
            • Use the recorder_set_file_format() function to set the correct file format based on the audio codec. For example, if you set the codec to AAC, set the file format to 3GP. The possible file format values are defined in the recorder_file_format_e enumeration (in mobile and wearable applications). +
            • Use the recorder_set_file_format() function to set the correct file format based on the audio codec. For example, if you set the codec to AAC, set the file format to 3GP. The possible file format values are defined in the recorder_file_format_e enumeration (in mobile and wearable applications).
               /* Set the file format according to the audio encoder */
               error_code = recorder_set_file_format(g_recorder, RECORDER_FILE_FORMAT_3GP);
               
            • -
            • Based on the file format, define the correct file name, and set it using the recorder_set_filename() function. The parameters are the full path and the name of the file for the recorded audio data to be saved. +
            • Based on the file format, define the correct file name, and set it using the recorder_set_filename() function. The parameters are the full path and the name of the file for the recorded audio data to be saved.
               /* Create the file name */
               if (localtime_r(&rawtime, &localtime) != NULL) {
              @@ -386,7 +386,7 @@ if (localtime_r(&rawtime, &localtime) != NULL) {
               error_code = recorder_set_filename(g_recorder, filename);
               
            • -
            • Set the file size limit, encoder bitrate, audio device, and sample rate. The possible audio device values are defined in the recorder_audio_device_e enumeration (in mobile and wearable applications). +
            • Set the file size limit, encoder bitrate, audio device, and sample rate. The possible audio device values are defined in the recorder_audio_device_e enumeration (in mobile and wearable applications).
               /* Set the maximum file size to 1024 (kB) */
               error_code = recorder_attr_set_size_limit(g_recorder, 1024);
              @@ -407,33 +407,33 @@ error_code = recorder_attr_set_audio_samplerate(g_recorder, 44100);
               
               

              Managing Audio Recording

              -

              When the recorder handle is created, the audio recorder is in the RECORDER_STATE_CREATED state. To start recording, the audio recorder must be in the RECORDER_STATE_READY state.

              +

              When the recorder handle is created, the audio recorder is in the RECORDER_STATE_CREATED state. To start recording, the audio recorder must be in the RECORDER_STATE_READY state.

              To manage playback:

              1. -

                Change the player state from RECORDER_STATE_CREATED to RECORDER_STATE_READY by calling the recorder_prepare() function:

                +

                Change the player state from RECORDER_STATE_CREATED to RECORDER_STATE_READY by calling the recorder_prepare() function:

                 error_code = recorder_prepare(g_recorder);
                 
              2. -

                Once the recorder is ready, start audio recording using the recorder_start() function. The recorder state changes to RECORDER_STATE_RECORDING.

                +

                Once the recorder is ready, start audio recording using the recorder_start() function. The recorder state changes to RECORDER_STATE_RECORDING.

                 error_code = recorder_start(g_recorder);
                 
              3. -

                In the RECORDER_STATE_RECORDING state, you can pause or stop recording:

                +

                In the RECORDER_STATE_RECORDING state, you can pause or stop recording:

                  -
                • To pause recording, call the recorder_pause() function that changes the recorder state to RECORDER_STATE_PAUSED. In this state, you can resume or stop recording. To resume, call the recorder_start() function. +
                • To pause recording, call the recorder_pause() function that changes the recorder state to RECORDER_STATE_PAUSED. In this state, you can resume or stop recording. To resume, call the recorder_start() function.
                   error_code = recorder_pause(g_recorder);
                   
                • -

                  You can stop recording either in the RECORDER_STATE_RECORDING or RECORDER_STATE_PAUSED state. In stopping recording, you can save or discard the recorded data. To save the recorded data, use the recorder_commit() function, and to discard, use the recorder_cancel() function. Both functions set the audio recorder state to RECORDER_STATE_READY.

                  +

                  You can stop recording either in the RECORDER_STATE_RECORDING or RECORDER_STATE_PAUSED state. In stopping recording, you can save or discard the recorded data. To save the recorded data, use the recorder_commit() function, and to discard, use the recorder_cancel() function. Both functions set the audio recorder state to RECORDER_STATE_READY.

                  The following example code first checks the audio recorder state, and then stops the recorder and saves the data to a file:

                   /* Check the audio recorder state */
                  @@ -468,8 +468,8 @@ if (_recorder_expect_state(g_recorder, RECORDER_STATE_RECORDING) || _recorder_ex
                   
                   

                  After you finish audio recording, release all the resources allocated to the audio recorder:

                    -
                  1. Reset the audio recorder by calling the recorder_unprepare() function, which changes the recorder state from RECORDER_STATE_READY to RECORDER_STATE_CREATED.
                  2. -
                  3. Release the audio recorder resources by calling the recorder_destroy() function. The recorder state changes to RECORDER_STATE_NONE.
                  4. +
                  5. Reset the audio recorder by calling the recorder_unprepare() function, which changes the recorder state from RECORDER_STATE_READY to RECORDER_STATE_CREATED.
                  6. +
                  7. Release the audio recorder resources by calling the recorder_destroy() function. The recorder state changes to RECORDER_STATE_NONE.
                   error_code = recorder_unprepare(g_recorder);
                  diff --git a/org.tizen.training/html/native/feature/app_multimedia_camera_n.htm b/org.tizen.training/html/native/feature/app_multimedia_camera_n.htm
                  index dfc8d4d..517b037 100644
                  --- a/org.tizen.training/html/native/feature/app_multimedia_camera_n.htm
                  +++ b/org.tizen.training/html/native/feature/app_multimedia_camera_n.htm
                  @@ -53,7 +53,7 @@
                   

              The following figure illustrates the camera state changes in the normal mode.

              -

              Figure: Camera state changes

              +

              Figure: Camera state changes

              Camera state changes

              Initializing the Camera

              @@ -67,8 +67,8 @@ #include <camera.h>
            • -
            • Create the camera handle using the camera_create() function. -

              In the following example, create a g_camera camera handle, and define a camdata structure type, to store global data related to the camera handle:

              +
            • Create the camera handle using the camera_create() function. +

              In the following example, create a g_camera camera handle, and define a camdata structure type, to store global data related to the camera handle:

               struct _camdata {
                   Evas_Object *win;
              @@ -88,35 +88,30 @@ if (error_code != CAMERA_ERROR_NONE)
                   dlog_print(DLOG_INFO, LOG_TAG, "fail to create camera: error code = %d", error_code);
               
              -

              The CAMERA_DEVICE_CAMERA0 parameter means that the currently activated device camera is 0, which is the primary camera. You can select between the primary (0) and the secondary (1) camera, which are defined in the camera_device_e enumeration (in mobile and wearable applications). Since devices can have multiple camera sensors with different capabilities, you must create a camera handle with a proper camera_device_e value, determining which camera sensor is used. Usually, the primary sensor is located on the back side and the secondary sensor is on the front side of the device.

              +

              The CAMERA_DEVICE_CAMERA0 parameter means that the currently activated device camera is 0, which is the primary camera. You can select between the primary (0) and the secondary (1) camera, which are defined in the camera_device_e enumeration (in mobile and wearable applications). Since devices can have multiple camera sensors with different capabilities, you must create a camera handle with a proper camera_device_e value, determining which camera sensor is used. Usually, the primary sensor is located on the back side and the secondary sensor is on the front side of the device.

            • Configure the camera settings. -

              Before configuring the camera settings, find out which configurations are supported by the camera. Depending on the camera type, the device can support different orientations, resolutions, or preview and capture formats. You can obtain this information using the relevant functions, such as camera_foreach_supported_preview_resolution(), camera_foreach_supported_preview_format(), or other camera_foreach_supported_XXX() functions. For example, using the camera_foreach_supported_preview_resolution() function, you can find out which resolutions are supported for the camera preview on a specific device. As usual, the foreach function invokes a callback for each supported resolution and stops when the callback returns false.

              +

              Before configuring the camera settings, find out which configurations are supported by the camera. Depending on the camera type, the device can support different orientations, resolutions, or preview and capture formats. You can obtain this information using the relevant functions, such as camera_foreach_supported_preview_resolution(), camera_foreach_supported_preview_format(), or other camera_foreach_supported_XXX() functions. For example, using the camera_foreach_supported_preview_resolution() function, you can find out which resolutions are supported for the camera preview on a specific device. As usual, the foreach function invokes a callback for each supported resolution and stops when the callback returns false.

              Set the camera configurations (such as image quality, display type, preview resolution, and capture format) by using the relevant functions:

              • Image quality -

                Set the image quality using the camera_attr_set_image_quality() function. The quality value ranges from 1 (lowest quality) to 100 (highest quality).

                +

                Set the image quality using the camera_attr_set_image_quality() function. The quality value ranges from 1 (lowest quality) to 100 (highest quality).

                 error_code = camera_attr_set_image_quality(cam_data.g_camera, 100);
                 
              • Display type -

                Using the camera_set_display() function, you can set the display type for showing preview images. The display type is either CAMERA_DISPLAY_TYPE_EVAS or CAMERA_DISPLAY_TYPE_OVERLAY.

                -

                The following example shows how to set the display according to the display_type parameter:

                - - - - - - - - - - -
                Note
                The camera state must be CAMERA_STATE_CREATED and the create_base_gui() function must be called before previewing.
                +

                Using the camera_set_display() function, you can set the display type for showing preview images. The display type is either CAMERA_DISPLAY_TYPE_EVAS or CAMERA_DISPLAY_TYPE_OVERLAY.

                +

                The following example shows how to set the display according to the display_type parameter:

                + + +
                + Note + The camera state must be CAMERA_STATE_CREATED and the create_base_gui() function must be called before previewing. +
                 int error_code = CAMERA_ERROR_NONE;
                @@ -173,8 +168,8 @@ if (error_code != CAMERA_ERROR_NONE) {
                 
              • Preview resolution -

                Set the preview resolution by calling the camera_set_preview_resolution() function before previewing.

                -

                The following example code sets the camera preview resolution to the first found supported resolution, which is returned from the camera_foreach_supported_preview_resolution() function:

                +

                Set the preview resolution by calling the camera_set_preview_resolution() function before previewing.

                +

                The following example code sets the camera preview resolution to the first found supported resolution, which is returned from the camera_foreach_supported_preview_resolution() function:

                 int resolution[2];
                @@ -197,7 +192,7 @@ error_code = camera_set_preview_resolution(cam_data.g_camera, resolution[0], res
                 
              • Capture format -

                Using the camera_set_capture_format() function, set the capture format. The available formats are defined in the camera_pixel_format_e enumeration (in mobile and wearable applications), such as NV12, NV16, and JPEG.

                +

                Using the camera_set_capture_format() function, set the capture format. The available formats are defined in the camera_pixel_format_e enumeration (in mobile and wearable applications), such as NV12, NV16, and JPEG.

                 error_code = camera_set_capture_format(cam_data.g_camera, CAMERA_PIXEL_FORMAT_JPEG);
                 
                @@ -207,8 +202,8 @@ error_code = camera_set_capture_format(cam_data.g_camera, CAMERA_PIXEL_FORMAT_JP

                To retrieve notifications, you must register appropriate callback functions for handling newly previewed frames and auto-focus state changes:

                • Camera preview -

                  To receive notifications about newly previewed frames, register a callback function using the camera_set_preview_cb() function. The callback is invoked once per frame during a preview.

                  -

                  The following example implements the _camera_preview_cb() callback, which starts auto-focusing using the camera_start_focusing() function:

                  +

                  To receive notifications about newly previewed frames, register a callback function using the camera_set_preview_cb() function. The callback is invoked once per frame during a preview.

                  +

                  The following example implements the _camera_preview_cb() callback, which starts auto-focusing using the camera_start_focusing() function:

                   error_code = camera_set_preview_cb(cam_data.g_camera, _camera_preview_cb, NULL);
                  @@ -228,12 +223,12 @@ _camera_preview_cb(camera_preview_data_s *frame, void *user_data)
                       }
                   }
                   
                  -

                  The second parameter of the camera_start_focusing() function is a Boolean flag defining whether the camera must continuously maintain focus. The g_enable_focus flag is set to true at the application startup. For the first frame of the preview, the camera starts auto-focusing. Subsequent calls to the callback do not provoke any action, which prevents the auto-focusing process from starting after the first previewed frame.

                  +

                  The second parameter of the camera_start_focusing() function is a Boolean flag defining whether the camera must continuously maintain focus. The g_enable_focus flag is set to true at the application startup. For the first frame of the preview, the camera starts auto-focusing. Subsequent calls to the callback do not provoke any action, which prevents the auto-focusing process from starting after the first previewed frame.

                • Auto-focus state change -

                  Before auto-focusing starts, the auto-focus state is CAMERA_FOCUS_STATE_RELEASED. After the camera_start_focusing() function is called, the camera starts auto-focusing and the state changes to CAMERA_FOCUS_STATE_ONGOING. If the auto-focusing finishes successfully, the state changes to CAMERA_FOCUS_STATE_FOCUSED. If the auto-focusing fails, the state changes to CAMERA_FOCUS_STATE_FAILED.

                  -

                  To receive notifications about auto-focusing state changes, register a callback using the camera_set_focus_changed_cb() function. The callback is invoked every time the auto-focus state changes.

                  -

                  The following example implements the _camera_focus_cb() callback, which starts capturing focused frames using the camera_start_capture() function:

                  +

                  Before auto-focusing starts, the auto-focus state is CAMERA_FOCUS_STATE_RELEASED. After the camera_start_focusing() function is called, the camera starts auto-focusing and the state changes to CAMERA_FOCUS_STATE_ONGOING. If the auto-focusing finishes successfully, the state changes to CAMERA_FOCUS_STATE_FOCUSED. If the auto-focusing fails, the state changes to CAMERA_FOCUS_STATE_FAILED.

                  +

                  To receive notifications about auto-focusing state changes, register a callback using the camera_set_focus_changed_cb() function. The callback is invoked every time the auto-focus state changes.

                  +

                  The following example implements the _camera_focus_cb() callback, which starts capturing focused frames using the camera_start_capture() function:

                   static void
                  @@ -255,18 +250,18 @@ _camera_focus_cb(camera_focus_state_e state, void *user_data)
                   
                   

                  Previewing and Capturing Images

                  -

                  After initializing the camera, you can start the preview, auto-focus, and capturing processes to take a photo. The camera preview starts with the camera_start_preview() function call, and it draws frames on the screen and allows you to capture frames as still images:

                  +

                  After initializing the camera, you can start the preview, auto-focus, and capturing processes to take a photo. The camera preview starts with the camera_start_preview() function call, and it draws frames on the screen and allows you to capture frames as still images:

                   error_code = camera_start_preview(cam_data.g_camera);
                   

                  After starting the camera preview, the image capturing flows as follows:

                    -
                  1. To handle the camera preview, the application calls the camera preview callback, which calls the camera_start_focusing() function starting the auto-focusing process.
                  2. -
                  3. To handle the auto-focusing process, the application calls the camera auto-focus callback, which calls the camera_start_capture() function starting the capturing process.
                  4. +
                  5. To handle the camera preview, the application calls the camera preview callback, which calls the camera_start_focusing() function starting the auto-focusing process.
                  6. +
                  7. To handle the auto-focusing process, the application calls the camera auto-focus callback, which calls the camera_start_capture() function starting the capturing process.
                  8. To handle the capturing process, the application calls the camera capturing callback, which is invoked once for each captured frame.
                  -

                  The following example code implements the _camera_capturing_cb() callback, which saves the captured frame as a JPEG image, whose format is set by the camera_set_capture_format() function:

                  +

                  The following example code implements the _camera_capturing_cb() callback, which saves the captured frame as a JPEG image, whose format is set by the camera_set_capture_format() function:

                   static void
                  @@ -282,8 +277,8 @@ _camera_capturing_cb(camera_image_data_s* image, camera_image_data_s* postview,
                   }
                   
                  -

                  You can get a notification when the image has been captured. After the camera_capturing_cb() function completes, the callback function, camera_capture_completed_cb(), is invoked. It is used for notification and for restarting the camera preview.

                  -

                  The following example code implements the _camera_completed_cb() callback, which waits 0.025 seconds before restarting the camera preview with auto-focusing. By waiting 0.025 seconds, the callback keeps the captured image on the screen for 0.025 seconds.

                  +

                  You can get a notification when the image has been captured. After the camera_capturing_cb() function completes, the callback function, camera_capture_completed_cb(), is invoked. It is used for notification and for restarting the camera preview.

                  +

                  The following example code implements the _camera_completed_cb() callback, which waits 0.025 seconds before restarting the camera preview with auto-focusing. By waiting 0.025 seconds, the callback keeps the captured image on the screen for 0.025 seconds.

                   static void
                  @@ -305,10 +300,10 @@ _camera_completed_cb(void *user_data)
                   

                  After you have finished working with the camera, you need to stop the camera and clean up the application environment:

                    -
                  1. If auto-focus is switched on, switch it off using the camera_cancel_focusing() function.
                  2. -
                  3. Stop the camera preview using the camera_stop_preview() function.
                  4. -
                  5. Unregister the camera preview and auto-focus callback functions using the camera_unset_preview_cb() and camera_unset_focus_changed_cb() functions.
                  6. -
                  7. Destroy the camera handle and release all the allocated resources using the camera_destroy() function.
                  8. +
                  9. If auto-focus is switched on, switch it off using the camera_cancel_focusing() function.
                  10. +
                  11. Stop the camera preview using the camera_stop_preview() function.
                  12. +
                  13. Unregister the camera preview and auto-focus callback functions using the camera_unset_preview_cb() and camera_unset_focus_changed_cb() functions.
                  14. +
                  15. Destroy the camera handle and release all the allocated resources using the camera_destroy() function.
                  diff --git a/org.tizen.training/html/native/feature/app_multimedia_video_n.htm b/org.tizen.training/html/native/feature/app_multimedia_video_n.htm
                  index 1a0ed5a..9c69afd 100644
                  --- a/org.tizen.training/html/native/feature/app_multimedia_video_n.htm
                  +++ b/org.tizen.training/html/native/feature/app_multimedia_video_n.htm
                  @@ -48,22 +48,22 @@
                   
                  1. Get the overlay region or Evas from the Graphics module. You can display video on a UI layer with the Evas object as well as on an overlay layer.
                  2. Create the player instance.
                  3. -
                  4. Set the surface type and display a handle to the player using the player_set_display() function.
                  5. +
                  6. Set the surface type and display a handle to the player using the player_set_display() function.

                  The following figure illustrates the player state changes.

                  -

                  Figure: Player state changes

                  +

                  Figure: Player state changes

                  Player state changes

                  Initializing the Video Player

                  -

                  You can create a player by calling the player_create() function, which returns a player handle on success. You need the player handle in setting which files to play and with which configuration. You also have to register appropriate callback functions to handle notifications about interruptions, ends, and errors during playback.

                  +

                  You can create a player by calling the player_create() function, which returns a player handle on success. You need the player handle in setting which files to play and with which configuration. You also have to register appropriate callback functions to handle notifications about interruptions, ends, and errors during playback.

                  To prepare the player for playback, and to define the necessary callbacks to handle playback events:

                  1. -

                    To use the data types and functions of the Player API (in mobile and wearable applications), include the <player.h> header file in your application:

                    +

                    To use the data types and functions of the Player API (in mobile and wearable applications), include the <player.h> header file in your application:

                     #include <player.h>
                     
                    @@ -91,7 +91,7 @@ init_base_player(appdata_s *ad)
                • Set configurations, such as the source file URI. -

                  To set a specific path for video files to play, retrieve the default internal storage paths. To access and use internal storage, include the <storage.h> header file in your application.

                  +

                  To set a specific path for video files to play, retrieve the default internal storage paths. To access and use internal storage, include the <storage.h> header file in your application.

                   #include <storage.h>
                   
                  @@ -141,7 +141,7 @@ _set_test_path()
                       strncat(video_path, MP4_SAMPLE, strlen(MP4_SAMPLE));
                   }
                   
                  -

                  Once the storage path is set, you can specify the video file to play using the player_set_uri() function with the player handle:

                  +

                  Once the storage path is set, you can specify the video file to play using the player_set_uri() function with the player handle:

                   error_code = player_set_uri(ad->player, video_path);
                   if (error_code != PLAYER_ERROR_NONE)
                  @@ -242,14 +242,14 @@ init_base_player(appdata_s *ad)
                   
                   
                  1. -

                    Unlike in audio playback, the video player needs a region to display. To set the display, use the player_set_display() function with the player handle, display type, and display handle. After the function has been successfully executed, the player is connected to the display. The display handle can be retrieved using the GET_DISPLAY() function.

                    +

                    Unlike in audio playback, the video player needs a region to display. To set the display, use the player_set_display() function with the player handle, display type, and display handle. After the function has been successfully executed, the player is connected to the display. The display handle can be retrieved using the GET_DISPLAY() function.

                     error_code = player_set_display(ad->player, PLAYER_DISPLAY_TYPE_OVERLAY, GET_DISPLAY(evas_obj));
                     
                  2. -

                    When the player is created, it is in the PLAYER_STATE_IDLE state. To start playback, it must be in the PLAYER_STATE_READY state.

                    -

                    Get the player ready for playback by calling the player_prepare() function, which changes the player state from PLAYER_STATE_IDLE to PLAYER_STATE_READY:

                    +

                    When the player is created, it is in the PLAYER_STATE_IDLE state. To start playback, it must be in the PLAYER_STATE_READY state.

                    +

                    Get the player ready for playback by calling the player_prepare() function, which changes the player state from PLAYER_STATE_IDLE to PLAYER_STATE_READY:

                     error_code = player_prepare(ad->player);
                     if (error_code != PLAYER_ERROR_NONE)
                    @@ -257,7 +257,7 @@ if (error_code != PLAYER_ERROR_NONE)
                     
                  3. -

                    Once the player is ready, start playing the video file using the player_start() function. The player state changes to PLAYER_STATE_PLAYING.

                    +

                    Once the player is ready, start playing the video file using the player_start() function. The player state changes to PLAYER_STATE_PLAYING.

                     error_code = player_start(ad->player);
                     if (error_code != PLAYER_ERROR_NONE)
                    @@ -265,8 +265,8 @@ if (error_code != PLAYER_ERROR_NONE)
                     
                  4. -

                    Stop playback by calling the player_stop() function. The player state changes back to PLAYER_STATE_READY.

                    -

                    By calling the player_pause() function, you can pause playback and change the player state to PLAYER_STATE_PAUSED.

                    +

                    Stop playback by calling the player_stop() function. The player state changes back to PLAYER_STATE_READY.

                    +

                    By calling the player_pause() function, you can pause playback and change the player state to PLAYER_STATE_PAUSED.

                  @@ -278,7 +278,7 @@ if (error_code != PLAYER_ERROR_NONE)
                  1. Check whether the display is visible. -

                    If the display is not visible, make it visible using the player_set_display_visible() function with true as the second parameter:

                    +

                    If the display is not visible, make it visible using the player_set_display_visible() function with true as the second parameter:

                     bool is_visible;
                     
                    @@ -292,14 +292,14 @@ if (!is_visible) {
                     
                  2. Set the display mode. -

                    The available display modes are defined in the player_display_mode_e enumeration (in mobile and wearable applications). Note that the DST ROI mode is deprecated from Tizen 3.0.

                    +

                    The available display modes are defined in the player_display_mode_e enumeration (in mobile and wearable applications). Note that the DST ROI mode is deprecated from Tizen 3.0.

                     error_code = player_set_display_mode(ad->player, PLAYER_DISPLAY_MODE_FULL_SCREEN);
                     dlog_print(DLOG_ERROR, LOG_TAG, "player_set_display_mode = %d", error_code);
                     
                  3. Set the display orientation. -

                    The display orientations are defined in the player_display_rotation_e enumeration (in mobile and wearable applications).

                    +

                    The display orientations are defined in the player_display_rotation_e enumeration (in mobile and wearable applications).

                     error_code = player_set_display_rotation(ad->player, PLAYER_DISPLAY_ROTATION_90);
                     dlog_print(DLOG_ERROR, LOG_TAG, "player_set_display_mode = %d", error_code);
                    @@ -312,8 +312,8 @@ dlog_print(DLOG_ERROR, LOG_TAG, "player_set_display_mode = %d", error_
                     

                    When you are finished using the player, release all the resources allocated to it:

                      -
                    1. Reset the player by calling the player_unprepare() function, which changes the player state to PLAYER_STATE_IDLE.
                    2. -
                    3. Destroy the player handle using the player_destroy() function.
                    4. +
                    5. Reset the player by calling the player_unprepare() function, which changes the player state to PLAYER_STATE_IDLE.
                    6. +
                    7. Destroy the player handle using the player_destroy() function.
                    @@ -337,7 +337,7 @@ if (error_code != PLAYER_ERROR_NONE)
                     

                    The supported formats in video recording are MP4 and 3GP.

                    The following figure illustrates the general recorder state changes.

                    -

                    Figure: Recorder state changes

                    +

                    Figure: Recorder state changes

                    Recorder state changes

                    Initializing the Video Recorder

                    @@ -346,7 +346,7 @@ if (error_code != PLAYER_ERROR_NONE)
                    1. -

                      To use the data types and functions of the Recorder API (in mobile and wearable applications), include the <recorder.h> header file in your application:

                      +

                      To use the data types and functions of the Recorder API (in mobile and wearable applications), include the <recorder.h> header file in your application:

                       #include <recorder.h>
                       
                      @@ -378,7 +378,7 @@ static int ret;
                      • Configure the camera. -

                        Create a handle for the camera using the camera_create() function. The parameters are the hardware camera to access and the camera handle to be returned. The camera state is set as CAMERA_STATE_CREATED.

                        +

                        Create a handle for the camera using the camera_create() function. The parameters are the hardware camera to access and the camera handle to be returned. The camera state is set as CAMERA_STATE_CREATED.

                         static recdata rec_data;
                         
                        @@ -395,7 +395,7 @@ if (error_code != CAMERA_ERROR_NONE)
                         
                      • Configure the video recorder. -

                        To create a handle for the video recorder, use the recorder_create_videorecorder() function with the camera and video recorder handles as parameters. The state of the video recorder is set as RECORDER_STATE_CREATED.

                        +

                        To create a handle for the video recorder, use the recorder_create_videorecorder() function with the camera and video recorder handles as parameters. The state of the video recorder is set as RECORDER_STATE_CREATED.

                         /* Create the video recorder handle */
                         error_code = recorder_create_videorecorder(rec_data.camera, &rec_data.recorder);
                        @@ -424,7 +424,7 @@ on_state_changed_cb(recorder_state_e previous, recorder_state_e current, bool by
                         
                      • You can set various attributes of video recording, such as video codec, file format, file name, encoder bitrate, as well as audio attributes:

                          -
                        • To set the video codec, you need to check first which codecs the device supports by calling the recorder_foreach_supported_video_encoder() function. The possible video codec values are defined in the recorder_video_codec_e enumeration (in mobile and wearable applications). Using the returned value and the recorder_set_video_encoder() function, you can set the video recorder codec: +
                        • To set the video codec, you need to check first which codecs the device supports by calling the recorder_foreach_supported_video_encoder() function. The possible video codec values are defined in the recorder_video_codec_e enumeration (in mobile and wearable applications). Using the returned value and the recorder_set_video_encoder() function, you can set the video recorder codec:
                           recorder_video_codec_e supported_codec;
                           
                          @@ -443,19 +443,19 @@ error_code = recorder_foreach_supported_video_encoder(rec_data.recorder, _video_
                           error_code = recorder_set_video_encoder(rec_data.recorder, supported_codec);
                           
                        • -
                        • To set the video encoder bitrate, use the recorder_attr_set_video_encoder_bitrate() function: +
                        • To set the video encoder bitrate, use the recorder_attr_set_video_encoder_bitrate() function:
                           /* Set the video encoder bitrate */
                           error_code = recorder_attr_set_video_encoder_bitrate(rec_data.recorder, g_bitrate);
                           
                        • -
                        • To set the file format, use the recorder_set_file_format() function. Make sure that the file format matches the video codec. +
                        • To set the file format, use the recorder_set_file_format() function. Make sure that the file format matches the video codec.
                           /* Set the file format */
                           error_code = recorder_set_file_format(rec_data.recorder, RECORDER_FILE_FORMAT_MP4);
                           
                        • -
                        • To set the file name, use the recorder_set_filename() function: +
                        • To set the file name, use the recorder_set_filename() function:
                           struct tm localtime = {0};
                           time_t rawtime = time(NULL);
                          @@ -475,39 +475,39 @@ if (localtime_r(&rawtime, &localtime) != NULL) {
                           error_code = recorder_set_filename(rec_data.recorder, filename);
                           
                        • -
                        • To set the audio attributes, such as encoder, encoder bitrate, and sample rate, use the recorder_set_audio_encoder(), recorder_attr_set_audio_encoder_bitrate(), and recorder_attr_set_audio_samplerate() functions, respectively.
                        • +
                        • To set the audio attributes, such as encoder, encoder bitrate, and sample rate, use the recorder_set_audio_encoder(), recorder_attr_set_audio_encoder_bitrate(), and recorder_attr_set_audio_samplerate() functions, respectively.

                    Managing Video Recording

                    -

                    When the recorder handle is created, the video recorder is in the RECORDER_STATE_CREATED state. To start recording, the video recorder must be in the RECORDER_STATE_READY state.

                    +

                    When the recorder handle is created, the video recorder is in the RECORDER_STATE_CREATED state. To start recording, the video recorder must be in the RECORDER_STATE_READY state.

                    To manage playback:

                    1. -

                      Change the player state from RECORDER_STATE_CREATED to RECORDER_STATE_READY by calling the recorder_prepare() function:

                      +

                      Change the player state from RECORDER_STATE_CREATED to RECORDER_STATE_READY by calling the recorder_prepare() function:

                       error_code = recorder_prepare(rec_data.recorder);
                       
                    2. -

                      Once the recorder is ready, start video recording using the recorder_start() function. The recorder state changes to RECORDER_STATE_RECORDING.

                      +

                      Once the recorder is ready, start video recording using the recorder_start() function. The recorder state changes to RECORDER_STATE_RECORDING.

                       error_code = recorder_start(rec_data.recorder);
                       
                    3. -

                      In the RECORDER_STATE_RECORDING state, you can pause or stop recording:

                      +

                      In the RECORDER_STATE_RECORDING state, you can pause or stop recording:

                        -
                      • To pause recording, call the recorder_pause() function that changes the recorder state to RECORDER_STATE_PAUSED. In this state, you can resume or stop recording. To resume, call the recorder_start() function. +
                      • To pause recording, call the recorder_pause() function that changes the recorder state to RECORDER_STATE_PAUSED. In this state, you can resume or stop recording. To resume, call the recorder_start() function.
                         error_code = recorder_pause(rec_data.recorder);
                         
                      • -
                      • You can stop recording either in the RECORDER_STATE_RECORDING or RECORDER_STATE_PAUSED state. In stopping recording, you can save or discard the recorded data. To save the recorded data, use the recorder_commit() function, and to discard, use the recorder_cancel() function. Both functions set the video recorder state to RECORDER_STATE_READY. +
                      • You can stop recording either in the RECORDER_STATE_RECORDING or RECORDER_STATE_PAUSED state. In stopping recording, you can save or discard the recorded data. To save the recorded data, use the recorder_commit() function, and to discard, use the recorder_cancel() function. Both functions set the video recorder state to RECORDER_STATE_READY.
                         error_code = recorder_commit(rec_data.recorder);
                         /* OR */
                        @@ -522,8 +522,8 @@ error_code = recorder_cancel(rec_data.recorder);
                         
                         

                        After you finish video recording, release all the resources allocated to the video recorder:

                          -
                        1. Reset the video recorder by calling the recorder_unprepare() function, which changes the recorder state from RECORDER_STATE_READY to RECORDER_STATE_CREATED.
                        2. -
                        3. Release the video recorder resources by calling the recorder_destroy() function. The recorder state changes to RECORDER_STATE_NONE.
                        4. +
                        5. Reset the video recorder by calling the recorder_unprepare() function, which changes the recorder state from RECORDER_STATE_READY to RECORDER_STATE_CREATED.
                        6. +
                        7. Release the video recorder resources by calling the recorder_destroy() function. The recorder state changes to RECORDER_STATE_NONE.
                         error_code = recorder_unprepare(rec_data->recorder);
                        diff --git a/org.tizen.training/html/native/feature/app_sensor_accelerator_n.htm b/org.tizen.training/html/native/feature/app_sensor_accelerator_n.htm
                        index 642e154..583a5e3 100644
                        --- a/org.tizen.training/html/native/feature/app_sensor_accelerator_n.htm
                        +++ b/org.tizen.training/html/native/feature/app_sensor_accelerator_n.htm
                        @@ -46,9 +46,9 @@
                         
                        1. Create a new project in the Tizen Studio with the Basic UI template, and specify the project name as SensorAccelerator.

                          For more information on how to create a project, see Creating a Project (in mobile and wearable applications).

                        2. -
                        3. In the new project, open the sensoraccelerator.c source file in the src folder and add the required library header file and variables: +
                        4. In the new project, open the sensoraccelerator.c source file in the src folder and add the required library header file and variables:
                            -
                          • The sensor.h file is a header file for various sensor libraries.
                          • +
                          • The sensor.h file is a header file for various sensor libraries.
                          • The purpose of the application is to display whether the accelerator sensor is supported, the current acceleration value, and the maximum value of acceleration. As a result, a variable is defined for each of these values.
                          @@ -67,11 +67,11 @@ typedef struct appdata appdata_s;
                      • -
                      • Create 2 new functions on top of the create_base_gui() function: +
                      • Create 2 new functions on top of the create_base_gui() function:
                          -
                        • The show_is_supported() function identifies whether the accelerator sensor is supported, and displays the result in the first label component. -

                          The sensor_is_supported() function requests the support information. Passing SENSOR_ACCELEROMETER as the first parameter makes the second parameter return the accelerator support information.

                        • -
                        • The my_box_pack() function adds a UI component to a box container.
                        • +
                        • The show_is_supported() function identifies whether the accelerator sensor is supported, and displays the result in the first label component. +

                          The sensor_is_supported() function requests the support information. Passing SENSOR_ACCELEROMETER as the first parameter makes the second parameter return the accelerator support information.

                        • +
                        • The my_box_pack() function adds a UI component to a box container.
                        @@ -105,7 +105,7 @@ my_box_pack(Evas_Object *box, Evas_Object *child,
                         
                      • -
                      • To create the box, add the first and second label to the box, and call the show_is_supported() function to determine the sensor support, you must modify the source code at the bottom of the create_base_gui() function as follows: +
                      • To create the box, add the first and second label to the box, and call the show_is_supported() function to determine the sensor support, you must modify the source code at the bottom of the create_base_gui() function as follows:
                         /* Conformant */
                        @@ -156,10 +156,10 @@ show_is_supported(ad);
                         

                        To implement a feature that requests the corresponding event as you shake the device, and displays the acceleration value on the screen:

                          -
                        1. Add a structure for the sensor and a global variable to the top of the sensoraccelerator.c source file: +
                        2. Add a structure for the sensor and a global variable to the top of the sensoraccelerator.c source file:
                            -
                          • The sensorinfo_s structure includes a sensor handle and an event listener variable.
                          • -
                          • The sensor_info is a global variable of the sensorinfo_s structure.
                          • +
                          • The sensorinfo_s structure includes a sensor handle and an event listener variable.
                          • +
                          • The sensor_info is a global variable of the sensorinfo_s structure.
                          @@ -183,16 +183,16 @@ static sensorinfo_s sensor_info;
                           
                           	
                        3. -
                        4. To request sensor events, you need a sensor handle and an event listener, and must start the listener. Create 2 new functions above the create_base_gui() function: +
                        5. To request sensor events, you need a sensor handle and an event listener, and must start the listener. Create 2 new functions above the create_base_gui() function:
                            -
                          • The _new_sensor_value() function is an event callback for the accelerator sensor, and it outputs a new sensor value to the screen. -

                            The sensor data is passed to the second parameter, and the values[0] field contains the X axis data, values[1] contains the Y axis data, and values[2] contains the Z axis data.

                          • -
                          • The start_accelerator_sensor() function starts the accelerator sensor and specifies the event callback function: +
                          • The _new_sensor_value() function is an event callback for the accelerator sensor, and it outputs a new sensor value to the screen. +

                            The sensor data is passed to the second parameter, and the values[0] field contains the X axis data, values[1] contains the Y axis data, and values[2] contains the Z axis data.

                          • +
                          • The start_accelerator_sensor() function starts the accelerator sensor and specifies the event callback function:
                              -
                            • The sensor_get_default_sensor() function gets a specific sensor handle. Passing SENSOR_ACCELEROMETER to the first parameter returns an accelerator sensor handle to the second parameter.
                            • -
                            • The sensor_create_listener() function creates an event listener. Passing a sensor handle to the first parameter returns a listener object to the second parameter.
                            • -
                            • The sensor_listener_set_event_cb() function specifies a callback function to the listener. The parameters follow this order: event listener, interval (in milliseconds), callback function name, and user data.
                            • -
                            • The sensor_listener_start() function starts the listener.
                            • +
                            • The sensor_get_default_sensor() function gets a specific sensor handle. Passing SENSOR_ACCELEROMETER to the first parameter returns an accelerator sensor handle to the second parameter.
                            • +
                            • The sensor_create_listener() function creates an event listener. Passing a sensor handle to the first parameter returns a listener object to the second parameter.
                            • +
                            • The sensor_listener_set_event_cb() function specifies a callback function to the listener. The parameters follow this order: event listener, interval (in milliseconds), callback function name, and user data.
                            • +
                            • The sensor_listener_start() function starts the listener.
                          @@ -223,7 +223,7 @@ start_accelerator_sensor(appdata_s *ad)
                      • -
                      • To operate the event listener automatically when the application starts running, invoke the above start_accelerator_sensor() function at the end of the create_base_gui() function: +
                      • To operate the event listener automatically when the application starts running, invoke the above start_accelerator_sensor() function at the end of the create_base_gui() function:
                         /* Show the window after the base GUI is set up */
                        @@ -238,7 +238,7 @@ start_accelerator_sensor(ad);
                         

                        To test on the emulator, use the control panel:

                        1. Right-click the emulator and select Control Panel. -

                          Emulator control panel

                          +

                          Emulator Control Panel

                        2. In the control panel tree list on the left, select Event Injector > 3-Axis Sensors.
                        3. @@ -257,7 +257,7 @@ start_accelerator_sensor(ad);

                          To access the maximum acceleration value:

                            -
                          1. Declare an array variable in a number format at the top of the sensoraccelerator.c source file and reset it to 0. This variable saves the maximum acceleration value. +
                          2. Declare an array variable in a number format at the top of the sensoraccelerator.c source file and reset it to 0. This variable saves the maximum acceleration value.
                             struct _sensor_info {
                            @@ -272,7 +272,7 @@ static float max_acc_value[3] = {0.f, 0.f, 0.f};
                             
                          3. -
                          4. To create the third label and a button, add new code to the create_base_gui() function. +
                          5. To create the third label and a button, add new code to the create_base_gui() function.

                            The button resets the maximum value to 0, when clicked.

                            @@ -294,11 +294,11 @@ my_box_pack(box, ad->label2, 1.0, 1.0, 0.5, -1.0);
                             
                          6. -
                          7. Create 2 new functions and add new code to the _new_sensor_value() function: +
                          8. Create 2 new functions and add new code to the _new_sensor_value() function:
                              -
                            • The get_absolute_max() function compares 2 values and returns the higher one by changing 2 real numbers to absolute values.
                            • -
                            • The new code in the _new_sensor_value() function saves the maximum values of the X, Y, and Z axis acceleration in the global variable and outputs them to the third label component.
                            • -
                            • The btn_clicked_init_max_acc_value() function resets the maximum value saved in the global variable to 0 when you click the button.
                            • +
                            • The get_absolute_max() function compares 2 values and returns the higher one by changing 2 real numbers to absolute values.
                            • +
                            • The new code in the _new_sensor_value() function saves the maximum values of the X, Y, and Z axis acceleration in the global variable and outputs them to the third label component.
                            • +
                            • The btn_clicked_init_max_acc_value() function resets the maximum value saved in the global variable to 0 when you click the button.
                             static float
                            diff --git a/org.tizen.training/html/native/feature/app_sensor_proximity_n.htm b/org.tizen.training/html/native/feature/app_sensor_proximity_n.htm
                            index b66aca8..952ac71 100644
                            --- a/org.tizen.training/html/native/feature/app_sensor_proximity_n.htm
                            +++ b/org.tizen.training/html/native/feature/app_sensor_proximity_n.htm
                            @@ -44,9 +44,9 @@
                             
                            1. Create a new project in the Tizen Studio with the Basic UI template, and specify the project name as SensorProximity.

                              For more information on how to create a project, see Creating a Project (in mobile and wearable applications).

                            2. -
                            3. In the new project, open the sensorproximity.c source file in the src folder and add the required library header file and variables: +
                            4. In the new project, open the sensorproximity.c source file in the src folder and add the required library header file and variables:
                                -
                              • The sensor.h file is a header file for various sensor libraries.
                              • +
                              • The sensor.h file is a header file for various sensor libraries.
                              • The purpose of the application is to display whether the proximity sensor is supported, and the current distance value. As a result, a variable is defined for both of these values.
                              @@ -63,11 +63,11 @@ struct appdata { typedef struct appdata appdata_s;
                          9. -
                          10. Create 2 new functions on top of the create_base_gui() function: +
                          11. Create 2 new functions on top of the create_base_gui() function:
                              -
                            • The show_is_supported() function identifies whether the proximity sensor is supported, and displays the result in the first label component. -

                              The sensor_is_supported() function requests the support information. Passing SENSOR_PROXIMITY as the first parameter makes the second parameter return the proximity support information.

                            • -
                            • The my_box_pack() function adds a UI component to a box container.
                            • +
                            • The show_is_supported() function identifies whether the proximity sensor is supported, and displays the result in the first label component. +

                              The sensor_is_supported() function requests the support information. Passing SENSOR_PROXIMITY as the first parameter makes the second parameter return the proximity support information.

                            • +
                            • The my_box_pack() function adds a UI component to a box container.
                            @@ -101,7 +101,7 @@ my_box_pack(Evas_Object *box, Evas_Object *child,
                             
                          12. -
                          13. To create the box, add the 2 labels to the box, and call the show_is_supported() function to determine the sensor support, you must modify the source code at the bottom of the create_base_gui() function as follows: +
                          14. To create the box, add the 2 labels to the box, and call the show_is_supported() function to determine the sensor support, you must modify the source code at the bottom of the create_base_gui() function as follows:
                             /* Conformant */
                            @@ -153,10 +153,10 @@ show_is_supported(ad);
                             

                            To implement a feature that requests the corresponding event as the proximity sensor detects an object, and displays the distance value on the screen:

                              -
                            1. Add a structure for the sensor and a global variable to the top of the sensorproximity.c source file: +
                            2. Add a structure for the sensor and a global variable to the top of the sensorproximity.c source file:
                                -
                              • The sensorinfo_s structure includes a sensor handle and an event listener variable.
                              • -
                              • The sensor_info is a global variable of the sensorinfo_s structure.
                              • +
                              • The sensorinfo_s structure includes a sensor handle and an event listener variable.
                              • +
                              • The sensor_info is a global variable of the sensorinfo_s structure.
                              @@ -179,16 +179,16 @@ static sensorinfo_s sensor_info;
                               
                               	
                            3. -
                            4. To request sensor events, you need a sensor handle and an event listener, and must start the listener. Create 2 new functions above the create_base_gui() function: +
                            5. To request sensor events, you need a sensor handle and an event listener, and must start the listener. Create 2 new functions above the create_base_gui() function:
                                -
                              • The _new_sensor_value() function is an event callback for the proximity sensor, and it outputs a new sensor value to the screen. -

                                The sensor data is passed to the second parameter. The distance data is saved in values[0].

                              • -
                              • The start_proximity_sensor() function starts the proximity sensor and specifies the event callback function: +
                              • The _new_sensor_value() function is an event callback for the proximity sensor, and it outputs a new sensor value to the screen. +

                                The sensor data is passed to the second parameter. The distance data is saved in values[0].

                              • +
                              • The start_proximity_sensor() function starts the proximity sensor and specifies the event callback function:
                                  -
                                • The sensor_get_default_sensor() function gets a specific sensor handle. Passing SENSOR_PROXIMITY to the first parameter returns an proximity sensor handle to the second parameter.
                                • -
                                • The sensor_create_listener() function creates an event listener. Passing a sensor handle to the first parameter returns a listener object to the second parameter.
                                • -
                                • The sensor_listener_set_event_cb() function specifies a callback function to the listener. The parameters follow this order: event listener, interval (in milliseconds), callback function name, and user data.
                                • -
                                • The sensor_listener_start() function starts the listener.
                                • +
                                • The sensor_get_default_sensor() function gets a specific sensor handle. Passing SENSOR_PROXIMITY to the first parameter returns an proximity sensor handle to the second parameter.
                                • +
                                • The sensor_create_listener() function creates an event listener. Passing a sensor handle to the first parameter returns a listener object to the second parameter.
                                • +
                                • The sensor_listener_set_event_cb() function specifies a callback function to the listener. The parameters follow this order: event listener, interval (in milliseconds), callback function name, and user data.
                                • +
                                • The sensor_listener_start() function starts the listener.
                              @@ -218,7 +218,7 @@ start_proximity_sensor(appdata_s *ad)
                          15. -
                          16. To operate the event listener automatically when the application starts running, invoke the above start_proximity_sensor() function at the end of the create_base_gui() function: +
                          17. To operate the event listener automatically when the application starts running, invoke the above start_proximity_sensor() function at the end of the create_base_gui() function:
                             /* Show the window after the base GUI is set up */
                            diff --git a/org.tizen.training/html/native/feature/ui_builder_app_design_mn.htm b/org.tizen.training/html/native/feature/ui_builder_app_design_mn.htm
                            index 7c22196..35af738 100644
                            --- a/org.tizen.training/html/native/feature/ui_builder_app_design_mn.htm
                            +++ b/org.tizen.training/html/native/feature/ui_builder_app_design_mn.htm
                            @@ -64,57 +64,57 @@
                             
                             

                            After you have created the project, the Tizen Studio changes to the UI Builder perspective with the applicable views, and the project structure is shown in the Project Explorer view.

                            -

                            Figure: UI Builder views and default project structure

                            +

                            Figure: UI Builder views and default project structure

                            UI Builder views and default project structure

                            The following table describes the content of the default project folders and files.

                            +

                            Table: Default project content

                            - - + - + - + - + - + - + - + - + - +
                            Table: Default project content
                            File or folder Content
                            Folder incFolder inc Folder for the default include path
                            Folder resFolder res Resource folder of the Tizen Studio
                            Folder sharedFolder shared Shared folder
                            Folder srcFolder src Application source files
                              -
                            • src/managed: UI layout source files automatically generated by the native UI Builder
                            • -
                            • src/event_handler: Event handler source files
                            • +
                            • src/managed: UI layout source files automatically generated by the native UI Builder
                            • +
                            • src/event_handler: Event handler source files
                            Folder layoutFolder layout Layout folder
                            Folder libFolder lib Library folder
                            Layout layout.xmlLayout layout.xml Layout meta file
                            Icon icon.pngIcon icon.png Application icon file
                            Manifest tizen-manifest.xmlManifest tizen-manifest.xml Tizen native application manifest XML file
                            @@ -148,7 +148,7 @@

                            Using the above steps, you can create a layout for your UI. For example, you can create a Login view by adding a grid, label, entry, button, and check UI components, and setting their properties and events.

                            -

                            Figure: Login view

                            +

                            Figure: Login view

                            Login view

                            Using the XML Editor

                            @@ -161,25 +161,25 @@
                            • Source tab

                              You can switch to the XML editor by clicking the Source tab at the top of the WYSIWYG Editor view. In the Source tab, you can edit the layout XML file.

                              -

                              Figure: Source tab

                              +

                              Figure: Source tab

                              Source tab

                            • Content assist

                              The native UI Builder provides content assist functionality, which helps you to write code faster and more efficiently. To use this functionality, type a few characters of the word and press Ctrl+Space. The proposals are shown in a popup as in the following figure.

                              -

                              Figure: Content assist

                              +

                              Figure: Content assist

                              Content assist

                            • Auto complete

                              If you select a tag in the suggested list with content assist, the auto complete feature automatically adds the end tag.

                              -

                              Figure: Auto complete

                              +

                              Figure: Auto complete

                              Auto complete

                            • Selection synchronization

                              If you move a focus to another UI component in the Source tab, the selection in Preview pane is automatically synchronized. Similarly, if you change the selection in the preview pane, the focus in the Source tab moves accordingly.

                              -

                              Figure: Selection synchronization

                              +

                              Figure: Selection synchronization

                              Selection synchronization

                            @@ -237,7 +237,7 @@ void view1_button1_onclicked(uib_view1_view_context *vc, Evas_Object *obj, void *event_info)
                              -
                            • vc: View context related to the event. You can access the UI component in the view through this structure. The following code example shows a sample of the view context. +
                            • vc: View context related to the event. You can access the UI component in the view through this structure. The following code example shows a sample of the view context.
                               struct _uib_view1_view_context {
                                   /* Parent evas_object which was parameter of create function */
                              @@ -261,8 +261,8 @@ struct _uib_view1_view_context {
                               typedef struct _uib_view1_view_context uib_view1_view_context;
                               
                            • -
                            • obj: UI component where the event occurs.
                            • -
                            • event_info: User data passed from the Tizen framework. The event type is defined in the above event handle code.
                            • +
                            • obj: UI component where the event occurs.
                            • +
                            • event_info: User data passed from the Tizen framework. The event type is defined in the above event handle code.
                          18. @@ -297,8 +297,8 @@ typedef struct _uib_view1_view_context uib_view1_view_context;

                            Connection options

                            The Go to Source Code option takes you to the source code, where 2 functions have been generated:

                              -
                            • One is called before the transition is performed to the target view (view1_<UI_component>_<event>()).
                            • -
                            • One is provided after the transition has been performed (view1_<UI_component>_<event>_post()).
                            • +
                            • One is called before the transition is performed to the target view (view1_<UI_component>_<event>()).
                            • +
                            • One is provided after the transition has been performed (view1_<UI_component>_<event>_post()).

                            You can perform whatever pre or post transition operations you want in these functions.

                            Pre and post transition operations

                            @@ -323,7 +323,7 @@ typedef struct _uib_view1_view_context uib_view1_view_context;

                            The following figure shows the running application. If you click the Login button, the text changes to Click to login.

                            -

                            Figure: Running Login application

                            +

                            Figure: Running Login application

                            Running Login application

                            diff --git a/org.tizen.training/html/native/feature/ui_builder_overview_mn.htm b/org.tizen.training/html/native/feature/ui_builder_overview_mn.htm index 05b39af..d8e58ea 100644 --- a/org.tizen.training/html/native/feature/ui_builder_overview_mn.htm +++ b/org.tizen.training/html/native/feature/ui_builder_overview_mn.htm @@ -69,7 +69,7 @@

                            The main reason Tizen uses EFL is its speed. EFL is highly optimized by using a scene graph and retained-mode rendering, resulting in EFL being fast even in software rendering.

                            A graphics system adopting the retained mode is basically responsible for responding to all repaint requests for rendering the application objects. Clients do not directly cause actual rendering, but objects are redrawn when parts of them are updated. In other words, since EFL (Evas) works with the retained mode, there is no need to command any drawing.

                            -

                            Figure: Retained-mode rendering

                            +

                            Figure: Retained-mode rendering

                            Retained-mode rendering

                            Separation of UI and Logic with Edje

                            @@ -81,14 +81,14 @@

                      The following figure describes the behavior of the EDC files.

                      -

                      Figure: EDC file behavior

                      +

                      Figure: EDC file behavior

                      EDC file behavior

                      EFL Structure on Tizen

                      EFL is a collection of libraries that cover a range of functionality from managing the application life-cycle to rendering graphical objects. EFL libraries build on top of each other in layers, steadily becoming higher-level, yet allowing access to lower levels. The higher up you go, the less you have to do yourself. Elementary is at the top, but you still access the layers below it for common tasks, as there is no need for Elementary to wrap things that work perfectly well as-is.

                      To learn more about each library, go to Introduction. This section only briefly describes the hierarchical structure of your application on Tizen.

                      -

                      Figure: EFL structure

                      +

                      Figure: EFL structure

                      EFL structure

                      When you create a basic EFL application, you use the following main libraries as a basis:

                      @@ -109,7 +109,7 @@

                      To manage multiple views with EFL on Tizen applications, create a naviframe object. The naviframe can contain multiple views, and is a top-layer object which can help your application to manage and switch views. If your application has only one view, you do not need the naviframe.

                      The following figure illustrates the most popular view hierarchy for managing multiple views.

                      -

                      Figure: View hierarchy for multiple views

                      +

                      Figure: View hierarchy for multiple views

                      View hierarchy for multiple views

                        @@ -124,7 +124,7 @@

                        If you want to make a structure for each situation (single and multiple views), the following figure illustrates a possible structure.

                        -

                        Figure: UI hierarchy structure

                        +

                        Figure: UI hierarchy structure

                        UI hierarchy structure

                        Elementary UI Component Library

                        diff --git a/org.tizen.training/html/native/mobile/first_app_mn.htm b/org.tizen.training/html/native/mobile/first_app_mn.htm index b6cb87a..7a9b7df 100644 --- a/org.tizen.training/html/native/mobile/first_app_mn.htm +++ b/org.tizen.training/html/native/mobile/first_app_mn.htm @@ -46,7 +46,7 @@

                        A mobile native application is created using the C language, and can be run on Tizen mobile devices. The application uses the native API, which provides various interfaces to the device hardware allowing you to take advantage of numerous capabilities tailored to run with limited device resources.

                        -

                        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 mobile native application, which displays some text on the screen with no user interaction:

                        +

                        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 mobile native application, which displays some text on the screen with no user interaction:

                        1. Before you get started with developing Tizen applications, download and install the Tizen Studio. @@ -70,7 +70,7 @@

                          The following figure illustrates the application to be created. The application screen displays the Hello Tizen text and no user interaction is provided. If you click the Back key on the device, the application moves to the background.

                          -

                          Figure: Mobile native Basic UI application

                          +

                          Figure: Mobile native Basic UI application

                          Mobile native Basic UI application

                          To create the application project:

                          @@ -121,27 +121,22 @@

                          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

                          • +
                          • 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

                          +

                          Figure: Application in the Project Explorer

                          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.
                          +
                          + 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.

                          @@ -152,7 +147,7 @@
                          1. -

                            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 Project Explorer view, double-click the tizen-manifest.xml file of the application. The Tizen Studio opens the file in the manifest editor.

                          2. @@ -165,17 +160,13 @@
                          3. Localization: Define localized values for the application label, description, and icon.

                          4. Advanced: Define advanced features, such as application metadata, data control for services, application control functionalities, and account details.

                          5. -

                            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.
                            +

                            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. +
                            +
                    4. @@ -214,7 +205,7 @@

                      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

                      +

                      Figure: Manually building the application

                      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.
                      • @@ -223,7 +214,7 @@
                      -

                      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.

                      +

                      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.

                      @@ -241,7 +232,7 @@
                    5. Create and launch an emulator instance in the Emulator Manager:
                      1. In the Connection Explorer view, launch the Emulator Manager by clicking the related icon. -

                        Emulator manager icon

                        +

                        Emulator Manager icon

                      2. In the Emulator Manager, click Create.

                        Creating an emulator instance

                        @@ -285,20 +276,14 @@
                      3. Confirm that the application launches on the emulator.

                        Application running in the emulator

                        - - - - - - - - - -
                        Note
                        If the emulator display has switched off, you cannot see the application launch. To see the application on the emulator screen: +
                        + Note + If the emulator display has switched off, you cannot see the application launch. To see the application on the emulator screen:
                          -
                        1. To switch the display on, in the key window next to the emulator screen, click Power.
                        2. +
                        3. To switch the display on, in the key window next to the emulator screen, click Power.
                        4. On the home screen, swipe left.
                        5. -
                        +
                      +

                      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.

                    6. @@ -337,21 +322,16 @@
                    7. Confirm that the application launches in the target device.
                    - - - - - - - - - -
                    Note
                    The application is launched using the default debug run configuration. To create and use another configuration: + +
                    + Note + The application is launched using the default debug run configuration. To create and use another configuration:
                      -
                    1. In the Project Explorer view, right-click the project and select Run As > Run Configurations.
                    2. -
                    3. In the Run Configurations window, click the New Launch Configuration icon (New Launch Configuration icon), define the configuration details, and launch the application by clicking Run. +
                    4. In the Project Explorer view, right-click the project and select Run As > Run Configurations.
                    5. +
                    6. In the Run Configurations window, click the New Launch Configuration icon (New Launch Configuration icon), define the configuration details, and launch the application by clicking Run.

                      Run Configurations window

                    7. -
                    +
                  +

                  If you want to run your application without a local device, see Managing and Connecting Devices for Testing.

                • @@ -383,26 +363,26 @@ typedef struct appdata appdata_s;
          4. Registering Life-cycle Callbacks

            -

            The main() function has callbacks that manage specific parts of the application life-cycle:

            +

            The main() function has callbacks that manage specific parts of the application life-cycle:

              -
            • app_create +
            • app_create
              • Called when the application process starts.
              • Used to create UI components.
            • -
            • app_terminate +
            • app_terminate
              • Called while the application process is terminating.
              • Called after the main loop quits.
            • -
            • app_resume (UI applications only) +
            • app_resume (UI applications only)
              • Called when the application window is shown.
            • -
            • app_pause (UI applications only) +
            • app_pause (UI applications only)
              • Called when the application window is totally hidden.
            • -
            • app_control -
              • Called after the app_create callback when the process starts or called when a launch request is received while the process is running.
              • -
              • Can receive app_control data (parameters for launching the application).
              • +
              • app_control +
                • Called after the app_create callback when the process starts or called when a launch request is received while the process is running.
                • +
                • Can receive app_control data (parameters for launching the application).
                • Used to implement parameter-specific actions of the application.
              @@ -431,7 +411,7 @@ main(int argc, char *argv[])

          Creating UI Objects

          -

          The app_create() function is called when the process starts, and it calls the create_base_gui() function:

          +

          The app_create() function is called when the process starts, and it calls the create_base_gui() function:

           static bool
          @@ -451,7 +431,7 @@ app_create(void *data)
           }
           
          -

          In the create_base_gui() function, you can create a simple user interface that consists of window, conformant, and label objects. The function receives a pointer to fill in the ad structure.

          +

          In the create_base_gui() function, you can create a simple user interface that consists of window, conformant, and label objects. The function receives a pointer to fill in the ad structure.

           static void
          @@ -492,7 +472,7 @@ create_base_gui(appdata_s *ad)
           
           
          • -

            Window objects can be created by using the elm_win_util_standard_add() function and adding callbacks on window objects. One of the callbacks handles the delete,request event when the window is to be closed, and the other handles the EEXT_CALLBACK_BACK event when the hardware back key is pressed.

            +

            Window objects can be created by using the elm_win_util_standard_add() function and adding callbacks on window objects. One of the callbacks handles the delete,request event when the window is to be closed, and the other handles the EEXT_CALLBACK_BACK event when the hardware back key is pressed.

             /*
            @@ -512,9 +492,9 @@ eext_object_event_callback_add(ad->win, EEXT_CALLBACK_BACK, win_back_cb, ad);
             
          • You can create a conformant object that is based on the window. The conformant goes inside the window first.

            -

            The elm_win_indicator_mode_set() function decides whether the indicator is visible, and the elm_win_indicator_opacity_set() function sets the indicator opacity mode.

            -

            You can set the conformant object 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 object directly.

            -

            The evas_object_show() function makes the conformant object visible.

            +

            The elm_win_indicator_mode_set() function decides whether the indicator is visible, and the elm_win_indicator_opacity_set() function sets the indicator opacity mode.

            +

            You can set the conformant object 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 object directly.

            +

            The evas_object_show() function makes the conformant object visible.

             /*
            @@ -531,8 +511,8 @@ evas_object_show(ad->conform);
             
          • -

            You can add a label object for text by using the elm_label_add() function. It adds a new label to the parent (conformant object).

            -

            You can also set the text to the label by using the elm_object_text_set() function.

            +

            You can add a label object for text by using the elm_label_add() function. It adds a new label to the parent (conformant object).

            +

            You can also set the text to the label by using the elm_object_text_set() function.

             /*
            @@ -547,7 +527,7 @@ elm_object_content_set(ad->conform, ad->label);
             
          • -

            When all the UI components are ready, make the window object visible by using the evas_object_show() function. This sets the window to display everything on the screen at once.

            +

            When all the UI components are ready, make the window object visible by using the evas_object_show() function. This sets the window to display everything on the screen at once.

             /* Show the window after the base GUI is set up */
            diff --git a/org.tizen.training/html/native/process/app_dev_process_n.htm b/org.tizen.training/html/native/process/app_dev_process_n.htm
            index 6dabd8f..81fa091 100644
            --- a/org.tizen.training/html/native/process/app_dev_process_n.htm
            +++ b/org.tizen.training/html/native/process/app_dev_process_n.htm
            @@ -74,17 +74,12 @@
                
          • Designing and creating the application UI (User Interface)

            You can design and create the application UI (user interface) with UI Builder.

            UI Builder is included in the Tizen Studio, and functions as a WYSIWYG (What You See Is What You Get) design environment for creating UIs for native applications.

            - - - - - - - - - -
            Note
            You can also design the application UI using the controls defined in the User Interface guides. -
            + +
            + Note + You can also design the application UI using the controls defined in the User Interface guides. +
            +
          • Coding applications

            Code your application in the Tizen Studio using the namespaces defined in the Native API Reference (in mobile and wearable applications).

          • @@ -103,10 +98,10 @@

            Running and Debugging the Application

            -

            You can run your application in the Emulator. The device Emulator, provided with the Tizen Studio, imitates the target environment running Tizen native applications. Using this replicated environment, you can test your application before deploying it to the real target device.

            +

            You can run your application in the emulator. The device emulator, provided with the Tizen Studio, imitates the target environment running Tizen native applications. Using this replicated environment, you can test your application before deploying it to the real target device.

            -

            You can also debug your application with the Emulator. The Emulator represents the almost identical functionality of the corresponding device model.

            The Emulator provides the following debugging capabilities:

            +

            You can also debug your application with the emulator. The emulator represents the almost identical functionality of the corresponding device model.

            The emulator provides the following debugging capabilities:

            • Injecting events with the Event Injector view
            • Simulating peripheral devices
            • @@ -119,7 +114,7 @@

              You can also optimize your application to achieve the best possible performance.

              -

              To debug your application with the Emulator or the target device, you must first build the application.

              +

              To debug your application with the emulator or the target device, you must first build the application.

              Packaging the Application

              @@ -154,27 +149,20 @@

              In the Project Explorer view, a message (with the UI application) appears next to the referenced project name for all the applications you have added to the package.

        -

        After packaging the multi-project application, the package consists of the application binary, resource, and data files of the root and referenced applications. Their tizen-manifest.xml files are merged into one. The application ID in the tizen-manifest.xml must be assigned with the package ID as a prefix.

        +

        After packaging the multi-project application, the package consists of the application binary, resource, and data files of the root and referenced applications. Their tizen-manifest.xml files are merged into one. The application ID in the tizen-manifest.xml must be assigned with the package ID as a prefix.

      9. Build and run the UI application.

        The service or widget application is built and run automatically while the UI application is built and run.

      - - - - - - - - - -
      Note
      Tizen has limited a multi-project application combination policy for device usability. If you do not follow the policy, the submission of your application to the Tizen Store can be rejected. +
      + Note + Tizen has limited a multi-project application combination policy for device usability. If you do not follow the policy, the submission of your application to the Tizen Store can be rejected.

      For your convenience, some policies can be allowed in the Tizen Studio only. For example, you can make a STANDALONE service application or STANDALONE widget application in the Tizen Studio, but these applications can be rejected in the Tizen Store.

      -
      +

      The following table shows the possible combinations for a native multi-project. 1 means that only one application can be packaged as a sub application, while M means that multiple applications can be packaged as sub applications. The STANDALONE column defines whether the application can be packaged alone as the main application.

      +

      Table: Combinations

      - @@ -254,7 +242,7 @@

      To certify and publish your application:

      • Upload your mobile native application to the Tizen Store or your wearable native application to the Samsung Galaxy Apps Store for registration. -

        After the application is uploaded, the application is signed as a certified application installer package and the <Application_name>.tpk archive format, which contains the distributor signature, is added by the Tizen Store or Samsung Galaxy Apps Store.

        +

        After the application is uploaded, the application is signed as a certified application installer package and the <Application_name>.tpk archive format, which contains the distributor signature, is added by the Tizen Store or Samsung Galaxy Apps Store.

      • Check your application to the Tizen Store or Samsung Galaxy Apps Store for validation and selling.

        The Tizen Store or Samsung Galaxy Apps Store checks whether your application functions properly.

        @@ -266,7 +254,7 @@

        You can also upgrade your application after certification. If you want to withdraw your application from distribution and operation, you need to request for application retirement from the Tizen Store or Samsung Galaxy Apps Store.

        The following figure illustrates the process of developing a Tizen native application.

        -

        Figure: Native application development process

        +

        Figure: Native application development process

        Native application development process

        diff --git a/org.tizen.training/html/native/process/building_app_n.htm b/org.tizen.training/html/native/process/building_app_n.htm index 57956cc..afedf92 100644 --- a/org.tizen.training/html/native/process/building_app_n.htm +++ b/org.tizen.training/html/native/process/building_app_n.htm @@ -35,29 +35,24 @@

        In the Tizen Studio, different build configurations are available for different development steps:

          -
        • The Debug build is used to debug and test the application.

          The binary, data, and debug files are stored in a Debug folder under the project in the workspace.

          This is the default build configuration.

          In the debug mode, the debug level is Maximum (-g3) and optimization level is None (-O0).

        • +
        • The Debug build is used to debug and test the application.

          The binary, data, and debug files are stored in a Debug folder under the project in the workspace.

          This is the default build configuration.

          In the debug mode, the debug level is Maximum (-g3) and optimization level is None (-O0).

        • The Release build is used for the tested, release-ready version of the application. -

          The compiled binary file is stored in a Release folder +

          The compiled binary file is stored in a Release folder under the project in the workspace.

          In the release mode, the debug level is Default (-g) and optimization level is Optimize most (-O3).

          The release mode build itself does not strip the debug symbol. Stripping is done only in the packaging step for the ARM architecture.

          -
      Table: Combinations
      Main project
      - - - - - - - - -
      Note
      The Tizen Studio automatically switches application logging off in the release mode. To enable logging in the release mode: + +
      + Note + The Tizen Studio automatically switches application logging off in the release mode. To enable logging in the release mode:
        -
      1. In the Tizen Studio menu, select Project > Properties.
      2. -
      3. In the Properties window, go to C/C++Build > Settings > C Complier > Debugging.
      4. -
      5. Select the Enable application logging check box.
      6. -
    2. +
    3. In the Tizen Studio menu, select Project > Properties.
    4. +
    5. In the Properties window, go to C/C++Build > Settings > C Complier > Debugging.
    6. +
    7. Select the Enable application logging check box.
    8. +
    +

    To set the target architecture:

    @@ -137,16 +132,13 @@ API or privilege violations, which are displayed in the ProblemsIncludes

    Set the include path or files

  • Optimization

    Set optimization options

  • Debugging

    Set debugging options

    - - - - - - - - - -
    Note

    The Enable Application logging option is enabled for the Debug build configuration. The option is disabled in the Release configuration.

  • + +
    + Note + The Enable Application logging option is enabled for the Debug build configuration. The option is disabled in the Release configuration. +
    + +
  • Warnings

    Set warning options

  • Miscellaneous

    Set miscellaneous options

  • diff --git a/org.tizen.training/html/native/process/creating_app_project_n.htm b/org.tizen.training/html/native/process/creating_app_project_n.htm index c4ab78f..2100841 100644 --- a/org.tizen.training/html/native/process/creating_app_project_n.htm +++ b/org.tizen.training/html/native/process/creating_app_project_n.htm @@ -50,27 +50,22 @@
  • Define the project properties and click Finish.

    You can fill the project name. You can also select the location and working sets by clicking More properties.

    - - - - - - - - - -
    Note
    The Tizen API names cannot be used as project names. The project name must be more than 2 characters and is restricted to the following regular expression: [a-zA-Z][a-zA-Z0-9-]{2,49}.
    + +
    + Note + The Tizen API names cannot be used as project names. The project name must be more than 2 characters and is restricted to the following regular expression: [a-zA-Z][a-zA-Z0-9-]{2,49}. +

    Defining properties

    The Project Wizard sets up the project, creates the application files using the default content from the template, and closes. For more information about the Project Wizard and the available templates, see Creating Tizen Projects with Tizen Project Wizard.

  • -

    The new application project is shown in the Project Explorer view of the Tizen Studio, with default content in the tizen-manifest.xml file as well as in several project folders.

    +

    The new application project is shown in the Project Explorer view of the Tizen Studio, with default content in the tizen-manifest.xml file as well as in several project folders.

    Importing a Project

    If you have an existing Tizen application project, you can import it into the Tizen Studio:

    1. Select File > Import > Tizen > Tizen Project, and click Next.
    2. -
    3. Click Browse and select the root directory, which contains your existing project, or native application package file (with the .tpk extension).
    4. +
    5. Click Browse and select the root directory, which contains your existing project, or native application package file (with the .tpk extension).
    6. With the Platform drop-down lists, select the platform profile and version.
    7. Click Finish.
    diff --git a/org.tizen.training/html/native/process/debugging_app_n.htm b/org.tizen.training/html/native/process/debugging_app_n.htm index 57ee733..bd3419c 100644 --- a/org.tizen.training/html/native/process/debugging_app_n.htm +++ b/org.tizen.training/html/native/process/debugging_app_n.htm @@ -38,16 +38,14 @@

    Debugging Applications

    Debugging your application enables you to understand its flow of control. With the Tizen Studio, you can use various application debugging methods. However, remember that the best way to debug an application is to not make bugs in the first place, so learn how to prevent bugs by using logs.

    -

    The debugging environment uses GDB (GNU Debugger) for debugging with the Emulator and a target device. GDB can debug both locally and remotely. To ease the debugging process, you can set break points, step in, step out, and step over break points, and watch variables to track the changes in their values in the Debug view.

    +

    The debugging environment uses GDB (GNU Debugger) for debugging with the emulator and a target device. GDB can debug both locally and remotely. To ease the debugging process, you can set break points, step in, step out, and step over break points, and watch variables to track the changes in their values in the Debug view.

    Debugging native applications with Tizen Studio is same as with Eclipse CDT. For more information, see Debugging in Eclipse.

    Debug View

    The Debug view provides debug control buttons that help you to track source code easily.

    You can control debug execution in various ways. After a break point suspends the program execution, you can step through your program or suspend the program by force. To control the execution, use the following control buttons in the Debug view.

    - - +

    Table: Debug view control buttons

    +
    - Table: Debug view control buttons -
    @@ -93,7 +91,7 @@

    Normal Debugging

    The normal debugging method is used to debug from start to finish an executable Tizen application, which can be run as a standalone. To debug the application:

      -
    1. In the Project Explorer view, right-click the project and select Debug As > Tizen native Application.

      Debugging starts.

    2. +
    3. In the Project Explorer view, right-click the project and select Debug As > Tizen Native Application.

      Debugging starts.

    4. To stop the program execution, select Run > Suspend in the Tizen Studio menu. The program can be stopped also by a break point you have set before debugging.

    You can debug the source code by, for example, checking variables, registers, and memory. You can also use the Step Over, Step In, and Resume buttons in the Debug view for step-by-step debugging actions.

    @@ -103,29 +101,29 @@

    If the Tizen Studio workspace has a project that contains the source code of the application currently running on the target, you can apply "attach debugging" at a source level.

    To debug an application that is already running on the emulator or a device:

      -
    • In the Project Explorer view, right-click the project and select Debug As > Tizen native Application - Attach.

      +
    • In the Project Explorer view, right-click the project and select Debug As > Tizen Native Application - Attach.

      Note that the source code of the project must be related to the application that is running on the target.

    Remote Debugging

    The Tizen Studio supports remote debugging. Remote debugging is used to debug the OS Kernel or a system which cannot support local debugging. Remote debugging requires a "GDB client" on the host side and a "GDB server" on the target side. Both sides must be connected by serial or TCP/IP communication.

    -

    Figure: Remote debugging

    +

    Figure: Remote debugging

    Remote debugging

    Remote Debugging Process

    A cross remote debugging environment is used to support the armel architecture of the Tizen devices. This means that the "cross GDB" and "GDB server" are used instead of native GDB and GDB server. Tizen also supports native (i386) remote debugging for the i386 emulator.

    The Eclipse CDT based Tizen Studio supports the UI and control of the debugging process. The following figure shows the control flow of the remote debugging process.

    -

    Figure: Remote debugging control flow

    +

    Figure: Remote debugging control flow

    Remote debugging control flow

    Debugging with Logs

    -

    EFL provides a tool (EINA_LOG) for logging information. It has the following levels:

    +

    EFL provides a tool (EINA_LOG) for logging information. It has the following levels:

      -
    • EINA_LOG_LEVEL_CRITICAL = 0
    • -
    • EINA_LOG_LEVEL_ERR = 1
    • -
    • EINA_LOG_LEVEL_WARN = 2
    • -
    • EINA_LOG_LEVEL_INFO = 3
    • -
    • EINA_LOG_LEVEL_DBG = 4
    • +
    • EINA_LOG_LEVEL_CRITICAL = 0
    • +
    • EINA_LOG_LEVEL_ERR = 1
    • +
    • EINA_LOG_LEVEL_WARN = 2
    • +
    • EINA_LOG_LEVEL_INFO = 3
    • +
    • EINA_LOG_LEVEL_DBG = 4

    Execute the application using one of the following commands:

    @@ -135,12 +133,12 @@ EINA_LOG_LEVEL=1 ./sample export EINA_LOG_LEVEL=1 -

    Use the EINA_LOG_LEVELS=elementary:1,evas:4 parameters to see the logs domain by domain, and change the log level using EINA_LOG_ABORT_LEVEL.

    -

    To terminate the application when EINA_LOG is shown, use EINA_LOG_ABORT=1.

    +

    Use the EINA_LOG_LEVELS=elementary:1,evas:4 parameters to see the logs domain by domain, and change the log level using EINA_LOG_ABORT_LEVEL.

    +

    To terminate the application when EINA_LOG is shown, use EINA_LOG_ABORT=1.

    Already Deleted Parameter Log

    -

    The following log is shown when the ecore_idler_del() function is used and the pointer address is deleted again.

    -

    When you use ecore_timer, ecore_animator, and ecore_idler, you can often see this log.

    +

    The following log is shown when the ecore_idler_del() function is used and the pointer address is deleted again.

    +

    When you use ecore_timer, ecore_animator, and ecore_idler, you can often see this log.

     ERR<4268>:ecore ecore.c:558 _ecore_magic_fail()
    @@ -154,13 +152,13 @@ ERR<4268>:ecore ecore.c:571 _ecore_magic_fail() *** NAUGHTY PROGRAMMER!!!
     
     

    To fix the problem:

    -
    1. Make a new ecore_idler and save the pointer address to myidler:

      +
      1. Make a new ecore_idler and save the pointer address to myidler:

         Ecore_Idler *myidler = ecore_idler_add(_idler_cb, data);
         
      2. -
      3. Define the idler callback. When it returns ECORE_CALLBACK_CANCEL, the ecore_idler is deleted. The pointer address in myidler is not deleted. So you add myidler = NULL:

        +
      4. Define the idler callback. When it returns ECORE_CALLBACK_CANCEL, the ecore_idler is deleted. The pointer address in myidler is not deleted. So you add myidler = NULL:

         static Eina_Bool
         _idler_cb(void *data)
        @@ -170,7 +168,7 @@ _idler_cb(void *data)
             return ECORE_CALLBACK_CANCEL;
         }
         
        -

        Similarly, if you use the ecore_idler_del() function, add myidler = NULL:

        +

        Similarly, if you use the ecore_idler_del() function, add myidler = NULL:

         if (myidler) {
             ecore_idler_del(myidler);
        @@ -179,7 +177,7 @@ if (myidler) {
         

      Parameter Logs

      -

      The following log is shown when the ecore_idler_del() parameter is of the wrong type:

      +

      The following log is shown when the ecore_idler_del() parameter is of the wrong type:

       ERR<4266>:ecore ecore.c:558 _ecore_magic_fail()
       *** ECORE ERROR: Ecore Magic Check Failed!!!
      @@ -195,12 +193,12 @@ ERR<4266>:ecore ecore.c:571 _ecore_magic_fail() *** NAUGHTY PROGRAMMER!!!
       
       

      Part Name Logs

      -

      The elm_object_part_content_set() function is often used as follows:

      +

      The elm_object_part_content_set() function is often used as follows:

       btn = elm_button_add(win)
       elm_object_part_content_set(btn, "hahaha", tmp);
       
      -

      The following log is shown when the hahaha swallow part does not exist:

      +

      The following log is shown when the hahaha swallow part does not exist:

       ERR<6919>:elementary elm_layout.c:969 _elm_layout_elm_container_content_set() could not swallow 0x80000005a000002e into part 'hahaha'
       
      @@ -328,7 +326,7 @@ collections }
      -

      Part1 is calculated by part2 and part1 is of the minimum size, (100, 100). But the size of part2 is no bigger than 50. So Edje has no idea how to calculate part1. Use fixed: 1 1; on part1 for the correct calculation to fix the problem:

      +

      Part1 is calculated by part2 and part1 is of the minimum size, (100, 100). But the size of part2 is no bigger than 50. So Edje has no idea how to calculate part1. Use fixed: 1 1; on part1 for the correct calculation to fix the problem:

       ERR<4357>:edje lib/edje/edje_util.c:3069 _edje_object_size_min_restricted_calc() file, group fixed has a non-fixed part 'part1'. Adding 'fixed: 1 1;' to source EDC may help. Continuing discarding faulty part.
      @@ -369,7 +367,7 @@ ERR<4357>:edje lib/edje/edje_util.c:3069 _edje_object_size_min_restricted_
          
    2. In the Variables, Outline, or Expressions view, right-click a variable, and select Add Watchpoint (C/C++).
    3. Define the details and click OK.
    -

    Figure: Watch point details

    +

    Figure: Watch point details

    Watch point details

    The added watch points are displayed in the Breakpoints view.

    To execute watch points, set the read/write access of the expression you want to watch. When running the application, the program breaks when the address of the expression is valid.

    @@ -389,20 +387,20 @@ ERR<4357>:edje lib/edje/edje_util.c:3069 _edje_object_size_min_restricted_
  • Drag and drop it into the Expressions view.
  • -

    Figure: Expressions view

    +

    Figure: Expressions view

    Expressions view

    Debugging Applications on the Emulator

    -

    You can debug Tizen native applications on the Emulator using the Project Explorer view or the Tizen Studio menu.

    -

    To debug your application on the Emulator:

    +

    You can debug Tizen native applications on the emulator using the Project Explorer view or the Tizen Studio menu.

    +

    To debug your application on the emulator:

      -
    1. Start the Emulator in the Connections view.
    2. +
    3. Start the emulator in the Connections view.
    4. Start the debugging by doing one of the following:

        -
      • In the Project Explorer view, right-click the project and select Debug As > Tizen native Application.
      • -
      • In the Tizen Studio menu, go to Debug > Debug As > Tizen native Application.
      • +
      • In the Project Explorer view, right-click the project and select Debug As > Tizen Native Application.
      • +
      • In the Tizen Studio menu, go to Run > Debug As > Tizen Native Application.
      • On the Tizen Studio toolbar, click Debug.
      • -

      If the application binary does not exist, it is built automatically for the Emulator.

      If many active Emulator instances are connected, select the Emulator to run the application from the dialog box.

    5. +

      If the application binary does not exist, it is built automatically for the emulator.

      If many active emulator instances are connected, select the emulator to run the application from the dialog box.

    6. The debug messages are displayed in the Tizen Studio Console view. To see the GDB console, in the Console view, click the Display Selected Console button and select the option containing gdb. With the GDB console, you can also execute GDB commands.

      To display verbose GDB output in the GDB console:

      • Right-click the Project Explorer view and select Debug As > Debug Configurations.
      • @@ -410,17 +408,17 @@ ERR<4357>:edje lib/edje/edje_util.c:3069 _edje_object_size_min_restricted_
      • Click Debug.
    7. -
    8. Use the application in the Emulator as you would in a target device.

      +
    9. Use the application in the emulator as you would in a target device.

      While the application is running, the Tizen Studio Log view shows the log, debug, and exception messages from the methods defined in the log macros.

    10. To stop debugging, do one of the following:

        -
      • In the Tizen Studio, in the Console or Debug view, click the Terminate button. If the application execution is not suspended before you click the Terminate button, touch an arbitrary control on the screen or press a hard key on the Emulator after clicking Terminate.
      • -
      • On the Emulator, press the End key.
      • +
      • In the Tizen Studio, in the Console or Debug view, click the Terminate button. If the application execution is not suspended before you click the Terminate button, touch an arbitrary control on the screen or press a hard key on the emulator after clicking Terminate.
      • +
      • On the emulator, press the End key.

    After debugging, run your application again to check its functionality and to ensure that the bugs detected during the debugging process are fixed.

    -

    In the Emulator settings, you can change the display language settings, keyboard language settings, proxy address, and location settings. In addition, you can use the +

    In the emulator settings, you can change the display language settings, keyboard language settings, proxy address, and location settings. In addition, you can use the Emulator Control Panel to generate application events (such as sensor data, incoming calls, or location data) for debugging and testing purposes.

    diff --git a/org.tizen.training/html/native/process/performance_n.htm b/org.tizen.training/html/native/process/performance_n.htm index b7f0da3..33b897b 100644 --- a/org.tizen.training/html/native/process/performance_n.htm +++ b/org.tizen.training/html/native/process/performance_n.htm @@ -43,7 +43,7 @@

    The application performance optimization features include measuring and improving application performance.

    If an application performs poorly and gives delayed responses to user actions, the user experience can suffer. To avoid this situation, some parts of the code must be optimized.

    -

    Most processors that are used today in mobile phones are based on multi-core technologies and so you must consider utilizing this hardware feature. To effectively utilize multi-core capabilities, you need to divide your code to run on several cores simultaneously. Traditionally, this is done by using pthreads, but this method has an overhead of initialization and termination of threads, and can generate potential runtime errors. Several solutions exist to exploit multi-core capabilities easily. These solutions abstract pthreads, allowing you to focus on the application development without worrying about thread level management.

    +

    Most processors that are used today in mobile phones are based on multi-core technologies and so you must consider utilizing this hardware feature. To effectively utilize multi-core capabilities, you need to divide your code to run on several cores simultaneously. Traditionally, this is done by using pthreads, but this method has an overhead of initialization and termination of threads, and can generate potential runtime errors. Several solutions exist to exploit multi-core capabilities easily. These solutions abstract pthreads, allowing you to focus on the application development without worrying about thread level management.

    To improve the performance of an application:

      @@ -72,7 +72,7 @@
      • Select the most appropriate algorithm and data structures.
      • -
      • High-level optimization is important, because it can change the order of complexity. If your code includes sort, search, or compare, use optimal algorithms and data structures.
      • +
      • High-level optimization is important, because it can change the order of complexity. If your code includes sort, search, or compare, use optimal algorithms and data structures.
      • Split a task, which contains both high and low priority jobs, to prevent low priority jobs delaying high priority jobs. Running high and low priority jobs in a single task causes delays.
      • Do not run heavy calculations in the same thread as your UI.
      • Use optimization options provided by toolchains.
      • @@ -153,12 +153,11 @@
      • Select the View > Report > Function Profiling in the menu to show the Function Profiling table displaying the methods consuming the most time. Click the title of a column to view the sorted results.
      • To view the execution time of the methods called within a specific time period, use the range inspection feature of the Dynamic Analyzer.
      -

      Figure: Function Profiling table

      +

      Figure: Function Profiling table

      Function Profiling table

    1. Timeline CPU chart

      When analyzing application performance, the CPU load is one of the most significant factors. A CPU load peak can result in a performance bottleneck. High CPU load leads to increased memory consumption, which shortens the battery life of the device running the application. To avoid this, you need to optimize your code.

      -

      To detect and fix CPU load peaks with the CPU load feature of the Dynamic Analyzer:

      1. Select the Timeline tab and view the CPU chart.
      2. @@ -167,14 +166,14 @@
      3. Right-click the highlighted method and select View Declaration Source. The source code is displayed as a tooltip. To investigate the method, double-click it, and the source code is displayed in the Tizen Studio.
      4. Modify the code in the Tizen Studio, re-build, and re-analyze the application to see if the bottleneck has been eliminated.
      -

      Figure: Timeline CPU chart and Call Trace table

      +

      Figure: Timeline CPU chart and Call Trace table

      Timeline CPU chart and Call Trace table

    2. Thread load

      If you use threads in your application code, you need to analyze the load of each thread during the application execution. The thread load feature helps to distribute the thread load. You can modify the code to optimize the thread load, while maintaining a single thread.

      The thread load is displayed in the Thread tab. The thread line displayed in blue indicates the thread load within a time frame. The darker the color, the higher the load.

      -

      Figure: Thread load

      +

      Figure: Thread load

      Thread load

    3. @@ -206,12 +205,11 @@
    4. Heap memory profiling

      This option uses the Massif tool to profile your application.

    5. -
    6. On the General setting tab, set the general Valgrind options. These options are used for both Memcheck and Massif profiling.

      Figure: Memory error and memory leak data options

      +
    7. On the General setting tab, set the general Valgrind options. These options are used for both Memcheck and Massif profiling.

      +

      Figure: Memory error and memory leak data options

      Memory error and memory leak data options

      -
    Button
    - +

    Table: General setting options

    +
    - Table: General setting options -
    @@ -222,9 +220,9 @@ - + +

    The GNU C library (libc.so), which is used by all applications, can allocate memory for its own uses. Usually it does not free that memory when the application ends, since the Linux kernel reclaims all process resources when a process exits anyway. The glibc authors realized that this behavior causes leak checkers, such as Valgrind, to falsely report leaks in glibc, when a leak check is done at exit. In order to avoid this, they provided a routine called __libc_freeres() specifically to make glibc release all memory it has allocated. Memcheck therefore tries to run __libc_freeres() at exit. Unfortunately, in some very old versions of glibc, __libc_freeres() is sufficiently buggy to cause segmentation faults. This was particularly noticeable on Red Hat 7.1. So this option is provided in order to inhibit the run of __libc_freeres(). If your application seems to run fine on Valgrind, but segfaults at exit, disabling this option can fix the problem, although at the cost of possibly falsely reporting space leaks in libc.so.

    @@ -242,7 +240,7 @@ - + @@ -259,10 +257,8 @@
    Option nameWhen enabled, Valgrind traces into sub-processes initiated through the exec system call. This is necessary for multi-project applications. Valgrind does trace into the child of a fork (it would be difficult not to, since fork makes an identical copy of a process), so this option is arguably badly named. However, most children of fork calls immediately call exec anyway.
    run __libc_freeres() on exitrun __libc_freeres() on exit This option is only relevant when running Valgrind on Linux. -

    The GNU C library (libc.so), which is used by all applications, can allocate memory for its own uses. Usually it does not free that memory when the application ends, since the Linux kernel reclaims all process resources when a process exits anyway. The glibc authors realized that this behavior causes leak checkers, such as Valgrind, to falsely report leaks in glibc, when a leak check is done at exit. In order to avoid this, they provided a routine called __libc_freeres() specifically to make glibc release all memory it has allocated. Memcheck therefore tries to run __libc_freeres() at exit. Unfortunately, in some very old versions of glibc, __libc_freeres() is sufficiently buggy to cause segmentation faults. This was particularly noticeable on Red Hat 7.1. So this option is provided in order to inhibit the run of __libc_freeres(). If your application seems to run fine on Valgrind, but segfaults at exit, disabling this option can fix the problem, although at the cost of possibly falsely reporting space leaks in libc.so.

    demangle C++ names
    show errors below mainBy default, stack traces for errors do not show any methods that appear beneath main(). Alternatively, if main() is not present in the stack trace, it does not show any methods below main()-like methods, such as glibc's __libc_start_main(). Furthermore, if main()-like methods are present in the trace, they are normalized (below main()), in order to make the output more deterministic. If this option is enabled, all stack trace entries are shown and main()-like methods are not normalized.By default, stack traces for errors do not show any methods that appear beneath main(). Alternatively, if main() is not present in the stack trace, it does not show any methods below main()-like methods, such as glibc's __libc_start_main(). Furthermore, if main()-like methods are present in the trace, they are normalized (below main()), in order to make the output more deterministic. If this option is enabled, all stack trace entries are shown and main()-like methods are not normalized.
    max size of stack frame
  • On the Tool Advanced setting tab, set the advanced options.

    The tab content depends on the selection you have made on the Collect data tab.

    - - +

    Table: Tool Advanced setting options for memory error and memory leak profiling

    +
    - Table: Tool Advanced setting options for memory error and memory leak profiling -
    @@ -297,10 +293,8 @@
    Option name
    - - +

    Table: Tool Advanced setting options for heap memory profiling

    +
    - Table: Tool Advanced setting options for heap memory profiling -
    @@ -390,7 +384,7 @@
  • Stack (B): Size of the stacks. By default, stack profiling is disabled as it slows profiling. It is enabled using the profile stack option.
  • -

    Figure: Heap memory profiling results

    +

    Figure: Heap memory profiling results

    Heap memory profiling results

    A snapshot with a green icon in front has a heap tree with a callstack. Double-click the entry to see the callstack details.

    diff --git a/org.tizen.training/html/native/process/running_app_n.htm b/org.tizen.training/html/native/process/running_app_n.htm index 85aaa38..22ce19f 100644 --- a/org.tizen.training/html/native/process/running_app_n.htm +++ b/org.tizen.training/html/native/process/running_app_n.htm @@ -25,24 +25,24 @@

    Mobile native Wearable native

    Running Applications

    -

    You can run Tizen native applications on the Emulator using the Project Explorer view or the Tizen Studio menu.

    -

    To run your application on the Emulator:

    +

    You can run Tizen native applications on the emulator using the Project Explorer view or the Tizen Studio menu.

    +

    To run your application on the emulator:

    1. Before you run the application, you must sign your application package by generating an author certificate and registering it in the Tizen Studio.

      If you have already registered your certificate in the Tizen Studio, the signature is generated automatically while running your application.

    2. -
    3. Start the Emulator in the Connections view.
    4. +
    5. Start the emulator in the Connections view.
    6. Start the run by doing one of the following:

        -
      • In the Project Explorer view, right-click the project and select Run As > Tizen native Application.
      • -
      • In the Tizen Studio menu, go to Run > Run As > Tizen native Application.
      • +
      • In the Project Explorer view, right-click the project and select Run As > Tizen Native Application.
      • +
      • In the Tizen Studio menu, go to Run > Run As > Tizen Native Application.
      • On the Tizen Studio toolbar, click Run.
      • -

      If the application binary does not exist, it is built automatically for the Emulator.

      -

      If many active Emulator instances are connected, select the Emulator to run the application from the dialog box.

    7. -
    8. Use the application in the Emulator as you would in a target device.

      +

      If the application binary does not exist, it is built automatically for the emulator.

      +

      If many active emulator instances are connected, select the emulator to run the application from the dialog box.

    9. +
    10. Use the application in the emulator as you would in a target device.

      While the application is running, the Tizen Studio Log view shows the log, debug, and exception messages from the methods defined in the log macros.

    11. -
    12. To terminate the run, exit the application on the Emulator.

    13. +
    14. To terminate the run, exit the application on the emulator.

    -

    In the Emulator settings, you can change the display language settings, keyboard language settings, proxy address, and location settings. In addition, you can use the Event Injector view to generate application events (such as sensor data, incoming calls, or location data) for debugging and testing purposes.

    +

    In the emulator settings, you can change the display language settings, keyboard language settings, proxy address, and location settings. In addition, you can use the Event Injector view to generate application events (such as sensor data, incoming calls, or location data) for debugging and testing purposes.

    Rapid Development Support

    Rapid Development Support (RDS) lets you develop a Tizen application rapidly by saving deployment time.

    @@ -57,20 +57,13 @@
    1. Search for the delta files (changed, added, and deleted files).
    2. Transfer the delta files to the target.
    3. -
    4. If the tizen-manifest.xml file has been modified, execute directory installation.
    5. +
    6. If the tizen-manifest.xml file has been modified, execute directory installation.

    The RDS option is enabled as default. To disable it, in the Tizen Studio, go to Window > Preferences > Tizen Studio > Rapid Development Support.

    -
    Option name
    - - - - - - - - -
    Note
    Currently, this option is not supported in multi-app projects.
    - +
    + Note + Currently, this option is not supported in multi-app projects. +
    diff --git a/org.tizen.training/html/native/process/setting_properties_n.htm b/org.tizen.training/html/native/process/setting_properties_n.htm index d727c96..163bb3d 100644 --- a/org.tizen.training/html/native/process/setting_properties_n.htm +++ b/org.tizen.training/html/native/process/setting_properties_n.htm @@ -43,16 +43,12 @@
    • To set the application project properties for API and privilege checks, right-click the project in the Tizen Studio Project Explorer view and select Properties. After setting or changing a property, click OK.
    • -
    • To define the application manifest settings, edit the tizen-manifest.xml file. +
    • To define the application manifest settings, edit the tizen-manifest.xml file. - - - - - - - -
      Note
      Only modify the manifest file by using the manifest editor in the Tizen Studio. If you create or edit the tizen-manifest.xml file using any other text editor, your application may not work as expected.
      +
      + Note + Only modify the manifest file by using the manifest editor in the Tizen Studio. If you create or edit the tizen-manifest.xml file using any other text editor, your application may not work as expected. +

    After you have finished setting the project properties, you are ready to design the UI and implement the application code.

    @@ -70,19 +66,17 @@
  • During code editing, select the Run API and privilege checks while editing option.
  • You can also perform the usage checks manually after building the application, by right-clicking the project in the Project Explorer view and selecting Check API and Privilege Violations With Build. The results are displayed in the Problems view.

    - - - - - - - -
    Note
    If the application has conflicting API versions, the build fails and the results are displayed in the Problems view.
    + + +
    + Note + If the application has conflicting API versions, the build fails and the results are displayed in the Problems view. +

    Setting the Application Manifest

    -

    The application manifest consists of application information, such as package, version, features, and privileges, which are available for the application. To configure the application information in the manifest editor, double-click the application tizen-manifest.xml file in the Project Explorer view.

    -

    Figure: Setting the application manifest

    +

    The application manifest consists of application information, such as package, version, features, and privileges, which are available for the application. To configure the application information in the manifest editor, double-click the application tizen-manifest.xml file in the Project Explorer view.

    +

    Figure: Setting the application manifest

    Setting the application manifest

    You can edit the application properties using the form tabs of the manifest editor.

    @@ -100,10 +94,9 @@
  • View the application executable file path.
  • Add an application icon.

    You can add a launcher icon to your application by defining it in the Icon panel. If your application supports both HD and WVGA, it is best to provide an icon for HD for better image quality in both cases.

    The following table describes the available icons.

    + +

    Table: Application icons

    -@@ -200,13 +193,13 @@
    • In the Name panel, click +. Select the language, define the application name for that language, and click OK. -

      The following example shows the setting in the tizen-manifest.xml file code:

      +

      The following example shows the setting in the tizen-manifest.xml file code:

       <label xml:lang="en-us">This is a sample</label>
       
    • In the Description panel, click +. Select the language, define the application description text for that language, and click OK. -

      The following example shows the setting in the tizen-manifest.xml file code:

      +

      The following example shows the setting in the tizen-manifest.xml file code:

       <description xml:lang="en-us">This is a sample</description>
       
      @@ -246,10 +239,8 @@
    • Add accounts (in mobile applications only).

      Account providers, such as Google and Facebook, represent specific service provider-related information or protocol that provides user accounts. To add, update, or remove accounts, you must register a specific account provider in your application.

      To register an account provider, click + in the Account section and define the account provider information, as described in the following table.

      +

      Table: Account provider properties

    - Table: Application icons -
    - @@ -259,7 +250,7 @@ +bool +String @@ -276,7 +267,7 @@ +String +String +String +String - +
    - Table: Account provider properties -
    Account property
    Multiple account -bool

    Indicates whether multiple accounts are supported.

    This is a mandatory property.

    @@ -268,7 +259,7 @@
    Provider ID -String

    ID of the account provider.

    Default label -String

    Display name of the account provider.

    This is a mandatory property.

    @@ -286,7 +277,7 @@
    Icons Icon -String

    File path of the account provider icon.

    The icon size is:

      @@ -300,7 +291,7 @@
    Icon small -String

    File path of the account provider icon.

    The icon size is:

      @@ -315,7 +306,7 @@
    Name -String

    Localization support for the display name.

    To add a localized name, click + in the Name panel, select the language, define the display name for that language, and click OK.

    @@ -323,36 +314,36 @@
    CapabilitiesStringString

    Capability of the account provider.

    -

    Capabilities are defined in the http://<VENDOR_INFORMATION>/accounts/capability/<NAME> IRI format.

    The following predefined capabilities can be used in Tizen:

    +

    Capabilities are defined in the http://<VENDOR_INFORMATION>/accounts/capability/<NAME> IRI format.

    The following predefined capabilities can be used in Tizen:

    • - http://tizen.org/account/capability/calendar

      Used when the account is related to a calendar.

      + http://tizen.org/account/capability/calendar

      Used when the account is related to a calendar.

    • - http://tizen.org/account/capability/contact

      Used when the account is related to contacts.

      + http://tizen.org/account/capability/contact

      Used when the account is related to contacts.

    • - http://tizen.org/account/capability/document

      Used when the account is related to a document.

      + http://tizen.org/account/capability/document

      Used when the account is related to a document.

    • - http://tizen.org/account/capability/email

      Used when the account is related to email.

      + http://tizen.org/account/capability/email

      Used when the account is related to email.

    • - http://tizen.org/account/capability/game

      Used when the account is related to a game.

      + http://tizen.org/account/capability/game

      Used when the account is related to a game.

    • - http://tizen.org/account/capability/message

      Used when the account is related to a message.

      + http://tizen.org/account/capability/message

      Used when the account is related to a message.

    • - http://tizen.org/account/capability/music

      Used when the account is related to music.

      + http://tizen.org/account/capability/music

      Used when the account is related to music.

    • - http://tizen.org/account/capability/photo

      Used when the account is related to a photo.

      + http://tizen.org/account/capability/photo

      Used when the account is related to a photo.

    • - http://tizen.org/account/capability/video

      Used when the account is related to a video.

      + http://tizen.org/account/capability/video

      Used when the account is related to a video.

    @@ -371,18 +362,13 @@

    Editing the tizen-manifest.xml File in the Source Tab

    -

    The Source tab of the manifest editor shows the code of the tizen-manifest.xml file. You can edit the basic syntax of the XML document and also see how changes made on the other tabs are reflected in the raw XML source content.

    - - - - - - - - - -
    Note
    If you edit application information manually in the tizen-manifest.xml file source code, you can introduce errors preventing the application from running normally. -
    +

    The Source tab of the manifest editor shows the code of the tizen-manifest.xml file. You can edit the basic syntax of the XML document and also see how changes made on the other tabs are reflected in the raw XML source content.

    + + +
    + Note + If you edit application information manually in the tizen-manifest.xml file source code, you can introduce errors preventing the application from running normally. +
    diff --git a/org.tizen.training/html/native/wearable/first_app_wn.htm b/org.tizen.training/html/native/wearable/first_app_wn.htm index 15231bd..47057b1 100644 --- a/org.tizen.training/html/native/wearable/first_app_wn.htm +++ b/org.tizen.training/html/native/wearable/first_app_wn.htm @@ -45,7 +45,7 @@

    A wearable native application is created using the C language, and can be run on Tizen wearable devices. The application uses the native API, which provides various interfaces to the device hardware allowing you to take advantage of numerous capabilities tailored to run with limited device resources.

    -

    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 application, which displays some text on the screen with no user interaction:

    +

    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 application, which displays some text on the screen with no user interaction:

    1. Before you get started with developing Tizen applications, download and install the Tizen Studio. @@ -69,7 +69,7 @@

      The following figure illustrates the application to be created. The application screen displays the Hello Tizen text and no user interaction is provided. If you click the Back key on the device, the application moves to the background.

      -

      Figure: Wearable native Basic UI application

      +

      Figure: Wearable native Basic UI application

      Wearable native Basic UI application

      To create the application project:

      @@ -120,27 +120,21 @@

      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

      • +
      • 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

      +

      Figure: Application in the Project Explorer

      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.
      +
      + 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.

      @@ -151,7 +145,7 @@
      1. -

        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 Project Explorer view, double-click the tizen-manifest.xml file of the application. The Tizen Studio opens the file in the manifest editor.

      2. @@ -164,17 +158,12 @@
      3. Localization: Define localized values for the application label, description, and icon.

      4. Advanced: Define advanced features, such as application metadata, data control for services, application control functionalities, and account details.

      5. -

        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.
        +

        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. +
      6. @@ -212,7 +201,7 @@

        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

        +

        Figure: Manually building the application

        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.
        • @@ -221,7 +210,7 @@
        -

        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.

        +

        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.

        @@ -238,7 +227,7 @@
      7. Create and launch an emulator instance in the Emulator Manager:
        1. In the Connection Explorer view, launch the Emulator Manager by clicking the related icon. -

          Emulator manager icon

          +

          Emulator Manager icon

        2. In the Emulator Manager, click Create.

          Creating an emulator instance

          @@ -281,17 +270,11 @@
        3. Confirm that the application launches on the emulator.

          Application running in 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 right bottom corner of 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 right bottom corner of the emulator). +

          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.

        4. @@ -371,21 +354,16 @@
        5. Confirm that the application launches in the target device.
        - - - - - - - - - -
        Note
        The application is launched using the default debug run configuration. To create and use another configuration: + +
        + Note + The application is launched using the default debug run configuration. To create and use another configuration:
          -
        1. In the Project Explorer view, right-click the project and select Run As > Run Configurations.
        2. -
        3. In the Run Configurations window, click the New Launch Configuration icon (New Launch Configuration icon), define the configuration details, and launch the application by clicking Run. +
        4. In the Project Explorer view, right-click the project and select Run As > Run Configurations.
        5. +
        6. In the Run Configurations window, click the New Launch Configuration icon (New Launch Configuration icon), define the configuration details, and launch the application by clicking Run.

          Run Configurations window

        7. -
        +
      +

      If you want to run your application without a local device, see Managing and Connecting Devices for Testing.

    2. @@ -395,7 +373,7 @@

      The following steps demonstrate how to create a simple user interface for a circular wearable device using EFL. The following figure shows the screen you can create with these instructions.

      -

      Figure: Wearable native UI

      +

      Figure: Wearable native UI

      Wearable native UI

      This guide consists of the following:

      @@ -419,26 +397,26 @@ typedef struct appdata appdata_s;

      Registering Life-cycle Callbacks

      -

      The main() function has callbacks that manage specific parts of the application life-cycle:

      +

      The main() function has callbacks that manage specific parts of the application life-cycle:

        -
      • app_create +
      • app_create
        • Called when the application process starts.
        • Used to create UI components.
      • -
      • app_terminate +
      • app_terminate
        • Called while the application process is terminating.
        • Called after the main loop quits.
      • -
      • app_resume (UI applications only) +
      • app_resume (UI applications only)
        • Called when the application window is shown.
      • -
      • app_pause (UI applications only) +
      • app_pause (UI applications only)
        • Called when the application window is totally hidden.
      • -
      • app_control -
        • Called after the app_create callback when the process starts or called when a launch request is received while the process is running.
        • -
        • Can receive app_control data (parameters for launching the application).
        • +
        • app_control +
          • Called after the app_create callback when the process starts or called when a launch request is received while the process is running.
          • +
          • Can receive app_control data (parameters for launching the application).
          • Used to implement parameter-specific actions of the application.
        @@ -466,7 +444,7 @@ main(int argc, char *argv[])

        Creating UI Objects

        -

        The app_create() function is called when the process starts, and it calls the create_base_gui() function:

        +

        The app_create() function is called when the process starts, and it calls the create_base_gui() function:

         static bool
        @@ -486,7 +464,7 @@ app_create(void *data)
         }
         
        -

        In the create_base_gui() function, you can create a simple user interface that consists of window, conformant, and label objects:

        +

        In the create_base_gui() function, you can create a simple user interface that consists of window, conformant, and label objects:

         static void
        @@ -527,7 +505,7 @@ create_base_gui(appdata_s *ad)
         
         
        • -

          Window objects can be created by using the elm_win_util_standard_add() function and adding callbacks on window objects. One of the callbacks handles the delete,request event when the window is to be closed, and the other handles the EEXT_CALLBACK_BACK event when the hardware back key is pressed.

          +

          Window objects can be created by using the elm_win_util_standard_add() function and adding callbacks on window objects. One of the callbacks handles the delete,request event when the window is to be closed, and the other handles the EEXT_CALLBACK_BACK event when the hardware back key is pressed.

           /* Window */
          @@ -544,9 +522,9 @@ eext_object_event_callback_add(ad->win, EEXT_CALLBACK_BACK, win_back_cb, ad);
           
        • You can create a conformant object that is based on the window.

          -

          The elm_win_indicator_mode_set() function decides whether the indicator is visible, and the elm_win_indicator_opacity_set() function sets the indicator opacity mode.

          -

          You can set the conformant object 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 object directly.

          -

          The evas_object_show() function makes the conformant object visible.

          +

          The elm_win_indicator_mode_set() function decides whether the indicator is visible, and the elm_win_indicator_opacity_set() function sets the indicator opacity mode.

          +

          You can set the conformant object 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 object directly.

          +

          The evas_object_show() function makes the conformant object visible.

           /* Conformant */
          @@ -559,8 +537,8 @@ evas_object_show(ad->conform);
           
        • -

          You can add a label object for text by using the elm_label_add() function. It adds a new label to the parent (conformant object).

          -

          You can also set the text to the label by using the elm_object_text_set() function.

          +

          You can add a label object for text by using the elm_label_add() function. It adds a new label to the parent (conformant object).

          +

          You can also set the text to the label by using the elm_object_text_set() function.

           /* Label */
          @@ -571,7 +549,7 @@ elm_object_content_set(ad->conform, ad->label);
           
        • -

          When all the UI components are ready, make the window object visible by using the evas_object_show() function:

          +

          When all the UI components are ready, make the window object visible by using the evas_object_show() function:

           /* Show the window after the base GUI is set up */
          diff --git a/org.tizen.training/html/native/wearable_watch/first_app_watch_wn.htm b/org.tizen.training/html/native/wearable_watch/first_app_watch_wn.htm
          index 99e5116..3e071f5 100644
          --- a/org.tizen.training/html/native/wearable_watch/first_app_watch_wn.htm
          +++ b/org.tizen.training/html/native/wearable_watch/first_app_watch_wn.htm
          @@ -47,7 +47,7 @@
           
           

          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:

          +

          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:

          1. Before you get started with developing Tizen applications, download and install the Tizen Studio. @@ -71,7 +71,7 @@

            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

            +

            Figure: Wearable native Watch application

            Wearable native Watch application

            To create the application project:

            @@ -122,27 +122,21 @@

            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

            • +
            • 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

            +

            Figure: Application in the Project Explorer

            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.
            +
            + 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.

            @@ -153,7 +147,7 @@
            1. -

              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 Project Explorer view, double-click the tizen-manifest.xml file of the application. The Tizen Studio opens the file in the manifest editor.

            2. @@ -166,17 +160,12 @@
            3. Localization: Define localized values for the application label, description, and icon.

            4. Advanced: Define advanced features, such as application metadata and some miscellaneous options.

            5. -

              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.
              +

              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. +
      • @@ -215,7 +204,7 @@

        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

        +

        Figure: Manually building the application

        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.
        • @@ -224,7 +213,7 @@
        -

        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.

        +

        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.

        @@ -242,7 +231,7 @@
      • Create and launch an emulator instance in the Emulator Manager:
        1. In the Connection Explorer view, launch the Emulator Manager by clicking the related icon. -

          Emulator manager icon

          +

          Emulator Manager icon

        2. In the Emulator Manager, click Create.

          Creating an emulator instance

          @@ -376,21 +365,15 @@ cd tizen-sdk/tools

          Like with the emulator, you must change the watch face in the device settings before you can see the watch application UI on the device.

        - - - - - - - - - -
        Note
        The application is launched using the default debug run configuration. To create and use another configuration: +
        + Note + The application is launched using the default debug run configuration. To create and use another configuration:
          -
        1. In the Project Explorer view, right-click the project and select Run As > Run Configurations.
        2. -
        3. In the Run Configurations window, click the New Launch Configuration icon (New Launch Configuration icon), define the configuration details, and launch the application by clicking Run. +
        4. In the Project Explorer view, right-click the project and select Run As > Run Configurations.
        5. +
        6. In the Run Configurations window, click the New Launch Configuration icon (New Launch Configuration icon), define the configuration details, and launch the application by clicking Run.

          Run Configurations window

        7. -
        +
    +

    If you want to run your application without a local device, see Managing and Connecting Devices for Testing.

    @@ -407,13 +390,13 @@ cd tizen-sdk/tools

    To initialize the watch application:

      -
    1. To use the functions and data types of the Watch Application API, include the <watch_app.h> header file in your application: +
    2. To use the functions and data types of the Watch Application API, include the <watch_app.h> header file in your application:
       #include <watch_app.h>
       
      -

      All header files that you need are already included in the watchapplication.h file, which is generated by the Tizen Studio when the template project is created.

      +

      All header files that you need are already included in the watchapplication.h file, which is generated by the Tizen Studio when the template project is created.

    3. -
    4. Set the life-cycle callbacks in the watch_app_lifecycle_callback_s structure, and pass the structure to the watch_app_main() function of the Watch Application API to start the watch application event loop: +
    5. Set the life-cycle callbacks in the watch_app_lifecycle_callback_s structure, and pass the structure to the watch_app_main() function of the Watch Application API to start the watch application event loop:
       int
       main(int argc, char* argv[])
      @@ -432,7 +415,7 @@ main(int argc, char* argv[])
       
        -
      • 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. +
      • 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)
        @@ -446,7 +429,7 @@ app_create(int width, int height, void* data)
         }
         
      • -
      • 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. +
      • 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)
        @@ -457,16 +440,10 @@ app_time_tick(watch_time_h watch_time, void* data)
         
      - - - - - - - - - -
      Note
      For more information on the application life-cycle callbacks, see Applications.
      +
      + Note + For more information on the application life-cycle callbacks, see Applications. +
    @@ -475,7 +452,7 @@ app_time_tick(watch_time_h watch_time, void* data)

    To draw the watch UI, you need the current time handle and the window object of the idle screen:

      -
    1. Get the window object with the watch_app_get_elm_win() function of the Watch Application API: +
    2. Get the window object with the watch_app_get_elm_win() function of the Watch Application API:
       struct appdata {
      @@ -536,7 +513,7 @@ app_create(int width, int height, void *date)
       }
       
    3. -
    4. You can get the current local time handle in the time_tick callback function and then draw the watch UI with the handle. For example, you can use the watch_time_get_minute() function of the Watch Application API to retrieve the current minute value. +
    5. You can get the current local time handle in the time_tick callback function and then draw the watch UI with the handle. For example, you can use the watch_time_get_minute() function of the Watch Application API to retrieve the current minute value.
       static void
       update_watch(appdata_s *ad, watch_time_h watch_time, int ambient)
      @@ -575,26 +552,19 @@ app_time_tick(watch_time_h watch_time, void* data)
       

      Using the Ambient Mode

      In a low-powered wearable device, an ambient mode is available. 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 a black and white UI only, 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, in the Gear S2 device, the ambient mode activates only when you are wearing the watch on the wrist.
      +

      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 a black and white UI only, 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, in the Gear S2 device, the ambient mode activates only when you are wearing the watch on the wrist. +

      To use the ambient mode:

      1. Define the ambient mode callbacks: -
        • The ambient_changed callback is called when the ambient mode is enabled or disabled in the device. You can use the callback to initialize your ambient mode UI.
        • -
        • The ambient_tick callback is called 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 fast as possible. The platform can put the device to sleep shortly after the ambient tick expires.
        • +
          • The ambient_changed callback is called when the ambient mode is enabled or disabled in the device. You can use the callback to initialize your ambient mode UI.
          • +
          • The ambient_tick callback is called 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 fast as possible. The platform can put the device to sleep shortly after the ambient tick expires.
           static void
          diff --git a/org.tizen.training/html/native/wearable_widget/first_app_widget_wn.htm b/org.tizen.training/html/native/wearable_widget/first_app_widget_wn.htm
          index 817cb0d..75a0d4d 100644
          --- a/org.tizen.training/html/native/wearable_widget/first_app_widget_wn.htm
          +++ b/org.tizen.training/html/native/wearable_widget/first_app_widget_wn.htm
          @@ -49,11 +49,11 @@
           
           

          A widget application is one of the Tizen application types. It can be shown by specific UI applications (such as the home screen and lock screen) that can contain widget applications.

          -

          Figure: Widget application in a wearable device

          +

          Figure: Widget application in a wearable device

          Widget application in a wearable device

          -

          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 widget application, which displays some text on the screen with no user interaction:

          +

          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 widget application, which displays some text on the screen with no user interaction:

          1. Before you get started with developing Tizen applications, download and install the Tizen Studio. @@ -75,23 +75,16 @@

            The following example shows you how to create and configure a basic wearable native widget application project in the Tizen Studio. An application project contains all the files that make up an application.

            - - - - - - - - - -
            Note
            -

            For user convenience, standalone widget application packages are not allowed in the Tizen market place.

            -

            Use a standalone widget application for testing purposes. If you want to publish the application in the Tizen market place, combine it with at least 1 UI application in the same package. For more information, see Developing Multiple Projects as a Combined Package.

            -
            + +
            + Note + For user convenience, standalone widget application packages are not allowed in the Tizen market place. +

            Use a standalone widget application for testing purposes. If you want to publish the application in the Tizen market place, combine it with at least 1 UI application in the same package. For more information, see Developing Multiple Projects as a Combined Package.

            +

            The following figure illustrates the application to be created. The application screen displays the Hello widget text and no user interaction is provided.

            -

            Figure: Wearable native Widget application

            +

            Figure: Wearable native Widget application

            Wearable native Widget application

            To create the application project:

            @@ -142,27 +135,21 @@

            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

            • +
            • 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

            +

            Figure: Application in the Project Explorer

            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.
            +
            + 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.

            @@ -173,7 +160,7 @@
            1. -

              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 Project Explorer view, double-click the tizen-manifest.xml file of the application. The Tizen Studio opens the file in the manifest editor.

            2. @@ -186,17 +173,12 @@
            3. Localization: Define localized values for the application label, description, and icon.

            4. Advanced: Define advanced features, such as application metadata, widget (preview image and supported size), and miscellaneous options.

            5. -

              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.
              +

              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. +
      2. @@ -234,7 +216,7 @@

        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

        +

        Figure: Manually building the application

        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.
        • @@ -243,7 +225,7 @@
        -

        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.

        +

        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.

        @@ -260,7 +242,7 @@
      3. Create and launch an emulator instance in the Emulator Manager:
        1. In the Connection Explorer view, launch the Emulator Manager by clicking the related icon. -

          Emulator manager icon

          +

          Emulator Manager icon

        2. In the Emulator Manager, click Create.

          Creating an emulator instance

          @@ -304,16 +286,11 @@
        3. Confirm that the application launches on the emulator.

          Application running in 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 right bottom corner of 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 right bottom corner of the emulator). +

          The above screen is shown through the Viewer, to allow you to develop a lone widget application for testing purposes.

          To see the widget running on the home screen, add the widget there:

          @@ -400,23 +377,17 @@ cd tizen-sdk/tools
        4. Confirm that the application launches in the target device.

          Like with the emulator, you must add the widget to the home screen before you can see it.

        5. -
        - - - - - - - - - - -
        Note
        The application is launched using the default debug run configuration. To create and use another configuration: + + +
        + Note + The application is launched using the default debug run configuration. To create and use another configuration:
          -
        1. In the Project Explorer view, right-click the project and select Run As > Run Configurations.
        2. -
        3. In the Run Configurations window, click the New Launch Configuration icon (New Launch Configuration icon), define the configuration details, and launch the application by clicking Run. +
        4. In the Project Explorer view, right-click the project and select Run As > Run Configurations.
        5. +
        6. In the Run Configurations window, click the New Launch Configuration icon (New Launch Configuration icon), define the configuration details, and launch the application by clicking Run.

          Run Configurations window

        7. -
        +
      +

      If you want to run your application without a local device, see Managing and Connecting Devices for Testing.

    6. @@ -433,12 +404,12 @@ cd tizen-sdk/tools

      To initialize the widget application:

        -
      1. To use the functions and data types of the Widget Application API, include the <widget_app.h> header file in your application: +
      2. To use the functions and data types of the Widget Application API, include the <widget_app.h> header file in your application:
         #include <widget_app.h>
         
        -

        All header files that you need are already included in the MyWidget.h file, which is generated by the Tizen Studio when the template project is created.

      3. +

        All header files that you need are already included in the MyWidget.h file, which is generated by the Tizen Studio when the template project is created.

      4. Edit the widget application settings in the manifest file.
      @@ -447,9 +418,9 @@ cd tizen-sdk/tools

      To create the widget application:

        -
      1. Start and initialize the application with the main() function. +
      2. Start and initialize the application with the main() function. -

        Set up the widget_app_lifecycle_callback_s structure variable for the widget application life-cycle callbacks, define the functions themselves (widget_app_create() for initialization and widget_app_terminate() for termination), and call the widget_app_main() function to start the application event loop:

        +

        Set up the widget_app_lifecycle_callback_s structure variable for the widget application life-cycle callbacks, define the functions themselves (widget_app_create() for initialization and widget_app_terminate() for termination), and call the widget_app_main() function to start the application event loop:

         int
        @@ -468,7 +439,7 @@ main(int argc, char *argv[])
             return ret;
         }
         
      3. -
      4. Use the widget_app_create() life-cycle function of the Widget Application API to initialize any resources that can be shared among widget instances. This function is called before the main event loop starts. +
      5. Use the widget_app_create() life-cycle function of the Widget Application API to initialize any resources that can be shared among widget instances. This function is called before the main event loop starts.
         static widget_class_h
        @@ -480,7 +451,7 @@ widget_app_create(void *user_data)
         
      6. Register the callback functions and make a class for widget instances. -

        At the end of the widget_app_create() function, remember to create a widget instance class and return a handle for it, so that the handle can be used for making widget instances.

        +

        At the end of the widget_app_create() function, remember to create a widget instance class and return a handle for it, so that the handle can be used for making widget instances.

             return widget_app_class_create(ops, user_data);
        @@ -499,7 +470,7 @@ widget_app_terminate(void *user_data)
         
         

        Managing Widget Instance Life-cycle Callbacks

        -

        The widget application provides a life-cycle and methods for making and managing a widget class. The application has one process, whose responsibility it is to make a class in the widget_app_create() callback function of the Widget Application API. With this class, the framework can make instances whenever applications for widget viewers (such as home screen or lock screen) request for a widget instance.

        +

        The widget application provides a life-cycle and methods for making and managing a widget class. The application has one process, whose responsibility it is to make a class in the widget_app_create() callback function of the Widget Application API. With this class, the framework can make instances whenever applications for widget viewers (such as home screen or lock screen) request for a widget instance.

        The widget instance has its own life-cycle, which is similar to the widget application. However, the widget instance is just an object that is shown by the applications for widget viewers. Many widget instances can be running on the same widget application process.

        To manage the widget instance life-cycle:

        @@ -508,7 +479,7 @@ widget_app_terminate(void *user_data)
      7. Define the widget instance life-cycle callbacks:
        • This callback is triggered when the widget instance is created. -

          Initialize resources for the widget instance and draw the UI. If the bundle content is not NULL, restore the previous status.

          +

          Initialize resources for the widget instance and draw the UI. If the bundle content is not NULL, restore the previous status.

           static int
          @@ -528,7 +499,7 @@ widget_instance_create(widget_context_h context, bundle *content,
           }
           
        • This callback is triggered when the widget instance is destroyed. -

          Release all widget resources. If the reason for the termination is not WIDGET_APP_DESTROY_TYPE_PERMANENT, store the current status with the incoming bundle.

          +

          Release all widget resources. If the reason for the termination is not WIDGET_APP_DESTROY_TYPE_PERMANENT, store the current status with the incoming bundle.

           static int
          @@ -562,7 +533,7 @@ widget_instance_resume(widget_context_h context, void *user_data)
           }
           
        • This callback is triggered when a widget update event is received. -

          Take the necessary actions for the widget update. If the force parameter is true, the widget can be updated even in the pause state.

          +

          Take the necessary actions for the widget update. If the force parameter is true, the widget can be updated even in the pause state.

           static int
          @@ -572,14 +543,13 @@ widget_instance_update(widget_context_h context, bundle *content, int force, voi
           }
           
      8. -
      9. Register the callbacks in the widget_instance_lifecycle_callback_s structure during the widget application initialization: +
      10. Register the callbacks in the widget_instance_lifecycle_callback_s structure during the widget application initialization:
         static widget_class_h
         widget_app_create(void *user_data)
         {
        -    widget_instance_lifecycle_callback_s ops =
        -    {
        +    widget_instance_lifecycle_callback_s ops = {
                 .create = widget_instance_create,
                 .destroy = widget_instance_destroy,
                 .pause = widget_instance_pause,
        @@ -594,7 +564,7 @@ widget_app_create(void *user_data)
         
         

        Drawing the Widget UI

        -

        To draw the widget UI, you must get a window object with the widget_app_get_elm_win() function of the Widget Application API and create the UI on the home screen:

        +

        To draw the widget UI, you must get a window object with the widget_app_get_elm_win() function of the Widget Application API and create the UI on the home screen:

         #include <widget_app_efl.h>
        @@ -654,7 +624,7 @@ widget_instance_create(widget_context_h context, bundle *content,
         

        Widget instances can have private data. The data usually includes view objects to make a screen for each widget instance. The framework provides an easy way to find private data from the widget context handle, which is provided as a parameter in the callback functions. The following example shows how to make private data and use it:

          -
        • You can define a private data structure and attach it to the widget instance by calling the widget_app_context_set_tag() function of the Widget Application API: +
        • You can define a private data structure and attach it to the widget instance by calling the widget_app_context_set_tag() function of the Widget Application API:
           struct widget_instance_data {
          @@ -679,9 +649,9 @@ widget_instance_create(widget_context_h context, bundle *content,
           }
           
        • -
        • You can get the private data from the widget instance by calling the widget_app_context_get_tag() function of the Widget Application API. +
        • You can get the private data from the widget instance by calling the widget_app_context_get_tag() function of the Widget Application API. -

          The following code within the widget_instance_update() callback is not included in the default application template in the Tizen Studio, but you can add it to test the data handling feature.

          +

          The following code within the widget_instance_update() callback is not included in the default application template in the Tizen Studio, but you can add it to test the data handling feature.

           static int
           widget_instance_update(widget_context_h context, bundle *content,
          diff --git a/org.tizen.training/html/web/app_model/application_model_w.htm b/org.tizen.training/html/web/app_model/application_model_w.htm
          index 9d1157a..04229aa 100644
          --- a/org.tizen.training/html/web/app_model/application_model_w.htm
          +++ b/org.tizen.training/html/web/app_model/application_model_w.htm
          @@ -42,11 +42,11 @@
             

          The application package manager is one of the core modules of the Tizen application framework, and responsible for installing, uninstalling, and updating packages, and storing their information. Using the package manager, you can also retrieve information related to the packages that are installed on the device.

          The application package manager module is expandable to support various types of applications, and designated installation modules can be added to it.

          -

          Figure: Application package manager

          +

          Figure: Application package manager

          Application package manager

          Web Package Configuration

          -

          Each Web application package has a configuration file, config.xml, which indicates a packaging format and metadata for the application.

          +

          Each Web application package has a configuration file, config.xml, which indicates a packaging format and metadata for the application.

          The Tizen Web application must follow the guidelines of W3C Widget Packaging and Tizen extended configuration (in mobile and wearable applications).

          For more information on the configuration elements, see Configuration Element Hierarchy.

          @@ -57,8 +57,8 @@
        • Package format and file extension
          • File format: ZIP archive file format
          • -
          • File extension: .wgt (for example, sample.wgt)
          • -
          • MIME type: application/widget
          • +
          • File extension: .wgt (for example, sample.wgt)
          • +
          • MIME type: application/widget
        • Application ID @@ -70,55 +70,53 @@
        • Package content
          • File and folders: The root of the Web package is the path of the ZIP archive and contains files and folders, some of which are reserved. The following table shows the content of a package. - - - +

            Table: Package content

            +
            - Table: Package content -
            + - + - + - + - + - + - + - + - + - + - + - + - + @@ -130,10 +128,8 @@
          • Directory hierarchy (after installation on device)

            The following figure and table illustrate the Web application package directory structure.

            Web application directory structure

            -
          • Name Type Description
            config.xmlconfig.xml File Application configuration document
            icon.gificon.gif Application default icon
            icon.icoicon.ico
            icon.jpgicon.jpg
            icon.pngicon.png
            icon.svgicon.svg
            index.htmlindex.html Application default start file
            index.htmindex.htm
            index.svgindex.svg
            index.xhtmlindex.xhtml
            index.xhtindex.xht
            localeslocales Folder Container for localized content
            - +

            Table: Web application package structure

            +
            - Table: Web application package structure -
            @@ -142,10 +138,10 @@ - - - - + + + +
            PackageCore XML file
            Apphome/owner/apps_rw/<Package ID>

            (For example: home/owner/apps_rw/qik37po9ck)

            <Package ID>.<Name>

            (For example: qik37po9ck.Sample)

            opt/share/packages/<Package ID>.xml

            (For example: opt/share/packages/qik37po9ck.xml)

            Apphome/owner/apps_rw/<Package ID>

            (For example: home/owner/apps_rw/qik37po9ck)

            <Package ID>.<Name>

            (For example: qik37po9ck.Sample)

            opt/share/packages/<Package ID>.xml

            (For example: opt/share/packages/qik37po9ck.xml)

          • @@ -157,16 +153,14 @@
          • Package format and file extension
            • File format: ZIP archive file format
            • -
            • File extension: .wgt (for example, sample.wgt)
            • +
            • File extension: .wgt (for example, sample.wgt)
          • Package content
            • File and folders: The root of the hybrid package is the path of the ZIP archive and contains reserved folders. The following table shows the content of a package. - - +

              Table: Package content

              +
              - Table: Package content -
              @@ -174,47 +168,47 @@ - + - + - + - + - + - + - + - + - + @@ -223,12 +217,10 @@
            • Directory hierarchy (after installation on device)

              The following figure and table illustrate the hybrid application package directory structure.

              -

              Figure: Hybrid application directory structure

              +

              Figure: Hybrid application directory structure

              Hybrid application directory structure

              -
            • NameDescription
              binbin Folder Native application executable binary
              datadata Web or native application private data
              infoinfo Native application metadata
              liblib Native application libraries
              resres Native application resources or Web application content
              res/wgtres/wgt Web application project root
              res/wgt/index.htmlres/wgt/index.html File Default HTML file for the Web application
              settingsetting Folder Native application setting
              sharedshared Native application shared resources
              - +

              Table: Hybrid application package structure

              +
              - Table: Hybrid application package structure -
              @@ -237,18 +229,18 @@ - - - - + + + + - - + + - - + +
              PackageCore XML file
              App1

              (Web)

              home/owner/apps_rw/<Package ID>

              (For example: home/owner/apps_rw/qik37po9ck)

              <Package ID>.<Name>

              (For example: qik37po9ck.Sample)

              opt/share/packages/<Package ID>.xml

              (For example: opt/share/packages/qik37po9ck.xml)

              App1

              (Web)

              home/owner/apps_rw/<Package ID>

              (For example: home/owner/apps_rw/qik37po9ck)

              <Package ID>.<Name>

              (For example: qik37po9ck.Sample)

              opt/share/packages/<Package ID>.xml

              (For example: opt/share/packages/qik37po9ck.xml)

              App2

              (Native)

              <Package ID>.<ExecutableName1>

              (For example: qik37po9ck.Service)

              App2

              (Native)

              <Package ID>.<ExecutableName1>

              (For example: qik37po9ck.Service)

              App3

              (Native)

              <Package ID>.<ExecutableName2>

              (For example: qik37po9ck.Downloader)

              App3

              (Native)

              <Package ID>.<ExecutableName2>

              (For example: qik37po9ck.Downloader)

            • diff --git a/org.tizen.training/html/web/details/app_filtering_w.htm b/org.tizen.training/html/web/details/app_filtering_w.htm index fd98f48..e2d38e1 100644 --- a/org.tizen.training/html/web/details/app_filtering_w.htm +++ b/org.tizen.training/html/web/details/app_filtering_w.htm @@ -39,25 +39,25 @@

              Some features can be selectively supported by the Tizen device manufacturer. To prevent problems when the user is trying to run your application on a device that does not support all the features your application is using, do one of the following:

              • When the application is running, check whether the device supports the needed features. If not, the application can use other features, which are supported by the device, as a workaround. -

                For example, if an application wants to use location information, it can check the device capability by using the getCapability() method of the SystemInfo interface (in mobile, wearable, and TV applications). If the device supports GPS, the application uses GPS information, and if the device supports WPS only, the application uses WPS information instead of GPS.

                +

                For example, if an application wants to use location information, it can check the device capability by using the getCapability() method of the SystemInfo interface (in mobile, wearable, and TV applications). If the device supports GPS, the application uses GPS information, and if the device supports WPS only, the application uses WPS information instead of GPS.

              • Use feature-based filtering to prevent your application from being shown in the application list on the Tizen Store, if the user's device does not support all the features of your application. This way you can prevent the application from being installed on an unsupportive device in the first place.

                Be careful when defining the feature list for feature-based filtering. The feature list can dramatically reduce your chances of getting the application downloaded by reducing the number of devices which can support the application.

              -

              If the config.xml file of the application package includes a feature list, the Tizen Store compares the capabilities of the device with the required feature conditions of the application. The store only lists the applications whose conditions match the capabilities of the device, and thus prevents unsupported applications from being installed.

              +

              If the config.xml file of the application package includes a feature list, the Tizen Store compares the capabilities of the device with the required feature conditions of the application. The store only lists the applications whose conditions match the capabilities of the device, and thus prevents unsupported applications from being installed.

              -

              Figure: Feature-based filtering

              +

              Figure: Feature-based filtering

              Feature-based filtering

              -

              When multiple features are defined in the feature list for feature-based filtering, the Tizen Store creates the filtering condition for all using the "AND" operation. For example, if there are http://tizen.org/feature/network.nfc and http://tizen.org/feature/network.bluetooth features in the feature list of the application package, only a device that has both those features can show the application on the Tizen Store application list for downloading.

              +

              When multiple features are defined in the feature list for feature-based filtering, the Tizen Store creates the filtering condition for all using the "AND" operation. For example, if there are http://tizen.org/feature/network.nfc and http://tizen.org/feature/network.bluetooth features in the feature list of the application package, only a device that has both those features can show the application on the Tizen Store application list for downloading.

              Screen Size Feature

              -

              The screen size feature is the only exception to the normal feature handling process described above. When the screen size is defined in the feature list, the Tizen Store creates the filtering condition with the "OR" operation. For example, if the http://tizen.org/feature/screen.size.normal.480.800 and http://tizen.org/feature/screen.size.normal.720.1280 features are defined in your application feature list, a device that supports one or the other of those features can show the application on the Tizen Store application list.

              -

              If you do not specify a proper screen size in the config.xml file, your application can be rejected from the Tizen store.

              +

              The screen size feature is the only exception to the normal feature handling process described above. When the screen size is defined in the feature list, the Tizen Store creates the filtering condition with the "OR" operation. For example, if the http://tizen.org/feature/screen.size.normal.480.800 and http://tizen.org/feature/screen.size.normal.720.1280 features are defined in your application feature list, a device that supports one or the other of those features can show the application on the Tizen Store application list.

              +

              If you do not specify a proper screen size in the config.xml file, your application can be rejected from the Tizen store.

              The following tables list the available screen size features.

              +

              Table: Available screen size features for mobile applications

              - @@ -65,85 +65,85 @@ - + - + - + - + +

              You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

              If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

              - + +

              You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

              If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

              - + +

              You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

              If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

              - + +

              You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

              If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

              - + +

              You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

              If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

              - + +

              You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

              If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

              - + +

              You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

              If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

              - + +

              You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

              If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

              - + +

              You cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously. If you do, only the most specific resolution key is considered and the less specific resolution keys are ignored. For example, if you specify both http://tizen.org/feature/screen.size.all and http://tizen.org/feature/screen.size.normal.320.480 keys, only the http://tizen.org/feature/screen.size.normal.320.480 key is applied.

              If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

              Table: Available screen size features for mobile applications
              Feature keySince
              http://tizen.org/feature/screen.size.normalhttp://tizen.org/feature/screen.size.normal Specify this key, if the application supports all possible current and future resolutions on the normal screen size. -

              You cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously. If you do, only the most specific resolution key is considered and the less specific resolution keys are ignored. For example, if you specify both http://tizen.org/feature/screen.size.normal and http://tizen.org/feature/screen.size.normal.320.480 keys, only the http://tizen.org/feature/screen.size.normal.320.480 key is applied.

              If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

              +

              You cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously. If you do, only the most specific resolution key is considered and the less specific resolution keys are ignored. For example, if you specify both http://tizen.org/feature/screen.size.normal and http://tizen.org/feature/screen.size.normal.320.480 keys, only the http://tizen.org/feature/screen.size.normal.320.480 key is applied.

              If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

              2.2.1
              http://tizen.org/feature/screen.size.normal.240.400http://tizen.org/feature/screen.size.normal.240.400 Specify this key, if the application supports the 240 x 400 resolution on the normal screen size. -

              You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

              If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

              +

              You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

              If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

              2.2.1
              http://tizen.org/feature/screen.size.normal.320.320http://tizen.org/feature/screen.size.normal.320.320 Specify this key, if the application supports the 320 x 320 resolution on the normal screen size. -

              You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

              If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

              +

              You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

              If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

              2.3
              http://tizen.org/feature/screen.size.normal.320.480http://tizen.org/feature/screen.size.normal.320.480 Specify this key, if the application supports the 320 x 480 resolution on the normal screen size. -

              You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

              If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

              2.2.1
              http://tizen.org/feature/screen.size.normal.360.360http://tizen.org/feature/screen.size.normal.360.360 Specify this key, if the application supports the 360 x 360 resolution on the normal screen size. -

              You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

              If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

              2.3.2
              http://tizen.org/feature/screen.size.normal.360.480http://tizen.org/feature/screen.size.normal.360.480 Specify this key, if the application supports the 360 x 480 resolution on the normal screen size. -

              You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

              If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

              2.3
              http://tizen.org/feature/screen.size.normal.480.800http://tizen.org/feature/screen.size.normal.480.800 Specify this key, if the application supports the 480 x 800 resolution on the normal screen size. -

              You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

              If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

              2.2.1
              http://tizen.org/feature/screen.size.normal.540.960http://tizen.org/feature/screen.size.normal.540.960 Specify this key, if the application supports the 540 x 960 resolution on the normal screen size. -

              You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

              If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

              2.2.1
              http://tizen.org/feature/screen.size.normal.600.1024http://tizen.org/feature/screen.size.normal.600.1024 Specify this key, if the application supports the 600 x 1024 resolution on the normal screen size. -

              You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

              If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

              2.2.1
              http://tizen.org/feature/screen.size.normal.720.1280http://tizen.org/feature/screen.size.normal.720.1280 Specify this key, if the application supports the 720 x 1280 resolution on the normal screen size. -

              You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

              If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

              2.2.1
              http://tizen.org/feature/screen.size.normal.1080.1920http://tizen.org/feature/screen.size.normal.1080.1920 Specify this key, if the application supports the 1080 x 1920 resolution on the normal screen size. -

              You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

              If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

              2.2.1
              http://tizen.org/feature/screen.size.allhttp://tizen.org/feature/screen.size.all Specify this key, if the application supports all possible current and future screen sizes and all possible current and future resolutions per screen size. -

              You cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously. If you do, only the most specific resolution key is considered and the less specific resolution keys are ignored. For example, if you specify both http://tizen.org/feature/screen.size.all and http://tizen.org/feature/screen.size.normal.320.480 keys, only the http://tizen.org/feature/screen.size.normal.320.480 key is applied.

              If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

              2.2.1
              - + +

              Table: Available screen size features for wearable applications

              - @@ -151,36 +151,36 @@ - + - + - + +

              You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

              If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

              - + +

              You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

              If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

              - + +

              You cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously. If you do, only the most specific resolution key is considered and the less specific resolution keys are ignored. For example, if you specify both http://tizen.org/feature/screen.size.all and http://tizen.org/feature/screen.size.normal.320.480 keys, only the http://tizen.org/feature/screen.size.normal.320.480 key is applied.

              If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

              @@ -189,17 +189,17 @@

              Feature Hierarchy

              -

              The feature keys have a hierarchy. For example, consider the http://tizen.org/feature/location, http://tizen.org/feature/location.gps, and http://tizen.org/feature/location.wps features:

              +

              The feature keys have a hierarchy. For example, consider the http://tizen.org/feature/location, http://tizen.org/feature/location.gps, and http://tizen.org/feature/location.wps features:

                -
              • If the feature list includes the http://tizen.org/feature/location.gps feature, only a device which has the http://tizen.org/feature/location.gps feature can show the application on the Tizen Store application list.
              • -
              • If the feature list includes the http://tizen.org/feature/location feature, a device which has the http://tizen.org/feature/location.gps, http://tizen.org/feature/location.wps, or http://tizen.org/feature/location feature can show the application on the Tizen Store application list. -

                This means that the Tizen Store considers the http://tizen.org/feature/location feature as the http://tizen.org/feature/location.gps OR http://tizen.org/feature/location.wps feature. (If the feature list includes the http://tizen.org/feature/location.gps and http://tizen.org/feature/location.wps features together, only a device which supports both those features can show the application.)

              +
            • If the feature list includes the http://tizen.org/feature/location.gps feature, only a device which has the http://tizen.org/feature/location.gps feature can show the application on the Tizen Store application list.
            • +
            • If the feature list includes the http://tizen.org/feature/location feature, a device which has the http://tizen.org/feature/location.gps, http://tizen.org/feature/location.wps, or http://tizen.org/feature/location feature can show the application on the Tizen Store application list. +

              This means that the Tizen Store considers the http://tizen.org/feature/location feature as the http://tizen.org/feature/location.gps OR http://tizen.org/feature/location.wps feature. (If the feature list includes the http://tizen.org/feature/location.gps and http://tizen.org/feature/location.wps features together, only a device which supports both those features can show the application.)

            • Adding the Feature List

              -

              To enable filtering for your Web application, add the feature list for the application config.xml file:

              +

              To enable filtering for your Web application, add the feature list for the application config.xml file:

                -
              1. To open the Web application configuration editor in the Tizen Studio, double-click the config.xml file in the Project Explorer view.
              2. +
              3. To open the Web application configuration editor in the Tizen Studio, double-click the config.xml file in the Project Explorer view.
              4. In the Feature tab, click Add.
              5. Select a feature from the list.
              6. Click Save.
              7. @@ -207,14 +207,14 @@

                After setting the feature information with the Web application configuration editor, you can see the added code in the Source tab.

                -

                The following example shows the setting in the config.xml file code:

                +

                The following example shows the setting in the config.xml file code:

                 <tizen:feature name="http://tizen.org/feature/network.nfc"/>
                 

                The following tables show the available requirements for Tizen Web application package.

                +

                Table: Available requirements for mobile Web Device APIs

              Table: Available screen size features for wearable applications
              Feature keySince
              http://tizen.org/feature/screen.size.normalhttp://tizen.org/feature/screen.size.normal Specify this key, if the application supports all possible current and future resolutions on the normal screen size. -

              You cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously. If you do, only the most specific resolution key is considered and the less specific resolution keys are ignored. For example, if you specify both http://tizen.org/feature/screen.size.normal and http://tizen.org/feature/screen.size.normal.320.480 keys, only the http://tizen.org/feature/screen.size.normal.320.480 key is applied.

              If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

              +

              You cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously. If you do, only the most specific resolution key is considered and the less specific resolution keys are ignored. For example, if you specify both http://tizen.org/feature/screen.size.normal and http://tizen.org/feature/screen.size.normal.320.480 keys, only the http://tizen.org/feature/screen.size.normal.320.480 key is applied.

              If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

              2.2.1
              http://tizen.org/feature/screen.size.normal.320.320http://tizen.org/feature/screen.size.normal.320.320 Specify this key, if the application supports the 320 x 320 resolution on the normal screen size. -

              You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

              If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

              +

              You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

              If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

              2.3
              http://tizen.org/feature/screen.size.normal.360.360http://tizen.org/feature/screen.size.normal.360.360 Specify this key, if the application supports the 360 x 360 resolution on the normal screen size. -

              You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

              If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

              2.3.2
              http://tizen.org/feature/screen.size.normal.360.480http://tizen.org/feature/screen.size.normal.360.480 Specify this key, if the application supports the 360 x 480 resolution on the normal screen size. -

              You can specify multiple http://tizen.org/feature/screen.size.normal.* keys, if your application supports multiple screen resolutions on the normal screen size. However, you cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously.

              If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

              2.3
              http://tizen.org/feature/screen.size.allhttp://tizen.org/feature/screen.size.all Specify this key, if the application supports all possible current and future screen sizes and all possible current and future resolutions per screen size. -

              You cannot specify keys on both screen.size.* and screen.size.normal.* levels simultaneously. If you do, only the most specific resolution key is considered and the less specific resolution keys are ignored. For example, if you specify both http://tizen.org/feature/screen.size.all and http://tizen.org/feature/screen.size.normal.320.480 keys, only the http://tizen.org/feature/screen.size.normal.320.480 key is applied.

              If no screen size key is declared, it is assumed that the application supports only screen.size.normal.720.1280. To avoid this, specify at least 1 screen size key.

              2.2.1
              - @@ -222,195 +222,195 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
              Table: Available requirements for mobile Web Device APIs
              Feature keySince
              http://tizen.org/feature/convergence.d2dhttp://tizen.org/feature/convergence.d2d Specify this key, if the application requires the Device-to-Device (D2D) Convergence feature, which provides the service to discover near-by devices and to communicate information and data to the remote devices. 3.0
              http://tizen.org/feature/database.encryptionhttp://tizen.org/feature/database.encryption Specify this key, if the application requires the database encryption feature. 2.2.1
              http://tizen.org/feature/datasynchttp://tizen.org/feature/datasync Specify this key, if the application requires the DataSync feature. 2.3
              http://tizen.org/feature/fmradiohttp://tizen.org/feature/fmradio Specify this key, if the application requires an FM radio. 2.2.1
              http://tizen.org/feature/humanactivitymonitorhttp://tizen.org/feature/humanactivitymonitor Specify this key, if the application requires any of the Human Activity Monitor features. 2.3
              http://tizen.org/feature/iot.ocfhttp://tizen.org/feature/iot.ocf Specify this key, if the application requires the Open Connectivity Foundation (OCF) framework. 3.0
              http://tizen.org/feature/ledhttp://tizen.org/feature/led Specify this key, if the application requires the LED feature. 2.4
              http://tizen.org/feature/location.batchhttp://tizen.org/feature/location.batch Specify this key, if the application requires the location tracking with a position batch information feature for using the Human Activity Monitor (GPS Type) API. 2.3
              http://tizen.org/feature/network.bluetoothhttp://tizen.org/feature/network.bluetooth Specify this key, if the application requires the Bluetooth feature. 2.2.1
              http://tizen.org/feature/network.bluetooth.audio.mediahttp://tizen.org/feature/network.bluetooth.audio.media Specify this key, if the application requires the Bluetooth Advanced Audio feature (A2DP). 2.3
              http://tizen.org/feature/network.bluetooth.healthhttp://tizen.org/feature/network.bluetooth.health Specify this key, if the application requires the Bluetooth Health feature (HDP). 2.3
              http://tizen.org/feature/network.bluetooth.lehttp://tizen.org/feature/network.bluetooth.le Specify this key, if the application requires the Bluetooth Low Energy feature (BLE). 2.3
              http://tizen.org/feature/network.net_proxyhttp://tizen.org/feature/network.net_proxy Specify this key, if the application requires the net-proxy feature for the Internet connection. A net-proxy feature for a device acts as an intermediary between client (network service customer) and server (network service provider). 3.0
              http://tizen.org/feature/network.nfchttp://tizen.org/feature/network.nfc Specify this key, if the application requires the use of any API that, in turn, requires the Near Field Communication (NFC) feature. 2.2.1
              http://tizen.org/feature/network.nfc.card_emulationhttp://tizen.org/feature/network.nfc.card_emulation Specify this key, if the application requires the NFC card emulation feature. 2.3
              http://tizen.org/feature/network.nfc.card_emulation.hcehttp://tizen.org/feature/network.nfc.card_emulation.hce Specify this key, if the application requires the NFC host-based card emulation feature. 2.3.1
              http://tizen.org/feature/network.nfc.p2phttp://tizen.org/feature/network.nfc.p2p Specify this key, if the application requires the NFC P2P feature. 2.3.1
              http://tizen.org/feature/network.nfc.taghttp://tizen.org/feature/network.nfc.tag Specify this key, if the application requires the NFC tag feature. 2.3.1
              http://tizen.org/feature/network.pushhttp://tizen.org/feature/network.push Specify this key, if the application requires the network-based push service. 2.2.1
              http://tizen.org/feature/network.secure_elementhttp://tizen.org/feature/network.secure_element Specify this key, if the application requires the secure element feature. 2.2.1
              http://tizen.org/feature/network.telephonyhttp://tizen.org/feature/network.telephony Specify this key, if the application requires the use of any API that, in turn, requires the telephony feature. 2.2.1
              http://tizen.org/feature/network.telephony.mmshttp://tizen.org/feature/network.telephony.mms Specify this key, if the application requires the MMS feature. 2.2.1
              http://tizen.org/feature/network.telephony.smshttp://tizen.org/feature/network.telephony.sms Specify this key, if the application requires the SMS feature. 2.4
              http://tizen.org/feature/network.wifihttp://tizen.org/feature/network.wifi Specify this key, if the application requires the use of any API that, in turn, requires the Wi-Fi feature. 2.2.1
              http://tizen.org/feature/sensor.barometerhttp://tizen.org/feature/sensor.barometer Specify this key, if the application requires a barometer sensor for using the Sensor (Pressure Type) API. 2.2.1
              http://tizen.org/feature/sensor.gyroscope_rotation_vectorhttp://tizen.org/feature/sensor.gyroscope_rotation_vector Specify this key, if the application requires a gyroscope-based rotation vector sensor. 2.4
              http://tizen.org/feature/sensor.heart_rate_monitorhttp://tizen.org/feature/sensor.heart_rate_monitor Specify this key, if the application requires a heart rate monitor sensor for using the Human Activity Monitor (HRM Type) API. 2.3
              http://tizen.org/feature/sensor.heart_rate_monitor.led_greenhttp://tizen.org/feature/sensor.heart_rate_monitor.led_green Specify this key, if the application requires the LED green heart rate monitor sensor. 2.3.1
              http://tizen.org/feature/sensor.heart_rate_monitor.led_irhttp://tizen.org/feature/sensor.heart_rate_monitor.led_ir Specify this key, if the application requires the LED infrared heart rate monitor sensor. 2.3.1
              http://tizen.org/feature/sensor.heart_rate_monitor.led_redhttp://tizen.org/feature/sensor.heart_rate_monitor.led_red Specify this key, if the application requires the LED red heart rate monitor sensor. 2.3.1
              http://tizen.org/feature/sensor.magnetometerhttp://tizen.org/feature/sensor.magnetometer Specify this key, if the application requires a magnetic sensor for using the Sensor (MAGNETIC Type) API. 2.2.1
              http://tizen.org/feature/sensor.pedometerhttp://tizen.org/feature/sensor.pedometer Specify this key, if the application requires a pedometer sensor for using the Human Activity Monitor (PEDOMETER Type) API. 2.3
              http://tizen.org/feature/sensor.photometerhttp://tizen.org/feature/sensor.photometer Specify this key, if the application requires a photometer sensor for using the Sensor (LIGHT Type) API. 2.2.1
              http://tizen.org/feature/sensor.proximityhttp://tizen.org/feature/sensor.proximity Specify this key, if the application requires a proximity sensor for using the Sensor (PROXIMITY Type) API. 2.2.1
              http://tizen.org/feature/sensor.sleep_monitorhttp://tizen.org/feature/sensor.sleep_monitor Specify this key, if the application requires a sleep monitor sensor which tracks the human sleep state or a sleep detector sensor which detects whether the human falls asleep or wakes up. 3.0
              http://tizen.org/feature/sensor.ultraviolethttp://tizen.org/feature/sensor.ultraviolet Specify this key, if the application requires a ultraviolet sensor for using the Sensor (ULTRAVIOLET Type) API. 2.3
              http://tizen.org/feature/sensor.wrist_uphttp://tizen.org/feature/sensor.wrist_up Specify this key, if the application requires a wrist up sensor for using the Human Activity Monitor (WRIST_UP Type) API. 2.3
              +

              Table: Available requirements for mobile Web W3C/HTML5 APIs

              - @@ -419,45 +419,45 @@ - + - + - + - + - + - + - +
              Table: Available requirements for mobile Web W3C/HTML5 APIs
              Feature key
              http://tizen.org/feature/camerahttp://tizen.org/feature/camera Specify this key, if the application requires any kind of a camera for using the getUserMedia or HTML Media Capture API. 2.2.1
              http://tizen.org/feature/location.gpshttp://tizen.org/feature/location.gps Specify this key, if the application requires the Global Positioning System (GPS) feature for using the GeoLocation API. 2.2.1
              http://tizen.org/feature/microphonehttp://tizen.org/feature/microphone Specify this key, if the application requires a microphone for using the getUserMedia or HTML Media Capture API. 2.2.1
              http://tizen.org/feature/sensor.accelerometerhttp://tizen.org/feature/sensor.accelerometer Specify this key, if the application requires an acceleration sensor for using the DeviceOrientation Event Specification API. 2.2.1
              http://tizen.org/feature/sensor.gyroscopehttp://tizen.org/feature/sensor.gyroscope Specify this key, if the application requires a gyro sensor for using the DeviceOrientation Event API. 2.2.1
              http://tizen.org/feature/sensor.magnetometerhttp://tizen.org/feature/sensor.magnetometer Specify this key, if the application requires a magnetic sensor for using the DeviceOrientation Event Specification or Screen Orientation API. 2.2.1
              http://tizen.org/feature/speech.synthesishttp://tizen.org/feature/speech.synthesis Specify this key, if the application requires the speech synthesis (text-to-speech, TTS) feature for using the Web Speech API. 2.2.1
              +

              Table: Available requirements for mobile Web Runtime

              - @@ -465,16 +465,15 @@ - +
              Table: Available requirements for mobile Web Runtime
              Feature keySince
              http://tizen.org/feature/shell.appwidgethttp://tizen.org/feature/shell.appwidget Specify this key, if the application requires the Widget feature. Since 2.3.1, this key indicates only the native Widget. 2.2.1
              - +

              Table: Available requirements for wearable Web Device APIs

              - @@ -482,193 +481,193 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +
              Table: Available requirements for wearable Web Device APIs
              Feature keySince
              http://tizen.org/feature/convergence.d2dhttp://tizen.org/feature/convergence.d2d Specify this key, if the application requires the Device-to-Device (D2D) Convergence feature, which provides the service to discover near-by devices and to communicate information and data to the remote devices. 3.0
              http://tizen.org/feature/database.encryptionhttp://tizen.org/feature/database.encryption Specify this key, if the application requires the database encryption feature. 2.2.1
              http://tizen.org/feature/downloadhttp://tizen.org/feature/download Specify this key, if the application requires the network connection to access the Internet for using the Download API. 2.3
              http://tizen.org/feature/humanactivitymonitorhttp://tizen.org/feature/humanactivitymonitor Specify this key, if the application requires the Human Activity Monitor API. -

              If the key is declared in the config.xml file, the application can be installed on the device with any of the Human Activity Monitor features:

              +

              If the key is declared in the config.xml file, the application can be installed on the device with any of the Human Activity Monitor features:

                -
              • HRM: http://tizen.org/feature/sensor.heart_rate_monitor
              • -
              • PEDOMETER: http://tizen.org/feature/sensor.pedometer
              • -
              • WRIST_UP: http://tizen.org/feature/sensor.wrist_up
              • -
              • GPS: http://tizen.org/feature/location.batch
              • +
              • HRM: http://tizen.org/feature/sensor.heart_rate_monitor
              • +
              • PEDOMETER: http://tizen.org/feature/sensor.pedometer
              • +
              • WRIST_UP: http://tizen.org/feature/sensor.wrist_up
              • +
              • GPS: http://tizen.org/feature/location.batch
              2.3
              http://tizen.org/feature/iot.ocfhttp://tizen.org/feature/iot.ocf Specify this key, if the application requires the Open Connectivity Foundation (OCF) framework. 3.0
              http://tizen.org/feature/ledhttp://tizen.org/feature/led Specify this key, if the application requires the LED feature. 2.4
              http://tizen.org/feature/location.batchhttp://tizen.org/feature/location.batch Specify this key, if the application requires the location tracking with a position batch information feature. 2.3
              http://tizen.org/feature/network.bluetoothhttp://tizen.org/feature/network.bluetooth Specify this key, if the application requires the Bluetooth feature. 2.2.1
              http://tizen.org/feature/network.bluetooth.audio.mediahttp://tizen.org/feature/network.bluetooth.audio.media Specify this key, if the application requires the Bluetooth Advanced Audio feature (A2DP) feature for using the Media Key API. 2.3
              http://tizen.org/feature/network.bluetooth.healthhttp://tizen.org/feature/network.bluetooth.health Specify this key, if the application requires the Bluetooth Health feature (HDP). 2.3
              http://tizen.org/feature/network.bluetooth.lehttp://tizen.org/feature/network.bluetooth.le Specify this key, if the application requires the Bluetooth Low Energy feature (BLE). 2.3
              http://tizen.org/feature/network.net_proxyhttp://tizen.org/feature/network.net_proxy Specify this key, if the application requires the net-proxy feature for the Internet connection. A net-proxy feature for a device acts as an intermediary between client (network service customer) and server (network service provider). 3.0
              http://tizen.org/feature/network.nfchttp://tizen.org/feature/network.nfc Specify this key, if the application requires the use of any API that, in turn, requires the Near Field Communication (NFC) feature. 2.2.1
              http://tizen.org/feature/network.nfc.card_emulationhttp://tizen.org/feature/network.nfc.card_emulation Specify this key, if the application requires the NFC card emulation feature. 2.3
              http://tizen.org/feature/network.nfc.card_emulation.hcehttp://tizen.org/feature/network.nfc.card_emulation.hce Specify this key, if the application requires the NFC host-based card emulation feature. 2.3.1
              http://tizen.org/feature/network.nfc.p2phttp://tizen.org/feature/network.nfc.p2p Specify this key, if the application requires the NFC P2P feature. 2.3.1
              http://tizen.org/feature/network.nfc.taghttp://tizen.org/feature/network.nfc.tag Specify this key, if the application requires the NFC tag feature. 2.3.1
              http://tizen.org/feature/network.pushhttp://tizen.org/feature/network.push Specify this key, if the application requires the network-based push service. 2.2.1
              http://tizen.org/feature/network.secure_elementhttp://tizen.org/feature/network.secure_element Specify this key, if the application requires the secure element feature. 2.2.1
              http://tizen.org/feature/network.telephonyhttp://tizen.org/feature/network.telephony Specify this key, if the application requires the use of any API that, in turn, requires the telephony feature. 2.2.1
              http://tizen.org/feature/network.telephony.smshttp://tizen.org/feature/network.telephony.sms Specify this key, if the application requires the SMS feature. 2.4
              http://tizen.org/feature/network.wifihttp://tizen.org/feature/network.wifi Specify this key, if the application requires the use of any API that, in turn, requires the Wi-Fi feature (for example, the Download API). 2.2.1
              http://tizen.org/feature/sensor.barometerhttp://tizen.org/feature/sensor.barometer Specify this key, if the application requires a barometer sensor. 2.2.1
              http://tizen.org/feature/sensor.gyroscope_rotation_vectorhttp://tizen.org/feature/sensor.gyroscope_rotation_vector Specify this key, if the application requires a gyroscope-based rotation vector sensor. 2.4
              http://tizen.org/feature/sensor.heart_rate_monitorhttp://tizen.org/feature/sensor.heart_rate_monitor Specify this key, if the application requires a heart rate monitor sensor. 2.3
              http://tizen.org/feature/sensor.heart_rate_monitor.led_greenhttp://tizen.org/feature/sensor.heart_rate_monitor.led_green Specify this key, if the application requires the LED green heart rate monitor sensor. 2.3.1
              http://tizen.org/feature/sensor.heart_rate_monitor.led_irhttp://tizen.org/feature/sensor.heart_rate_monitor.led_ir Specify this key, if the application requires the LED infrared heart rate monitor sensor. 2.3.1
              http://tizen.org/feature/sensor.heart_rate_monitor.led_redhttp://tizen.org/feature/sensor.heart_rate_monitor.led_red Specify this key, if the application requires the LED red heart rate monitor sensor. 2.3.1
              http://tizen.org/feature/sensor.magnetometerhttp://tizen.org/feature/sensor.magnetometer Specify this key, if the application requires a magnetic sensor. 2.2.1
              http://tizen.org/feature/sensor.pedometerhttp://tizen.org/feature/sensor.pedometer Specify this key, if the application requires a pedometer sensor. 2.3
              http://tizen.org/feature/sensor.photometerhttp://tizen.org/feature/sensor.photometer Specify this key, if the application requires a photometer sensor. 2.2.1
              http://tizen.org/feature/sensor.proximityhttp://tizen.org/feature/sensor.proximity Specify this key, if the application requires a proximity sensor. 2.2.1
              http://tizen.org/feature/sensor.sleep_monitorhttp://tizen.org/feature/sensor.sleep_monitor Specify this key, if the application requires a sleep monitor sensor which tracks the human sleep state or a sleep detector sensor which detects whether the human falls asleep or wakes up. 3.0
              http://tizen.org/feature/sensor.ultraviolethttp://tizen.org/feature/sensor.ultraviolet Specify this key, if the application requires an ultraviolet sensor. 2.3
              http://tizen.org/feature/sensor.wrist_uphttp://tizen.org/feature/sensor.wrist_up Specify this key, if the application requires a wrist up sensor. 2.3
              +

              Table: Available requirements for wearable Web W3C/HTML5 APIs

              - @@ -677,60 +676,60 @@ - + - + - + - + - + - + - + - + - + - +
              Table: Available requirements for wearable Web W3C/HTML5 APIs
              Feature key
              http://tizen.org/feature/camerahttp://tizen.org/feature/camera Specify this key, if the application requires any kind of a camera for using the getUserMedia API. 2.2.1
              http://tizen.org/feature/input.rotating_bezelhttp://tizen.org/feature/input.rotating_bezel Specify this key, if the application requires rotating bezel input. 2.3.1
              http://tizen.org/feature/location.gpshttp://tizen.org/feature/location.gps Specify this key, if the application requires the Global Positioning System (GPS) feature for using the GeoLocation API. 2.2.1
              http://tizen.org/feature/microphonehttp://tizen.org/feature/microphone Specify this key, if the application requires a microphone for using the getUserMedia API. 2.2.1
              http://tizen.org/feature/network.internethttp://tizen.org/feature/network.internet Specify this key, if the application requires Internet access for using the WebSocket API, XMLHttpRequest Level 1, or Cross-Origin Resource Sharing API. 2.3.1
              http://tizen.org/feature/screen.shape.circlehttp://tizen.org/feature/screen.shape.circle Specify this key, if the application requires a circle-shaped screen. 2.3.1
              http://tizen.org/feature/screen.shape.rectanglehttp://tizen.org/feature/screen.shape.rectangle Specify this key, if the application requires a rectangle-shaped screen. 2.3.1
              http://tizen.org/feature/sensor.accelerometerhttp://tizen.org/feature/sensor.accelerometer Specify this key, if the application requires an acceleration sensor for using the DeviceOrientation Event Specification API. 2.2.1
              http://tizen.org/feature/sensor.gyroscopehttp://tizen.org/feature/sensor.gyroscope Specify this key, if the application requires a gyro sensor for using the DeviceOrientation Event API. 2.2.1
              http://tizen.org/feature/speech.synthesishttp://tizen.org/feature/speech.synthesis Specify this key, if the application requires the speech synthesis (text-to-speech, TTS) feature for using the Web Speech API. 2.2.1
              +

              Table: Available requirements for wearable Web Supplementary APIs

              - @@ -738,25 +737,25 @@ - + - + - +
              Table: Available requirements for wearable Web Supplementary APIs
              Feature keySince
              http://tizen.org/feature/media.audio_recordinghttp://tizen.org/feature/media.audio_recording Specify this key, if the application requires the audio recording functionality of the device for using the Camera API (Tizen Extension) (Audio Recording) API. 2.3
              http://tizen.org/feature/media.image_capturehttp://tizen.org/feature/media.image_capture Specify this key, if the application requires the image capture functionality of the device for using the Camera API (Tizen Extension) (Image Recording) API. 2.3
              http://tizen.org/feature/media.video_recordinghttp://tizen.org/feature/media.video_recording Specify this key, if the application requires the video recording functionality of the device for using the Camera API (Tizen Extension) (Video Recording) API. 2.3
              +

              Table: Available requirements for wearable Web Runtime

              - @@ -764,12 +763,12 @@ - + - + @@ -779,11 +778,11 @@

              Profile-based Filtering

              A Tizen profile describes the requirements for a category of Tizen devices that have a common application execution environment. Applications are created for a single specific target profile, such as mobile, wearable, or TV, and can run on devices compliant to that profile.

              -

              Use profile-based filtering to ensure that your application is only downloaded on the appropriate device profile. To ensure this, declare the intended profile by adding the profile name element in the config.xml file.

              +

              Use profile-based filtering to ensure that your application is only downloaded on the appropriate device profile. To ensure this, declare the intended profile by adding the profile name element in the config.xml file.

              The following table lists the Tizen profiles and related profile name attributes.

              +

              Table: Tizen profiles and profile name attributes

              Table: Available requirements for wearable Web Runtime
              Feature keySince
              http://tizen.org/feature/shell.appwidgethttp://tizen.org/feature/shell.appwidget Specify this key, if the application requires the Widget feature. Since 2.3.1, this key indicates only the native Widget. 2.2.1
              http://tizen.org/feature/web.servicehttp://tizen.org/feature/web.service Specify this key, if the application requires the Web service application feature. 2.3
              - @@ -791,19 +790,19 @@ - + - + - +
              Table: Tizen profiles and profile name attributes
              Tizen profile
              Mobilemobilemobile
              Wearablewearablewearable
              TVTVTV
              -

              In a Web application, the profile name element can be added to the config.xml file as follows:

              +

              In a Web application, the profile name element can be added to the config.xml file as follows:

               <widget xmlns="http://www.w3.org/ns/widgets" xmlns:tizen="http://tizen.org/ns/widgets" ... >
               <tizen:profile name="mobile"/>
              @@ -811,10 +810,10 @@
               <tizen:profile name="wearable"/>
               
              -

              The Tizen Store compares the device profile and the profile name element in an application. The store only shows the applications with a profile name matching the device profile to prevent unsupported applications from being installed.

              +

              The Tizen Store compares the device profile and the profile name element in an application. The store only shows the applications with a profile name matching the device profile to prevent unsupported applications from being installed.

              Single Web Application for Multiple Profiles

              -

              Applications are created for a single specific target profile and can only run on devices compliant to that profile. However, it is easily possible to develop a Web application on one profile and make it work on another profile if you use Web APIs that are common to both the profiles. You just modify the <tizen:profile> tag to switch profiles. You may also have to make other changes, like adapting your application to different screen sizes and input events. It is recommended that you test this modified application to ensure it performs as desired.

              +

              Applications are created for a single specific target profile and can only run on devices compliant to that profile. However, it is easily possible to develop a Web application on one profile and make it work on another profile if you use Web APIs that are common to both the profiles. You just modify the <tizen:profile> tag to switch profiles. You may also have to make other changes, like adapting your application to different screen sizes and input events. It is recommended that you test this modified application to ensure it performs as desired.

              diff --git a/org.tizen.training/html/web/details/deprecation_policy_w.htm b/org.tizen.training/html/web/details/deprecation_policy_w.htm index 33ec81c..4aa02ad 100644 --- a/org.tizen.training/html/web/details/deprecation_policy_w.htm +++ b/org.tizen.training/html/web/details/deprecation_policy_w.htm @@ -53,8 +53,8 @@
            • This policy comes into effect beginning with Tizen 2.4.
            • The functionality of the deprecated API is available for 2 releases, as indicated in the following table. +

              Table: Deprecation schedule

              - diff --git a/org.tizen.training/html/web/details/event_handling_w.htm b/org.tizen.training/html/web/details/event_handling_w.htm index ba88610..cf580c2 100644 --- a/org.tizen.training/html/web/details/event_handling_w.htm +++ b/org.tizen.training/html/web/details/event_handling_w.htm @@ -41,12 +41,12 @@

              The Tizen platform supports rotary events for user interaction on a wearable rotary device or sensor. The rotary device can rotate clockwise or counter-clockwise, and dispatch an event for each movement. The rotary device has points called detent. If the rotary device detects the detent point while rotating, it dispatches a separate new event about the point. The number of the available detent points depends on the device hardware.

              -

              Figure: Rotary device

              +

              Figure: Rotary device

              Rotary device

              Rotary events are used to deliver the rotary device or sensor data to the application. The following table describes the rotary events.

              +

              Table: Rotary events

              Table: Deprecation schedule
              - @@ -56,8 +56,8 @@ - +
              Table: Rotary events
              Type
              rotarydetent Event is triggered when a device detects the detent point.detail.direction: the rotation direction. -

              The available values are CW for clockwise and CCW for counter-clockwise rotation.

              detail.direction: the rotation direction. +

              The available values are CW for clockwise and CCW for counter-clockwise rotation.

              @@ -86,7 +86,7 @@ document.addEventListener("rotarydetent", function(ev)

              In low-powered wearable devices, the Tizen platform supports an ambient mode for watch applications. When the device enables the ambient mode, the Tizen watch application displayed on an idle screen can show a limited UI to reduce power consumption. The watch application also receives a tick event every minute in the ambient mode.

              -

              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 a black and white UI only, 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 disable in the watch application config.xml file to allow the platform to show a default ambient mode UI.

              +

              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 a black and white UI only, 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 disable in the watch application config.xml file to allow the platform to show a default ambient mode UI.

              Since Tizen 2.3.2, some devices introduce a high color mode for the ambient mode. In the high color mode, you can use more colors (usually, 24-bit color) for drawing the ambient mode UI. To check whether the device supports the high color mode, use the following code:

              @@ -96,8 +96,8 @@ var isHighColorMode = tizen.systeminfo.getCapability("http://tizen.org/feat
        • The following table describes the ambient mode events.

          +

          Table: Ambient events

          - @@ -107,23 +107,17 @@ var isHighColorMode = tizen.systeminfo.getCapability("http://tizen.org/feat - diff --git a/org.tizen.training/html/web/details/sec_privileges_w.htm b/org.tizen.training/html/web/details/sec_privileges_w.htm index a764856..423b059 100644 --- a/org.tizen.training/html/web/details/sec_privileges_w.htm +++ b/org.tizen.training/html/web/details/sec_privileges_w.htm @@ -39,25 +39,19 @@ tr.partner-level, tr.platform-level { background-color: #cff }
        • The platform level is the highest privilege level, and an application that needs these privileges requires at least a platform-signed certificate, which is granted to vendor developers.
        • -

          Since Tizen platform 3.0, some privileges are categorized as privacy-related and give an option to the user to switch them on and off. If an application invokes a privacy-related privileged API, the Tizen system checks whether the privilege is allowed for the application. For the application to use the API, the privilege must be declared in the config.xml file and the user must have switched it on.

          - -
          Table: Ambient events
          Type
          ambientmodechanged Event is triggered when a device enables or disables the ambient mode.detail.ambientMode: the status of the mode. -

          The available values are true when the ambient mode is enabled and false when the ambient mode is disabled.

          +
          detail.ambientMode: the status of the mode. +

          The available values are true when the ambient mode is enabled and false when the ambient mode is disabled.

          timetick Event is triggered once a minute while the device is in the ambient mode to notify the application that it can update its UI. - - - - - - - - - -
          Note
          The http://tizen.org/privilege/alarm privilege must be set to get timetick events.
          +
          + Note + The http://tizen.org/privilege/alarm privilege must be set to get timetick events. +
          -
          - - - - - - - - -
          Note
          In applications with the platform version 3.0 or higher, if you use privacy-related privileged APIs, make sure that the user has switched the privilege on before making the function call. Otherwise, the application does not work as expected.
          +

          Since Tizen platform 3.0, some privileges are categorized as privacy-related and give an option to the user to switch them on and off. If an application invokes a privacy-related privileged API, the Tizen system checks whether the privilege is allowed for the application. For the application to use the API, the privilege must be declared in the config.xml file and the user must have switched it on.

          + +
          + Note + In applications with the platform version 3.0 or higher, if you use privacy-related privileged APIs, make sure that the user has switched the privilege on before making the function call. Otherwise, the application does not work as expected. +

          The Tizen Studio also provides privilege checker tools to check whether the Tizen application source code contains any privilege violations. For more information, see Verifying Privilege Usage.

          The following tables list the API privileges, which you must to declare when using security-sensitive API modules.

          +

          Table: Mobile Web Device API privileges

          - @@ -127,7 +121,7 @@ tr.partner-level, tr.platform-level { background-color: #cff } - @@ -135,7 +129,7 @@ tr.partner-level, tr.platform-level { background-color: #cff } - @@ -143,7 +137,7 @@ tr.partner-level, tr.platform-level { background-color: #cff } - @@ -151,7 +145,7 @@ tr.partner-level, tr.platform-level { background-color: #cff } - @@ -439,7 +433,7 @@ tr.partner-level, tr.platform-level { background-color: #cff } - + @@ -472,8 +466,8 @@ tr.partner-level, tr.platform-level { background-color: #cff }
          Table: Mobile Web Device API privileges
          Privilegepublic 2.2.1The application can change Bluetooth settings, such as switching Bluetooth on or off and setting the device name. Deprecated since 2.4. Use http://tizen.org/privilege/bluetooth instead. + The application can change Bluetooth settings, such as switching Bluetooth on or off and setting the device name. Deprecated since 2.4. Use http://tizen.org/privilege/bluetooth instead.
          public 2.2.1The application can use the Bluetooth Generic Access Profile (GAP) to, for example, scan for and pair with devices. Deprecated since 2.4. Use http://tizen.org/privilege/bluetooth instead. + The application can use the Bluetooth Generic Access Profile (GAP) to, for example, scan for and pair with devices. Deprecated since 2.4. Use http://tizen.org/privilege/bluetooth instead.
          public 2.2.1The application can use the Bluetooth Health Device Profile (HDP) to, for example, send health information. Deprecated since 2.4. Use http://tizen.org/privilege/bluetooth instead. + The application can use the Bluetooth Health Device Profile (HDP) to, for example, send health information. Deprecated since 2.4. Use http://tizen.org/privilege/bluetooth instead.
          public 2.2.1The application can use the Bluetooth Serial Port Profile (SPP) to, for example, send serial data. Deprecated since 2.4. Use http://tizen.org/privilege/bluetooth instead. + The application can use the Bluetooth Serial Port Profile (SPP) to, for example, send serial data. Deprecated since 2.4. Use http://tizen.org/privilege/bluetooth instead.
          partner 2.2.1The application can read secure system information. Deprecated since 2.3.1. Use http://tizen.org/privilege/telephony instead.The application can read secure system information. Deprecated since 2.3.1. Use http://tizen.org/privilege/telephony instead.
          http://tizen.org/privilege/telephony
          +

          Table: Mobile Web W3C/HTML5 API privileges

          - @@ -532,8 +526,8 @@ tr.partner-level, tr.platform-level { background-color: #cff }
          Table: Mobile Web W3C/HTML5 API privileges
          Privilege
          +

          Table: Mobile Web Supplementary API privileges

          - @@ -552,8 +546,8 @@ tr.partner-level, tr.platform-level { background-color: #cff }
          Table: Mobile Web Supplementary API privileges
          Privilege
          +

          Table: Wearable Web Device API privileges

          - @@ -609,28 +603,28 @@ tr.partner-level, tr.platform-level { background-color: #cff } - + - + - + - + @@ -833,7 +827,7 @@ tr.partner-level, tr.platform-level { background-color: #cff } - + @@ -859,8 +853,8 @@ tr.partner-level, tr.platform-level { background-color: #cff }
          Table: Wearable Web Device API privileges
          Privilegepublic 2.3.1The application can change Bluetooth settings, such as switching Bluetooth on or off and setting the device name. Deprecated since 3.0. Use http://tizen.org/privilege/bluetooth instead.The application can change Bluetooth settings, such as switching Bluetooth on or off and setting the device name. Deprecated since 3.0. Use http://tizen.org/privilege/bluetooth instead.
          http://tizen.org/privilege/bluetooth.gap public 2.3.1The application can use the Bluetooth Generic Access Profile (GAP) to, for example, scan for and pair with devices. Deprecated since 3.0. Use http://tizen.org/privilege/bluetooth instead.The application can use the Bluetooth Generic Access Profile (GAP) to, for example, scan for and pair with devices. Deprecated since 3.0. Use http://tizen.org/privilege/bluetooth instead.
          http://tizen.org/privilege/bluetooth.health public 2.3.1The application can use the Bluetooth Health Device Profile (HDP) to, for example, send health information. Deprecated since 3.0. Use http://tizen.org/privilege/bluetooth instead.The application can use the Bluetooth Health Device Profile (HDP) to, for example, send health information. Deprecated since 3.0. Use http://tizen.org/privilege/bluetooth instead.
          http://tizen.org/privilege/bluetooth.spp public 2.3.1The application can use the Bluetooth Serial Port Profile (SPP) to, for example, send serial data. Deprecated since 3.0. Use http://tizen.org/privilege/bluetooth instead.The application can use the Bluetooth Serial Port Profile (SPP) to, for example, send serial data. Deprecated since 3.0. Use http://tizen.org/privilege/bluetooth instead.
          http://tizen.org/privilege/bluetoothmanagerpartner 2.2.1The application can read secure system information. Deprecated since 2.3.1. Use http://tizen.org/privilege/telephony instead.The application can read secure system information. Deprecated since 2.3.1. Use http://tizen.org/privilege/telephony instead.
          http://tizen.org/privilege/telephony
          +

          Table: Wearable Web W3C/HTML5 API privileges

          - @@ -909,8 +903,8 @@ tr.partner-level, tr.platform-level { background-color: #cff }
          Table: Wearable Web W3C/HTML5 API privileges
          Privilege
          +

          Table: Wearable Web Supplementary API privileges

          - diff --git a/org.tizen.training/html/web/details/sign_certificate_w.htm b/org.tizen.training/html/web/details/sign_certificate_w.htm index 8865221..38c5415 100644 --- a/org.tizen.training/html/web/details/sign_certificate_w.htm +++ b/org.tizen.training/html/web/details/sign_certificate_w.htm @@ -63,7 +63,7 @@
        • The distributor signature determines the API set that the application can use.
        • -

          Figure: Signature type

          +

          Figure: Signature type

          Signature type

          @@ -78,8 +78,8 @@

          For an application to use a privileged API, the distributor signature must be generated from a certificate (and its signing key) with a proper privilege level. If an application has a distributor signature generated from a partner level certificate (and its signing key), the application can use only public and partner level APIs.

          The following table shows the relationship between the certificate (and signing key) privilege level and the API privilege level.

          +

          Table: API levels allowed in specific certificate privilege levels

          Table: Wearable Web Supplementary API privileges
          Privilege
          - @@ -116,7 +116,7 @@

          The following figure illustrates the signature and certificate flow.

          -

          Figure: Signature flow

          +

          Figure: Signature flow

          Signature flow

          The testing distributor certificate and its signing key with the public level are preloaded in the Tizen Studio. The author certificate and its signing key can also be created in the Tizen Studio. For more information, see Working with the Certificate Profile.

          @@ -128,7 +128,7 @@

          The following figure shows the signature file structure.

          -

          Figure: Signature file structure

          +

          Figure: Signature file structure

          Signature file structure

          diff --git a/org.tizen.training/html/web/details/tizen_apis_w.htm b/org.tizen.training/html/web/details/tizen_apis_w.htm index 909497d..1531c59 100644 --- a/org.tizen.training/html/web/details/tizen_apis_w.htm +++ b/org.tizen.training/html/web/details/tizen_apis_w.htm @@ -32,10 +32,9 @@

          Tizen provides a wide range of Web API modules that allow you to take full advantage of various Tizen features.

          The following table lists the features provided by the Mobile Web Device API Reference.

          -
          Table: API levels allowed in specific certificate privilege levels
          Certificate privilege level
          - +

          Table: Device API features provided for mobile applications

          +
          - Table: Device API features provided for mobile applications -
          + @@ -183,10 +182,8 @@

          The following table lists the features provided by the Wearable Web Device API Reference.

          - - +

          Table: Device API features provided for wearable applications

          +
          - Table: Device API features provided for wearable applications -
          @@ -315,10 +312,8 @@

          The following table lists the features provided by the Mobile Web W3C/HTML5 and Supplementaries API Reference.

          - - +

          Table: W3C/HTML5 and some supplementary API features provided for mobile applications

          +
          - Table: W3C/HTML5 and some supplementary API features provided for mobile applications -
          @@ -434,10 +429,8 @@

          The following table lists the features provided by the Wearable Web W3C/HTML5 and Supplementaries API Reference.

          -
          - +

          Table: W3C/HTML5 and some supplementary API features provided for wearable applications

          +
          - Table: W3C/HTML5 and some supplementary API features provided for wearable applications -
          diff --git a/org.tizen.training/html/web/details/web_runtime_w.htm b/org.tizen.training/html/web/details/web_runtime_w.htm index b1b3d65..97f1203 100644 --- a/org.tizen.training/html/web/details/web_runtime_w.htm +++ b/org.tizen.training/html/web/details/web_runtime_w.htm @@ -60,18 +60,12 @@
        • Web application privilege level is Public, and 1 or more Partner or Platform level API privileges are declared in the configuration file.
        • -
          - - - - - - - - -
          Note
          A Web application can be installed from the Tizen Store or can be side-loaded (for example, through a browser or Bluetooth). -The <feature> element is ignored in the Tizen Web application installation process. -
          + +
          + Note + A Web application can be installed from the Tizen Store or can be side-loaded (for example, through a browser or Bluetooth). + The <feature> element is ignored in the Tizen Web application installation process. +
        • Updating Web applications

          The WRT supports updating Web applications when there is a new version available.

          @@ -85,7 +79,7 @@ The <feature>Web application data, such as Tizen settings, cookies, and local storage are preserved across updates. You must ensure that the old data in your application is still usable after the update.
      11. Uninstalling Web applications

        The WRT supports the uninstallation of Web applications. During the uninstallation process, all Web application data, such as preferences, local storage data, cookies, and the local storage folder, are removed.

      12. -
      13. Managing Web application life-cycle

        The WRT supports W3C DOM load and unload, and the Page Visibility events for all pages.

        When a Web application is sent to the background or hidden, the JavaScript execution and rendering, including CSS animations, is suspended, unless the application is specifically configured to be a background service.

        When a Web application returns to the foreground, the JavaScript execution and rendering is resumed.

        The Web Runtime supports the following URI schemes: sms://, mmsto://, and mailto://.

        +
      14. Managing Web application life-cycle

        The WRT supports W3C DOM load and unload, and the Page Visibility events for all pages.

        When a Web application is sent to the background or hidden, the JavaScript execution and rendering, including CSS animations, is suspended, unless the application is specifically configured to be a background service.

        When a Web application returns to the foreground, the JavaScript execution and rendering is resumed.

        The Web Runtime supports the following URI schemes: sms://, mmsto://, and mailto://.

        For each supported URI scheme, the Web Runtime launches a registered platform scheme handler with appropriate parameters.

        The content localization is supported according to the Widget Packaging and Configuration.

      15. @@ -96,23 +90,20 @@ The <feature>

        W3C/HTML5 APIs

      16. Tizen Device API

      17. -

        It also supports multiple browsing context creation within a single Web application using, for example, the window.open() method, or hyperlink navigation.

        +

        It also supports multiple browsing context creation within a single Web application using, for example, the window.open() method, or hyperlink navigation.

        Tizen Web APIs can be accessed in the top-level browsing context, such as main document window, and nested browsing contexts, such as iframes.

        - - - - - - - - - -
        Note
        Tizen Device API can only be used with a locally packaged page. Tizen Device APIs are not available in cross-origin pages.
        -

        To access the host page of your Web application, add the domain for access in the config.xml file. For more information, see Content Security Policy.

        + + +
        + Note + Tizen Device API can only be used with a locally packaged page. Tizen Device APIs are not available in cross-origin pages. +
        + +

        To access the host page of your Web application, add the domain for access in the config.xml file. For more information, see Content Security Policy.

        The Web Runtime also supports the following features:

        @@ -132,7 +123,7 @@ The <feature>The Web Runtime follows the XML digital widget signature process:

        • Web application can be signed by the author and distributors.
        • -
        • The first valid Tizen distributor signature, signature1.xml, determines the privilege level of the Web application, which is Public, Partner, or Platform.
        • +
        • The first valid Tizen distributor signature, signature1.xml, determines the privilege level of the Web application, which is Public, Partner, or Platform.
        • Web application is installed as a trusted application when it is signed with valid signatures and its privilege level is Public, Partner, or Platform.
        • Web application is installed as an untrusted application if it is:
            @@ -143,7 +134,7 @@ The <feature>

            Web Application Protection

            -

            For Web applications that explicitly turn on encryption (in mobile and wearable applications) using the <tizen:setting /> element in the configuration file, the Web Runtime provides the following protection features:

            +

            For Web applications that explicitly turn on encryption (in mobile and wearable applications) using the <tizen:setting /> element in the configuration file, the Web Runtime provides the following protection features:

            • HTML, JavaScript, and CSS files of the Web application stored by the device are encrypted.
            • When the Web application is launched, the WRT decrypts all of its resources in a manner which is transparent to the Web application itself.
            • @@ -156,8 +147,8 @@ The <feature>The Web applications can use HTML5 APIs, some of which need user permission to execute the API call. For such APIs, the Web Runtime supports specific privileges.

              The following table summarizes distributor signature type to API privilege level behavior mapping.

              - - +

              Table: HTML5 API privileges and behavior

              +
              Table: HTML5 API privileges and behavior
              @@ -166,37 +157,37 @@ The <feature> - + - + - + - + - + - + - +
              API
              Geolocation (in mobile and wearable applications only)http://tizen.org/privilege/locationhttp://tizen.org/privilege/location Local domain: Grant permission if defined, otherwise block execution.

              Remote domain: Popup user prompt if defined, otherwise block execution.

              Getusermedia (in mobile and wearable applications only)http://tizen.org/privilege/mediacapturehttp://tizen.org/privilege/mediacapture
              Web Notifications (in mobile applications only)http://tizen.org/privilege/notificationhttp://tizen.org/privilege/notification Local domain: Grant permission if defined, otherwise popup user prompt.

              Remote domain: Popup user prompt.

              Storage (in mobile and wearable applications only)

              (IndexedDB, FileSystem capacity, quota exceeding WebDatabase)

              http://tizen.org/privilege/unlimitedstoragehttp://tizen.org/privilege/unlimitedstorage
              FullScreen (in mobile applications only)http://tizen.org/privilege/fullscreenhttp://tizen.org/privilege/fullscreen If defined, launch in fullscreen mode. If not defined, launch fullscreen mode according to user input (which depends on the content).
              Audio Recording (in wearable applications only)http://tizen.org/privilege/audiorecorderhttp://tizen.org/privilege/audiorecorder Local domain: Grant permission if defined, otherwise block execution.

              Remote domain: Block execution.

              Video Recording (in wearable applications only)http://tizen.org/privilege/camerahttp://tizen.org/privilege/camera
              @@ -205,12 +196,12 @@ The <feature>Tizen Device API Security Policy

              Web Runtime also provides access to sensitive Device API features after consulting the platform-defined security policy. A Web application or an individual user cannot elevate the permissions set by the platform-defined security policy. The mapping between each Tizen Device API and the corresponding privilege is defined in the API definitions in the Tizen Device API Reference.

              The following table summarizes distributor signature type to API privilege level behavior mapping:

              +

              Table: Distributor signature type to API privilege level behavior mapping

              - - + @@ -221,61 +212,50 @@ The <feature> - - - + + + - - + + - +
              Table: Distributor signature type to API privilege level behavior mapping
              API privilege levelDistributor signature type (signature1.xml)Distributor signature type (signature1.xml) Untrusted
              Platform AllowedSecurity error for runtime use (direct API call without config.xml declaration)

              Installation fail for config.xml use

              Security error for runtime use (direct API call without config.xml declaration)

              Installation fail for config.xml use

              Security error for runtime use (direct API call without config.xml declaration)

              Installation fail for config.xml use

              Security error for runtime use (direct API call without config.xml declaration)

              Installation fail for config.xml use

              Security error for runtime use (direct API call without config.xml declaration)

              Installation fail for config.xml use

              Security error for runtime use (direct API call without config.xml declaration)

              Installation fail for config.xml use

              Partner Allowed AllowedSecurity error for runtime use (direct API call without config.xml declaration)

              Installation fail for config.xml use

              Security error for runtime use (direct API call without config.xml declaration)

              Installation fail for config.xml use

              Security error for runtime use (direct API call without config.xml declaration)

              Installation fail for config.xml use

              Security error for runtime use (direct API call without config.xml declaration)

              Installation fail for config.xml use

              Public Allowed Allowed AllowedSecurity error for runtime use (direct API call without config.xml declaration)

              Installation fail for config.xml use

              Security error for runtime use (direct API call without config.xml declaration)

              Installation fail for config.xml use

              Content Security Policy

              The Web applications can mitigate various kinds of content injection vulnerabilities, such as cross-site scripting (XSS). The content security policy (CSP) is a declarative policy that lets the author or server administrator of a Web application inform the client from where the application expects to load resources. To mitigate XSS, for example, a Web application can declare from where it expects to load scripts, allowing the client to detect and block malicious scripts injected into the application by an attacker.

              -

              Web application configuration can include 1 or more <tizen:content-security-policy>, <tizen:content-security-policy-report-only>, or <tizen:allow-navigation> element. If these are included, the Web application is set to the CSP-based security mode.

              +

              Web application configuration can include 1 or more <tizen:content-security-policy>, <tizen:content-security-policy-report-only>, or <tizen:allow-navigation> element. If these are included, the Web application is set to the CSP-based security mode.

              In the CSP-based security mode, the Web Runtime provides content security as per Content Security Policy 1.0. CSP policies can be delivered from the following sources:

                -
              • Default policy (enforced by WRT, if required): default-src *; script-src 'self'; style-src 'self'; object-src 'none';
              • -
              • config.xml: <tizen:content-security-policy> or <tizen:content-security-policy-report-only> -

                If the CSP is defined in the config.xml file, the configuration-based CSP policy is enforced and the default CSP is ignored.

                -

                If the CSP policy is not defined in the config.xml file, the default CSP policy is enforced.

              • -
              • HTTP header: Content-Security-Policy or Content-Security-Policy-Report-Only +
              • Default policy (enforced by WRT, if required): default-src *; script-src 'self'; style-src 'self'; object-src 'none';
              • +
              • config.xml: <tizen:content-security-policy> or <tizen:content-security-policy-report-only> +

                If the CSP is defined in the config.xml file, the configuration-based CSP policy is enforced and the default CSP is ignored.

                +

                If the CSP policy is not defined in the config.xml file, the default CSP policy is enforced.

              • +
              • HTTP header: Content-Security-Policy or Content-Security-Policy-Report-Only

                If a CSP is present in the HTTP header, the most restrictive policy in the configuration-based CSP and HTTP-based CSP is applied.

              -

              Otherwise, the Web application is set to the WARP-based security mode. In this mode, the Web application network and content security is enforced by the legacy <access> tag according to Widget Access Request Policy.

              - - - - - - - - - -
              Note
              The default CSP enforcement is subject to change in the future.
              +

              Otherwise, the Web application is set to the WARP-based security mode. In this mode, the Web application network and content security is enforced by the legacy <access> tag according to Widget Access Request Policy.

              + +
              + Note + The default CSP enforcement is subject to change in the future. +
              - - - - - - - - - -
              Note
              If a Web application declares the <tizen:allow-navigation> element in its configuration document, the main resource navigation (through the window.open() method or a hyperlink) to an external URL is allowed or restricted accordingly.
              +
              + Note + If a Web application declares the <tizen:allow-navigation> element in its configuration document, the main resource navigation (through the window.open() method or a hyperlink) to an external URL is allowed or restricted accordingly. +
              diff --git a/org.tizen.training/html/web/mobile/first_app_mw.htm b/org.tizen.training/html/web/mobile/first_app_mw.htm index d1ddf39..5fed535 100644 --- a/org.tizen.training/html/web/mobile/first_app_mw.htm +++ b/org.tizen.training/html/web/mobile/first_app_mw.htm @@ -47,7 +47,7 @@

              A mobile Web application is basically a Web site stored on a mobile device. You can create it using Web-native languages, such as HTML5, CSS, and JavaScript.

              -

              Study the following instructions to help familiarize yourself with the Tizen Web 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 mobile Web application, which displays some text on the screen and changes the text when the user clicks it:

              +

              Study the following instructions to help familiarize yourself with the Tizen Web 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 mobile Web application, which displays some text on the screen and changes the text when the user clicks it:

              1. Before you get started with developing Tizen applications, download and install the Tizen Studio. @@ -76,7 +76,7 @@
              2. On the right, the figure shows the application screen after you tap the text. The screen now displays the Tizen text. Tapping the text area switches between the 2 texts.

            -

            Figure: Mobile Web Basic application

            +

            Figure: Mobile Web Basic application

            Mobile Web Basic application Mobile Web Basic application

            To create the application project:

            @@ -128,26 +128,21 @@

            You can see the created project in the Project Explorer view. The most important files and folders include:

              -
            • css: Folder for CSS files used by the application to style its content

            • -
            • js: Folder for JavaScript files used by the application to implement its functional logic

            • -
            • config.xml: Application configuration file used by the platform to install and launch the application

            • -
            • icon.png: Application icon file used by the platform to represent the application

            • -
            • index.html: Main HTML file for the layout of the application screen

            • +
            • css: Folder for CSS files used by the application to style its content

            • +
            • js: Folder for JavaScript files used by the application to implement its functional logic

            • +
            • config.xml: Application configuration file used by the platform to install and launch the application

            • +
            • icon.png: Application icon file used by the platform to represent the application

            • +
            • index.html: Main HTML file for the layout of the application screen

            -

            Figure: Application in the Project Explorer

            +

            Figure: Application in the Project Explorer

            Application in the Project Explorer

            - - - - - - - - - -
            Note
            You can view and modify the application configuration in the Web application configuration editor. In this example, no configuration changes are required.
            + +
            + Note + You can view and modify the application configuration in the Web application configuration editor. In this example, no configuration changes are required. +

            Your application project is now ready for further actions. Next, build the application.

            @@ -158,7 +153,7 @@
            1. -

              In the Project Explorer view, double-click the config.xml file of the application. The Tizen Studio opens the file in the Web application configuration editor.

              +

              In the Project Explorer view, double-click the config.xml file of the application. The Tizen Studio opens the file in the Web application configuration editor.

            2. @@ -173,17 +168,12 @@
            3. Preferences: Define name-value pairs that can be set or retrieved through the application.

            4. Tizen: Edit the Tizen schema extension properties of the application.

            5. -

              Source: View and edit the source code of the config.xml file. Changes made and saved on the other tabs are reflected in the source code and vice versa.

              - - - - - - - - - -
              Note
              The config.xml file must conform to both the XML file format and the W3C specification requirements. Editing the file in the Source tab is intended for advanced users only.
              +

              Source: View and edit the source code of the config.xml file. Changes made and saved on the other tabs are reflected in the source code and vice versa.

              + +
              + Note + The config.xml file must conform to both the XML file format and the W3C specification requirements. Editing the file in the Source tab is intended for advanced users only. +
        • @@ -222,7 +212,7 @@

          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

          +

          Figure: Manually building the application

          Manually building the application

          Alternatively, you can also select the project in the Project Explorer view and do one of the following:

          @@ -247,7 +237,7 @@
        • Create and launch an emulator instance in the Emulator Manager:
          1. In the Connection Explorer view, launch the Emulator Manager by clicking the related icon. -

            Emulator manager icon

            +

            Emulator Manager icon

          2. In the Emulator Manager, click Create.

            Creating an emulator instance

            @@ -293,20 +283,15 @@
          3. Confirm that the application launches on the emulator.

            Application running in the emulator

            - - - - - - - - - -
            Note
            If the emulator display has switched off, you cannot see the application launch. To see the application on the emulator screen: + +
            + Note + If the emulator display has switched off, you cannot see the application launch. To see the application on the emulator screen:
              -
            1. To switch the display on, in the key window next to the emulator screen, click Power.
            2. +
            3. To switch the display on, in the key window next to the emulator screen, click Power.
            4. On the home screen, swipe left.
            5. -
            +
          +

          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.

        • @@ -364,22 +349,15 @@
        • Confirm that the application launches in the target device.
      - - - - - - - - - - -
      Note
      The application is launched using the default debug run configuration. To create and use another configuration: +
      + Note + The application is launched using the default debug run configuration. To create and use another configuration:
        -
      1. In the Project Explorer view, right-click the project and select Run As > Run Configurations.
      2. -
      3. In the Run Configurations window, click the New Launch Configuration icon (New Launch Configuration icon), define the configuration details, and launch the application by clicking Run. +
      4. In the Project Explorer view, right-click the project and select Run As > Run Configurations.
      5. +
      6. In the Run Configurations window, click the New Launch Configuration icon (New Launch Configuration icon), define the configuration details, and launch the application by clicking Run.

        Run Configurations window

      7. -
      +
    +

    If you want to run your application without a local device, see Managing and Connecting Devices for Testing.

    @@ -398,7 +376,7 @@

    HTML

    HTML DOM is a structured model to control Web elements. It is an official W3C standard to express the document regardless of platforms or languages, and the foundation of the HTML5 APIs.

    -

    The <html> element is the top-level element of the HTML DOM tree that wraps the entire document, and it has the <head> and <body> elements as child nodes:

    +

    The <html> element is the top-level element of the HTML DOM tree that wraps the entire document, and it has the <head> and <body> elements as child nodes:

     <!DOCTYPE html>
     <html>
    @@ -411,12 +389,12 @@
     </html>
     
    -

    The <head> element contains the information that the browser refers to when rendering the body element to interpret information, such as the title of HTML document, CSS, and JavaScript:

    +

    The <head> element contains the information that the browser refers to when rendering the body element to interpret information, such as the title of HTML document, CSS, and JavaScript:

      -
    • <title>: Defines the title of the document.
    • -
    • <meta>: Defines information, such as encoding, creator, and keywords of the document.
    • -
    • <style>, <link>: Sets the styles of the document.
    • -
    • <script>, <noscript>: Adds functions to the document.
    • +
    • <title>: Defines the title of the document.
    • +
    • <meta>: Defines information, such as encoding, creator, and keywords of the document.
    • +
    • <style>, <link>: Sets the styles of the document.
    • +
    • <script>, <noscript>: Adds functions to the document.
     <!DOCTYPE html>
    @@ -437,7 +415,7 @@
     </html>
     
    -

    The <body> element defines the area displaying content on the browser screen:

    +

    The <body> element defines the area displaying content on the browser screen:

     <body>
    @@ -451,7 +429,7 @@
     
     

    The HTML code displays the Basic text on the screen.

    -

    Figure: Screen with Basic text

    +

    Figure: Screen with Basic text

    Screen with Basic text

    CSS

    @@ -459,12 +437,12 @@

    CSS (Cascading Style Sheets) specifies the layout and styling of the Web application.

    There are various ways to connect CSS with HTML:

      -
    • style attribute in an HTML element
    • -
    • <link> element in the <head> element
    • -
    • @import attribute in the CSS area
    • -
    • <style> element in the <head> element
    • +
    • style attribute in an HTML element
    • +
    • <link> element in the <head> element
    • +
    • @import attribute in the CSS area
    • +
    • <style> element in the <head> element
    -

    Creating a separate CSS file and managing it separately is convenient when it comes to applying changes in the future. The file is connected to the HTML file using a <link> element in the <head> element.

    +

    Creating a separate CSS file and managing it separately is convenient when it comes to applying changes in the future. The file is connected to the HTML file using a <link> element in the <head> element.

    The following code shows how to link to a CSS file:

    @@ -487,10 +465,10 @@ </html>
    -

    The following lines in the CSS code describe the styling of the text in an element with the content-text class name:

    +

    The following lines in the CSS code describe the styling of the text in an element with the content-text class name:

      -
    • css/style.css: +
    • css/style.css:
       html,
       body
      @@ -522,7 +500,7 @@ body
       }
       
    • -
    • index.html: +
    • index.html:
       <body>
          <div id="main" class="page">
      @@ -534,7 +512,7 @@ body
       
    -

    By default, the text uses the #ffffff color (white), defined for the <body> element. If you change the CSS code and add a separate color for the content-text class, the text color changes (in this case, to #ff0000 red):

    +

    By default, the text uses the #ffffff color (white), defined for the <body> element. If you change the CSS code and add a separate color for the content-text class, the text color changes (in this case, to #ff0000 red):

     #content-text
    @@ -545,7 +523,7 @@ body
     }
     
    -

    Figure: Screen with a new text color

    +

    Figure: Screen with a new text color

    Screen with a new text color

    TAU (Tizen Advanced UI)

    @@ -553,7 +531,7 @@ body

    TAU is a Web UI library that enables you to create and manage various kinds of UI components. The components represent a visual UI element, such as a button, checkbox, or listview. You can manipulate and interact with the application screens through the UI components.

    TAU helps you to create Tizen Web Applications easily. The following figure shows the role of TAU and its relation with the Web application.

    -

    Figure: TAU and the Web application

    +

    Figure: TAU and the Web application

    TAU and the Web application

    To create a Web application and design its UI with TAU:

    @@ -583,19 +561,19 @@ body </html> -

    In HTML, use the <script> and <link> elements. These default elements are used to load the basic Tizen Advanced UI (TAU) libraries that must be included in Tizen Web applications:

    +

    In HTML, use the <script> and <link> elements. These default elements are used to load the basic Tizen Advanced UI (TAU) libraries that must be included in Tizen Web applications:

      -
    • TAU library: tau(.min).js +
    • TAU library: tau(.min).js

      This element is mandatory, as it imports the TAU library, which you need to use the TAU JavaScript Interface.

    • -
    • TAU theme: tau(.min).css +
    • TAU theme: tau(.min).css

      This element is also mandatory, as it imports the TAU theme.

    -

    You can add an additional <script src="<CUSTOM_LIBRARY>"> or <link rel="stylesheet" src="<CUSTOM_CSS>"> element to include your own scripts and style sheets. However, place them after the default <script> elements, as you can use any TAU APIs provided by the default libraries.

    -

    To load your JavaScript file, include the file in the <script> element in the HTML <body> element. Since the TAU files are already loaded, you can use any APIs from these libraries as well.

    -

    The following example shows a basic TAU template. Overwrite the index.html file content with the following code:

    +

    You can add an additional <script src="<CUSTOM_LIBRARY>"> or <link rel="stylesheet" src="<CUSTOM_CSS>"> element to include your own scripts and style sheets. However, place them after the default <script> elements, as you can use any TAU APIs provided by the default libraries.

    +

    To load your JavaScript file, include the file in the <script> element in the HTML <body> element. Since the TAU files are already loaded, you can use any APIs from these libraries as well.

    +

    The following example shows a basic TAU template. Overwrite the index.html file content with the following code:

     <!DOCTYPE html>
     <html>
    @@ -623,7 +601,7 @@ body
     

    Changing properties

  • In the Project Explorer view, view the project. -

    The TAU library is located in the lib folder.

    +

    The TAU library is located in the lib folder.

    TAU library directory

  • @@ -632,8 +610,8 @@ body
  • Create a simple page.
      -
    1. Open the index.html file. The body element of the HTML file contains 1 or more pages.

    2. -
    3. To create a page in the <body> element, use the ui-page class with the <div> element:

      +
    4. Open the index.html file. The body element of the HTML file contains 1 or more pages.

    5. +
    6. To create a page in the <body> element, use the ui-page class with the <div> element:

       <body>
          <div class="ui-page" id="main">
      @@ -643,7 +621,7 @@ body
       </body>
       
    7. -

      To layout the page, add a content area with the ui-content class, a header with the ui-header class, and a footer with the ui-footer class:

      +

      To layout the page, add a content area with the ui-content class, a header with the ui-header class, and a footer with the ui-footer class:

       <body>
          <div class="ui-page" id="main">
      @@ -664,7 +642,7 @@ body
       
       

      Hello TAU

    8. -

      You can add your own style in the content and footer area with a defined id attribute:

      +

      You can add your own style in the content and footer area with a defined id attribute:

       <body>
          <div class="ui-page" id="main">
      @@ -682,7 +660,7 @@ body
       </body>
       
      -

      In the style.css file, add the CSS styles for the new id attributes: +

      In the style.css file, add the CSS styles for the new id attributes:

       #contentArea
      @@ -702,10 +680,10 @@ body
       
    9. Add a list. -

      You can add a list with the TAU ListView component using the <ul> element and the ui-listview class:

      +

      You can add a list with the TAU ListView component using the <ul> element and the ui-listview class:

      • -

        Create a simple and basic static list. Overwrite the index.html file content with the following code:

        +

        Create a simple and basic static list. Overwrite the index.html file content with the following code:

         <body>
            <div class="ui-page" id="main">
        @@ -727,7 +705,7 @@ body
         

        TAU list

      • -

        For a more advanced option, you can also create an anchor listview (whose items can be clicked to navigate to other pages or show a popup). Overwrite the <ul class="ui-listview"> element content with the following code:

        +

        For a more advanced option, you can also create an anchor listview (whose items can be clicked to navigate to other pages or show a popup). Overwrite the <ul class="ui-listview"> element content with the following code:

         <body>
        @@ -753,8 +731,8 @@ body
         
      • Add a button in the footer. -

        When implementing Tizen mobile Web applications, you can use the ui-footer class as a footer area. Organize the footer area with 1 or 2 buttons.

        -

        Defining a button is very simple. Add the <div class="ui-footer">...</div> element after the <div class="ui-content">...</div> element:

        +

        When implementing Tizen mobile Web applications, you can use the ui-footer class as a footer area. Organize the footer area with 1 or 2 buttons.

        +

        Defining a button is very simple. Add the <div class="ui-footer">...</div> element after the <div class="ui-content">...</div> element:

         <body>
            <div class="ui-page" id="main">
        @@ -782,7 +760,7 @@ body
         

        The previous steps showed you how to import TAU, create a page, add a list, and add a footer button. In this step, you learn to create another page and make a link between 2 pages.

        1. -

          In the Tizen Studio, you can create a new HTML file and rename it. Create a second.html file with the following content:

          +

          In the Tizen Studio, you can create a new HTML file and rename it. Create a second.html file with the following content:

           <!DOCTYPE html>
           <html>
          @@ -804,7 +782,7 @@ body
           
        2. -

          Decorate the page in the same way as index.html. In the style.css file, add the following CSS style:

          +

          Decorate the page in the same way as index.html. In the style.css file, add the following CSS style:

           #secondPage
          @@ -814,8 +792,8 @@ body
           
        3. -

          Create navigation between the index.html and second.html pages.

          -

          Go back to the index.html file and add a file path in the listview <li><a href> element:

          +

          Create navigation between the index.html and second.html pages.

          +

          Go back to the index.html file and add a file path in the listview <li><a href> element:

           <ul class="ui-listview">
              <li class="ui-li-anchor"><a href="second.html">Go to Second Page</a></li>
          @@ -825,7 +803,7 @@ body
           </ul>
           
        4. -

          Run the code, and see how you can move from the index.html page to the second.html page.

          +

          Run the code, and see how you can move from the index.html page to the second.html page.

          Move to second page

        @@ -833,12 +811,12 @@ body
      • Go back with the back key. -

        You can navigate from page to page with the <a href="PAGE_FILE_NAME"> elements, but you cannot go back. In this step, you learn to add some code in a JavaScript file to enable the user to return to the first page.

        -

        Create a new app.js JavaScript file:

        +

        You can navigate from page to page with the <a href="PAGE_FILE_NAME"> elements, but you cannot go back. In this step, you learn to add some code in a JavaScript file to enable the user to return to the first page.

        +

        Create a new app.js JavaScript file:

        1. -

          In the index.html file, add the <script src="app.js"></script> line before closing the </body> element:

          +

          In the index.html file, add the <script src="app.js"></script> line before closing the </body> element:

           <body>
              <div class="ui-page" id="main">
          @@ -851,7 +829,7 @@ body
                 <div class="ui-footer">
                    <button>OK</button>
                 </div>
          -   ;</div>
          +   </div>
              <script type="text/javascript" src="lib/tau/mobile/js/tau.js"></script>
              <script src="app.js"></script>
           </body>	
          @@ -861,7 +839,7 @@ body
           

          Create a new JavaScript file

        2. Write the file name as app.js and click Finish.
        3. -

          In the app.js file, all kinds of logic can be added to the application. In this case, add several lines for handling navigation:

          +

          In the app.js file, all kinds of logic can be added to the application. In this case, add several lines for handling navigation:

           (function() 
          @@ -884,9 +862,9 @@ body
           
        4. Exit the application. -

          You can make your application exit by adding more lines to the app.js file.

          +

          You can make your application exit by adding more lines to the app.js file.

          You have to consider the fact that when the user clicks the back key, the application can only exit if it is showing the main page. If the second page is showing, the application must return to the main page.

          -

          The following example shows how to handle the back key input with page navigation and application exit. This code is included in the TAU Basic project template main.js file by default.

          +

          The following example shows how to handle the back key input with page navigation and application exit. This code is included in the TAU Basic project template main.js file by default.

           (function() 
           {
          diff --git a/org.tizen.training/html/web/process/app_dev_process_w.htm b/org.tizen.training/html/web/process/app_dev_process_w.htm
          index b4d4781..6162b26 100644
          --- a/org.tizen.training/html/web/process/app_dev_process_w.htm
          +++ b/org.tizen.training/html/web/process/app_dev_process_w.htm
          @@ -94,20 +94,16 @@
             
        5. Compile for:
          • Coffeescript
          • Less
        - - - - - - - - - -
        Note
        About the output files: + +
        + Note + About the output files:
          -
        • Compiled coffeescript output file name is <file name>.js. This file is used when the project is packed to the WGT package file, but the script tag's reference path must be changed manually.
        • -
        • Compiled less output file name is <file name>.css. This file is used when the project is packed to the WGT package file, but the script tag's reference path must be changed manually.
        • -
        +
      • Compiled coffeescript output file name is <file name>.js. This file is used when the project is packed to the WGT package file, but the script tag's reference path must be changed manually.
      • +
      • Compiled less output file name is <file name>.css. This file is used when the project is packed to the WGT package file, but the script tag's reference path must be changed manually.
      • +
      + +

      If the project has errors, they are shown in the Problems and Project Explorer views after the build.

      You can build a Web application automatically or manually:

      @@ -115,20 +111,16 @@
    10. Automatic build:

      In the Tizen Studio menu, select Project > Build Automatically.

      If you select this option, whenever the source or a resource is changed and saved, the Tizen Studio automatically recognizes any saved changes and rebuilds the project source.

    11. Manual build:

      In the Tizen Studio menu, select Project > Build Project.

      You can build your project at your convenience. If you want to use the manual build, ensure that the Project > Build Automatically option is not selected.

    12. - - - - - - - - - -
      Note
      In the manual build mode: + +
      + Note + In the manual build mode:
      • Ensure that you have the latest build output before you run or debug a project.
      • -
      • To remove a project build output, select Project > Clean in the Tizen Studio menu.
      • -
      +
    13. To remove a project build output, select Project > Clean in the Tizen Studio menu.
    14. + + +

      To customize the application, set the build properties:

      • JS validation @@ -146,12 +138,12 @@
        1. Build automatically if no build has been created yet.
        2. Package.

          The optimization process is only executed when you execute the packaging process.

        3. -
        4. Execute the application to the Emulator or target device.
        +
      • Execute the application to the emulator or target device.

    You can run your application in one of the following environments:

      -
    • Emulator

      The device Emulator, provided with the Tizen Studio, imitates the target environment running Tizen Web applications. Using this replicated environment, you can test your application before deploying it to the real target device.

    • -
    • Target Device

      Running your application on a target device allows you to debug and test your application in a real-time environment.

    • +
    • Emulator

      The device emulator, provided with the Tizen Studio, imitates the target environment running Tizen Web applications. Using this replicated environment, you can test your application before deploying it to the real target device.

    • +
    • Target device

      Running your application on a target device allows you to debug and test your application in a real-time environment.

    • Simulator

      The Tizen Web simulator allows you to run application that use the Tizen Web APIs.

    @@ -171,7 +163,7 @@
  • Make up resources (for hybrid core, font, and UI framework applications).
  • Handle signing.
  • Web application packaging process is based on the W3C packaging and configuration.

    -

    You can package a Web application using the web-packaging command in the Command Line Interface (CLI), which is a functional tool in the Tizen Studio:

    +

    You can package a Web application using the web-packaging command in the Command Line Interface (CLI), which is a functional tool in the Tizen Studio:

    web-packaging project.wgt project/

    The Tizen Studio provides the functionality to package a Web application quickly in the required format and to set the package properties.

    @@ -182,10 +174,10 @@

    You can minify your JavaScript, CSS, HTML, and PNG resources and put in an exclude file pattern that you do not want to optimize.

  • Set hybrid application's main service application
  • -

    By default, the Web application package is created once. You can view the package content at any point of the application development process by double-clicking the project .wgt file in the Project Explorer view. All the files present in the application project are displayed in a list.

    +

    By default, the Web application package is created once. You can view the package content at any point of the application development process by double-clicking the project .wgt file in the Project Explorer view. All the files present in the application project are displayed in a list.

    Any changes made to the files in the package content list, such as deleting files or dragging and dropping files, are not reflected in the actual project files.

    -

    Figure: Viewing the Web application package

    +

    Figure: Viewing the Web application package

    Viewing the Web application package

    @@ -213,22 +205,16 @@

    To modify the build configuration of the service application, see Building the Application.

    - - - - - - - - - -
    Note
    Tizen has limited a multi-project application combination policy for device usability. If you do not follow the policy, the submission of your application to the Tizen Store can be rejected. -
    + +
    + Note + Tizen has limited a multi-project application combination policy for device usability. If you do not follow the policy, the submission of your application to the Tizen Store can be rejected. +

    The following table shows the possible combinations for a hybrid multi-project. M means that multiple applications can be packaged as sub applications.

    +

    Table: Combinations

    - @@ -270,7 +256,7 @@

    To certify and publish your application:

    • Upload your mobile Web application to the Tizen Store or your wearable Web application to the Samsung Galaxy Apps Store for registration. -

      After the application is uploaded, the application is signed as a certified application installer package and the <Application_name>.wgt archive format, which contains the distributor signature, is added by the Tizen Store or Samsung Galaxy Apps Store.

      +

      After the application is uploaded, the application is signed as a certified application installer package and the <Application_name>.wgt archive format, which contains the distributor signature, is added by the Tizen Store or Samsung Galaxy Apps Store.

    • Submit your application to the Tizen Store or Samsung Galaxy Apps Store for validation and selling.

      The Tizen Store or Samsung Galaxy Apps Store checks whether your application functions properly before publishing it.

      @@ -286,9 +272,9 @@

      You can upgrade your application even after you have certified and made it available for sale at the Tizen Store or Samsung Galaxy Apps Store.

      To upgrade your application:

        -
      1. Update your application version, and if needed the privileges, in the config.xml configuration file in the Tizen Studio.
      2. +
      3. Update your application version, and if needed the privileges, in the config.xml configuration file in the Tizen Studio.
      4. Update the application code as needed.
      5. -
      6. If needed, update the privileges in the config.xml configuration file in the Tizen Studio.
      7. +
      8. If needed, update the privileges in the config.xml configuration file in the Tizen Studio.
      9. Build, test, and repackage the application.
      10. Register the upgraded application on the Tizen Store or Samsung Galaxy Apps Store.
      @@ -298,7 +284,7 @@

      Once your application has reached the end of its life-cycle, you can remove it from the Tizen Store or Samsung Galaxy Apps Store.

      The following figure illustrates the process of developing a Tizen Web application.

      -

      Figure: Web application development process

      +

      Figure: Web application development process

      Web application development process

      diff --git a/org.tizen.training/html/web/process/coding_app_w.htm b/org.tizen.training/html/web/process/coding_app_w.htm index e16e2cb..aa78e3b 100644 --- a/org.tizen.training/html/web/process/coding_app_w.htm +++ b/org.tizen.training/html/web/process/coding_app_w.htm @@ -42,10 +42,10 @@

      Using Hover Help

      The Tizen Studio supports hover help for Web API and W3C Widget APIs. The hover help provides input from the API Reference.

      -

      Figure: Hover help

      +

      Figure: Hover help

      Hover help

      Adding External Source Code or Library

      -

      External source files are located in the project directory, and its /js and /css sub-directories. You can add a new folder or source file (such as CSS, HTML, JSON, XML, and JavaScript) to your existing project.

      +

      External source files are located in the project directory, and its /js and /css sub-directories. You can add a new folder or source file (such as CSS, HTML, JSON, XML, and JavaScript) to your existing project.

      You can add files in the following ways (as an example, the instructions illustrate the adding of a CSS file):

      • Adding a new file: @@ -56,21 +56,16 @@
      • Adding an existing file:
          -
        1. In the Project Explorer view, right-click the /css sub-directory and select Import > General > File System.
        2. +
        3. In the Project Explorer view, right-click the /css sub-directory and select Import > General > File System.
        4. In the Import view, click Browse and select the import location.
        5. Click Finish.
      -
    Table: Combinations
    Main project
    - - - - - - - - -
    Note
    You can also drag and drop external source files or libraries. If you drop a file to the Project Explorer view, the File Operation dialog appears, and allows you to either copy the file or create a link to it.
    + +
    + Note + You can also drag and drop external source files or libraries. If you drop a file to the Project Explorer view, the File Operation dialog appears, and allows you to either copy the file or create a link to it. +
    diff --git a/org.tizen.training/html/web/process/creating_app_project_w.htm b/org.tizen.training/html/web/process/creating_app_project_w.htm index 29bb81a..152cab1 100644 --- a/org.tizen.training/html/web/process/creating_app_project_w.htm +++ b/org.tizen.training/html/web/process/creating_app_project_w.htm @@ -47,27 +47,22 @@
  • Define the project properties and click Finish.

    You can fill the project name. You can also select the location and working sets by clicking More properties.

    - - - - - - - - - -
    Note
    The Tizen API names cannot be used as project names. The project name must be more than 2 characters and is restricted to the following regular expression: [a-zA-Z][a-zA-Z0-9-]{2,49}.
    + +
    + Note + The Tizen API names cannot be used as project names. The project name must be more than 2 characters and is restricted to the following regular expression: [a-zA-Z][a-zA-Z0-9-]{2,49}. +

    Defining properties

    The Project Wizard sets up the project, creates the application files using the default content from the template, and closes. For more information about the Project Wizard and the available templates, see Creating Tizen Projects with Tizen Project Wizard.

  • -

    The new application project is shown in the Project Explorer view of the Tizen Studio, with default content in the config.xml file as well as in several project folders.

    +

    The new application project is shown in the Project Explorer view of the Tizen Studio, with default content in the config.xml file as well as in several project folders.

    Importing a Project

    If you have an existing Tizen application project, you can import it into the Tizen Studio:

    1. Select File > Import > Tizen > Tizen Project, and click Next.
    2. -
    3. Click Browse and select the root directory, which contains your existing project, or Web application package file (with the .wgt extension).
    4. +
    5. Click Browse and select the root directory, which contains your existing project, or Web application package file (with the .wgt extension).
    6. With the Platform drop-down lists, select the platform profile and version.
    7. Click Finish.
    diff --git a/org.tizen.training/html/web/process/run_debug_app_w.htm b/org.tizen.training/html/web/process/run_debug_app_w.htm index 0f14573..1b99e0f 100644 --- a/org.tizen.training/html/web/process/run_debug_app_w.htm +++ b/org.tizen.training/html/web/process/run_debug_app_w.htm @@ -62,16 +62,11 @@

    To stop the emulator, right-click the emulator and click Close.

    - - - - - - - - - -
    Note
    Running an emulator instance requires a minimum free disk space of 20 MB. The emulator image can occupy up to 10 GB of disk space.
    + +
    + Note + Running an emulator instance requires a minimum free disk space of 20 MB. The emulator image can occupy up to 10 GB of disk space. +

    Running Web Applications on a Target Device

    You can run Tizen Web applications on a target device using the Project Explorer view or the Tizen Studio menu.

    @@ -97,16 +92,12 @@

    Running Mobile Web Applications on the Simulator

    You can run Tizen Web applications on the Web Simulator using the Project Explorer view or the Tizen Studio menu.

    - - - - - - - - - -
    Note
    The Tizen Web Simulator runs only on the Google Chrome™ browser. To use the Web Simulator, download and install Google Chrome. You can manually specify the installation location of the browser in the simulator preferences.
    + +
    + Note + The Tizen Web Simulator runs only on the Google Chrome™ browser. To use the Web Simulator, download and install Google Chrome. You can manually specify the installation location of the browser in the simulator preferences. +
    +

    If you are running your Web application on the Web Simulator for the first time, create a running configuration by selecting Run > Run Configurations > Tizen Web Simulator Application in the Tizen Studio menu. The running configuration contains the application launch settings.

    To run your application on the Simulator, do one of the following:

      @@ -114,7 +105,7 @@
    • In the Tizen Studio menu, go to Run > Run As > Tizen Web Simulator Application.
    • On the Tizen Studio toolbar, click Run.
    -

    When the application is launched, the Web Simulator loads the file specified in the Content field of the config.xml file. The mostly commonly specified file is index.html.

    +

    When the application is launched, the Web Simulator loads the file specified in the Content field of the config.xml file. The mostly commonly specified file is index.html.

    The simulator renders your application on the browser using the WebKit engine. All the Google Chrome™ browser development features are available (by pressing the F12 keyboard key) in the simulator, as is the Web Inspector tool. You can leverage the advantages of the Web Simulator tool by setting the device screen size and orientation, and by sending events and messages, such as geolocation data and sensor input events, to your application for debugging it.

    @@ -133,8 +124,8 @@
  • Start the debugging by clicking Debug.

    If no changes are required in the debug configuration, you can also debug the application on the target device by doing one of the following:

      -
    • In the Project Explorer view, right-click the project and select Debug As > Tizen Web application.
    • -
    • In the Tizen Studio menu, go to Run > Debug As > Tizen Web application.
    • +
    • In the Project Explorer view, right-click the project and select Debug As > Tizen Web Application.
    • +
    • In the Tizen Studio menu, go to Run > Debug As > Tizen Web Application.
    • On the Tizen Studio toolbar, click Debug.

    The Web Inspector tool is displayed in a new Chrome browser window. You can perform the following debugging tasks using the Web Inspector:

    @@ -144,25 +135,20 @@
  • Inspect resources
  • Debug JavaScript code
  • - - - - - - - - - -
    Note

    The Web Inspector always opens in a new window. Life-cycle synchronization between the application to be debugged and the Web Inspector browser is not supported.

    Installing Google Chrome on the device is mandatory for the Web Inspector to work. When Google Chrome is installed on the device, the Tizen Studio automatically detects it. To select the browser path, go to Window > Preferences > Tizen Studio > Web > Chrome.

    + +
    + Note + The Web Inspector always opens in a new window. Life-cycle synchronization between the application to be debugged and the Web Inspector browser is not supported. +

    Installing Google Chrome on the device is mandatory for the Web Inspector to work. When Google Chrome is installed on the device, the Tizen Studio automatically detects it. To select the browser path, go to Window > Preferences > Tizen Studio > Web > Chrome.

    +
    +
  • To debug the JavaScript code, click Sources in the Web Inspector menu.

    You must enable debugging before debugging JavaScript code.

  • You can also set a break point in the code by right-clicking in the marker bar area on the left side of the editor, and selecting Toggle Breakpoint.

    Once the break points are set, you can watch variables, expressions, and the current call stack. You can also control the debugging by using the following control buttons.

    - - +

    Table: Control buttons for debugging between break points

    +
    - Table: Control buttons for debugging between break points -
    @@ -206,20 +192,18 @@
    1. Search for the delta files (changed, added, and deleted files).
    2. Transfer the delta files to the target.
    3. -
    4. If the config.xml file has been modified, execute directory installation.
    5. +
    6. If the config.xml file has been modified, execute directory installation.

    The RDS option is enabled as default. To disable it, in the Tizen Studio, go to Window > Preferences > Tizen Studio > Rapid Development Support.

    -
    Button
    - - - - - - - - -
    Note
    RDS is not supported in multi-app projects. -

    If you want to remove an application from your device, you must manually delete the installed application as the launch process does not have an uninstall process.

    + + +
    + Note + RDS is not supported in multi-app projects. +

    If you want to remove an application from your device, you must manually delete the installed application as the launch process does not have an uninstall process.

    +
    + + diff --git a/org.tizen.training/html/web/process/setting_properties_w.htm b/org.tizen.training/html/web/process/setting_properties_w.htm index c194926..df3d23a 100644 --- a/org.tizen.training/html/web/process/setting_properties_w.htm +++ b/org.tizen.training/html/web/process/setting_properties_w.htm @@ -41,18 +41,12 @@

    Before you implement the actual application functionality, define all the necessary properties for your application project:

    • To set the application project properties for build and JSON properties, right-click the project in the Tizen Studio Project Explorer view and select Properties. After setting or changing a property, click OK.
    • -
    • To define the Web application configuration, edit the config.xml file. +
    • To define the Web application configuration, edit the config.xml file. - - - - - - - - - -
      Note
      Only modify the Web application configuration by using the configuration editor in the Tizen Studio. If you create or edit the config.xml file using any other text editor, your application may not work as expected.
      +
      + Note + Only modify the Web application configuration by using the configuration editor in the Tizen Studio. If you create or edit the config.xml file using any other text editor, your application may not work as expected. +

    After you have finished setting the project properties, you are ready to design the UI.

    @@ -73,8 +67,8 @@

    Setting the Web Application Configuration

    -

    The Web application configuration consists of application information, such as version, features, and privileges, which are available for the application. To configure the application information in the Web application configuration editor, double-click the application config.xml file in the Project Explorer view.

    -

    Figure: Setting the application configuration

    +

    The Web application configuration consists of application information, such as version, features, and privileges, which are available for the application. To configure the application information in the Web application configuration editor, double-click the application config.xml file in the Project Explorer view.

    +

    Figure: Setting the application configuration

    Setting the application configuration

    You can edit the application properties using the form tabs of the Web application configuration editor.

    @@ -96,10 +90,8 @@
  • Add an application icon.

    You can add a launcher icon to your application by defining it in the Icon panel.

    The following table describes the available icon format and size.

    +

    Table: Icon format and size

    - @@ -160,7 +152,7 @@
    • Internal: Select the needed privileges from the predefined list of API privileges.
    • Privilege name: Manually enter the URL containing a privilege definition.
    • -
    • File: Click Browse and select a privilege file (with the .xml or .widlprocxml extension).
    • +
    • File: Click Browse and select a privilege file (with the .xml or .widlprocxml extension).
  • Click Finish.
  • @@ -174,11 +166,9 @@

    The following table lists the policy properties you can edit in the Policy tab.

    -
    - Table: Icon format and size -
    Format
    - - +

    Table: Policy information

    +
    - Table: Policy information -
    + @@ -222,17 +212,17 @@

    To add a localized name, description, or license:

    • In the Name panel, click +. Select the language, define the application name for that language, and click OK. -

      The following example shows the setting in the config.xml file:

      +

      The following example shows the setting in the config.xml file:

       <name xml:lang="en-gb">Lee</name>
       
    • In the Description panel, click +. Select the language, define the application description for that language, and click OK. -

      The following example shows the setting in the config.xml file:

      +

      The following example shows the setting in the config.xml file:

       <description xml:lang="en-gb">Widget</description>
       
    • In the License panel, click +. Select a language, define the license and license URI for that language, and click OK. -

      The following example shows the setting in the config.xml file code:

      +

      The following example shows the setting in the config.xml file code:

       <license xml:lang="en-gb" href=" http://www.apache.org/licenses/LICENSE-2.0.html">
          Apache License, Version 2.0
      @@ -257,10 +247,8 @@
         

      The Tizen tab of the Web application configuration editor shows the Tizen schema extension. Some of the attributes specified on this tab are mandatory and must be defined, whereas others are optional.

      The following table describes the schema extension properties that you can edit.

      -
    Property Description
    - +

    Table: Tizen-specific information

    +
    - Table: Tizen-specific information -
    @@ -327,7 +315,7 @@
    Property
    Application Control Describes the application control functionalities provided by the application. To define an application control used to access the functionality of your application, click + in the Application Control panel and define the details. -

    The operation, uri, and mime fields describe the functionalities that other applications can request and the src field describes the application page that handles the request.

    The following example shows the setting in the config.xml file code:

    +	 

    The operation, uri, and mime fields describe the functionalities that other applications can request and the src field describes the application page that handles the request.

    The following example shows the setting in the config.xml file code:

     <tizen:app-control>
        <tizen:src name="edit.html"/>
        <tizen:operation name="http://tizen.org/appcontrol/operation/edit"/>
    @@ -364,12 +352,12 @@
     	
    Capabilities The capabilities of the account provider defined in the IRI format: -

    http://<vendor information>/accounts/capability/<name>

    +

    http://<vendor information>/accounts/capability/<name>

    The following predefined capabilities can be used:

      -
    • http://tizen.org/account/capability/contact +
    • http://tizen.org/account/capability/contact

      Used when the account is related to contacts.

    • -
    • http://tizen.org/account/capability/calendar +
    • http://tizen.org/account/capability/calendar

      Used when the account is related to calendar.

    To add a capability, click an empty row in the Capabilities panel table and select a capability you need.

    @@ -383,7 +371,7 @@
    Meta Data Defines key-value pairs that can be accessed (read-only) through the Application API (in mobile and wearable applications).

    To add a key-value pair, click + in the Meta Data section, define a key (unique string) and value (string), and click OK. This attribute is optional.

    -

    The following example shows the setting in the config.xml file code:

    +

    The following example shows the setting in the config.xml file code:

     <tizen:metadata key="key1"/>
     <tizen:metadata key="key2" value="value"/>
    @@ -413,18 +401,12 @@
     
     

    Editing the config.xml File in the Source Tab

    -

    The Source tab of the Web application configuration editor shows the code of the config.xml file. You can edit the basic syntax of the XML document and also see how changes made on the other tabs are reflected in the raw XML source content.

    +

    The Source tab of the Web application configuration editor shows the code of the config.xml file. You can edit the basic syntax of the XML document and also see how changes made on the other tabs are reflected in the raw XML source content.

    - - - - - - - - - -
    Note
    The config.xml must conform not only to the XML file format but also to the W3C specification requirements. If you edit application information manually in the config.xml file source code, you can introduce errors preventing the application from running normally.
    +
    + Note + The config.xml must conform not only to the XML file format but also to the W3C specification requirements. If you edit application information manually in the config.xml file source code, you can introduce errors preventing the application from running normally. +
    diff --git a/org.tizen.training/html/web/wearable/first_app_ww.htm b/org.tizen.training/html/web/wearable/first_app_ww.htm index bb1191a..4101ad5 100644 --- a/org.tizen.training/html/web/wearable/first_app_ww.htm +++ b/org.tizen.training/html/web/wearable/first_app_ww.htm @@ -45,7 +45,7 @@

    A wearable Web application is basically a Web site stored on a wearable device. You can create it using Web-native languages, such as HTML5, CSS, and JavaScript.

    -

    Study the following instructions to help familiarize yourself with the Tizen Web 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 Web application, which displays some text on the screen and changes the text when the user clicks it:

    +

    Study the following instructions to help familiarize yourself with the Tizen Web 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 Web application, which displays some text on the screen and changes the text when the user clicks it:

    1. Before you get started with developing Tizen applications, download and install the Tizen Studio. @@ -74,7 +74,7 @@
    2. On the right, the figure shows the application screen after you tap the text. The screen now displays the Tizen text. Tapping the text area switches between the 2 texts.

    3. -

      Figure: Wearable Web Basic application

      +

      Figure: Wearable Web Basic application

      Wearable Web Basic application Wearable Web Basic application

      To create the application project:

      @@ -125,26 +125,20 @@

      You can see the created project in the Project Explorer view. The most important files and folders include:

        -
      • css: Folder for CSS files used by the application to style its content

      • -
      • js: Folder for JavaScript files used by the application to implement its functional logic

      • -
      • config.xml: Application configuration file used by the platform to install and launch the application

      • -
      • icon.png: Application icon file used by the platform to represent the application

      • -
      • index.html: Main HTML file for the layout of the application screen

      • +
      • css: Folder for CSS files used by the application to style its content

      • +
      • js: Folder for JavaScript files used by the application to implement its functional logic

      • +
      • config.xml: Application configuration file used by the platform to install and launch the application

      • +
      • icon.png: Application icon file used by the platform to represent the application

      • +
      • index.html: Main HTML file for the layout of the application screen

      -

      Figure: Application in the Project Explorer

      +

      Figure: Application in the Project Explorer

      Application in the Project Explorer

      - - - - - - - - - -
      Note
      You can view and modify the application configuration in the Web application configuration editor. In this example, no configuration changes are required.
      +
      + Note + You can view and modify the application configuration in the Web application configuration editor. In this example, no configuration changes are required. +

      Your application project is now ready for further actions. Next, build the application.

      @@ -155,7 +149,7 @@
      1. -

        In the Project Explorer view, double-click the config.xml file of the application. The Tizen Studio opens the file in the Web application configuration editor.

        +

        In the Project Explorer view, double-click the config.xml file of the application. The Tizen Studio opens the file in the Web application configuration editor.

      2. @@ -170,17 +164,12 @@
      3. Preferences: Define name-value pairs that can be set or retrieved through the application.

      4. Tizen: Edit the Tizen schema extension properties of the application.

      5. -

        Source: View and edit the source code of the config.xml file. Changes made and saved on the other tabs are reflected in the source code and vice versa.

        - - - - - - - - - -
        Note
        The config.xml file must conform to both the XML file format and the W3C specification requirements. Editing the file in the Source tab is intended for advanced users only.
        +

        Source: View and edit the source code of the config.xml file. Changes made and saved on the other tabs are reflected in the source code and vice versa.

        + +
        + Note + The config.xml file must conform to both the XML file format and the W3C specification requirements. Editing the file in the Source tab is intended for advanced users only. +
      6. @@ -219,7 +208,7 @@

        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

        +

        Figure: Manually building the application

        Manually building the application

        Alternatively, you can also select the project in the Project Explorer view and do one of the following:

        @@ -235,16 +224,11 @@

        You can run the Web application on the emulator or a real target device.

        - - - - - - - - - -
        Note
        Since the Web Simulator does not support a circular UI, this topic does not cover the instructions for running the application on the Web Simulator.
        + +
        + Note + Since the Web Simulator does not support a circular UI, this topic does not cover the instructions for running the application on the Web Simulator. +

        Running on the Emulator

        @@ -254,7 +238,7 @@
      7. Create and launch an emulator instance in the Emulator Manager:
        1. In the Connection Explorer view, launch the Emulator Manager by clicking the related icon. -

          Emulator manager icon

          +

          Emulator Manager icon

        2. In the Emulator Manager, click Create.

          Creating an emulator instance

          @@ -297,16 +281,10 @@
        3. Confirm that the application launches on the emulator.

          Application running in 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 right bottom corner of 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 right bottom corner of the emulator). +

          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.

        4. @@ -382,21 +360,16 @@
        5. Confirm that the application launches in the target device.
        - - - - - - - - - -
        Note
        The application is launched using the default debug run configuration. To create and use another configuration: + +
        + Note + The application is launched using the default debug run configuration. To create and use another configuration:
          -
        1. In the Project Explorer view, right-click the project and select Run As > Run Configurations.
        2. -
        3. In the Run Configurations window, click the New Launch Configuration icon (New Launch Configuration icon), define the configuration details, and launch the application by clicking Run. +
        4. In the Project Explorer view, right-click the project and select Run As > Run Configurations.
        5. +
        6. In the Run Configurations window, click the New Launch Configuration icon (New Launch Configuration icon), define the configuration details, and launch the application by clicking Run.

          Run Configurations window

        7. -
        +
      +

      If you want to run your application without a local device, see Managing and Connecting Devices for Testing.

      @@ -413,7 +386,7 @@

      HTML

      HTML DOM is a structured model to control Web elements. It is an official W3C standard to express the document regardless of platforms or languages, and the foundation of the HTML5 APIs.

      -

      The <html> element is the top-level element of the HTML DOM tree that wraps the entire document, and it has the <head> and <body> elements as child nodes:

      +

      The <html> element is the top-level element of the HTML DOM tree that wraps the entire document, and it has the <head> and <body> elements as child nodes:

       <!DOCTYPE html>
       <html>
      @@ -426,12 +399,12 @@
       </html>
       
      -

      The <head> element contains the information that the browser refers to when rendering the body element to interpret information, such as the title of HTML document, CSS, and JavaScript:

      +

      The <head> element contains the information that the browser refers to when rendering the body element to interpret information, such as the title of HTML document, CSS, and JavaScript:

        -
      • <title>: Defines the title of the document.
      • -
      • <meta>: Defines information, such as encoding, creator, and keywords of the document.
      • -
      • <style>, <link>: Sets the styles of the document.
      • -
      • <script>, <noscript>: Adds functions to the document.
      • +
      • <title>: Defines the title of the document.
      • +
      • <meta>: Defines information, such as encoding, creator, and keywords of the document.
      • +
      • <style>, <link>: Sets the styles of the document.
      • +
      • <script>, <noscript>: Adds functions to the document.
       <!DOCTYPE html>
      @@ -452,7 +425,7 @@
       </html>
       
      -

      The <body> element defines the area displaying content on the browser screen:

      +

      The <body> element defines the area displaying content on the browser screen:

       <body>
      @@ -466,7 +439,7 @@
       
       

      The HTML code displays the Basic text on the screen.

      -

      Figure: Screen with Basic text

      +

      Figure: Screen with Basic text

      Screen with Basic text

      CSS

      @@ -474,13 +447,13 @@

      CSS (Cascading Style Sheets) specifies the layout and styling of the Web application.

      There are various ways to connect CSS with HTML:

        -
      • style attribute in an HTML element
      • -
      • <link> element in the <head> element
      • -
      • @import attribute in the CSS area
      • -
      • <style> element in the <head> element
      • +
      • style attribute in an HTML element
      • +
      • <link> element in the <head> element
      • +
      • @import attribute in the CSS area
      • +
      • <style> element in the <head> element
      -

      Applying the style of an HTML element directly with the style attribute has the highest priority. On the other hand, creating a separate CSS file and managing it separately is convenient when it comes to applying changes in the future. The file is connected to the HTML file using a <link> element in the <head> element.

      -

      The following code shows how to link to a CSS file, and how to use the <style> element to set the margin of the <div> element to be automatic so that the browser calculates the margin automatically and the text is placed in the center:

      +

      Applying the style of an HTML element directly with the style attribute has the highest priority. On the other hand, creating a separate CSS file and managing it separately is convenient when it comes to applying changes in the future. The file is connected to the HTML file using a <link> element in the <head> element.

      +

      The following code shows how to link to a CSS file, and how to use the <style> element to set the margin of the <div> element to be automatic so that the browser calculates the margin automatically and the text is placed in the center:

       <!DOCTYPE html>
      @@ -505,10 +478,10 @@
       </html>
       
      -

      The following lines in the CSS code describe the styling of the text in an element with the content-text class name:

      +

      The following lines in the CSS code describe the styling of the text in an element with the content-text class name:

        -
      • css/style.css: +
      • css/style.css:
         html,
         body
        @@ -540,7 +513,7 @@ body
         }
         
      • -
      • index.html: +
      • index.html:
         <body>
            <div id="main" class="page">
        @@ -552,7 +525,7 @@ body
         
      -

      By default, the text uses the #ffffff color (white), defined for the <body> element. If you change the CSS code and add a separate color for the content-text class, the text color changes (in this case, to #ff0000 red):

      +

      By default, the text uses the #ffffff color (white), defined for the <body> element. If you change the CSS code and add a separate color for the content-text class, the text color changes (in this case, to #ff0000 red):

       #content-text
      @@ -562,7 +535,7 @@ body
          color: #ff0000;
       }
       
      -

      Figure: Screen with a new text color

      +

      Figure: Screen with a new text color

      Screen with a new text color

      TAU (Tizen Advanced UI)

      @@ -570,7 +543,7 @@ body

      TAU is a Web UI library that enables you to create and manage various kinds of UI components. The components represent a visual UI element, such as a checkbox, listview, or progress. You can manipulate and interact with the application screens through the UI components. UI components for wearable devices have been enhanced to support a circular screen. You can make an application that runs on both rectangular and circular screens with a single source code.

      The following figure shows the role of TAU and its relation with the Web application.

      -

      Figure: TAU and the Web application

      +

      Figure: TAU and the Web application

      TAU and the Web application

      To create a Web application and design its UI with TAU:

      @@ -592,7 +565,7 @@ body
    4. Change the project name and properties and click Finish.

      Changing properties

    5. In the Project Explorer view, view the project. -

      The TAU library is located in the lib folder.

      +

      The TAU library is located in the lib folder.

      TAU library directory

    @@ -615,25 +588,25 @@ body </html>
    -

    In HTML, use the <script> and <link> elements. These default elements are used to load the basic Tizen Advanced UI (TAU) libraries that must be included in Tizen Web applications:

    +

    In HTML, use the <script> and <link> elements. These default elements are used to load the basic Tizen Advanced UI (TAU) libraries that must be included in Tizen Web applications:

      -
    • TAU library: tau(.min).js +
    • TAU library: tau(.min).js

      This element is mandatory, as it imports the TAU library, which you need to use the TAU JavaScript Interface.

    • -
    • TAU theme: tau(.min).css +
    • TAU theme: tau(.min).css

      This element is also mandatory, as it imports the TAU theme.

    • -
    • TAU theme: tau.circle(.min).css +
    • TAU theme: tau.circle(.min).css

      This element is optional, but mandatory if you want to develop a Web application on a circular device.

    • -
    • Support JavaScript: circle-helper.js +
    • Support JavaScript: circle-helper.js

      This element is optional. If you import this file, you can easily get a listview that handles rotary events.

    -

    You can add an additional <script src="<CUSTOM_LIBRARY>"> or <link rel="stylesheet" src="<CUSTOM_CSS>"> element to include your own scripts and style sheets. However, place them after the default <script> elements, as you can use any TAU APIs provided by the default libraries.

    -

    To load your JavaScript file, include the file in the <script> element in the HTML <body> element. Since the TAU files are already loaded, you can use any APIs from these libraries as well.

    -

    The following example shows a basic TAU template. Overwrite the index.html file content with the following code:

    +

    You can add an additional <script src="<CUSTOM_LIBRARY>"> or <link rel="stylesheet" src="<CUSTOM_CSS>"> element to include your own scripts and style sheets. However, place them after the default <script> elements, as you can use any TAU APIs provided by the default libraries.

    +

    To load your JavaScript file, include the file in the <script> element in the HTML <body> element. Since the TAU files are already loaded, you can use any APIs from these libraries as well.

    +

    The following example shows a basic TAU template. Overwrite the index.html file content with the following code:

     <!DOCTYPE html>
     <html>
    @@ -659,7 +632,7 @@ body
     
    1. The body element of the HTML file contains 1 or more pages.

      -

      To create a page in the <body> element, use the ui-page class with the <div> element:

      +

      To create a page in the <body> element, use the ui-page class with the <div> element:

       <body>
          <div class="ui-page" id="main">
      @@ -669,7 +642,7 @@ body
       </body>
       
    2. -

      To layout the page, add a content area with the ui-content class and a header with the ui-header class:

      +

      To layout the page, add a content area with the ui-content class and a header with the ui-header class:

       <div class="ui-page" id="main">
          <header class="ui-header">
      @@ -686,7 +659,7 @@ body
       

      Hello TAU

    3. -

      You can add your own style in the content and footer area with a defined id attribute:

      +

      You can add your own style in the content and footer area with a defined id attribute:

       <div class="ui-page" id="main">
          <header class="ui-header">
      @@ -698,7 +671,7 @@ body
       </div>
       
      -

      In the style.css file, add a CSS style for the new id attribute:

      +

      In the style.css file, add a CSS style for the new id attribute:

       #contentArea
       {
      @@ -712,11 +685,11 @@ body
       
    4. Add a list. -

      You can add a list with the TAU Listview component using the <ul> element and the ui-listview class:

      +

      You can add a list with the TAU Listview component using the <ul> element and the ui-listview class:

      • -

        Create a simple and basic static list. Overwrite the <ul class="ui-content"> element content with the following code:

        +

        Create a simple and basic static list. Overwrite the <ul class="ui-content"> element content with the following code:

         <div class="ui-content">
            <ul class="ui-listview">
        @@ -733,9 +706,9 @@ body
         
      • For a more advanced option, you can also create a SnapListview. -

        In a circular device, you can use a SnapListview, which is a circular-specialized listview component. To use this component, add several lines in your own JavaScript file. Note that if you already have added the circle-helper.js file, you do dot need to add the script again.

        +

        In a circular device, you can use a SnapListview, which is a circular-specialized listview component. To use this component, add several lines in your own JavaScript file. Note that if you already have added the circle-helper.js file, you do dot need to add the script again.

        -

        The following example shows how to create a SnapListview using the tau.helper class:

        +

        The following example shows how to create a SnapListview using the tau.helper class:

         (function(tau) 
         {
        @@ -772,7 +745,7 @@ body
         
      • Create another page.
        1. -

          In the Tizen Studio, you can create a new HTML file and rename it. Create a second.html file with the following content:

          +

          In the Tizen Studio, you can create a new HTML file and rename it. Create a second.html file with the following content:

           <!DOCTYPE html>
           <html>
          @@ -796,10 +769,10 @@ body
           </html>
           
        2. -
        3. Decorate the page in the same way as index.html.
        4. +
        5. Decorate the page in the same way as index.html.
        6. -
        7. Create navigation between the index.html and second.html pages. -

          Go back to the index.html file and add a file path in the listview <li><a href> element:

          +
        8. Create navigation between the index.html and second.html pages. +

          Go back to the index.html file and add a file path in the listview <li><a href> element:

           <ul class="ui-listview">
          @@ -811,7 +784,7 @@ body
           </ul>
           
        9. -

          Run the code, and see how you can move from the index.html page to the second.html page.

          +

          Run the code, and see how you can move from the index.html page to the second.html page.

          Move to second page

        @@ -820,10 +793,10 @@ body
      • Go back with the back key. -

        You can navigate from page to page with the <a href="PAGE_FILE_NAME"> elements, but you cannot go back. In this step, you learn to add some code in a JavaScript file to enable the user to return to the first page.

        +

        You can navigate from page to page with the <a href="PAGE_FILE_NAME"> elements, but you cannot go back. In this step, you learn to add some code in a JavaScript file to enable the user to return to the first page.

          -
        1. Add a new JavaScript file to the index.html file:

          +
        2. Add a new JavaScript file to the index.html file:

           <body>
              <div class="ui-page" id="main">
          @@ -846,9 +819,9 @@ body
           </body>
           
        3. -

          In the new file (app.js), all kinds of logic can be added to the application. In this case, add several lines for handling navigation.

          +

          In the new file (app.js), all kinds of logic can be added to the application. In this case, add several lines for handling navigation.

          -

          Overwrite the app.js file content with the following code:

          +

          Overwrite the app.js file content with the following code:

           (function() 
           {
          @@ -870,9 +843,9 @@ body
           
        4. Exit the application. -

          You can make your application exit by adding more lines to the app.js file.

          +

          You can make your application exit by adding more lines to the app.js file.

          You have to consider the fact that when the user clicks the back key, the application can only exit if it is showing the main page. If the second page is showing, the application must return to the main page.

          -

          The following example shows how to handle the back key input with page navigation and application exit. This code is included in the TAU Basic project template main.js file by default.

          +

          The following example shows how to handle the back key input with page navigation and application exit. This code is included in the TAU Basic project template main.js file by default.

           (function() 
           {
          diff --git a/org.tizen.training/html/web/wearable_watch/first_app_watch_ww.htm b/org.tizen.training/html/web/wearable_watch/first_app_watch_ww.htm
          index 23b7df0..d019b5d 100644
          --- a/org.tizen.training/html/web/wearable_watch/first_app_watch_ww.htm
          +++ b/org.tizen.training/html/web/wearable_watch/first_app_watch_ww.htm
          @@ -45,7 +45,7 @@
           
           

          A wearable Web application is basically a Web site stored on a wearable device. You can create it using Web-native languages, such as HTML5, CSS, and JavaScript. and run it on Tizen wearable devices to display a customized watch face to the user.

          -

          Study the following instructions to help familiarize yourself with the Tizen Web 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 Web watch application, which displays an analog watch face with the current time on the screen:

          +

          Study the following instructions to help familiarize yourself with the Tizen Web 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 Web watch application, which displays an analog watch face with the current time on the screen:

          1. Before you get started with developing Tizen applications, download and install the Tizen Studio. @@ -69,7 +69,7 @@

            The following figure illustrates the application to be created. The application screen displays the analog watch face and the current time, which continues to be refreshed every second while the application runs.

            -

            Figure: Wearable Web Watch application

            +

            Figure: Wearable Web Watch application

            Wearable Web Watch application

            @@ -120,26 +120,21 @@

            You can see the created project in the Project Explorer view. The most important files and folders include:

              -
            • css: Folder for CSS files used by the application to style its content

            • -
            • js: Folder for JavaScript files used by the application to implement its functional logic

            • -
            • config.xml: Application configuration file used by the platform to install and launch the application

            • -
            • icon.png: Application icon file used by the platform to represent the application

            • -
            • index.html: Main HTML file for the layout of the application screen

            • +
            • css: Folder for CSS files used by the application to style its content

            • +
            • js: Folder for JavaScript files used by the application to implement its functional logic

            • +
            • config.xml: Application configuration file used by the platform to install and launch the application

            • +
            • icon.png: Application icon file used by the platform to represent the application

            • +
            • index.html: Main HTML file for the layout of the application screen

            -

            Figure: Application in the Project Explorer

            +

            Figure: Application in the Project Explorer

            Application in the Project Explorer

            - - - - - - - - - -
            Note
            You can view and modify the application configuration in the Web application configuration editor. In this example, no configuration changes are required.
            +
            + Note + You can view and modify the application configuration in the Web application configuration editor. In this example, no configuration changes are required. +
            +

            Your application project is now ready for further actions. Next, build the application.

            @@ -150,7 +145,7 @@
            1. -

              In the Project Explorer view, double-click the config.xml file of the application. The Tizen Studio opens the file in the Web application configuration editor.

              +

              In the Project Explorer view, double-click the config.xml file of the application. The Tizen Studio opens the file in the Web application configuration editor.

            2. @@ -165,17 +160,12 @@
            3. Preferences: Define name-value pairs that can be set or retrieved through the application.

            4. Tizen: Edit the Tizen schema extension properties of the application.

            5. -

              Source: View and edit the source code of the config.xml file. Changes made and saved on the other tabs are reflected in the source code and vice versa.

              - - - - - - - - - -
              Note
              The config.xml file must conform to both the XML file format and the W3C specification requirements. Editing the file in the Source tab is intended for advanced users only.
              +

              Source: View and edit the source code of the config.xml file. Changes made and saved on the other tabs are reflected in the source code and vice versa.

              + +
              + Note + The config.xml file must conform to both the XML file format and the W3C specification requirements. Editing the file in the Source tab is intended for advanced users only. +
    5. @@ -214,7 +204,7 @@

      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

      +

      Figure: Manually building the application

      Manually building the application

      Alternatively, you can also select the project in the Project Explorer view and do one of the following:

      @@ -229,17 +219,11 @@

      Running Your Application

      You can run the Web watch application on the emulator or a real target device.

      - - - - - - - - - - -
      Note
      Since the Web Simulator does not support a circular UI, this topic does not cover the instructions for running the application on the Web Simulator.
      + +
      + Note + Since the Web Simulator does not support a circular UI, this topic does not cover the instructions for running the application on the Web Simulator. +

      Running on the Emulator

      @@ -249,7 +233,7 @@
    6. Create and launch an emulator instance in the Emulator Manager:
      1. In the Connection Explorer view, launch the Emulator Manager by clicking the related icon. -

        Emulator manager icon

        +

        Emulator Manager icon

      2. In the Emulator Manager, click Create.

        Creating an emulator instance

        @@ -378,21 +362,17 @@ cd tizen-sdk/tools

        Like with the emulator, you must change the watch face in the device settings before you can see the watch application UI on the device.

      - - - - - - - - - -
      Note
      The application is launched using the default debug run configuration. To create and use another configuration: + + +
      + Note + The application is launched using the default debug run configuration. To create and use another configuration:
        -
      1. In the Project Explorer view, right-click the project and select Run As > Run Configurations.
      2. -
      3. In the Run Configurations window, click the New Launch Configuration icon (New Launch Configuration icon), define the configuration details, and launch the application by clicking Run. +
      4. In the Project Explorer view, right-click the project and select Run As > Run Configurations.
      5. +
      6. In the Run Configurations window, click the New Launch Configuration icon (New Launch Configuration icon), define the configuration details, and launch the application by clicking Run.

        Run Configurations window

      7. -
      +
    +

    If you want to run your application without a local device, see Managing and Connecting Devices for Testing.

    @@ -409,15 +389,15 @@ cd tizen-sdk/tools

    To initialize the watch application:

    1. -

      To set the application configuration, use the config.xml file:

      +

      To set the application configuration, use the config.xml file:

        -
      • By default, the BasicWatch sample has the application category defined as <tizen:category name="http://tizen.org/category/wearable_clock" />. -

        To run your application on Samsung Gear 2, Samsung Gear 2 Neo, and Samsung Gear S devices, use <tizen:category name="com.samsung.wmanager.WATCH_CLOCK" /> instead.

        +
      • By default, the BasicWatch sample has the application category defined as <tizen:category name="http://tizen.org/category/wearable_clock" />. +

        To run your application on Samsung Gear 2, Samsung Gear 2 Neo, and Samsung Gear S devices, use <tizen:category name="com.samsung.wmanager.WATCH_CLOCK" /> instead.

      • -

        To enable a custom UI for the ambient mode, the ambient_support attribute must be set to enable.

        +

        To enable a custom UI for the ambient mode, the ambient_support attribute must be set to enable.

      @@ -436,8 +416,8 @@ cd tizen-sdk/tools
  • -

    To initialize the application and define basic features, use the main.js file.

    -

    Modify the window.requestAnimationFrame() method to make the application compatible with the main browsers:

    +

    To initialize the application and define basic features, use the main.js file.

    +

    Modify the window.requestAnimationFrame() method to make the application compatible with the main browsers:

     window.requestAnimationFrame = window.requestAnimationFrame ||
        window.webkitRequestAnimationFrame ||
    @@ -498,7 +478,7 @@ window.onload = function onLoad()
     

    To draw the watch UI:

    1. -

      To define the application layout, use the index.html file.

      +

      To define the application layout, use the index.html file.

      By default, the BasicWatch sample application layout contains only the main screen that displays the clock on a canvas element.

      @@ -519,7 +499,7 @@ window.onload = function onLoad()
  • -

    To draw the watch face on the canvas, use the main.js file:

    +

    To draw the watch face on the canvas, use the main.js file:

    1. Create the clock in the middle of the canvas, and define the watch face style:

      @@ -538,7 +518,7 @@ function renderDots()    ctx.beginPath();    ctx.fillStyle = '#999999';
    2. -
    3. Create 4 dots on the sides of the watch face and use the fill() method to style the dots: +
    4. Create 4 dots on the sides of the watch face and use the fill() method to style the dots:
          for (i = 1; i <= 4; i++) 
          {
      @@ -567,11 +547,11 @@ function renderDots()
       
  • -
  • To display the actual time on the watch face, create the clock needles and set their position using the main.js file.

    +
  • To display the actual time on the watch face, create the clock needles and set their position using the main.js file.

    Render the clock needles:

      -
    1. The needles can be created using the renderNeedle() method. -

      To create the needle as a triangle or a polygon, assign the coordinate of the beginning point with the moveTo() method. To assign the rest of the points of the triangle or polygon, use the lineTo() method, which defines the position of the next connecting vertex. You can also adjust the size of each clock needle with the lineTo() method.

      +
    2. The needles can be created using the renderNeedle() method. +

      To create the needle as a triangle or a polygon, assign the coordinate of the beginning point with the moveTo() method. To assign the rest of the points of the triangle or polygon, use the lineTo() method, which defines the position of the next connecting vertex. You can also adjust the size of each clock needle with the lineTo() method.

       function renderNeedle(angle, radius) 
       {
      @@ -589,7 +569,7 @@ function renderNeedle(angle, radius)
          ctx.restore();
       }
    3. -
    4. Create the hour needle using the renderHourNeedle() method: +
    5. Create the hour needle using the renderHourNeedle() method:
       function renderHourNeedle(hour) 
       {
      @@ -603,7 +583,7 @@ function renderHourNeedle(hour)
          renderNeedle(angle, radius);
       }
    6. -
    7. Create the minute needle using the renderMinuteNeedle() method: +
    8. Create the minute needle using the renderMinuteNeedle() method:
       function renderMinuteNeedle(minute)
       {
      @@ -619,9 +599,9 @@ function renderMinuteNeedle(minute)
       
  • -
  • Indicate the current time in the main.js file: +
  • Indicate the current time in the main.js file:
      -
    1. Determine the current time using the new Date() method. +
    2. Determine the current time using the new Date() method.

      To point the needles accurately, define variables for the current hour and minute.

       function getDate() 
      @@ -659,7 +639,7 @@ function watch()
              minute = minutes + seconds / 60,
              nextMove = 1000 - date.getMilliseconds();
    3. -
    4. Every time a new time is indicated, erase the previous time (the previously positioned needles) using the clearRect() method: +
    5. Every time a new time is indicated, erase the previous time (the previously positioned needles) using the clearRect() method:
          ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height);
    6. @@ -685,16 +665,11 @@ function watch()

      Using the Ambient Mode

      In a low-powered wearable device, an ambient mode is available. 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 a black and white UI only, 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 disable in the config.xml watch application configuration file to allow the platform to show a default ambient mode UI.

      +

      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 a black and white UI only, 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 disable in the config.xml watch application configuration 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, in the Gear S2 device, the ambient mode activates only when you are wearing the watch on the wrist. +
      + Note + To use the ambient mode, the user must enable it in the device settings. In addition, in the Gear S2 device, the ambient mode activates only when you are wearing the watch on the wrist.

      Since Tizen 2.3.2, some devices introduce a high color mode for the ambient mode. In the high color mode, you can use more colors (usually, 24-bit color) for drawing the ambient mode UI. To check whether the device supports the high color mode, use the following code:

      @@ -703,10 +678,8 @@ bool support; int ret; ret = system_info_get_platform_bool("http://tizen.org/feature/screen.always_on.high_color", &support); -
      + +

      To use the ambient mode:

        diff --git a/org.tizen.training/html/web/wearable_widget/first_app_widget_ww.htm b/org.tizen.training/html/web/wearable_widget/first_app_widget_ww.htm index be6dd8a..8162ebf 100644 --- a/org.tizen.training/html/web/wearable_widget/first_app_widget_ww.htm +++ b/org.tizen.training/html/web/wearable_widget/first_app_widget_ww.htm @@ -48,11 +48,11 @@

        A widget application is one of the Tizen application types. It can be shown by specific UI applications (such as the home screen and lock screen) that can contain widget applications.

        -

        Figure: Widget application in a wearable device

        +

        Figure: Widget application in a wearable device

        Widget application in a wearable device

        -

        Study the following instructions to help familiarize yourself with the Tizen Web 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 Web widget application (a Web widget), which displays some text on the screen with no user interaction:

        +

        Study the following instructions to help familiarize yourself with the Tizen Web 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 Web widget application (a Web widget), which displays some text on the screen with no user interaction:

        1. Before you get started with developing Tizen applications, download and install the Tizen Studio. @@ -74,23 +74,15 @@

          The following example shows you how to create and configure a basic wearable Web widget application project in the Tizen Studio. An application project contains all the files that make up an application.

          - - - - - - - - - -
          Note
          -

          For user convenience, standalone widget application packages are not allowed in the Tizen market place.

          -

          Use a standalone widget application for testing purposes. If you want to publish the application in the Tizen market place, combine it with at least 1 UI application in the same package. For more information, see Developing Multiple Projects as a Combined Package.

          -
          +
          + Note + For user convenience, standalone widget application packages are not allowed in the Tizen market place. +

          Use a standalone widget application for testing purposes. If you want to publish the application in the Tizen market place, combine it with at least 1 UI application in the same package. For more information, see Developing Multiple Projects as a Combined Package.

          +

          The following figure illustrates the application to be created. The application screen displays the Hello, Web Widget! text and no user interaction is provided.

          -

          Figure: Wearable Web Widget application

          +

          Figure: Wearable Web Widget application

          Wearable Web Widget application

          To create the application project:

          @@ -140,27 +132,22 @@

          You can see the created project in the Project Explorer view. The most important files and folders include:

            -
          • css: Folder for CSS files used by the application to style its content

          • -
          • js: Folder for JavaScript files used by the application to implement its functional logic

          • -
          • config.xml: Application configuration file used by the platform to install and launch the application

          • -
          • icon.png: Application icon file used by the platform to represent the widget

          • -
          • index.html: Main HTML file for the layout of the application screen

          • -
          • preview.png: Preview of the widget application file that is displayed in the widget view on the target.

          • +
          • css: Folder for CSS files used by the application to style its content

          • +
          • js: Folder for JavaScript files used by the application to implement its functional logic

          • +
          • config.xml: Application configuration file used by the platform to install and launch the application

          • +
          • icon.png: Application icon file used by the platform to represent the widget

          • +
          • index.html: Main HTML file for the layout of the application screen

          • +
          • preview.png: Preview of the widget application file that is displayed in the widget view on the target.

          -

          Figure: Application in the Project Explorer

          +

          Figure: Application in the Project Explorer

          Application in the Project Explorer

          - - - - - - - - - -
          Note
          You can validate your widget and view and modify the application configuration in the Web application configuration editor. In this example, no configuration changes are required.
          + +
          + Note + You can validate your widget and view and modify the application configuration in the Web application configuration editor. In this example, no configuration changes are required. +

          Your application project is now ready for further actions. Next, build the application.

          @@ -175,14 +162,14 @@

          You can enable or disable these validators in the application preferences: go to Window > Preferences > Tizen Studio > WebWidget, and check the applicable check boxes.

          -

          Figure: Validation preferences

          +

          Figure: Validation preferences

          Validation preferences

          The validation is performed automatically when the project or package is built, or when the application is run.

          When the validation is complete, its results are shown in the Problems view. If the view is not displayed, select it from Window > Show view > Problems (keyboard shortcut: Shift + Alt + Q + X).

          -

          Figure: Validation results

          +

          Figure: Validation results

          Validation results

          Managing the Application Configuration

          @@ -192,7 +179,7 @@
          1. -

            In the Project Explorer view, double-click the config.xml file of the application. The Tizen Studio opens the file in the Web application configuration editor.

            +

            In the Project Explorer view, double-click the config.xml file of the application. The Tizen Studio opens the file in the Web application configuration editor.

          2. @@ -207,17 +194,13 @@
          3. Preferences: Define name-value pairs that can be set or retrieved through the application.

          4. Tizen: Edit the Tizen schema extension properties of the application.

          5. -

            Source: View and edit the source code of the config.xml file. Changes made and saved on the other tabs are reflected in the source code and vice versa.

            - - - - - - - - - -
            Note
            The config.xml file must conform to both the XML file format and the W3C specification requirements. Editing the file in the Source tab is intended for advanced users only.
            +

            Source: View and edit the source code of the config.xml file. Changes made and saved on the other tabs are reflected in the source code and vice versa.

            + + +
            + Note + The config.xml file must conform to both the XML file format and the W3C specification requirements. Editing the file in the Source tab is intended for advanced users only. +
          6. @@ -256,7 +239,7 @@

            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

            +

            Figure: Manually building the application

            Manually building the application

            Alternatively, you can also select the project in the Project Explorer view and do one of the following:

            @@ -272,16 +255,12 @@

            You can run the Web widget application on the emulator or a real target device.

            - - - - - - - - - -
            Note
            Since the Web Simulator does not support a circular UI, this topic does not cover the instructions for running the application on the Web Simulator.
            +
            + Note + Since the Web Simulator does not support a circular UI, this topic does not cover the instructions for running the application on the Web Simulator. +
            + +

            Running on the Emulator

            To run the application on the emulator:

            @@ -290,7 +269,7 @@
          7. Create and launch an emulator instance in the Emulator Manager:
            1. In the Connection Explorer view, launch the Emulator Manager by clicking the related icon. -

              Emulator manager icon

              +

              Emulator Manager icon

            2. In the Emulator Manager, click Create.

              Creating an emulator instance

              @@ -332,17 +311,11 @@
            3. Confirm that the application launches on the emulator.

              Application running in 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 right bottom corner of 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 right bottom corner of the emulator). +

              The above screen is shown through the Viewer, to allow you to develop a lone widget application for testing purposes.

              To see the widget running on the home screen, add the widget there:

              @@ -430,21 +403,16 @@ cd tizen-sdk/tools

              Like with the emulator, you must add the widget to the home screen before you can see it.

            - - - - - - - - - -
            Note
            The application is launched using the default debug run configuration. To create and use another configuration: + +
            + Note + The application is launched using the default debug run configuration. To create and use another configuration:
              -
            1. In the Project Explorer view, right-click the project and select Run As > Run Configurations.
            2. -
            3. In the Run Configurations window, click the New Launch Configuration icon (New Launch Configuration icon), define the configuration details, and launch the application by clicking Run. +
            4. In the Project Explorer view, right-click the project and select Run As > Run Configurations.
            5. +
            6. In the Run Configurations window, click the New Launch Configuration icon (New Launch Configuration icon), define the configuration details, and launch the application by clicking Run.

              Run Configurations window

            7. -
            +
          +

          If you want to run your application without a local device, see Managing and Connecting Devices for Testing.

        2. @@ -461,8 +429,8 @@ cd tizen-sdk/tools

          To initialize the widget application:

            -
          1. Edit the widget application settings in the config.xml file. -

            The file include various information for the widget application. The following code shows an example of the widget content in the file. The <tizen:app-widget> element indicates the widget settings. If the widget requires privileges, add them to the config.xml file as well.

            +
          2. Edit the widget application settings in the config.xml file. +

            The file include various information for the widget application. The following code shows an example of the widget content in the file. The <tizen:app-widget> element indicates the widget settings. If the widget requires privileges, add them to the config.xml file as well.

             <?xml version="1.0" encoding="UTF-8"?>
            @@ -509,16 +477,16 @@ widget
                preview.png
                index.html
             
            -

            You can customize the index.html, style.css, and main.js files. For example, if a JS-based animation effect is needed, add the requestAnimationFrame() method or some other animation library to the JS file. Similarly, to change the UI elements' visual looks or add CSS-based effects (including animation), modify the CSS file.

            +

            You can customize the index.html, style.css, and main.js files. For example, if a JS-based animation effect is needed, add the requestAnimationFrame() method or some other animation library to the JS file. Similarly, to change the UI elements' visual looks or add CSS-based effects (including animation), modify the CSS file.

            To create the widget application:

              -
            1. Start and initialize the widget application with the index.html file. -

              The starting point is defined in the config.xml file's content src field, which is set to index.html.

              +
            2. Start and initialize the widget application with the index.html file. +

              The starting point is defined in the config.xml file's content src field, which is set to index.html.

            3. -
            4. The index.html file includes the element structure of the widget application using HTML elements. In addition, it imports the JavaScript and CSS files. +
            5. The index.html file includes the element structure of the widget application using HTML elements. In addition, it imports the JavaScript and CSS files.
               <!DOCTYPE html>
               <html>
              @@ -537,8 +505,8 @@ widget
               </html> 
               
            6. -
            7. The style.css file indicates the style properties of various HTML elements. -

              The index.html file imports the style.css file.

              +
            8. The style.css file indicates the style properties of various HTML elements. +

              The index.html file imports the style.css file.

               html, body
               {
              @@ -569,7 +537,7 @@ html, body
               }
               
            9. -
            10. The main.js file contains the JS-based functions for the widget. +
            11. The main.js file contains the JS-based functions for the widget.

              There are many JS-based functions, such as asynchronous functions, JS library, and effects. You can add various features to the widget application using JS.

            -- 2.7.4