diff --git a/en/application-dev/IDL/figures/SDKpath.png b/en/application-dev/IDL/figures/SDKpath.png
new file mode 100644
index 0000000000000000000000000000000000000000..aa7e33f0246e07fa9f6b8aeb0677c7159dfceb3d
Binary files /dev/null and b/en/application-dev/IDL/figures/SDKpath.png differ
diff --git a/en/application-dev/IDL/figures/SDKpath2.png b/en/application-dev/IDL/figures/SDKpath2.png
new file mode 100644
index 0000000000000000000000000000000000000000..51ac48d2f04d876a204493415b79a5f12e183685
Binary files /dev/null and b/en/application-dev/IDL/figures/SDKpath2.png differ
diff --git a/en/application-dev/application-models/application-context-stage.md b/en/application-dev/application-models/application-context-stage.md
index 636573d416cfd8cee0c62685486e771e9a6f8191..23bd8d29ec742f7591d8f7982245cc17ddc770ec 100644
--- a/en/application-dev/application-models/application-context-stage.md
+++ b/en/application-dev/application-models/application-context-stage.md
@@ -84,7 +84,7 @@ The following table describes the application development paths obtained from co
| tempDir | string | Yes| No| Temporary file directory of the application.
Files in this directory are deleted after the application is uninstalled.|
| filesDir | string | Yes| No| File directory of the application on the internal storage.
Files in this directory may be synchronized to other directories during application migration or backup.|
| databaseDir | string | Yes| No| Storage directory of the local database.|
-| bundleCodeDir | string | Yes| No| Installation directory of the application on the internal storage. A resource file cannot be accessed by combining paths. Use [Resource Manager](js-apis-resource-manager.md) to access it. |
+| bundleCodeDir | string | Yes| No| Installation directory of the application on the internal storage. A resource file cannot be accessed by combining paths. Use [Resource Manager](../reference/apis/js-apis-resource-manager.md) to access it. |
| distributedFilesDir | string | Yes| No| Storage directory of distributed application data files.|
| preferencesDir | string | Yes| Yes| Preferences directory of the application.|
diff --git a/en/application-dev/application-models/module-switch.md b/en/application-dev/application-models/module-switch.md
index b248958fc0d3772af4134f0124e55242cc5a2d84..c5948c5ac1c4eebef5eb5e6bf65dd6625c021313 100644
--- a/en/application-dev/application-models/module-switch.md
+++ b/en/application-dev/application-models/module-switch.md
@@ -40,7 +40,7 @@ When switching an application from the FA model to the stage model, you must mig
| -------- | -------- | -------- | -------- |
| name | Key name that identifies a data item. The value is a string with a maximum of 255 bytes.| name | None.|
| value | Value of the data item. The value is a string with a maximum of 255 bytes.| value | None.|
-| extra | Format of the current custom data. The value is the resource value of **extra**.| resource | The field name is changed. For details, see [Table 4](#table 4-metadata-examples).|
+| extra | Format of the current custom data. The value is the resource value of **extra**.| resource | The field name is changed. For details, see [Table 4](#table-4-metadata-examples).|
**Table 4** metaData examples
diff --git a/en/application-dev/device/figures/171e6f30-a8d9-414c-bafa-b430340305fb.png b/en/application-dev/device/figures/171e6f30-a8d9-414c-bafa-b430340305fb.png
new file mode 100644
index 0000000000000000000000000000000000000000..69f6ef8876372f96ca0e75b286e300e39926956e
Binary files /dev/null and b/en/application-dev/device/figures/171e6f30-a8d9-414c-bafa-b430340305fb.png differ
diff --git a/en/application-dev/device/figures/65d69983-29f6-4381-80a3-f9ef2ec19e53.png b/en/application-dev/device/figures/65d69983-29f6-4381-80a3-f9ef2ec19e53.png
new file mode 100644
index 0000000000000000000000000000000000000000..9ca04f490e6d0458cac72285945642d29efe6663
Binary files /dev/null and b/en/application-dev/device/figures/65d69983-29f6-4381-80a3-f9ef2ec19e53.png differ
diff --git a/en/application-dev/device/figures/db5d017d-6c1c-4a71-a2dd-f74b7f23239e.png b/en/application-dev/device/figures/db5d017d-6c1c-4a71-a2dd-f74b7f23239e.png
new file mode 100644
index 0000000000000000000000000000000000000000..2b55e6c8bf6456717b584c972e291f915b1c8ba1
Binary files /dev/null and b/en/application-dev/device/figures/db5d017d-6c1c-4a71-a2dd-f74b7f23239e.png differ
diff --git a/en/application-dev/device/figures/en-us_image_0000001180249428.png b/en/application-dev/device/figures/en-us_image_0000001180249428.png
deleted file mode 100644
index efd258b98d9a4eb2a72767bd808eef4f49900d32..0000000000000000000000000000000000000000
Binary files a/en/application-dev/device/figures/en-us_image_0000001180249428.png and /dev/null differ
diff --git a/en/application-dev/device/figures/en-us_image_0000001196654004.png b/en/application-dev/device/figures/en-us_image_0000001196654004.png
deleted file mode 100644
index 48b1613b6e67f2dd57cd480fdb7fd0312594e049..0000000000000000000000000000000000000000
Binary files a/en/application-dev/device/figures/en-us_image_0000001196654004.png and /dev/null differ
diff --git a/en/application-dev/device/figures/en-us_image_0000001226521897.png b/en/application-dev/device/figures/en-us_image_0000001226521897.png
deleted file mode 100644
index a97bd3bfbcf21cc091ee69cee0b6759b2e864116..0000000000000000000000000000000000000000
Binary files a/en/application-dev/device/figures/en-us_image_0000001226521897.png and /dev/null differ
diff --git a/en/application-dev/device/figures/en-us_image_0000001241693881.png b/en/application-dev/device/figures/en-us_image_0000001241693881.png
deleted file mode 100644
index 5c54c71606ce2f81308923d8d4c579f1b9b3ad3c..0000000000000000000000000000000000000000
Binary files a/en/application-dev/device/figures/en-us_image_0000001241693881.png and /dev/null differ
diff --git a/en/application-dev/device/figures/en-us_image_0000001241733907.png b/en/application-dev/device/figures/en-us_image_0000001241733907.png
deleted file mode 100644
index d0a680b7138b81e6e9a1e598634b66dd598dd603..0000000000000000000000000000000000000000
Binary files a/en/application-dev/device/figures/en-us_image_0000001241733907.png and /dev/null differ
diff --git a/en/application-dev/device/location-guidelines.md b/en/application-dev/device/location-guidelines.md
index f6bf52766eb61f4e28c34524807615b2c7818b65..68f1f35e2bf8abaf726287bc1bed470edc41cdd8 100644
--- a/en/application-dev/device/location-guidelines.md
+++ b/en/application-dev/device/location-guidelines.md
@@ -15,15 +15,19 @@ Location awareness helps determine where a mobile device locates. The location s
These advanced location technologies make it possible to obtain the accurate location of the mobile device, regardless of whether it is indoors or outdoors.
- **Coordinate**
+
A coordinate describes a location on the earth using the longitude and latitude in reference to the World Geodetic Coordinate System 1984.
- **GNSS positioning**
+
GNSS positioning locates a mobile device by using the location algorithm offered by the device chip to compute the location information provided by the Global Navigation Satellite System, for example, GPS, GLONASS, BeiDou, and Galileo. Whichever positioning system will be used during the location process depends on a hardware capability of the device.
- **Base station positioning**
+
Base station positioning estimates the current location of a mobile device based on the location of the resident base station in reference to the neighboring base stations. This technology provides only a low accuracy and requires access to the cellular network.
- **WLAN or Bluetooth positioning**
+
WLAN or Bluetooth positioning estimates the current location of a mobile device based on the locations of WLANs and Bluetooth devices that can be discovered by the device. The location accuracy of this technology depends on the distribution of fixed WLAN access points (APs) and Bluetooth devices around the device. A high density of WLAN APs and Bluetooth devices can produce a more accurate location result than base station positioning. This technology also requires access to the network.
### Working Principles
@@ -36,12 +40,6 @@ Your application can use the location function only after the user has granted t
Since the location information is considered sensitive, your application still needs to obtain the location access permission from the user even if the user has turned on the location function. The system will provide the location service for your application only after it has been granted the permission to access the device location information.
-### Samples
-
-The following sample is provided to help you better understand how to develop location services:
-
-- [`Location`: Location (ArkTS) (API9)](https://gitee.com/openharmony/applications_app_samples/tree/master/device/Location)
-
## Applying for Location Permissions
@@ -93,13 +91,13 @@ The following table lists the APIs used to obtain the device location informatio
**Table 2** APIs for obtaining device location information
-| API| Description|
+| API| Description|
| -------- | -------- |
-| on(type: 'locationChange', request: LocationRequest, callback: Callback<Location>): void | Registers a listener for location changes with a location request initiated.|
-| off(type: 'locationChange', callback?: Callback<Location>): void | Unregisters the listener for location changes with the corresponding location request deleted.|
-| getCurrentLocation(request: CurrentLocationRequest, callback: AsyncCallback<Location>): void | Obtains the current location. This API uses an asynchronous callback to return the result. |
-| getCurrentLocation(request?: CurrentLocationRequest): Promise<Location> | Obtains the current location. This API uses a promise to return the result. |
-| getLastLocation(): Location | Obtains the last known device location.|
+| on(type: 'locationChange', request: LocationRequest, callback: Callback<Location>): void | Registers a listener for location changes with a location request initiated.|
+| off(type: 'locationChange', callback?: Callback<Location>): void | Unregisters the listener for location changes with the corresponding location request deleted.|
+| getCurrentLocation(request: CurrentLocationRequest, callback: AsyncCallback<Location>): void | Obtains the current location. This API uses an asynchronous callback to return the result. |
+| getCurrentLocation(request?: CurrentLocationRequest): Promise<Location> | Obtains the current location. This API uses a promise to return the result. |
+| getLastLocation(): Location | Obtains the last known device location.|
### How to Develop
@@ -131,30 +129,30 @@ The following table lists the APIs used to obtain the device location informatio
Applicable when your application only needs the approximate user location for recommendations and push notifications in scenarios such as when the user is browsing news, shopping online, and ordering food.
By default, the system reports location results at a minimal interval of 1s. To adopt this use case, you must declare the **ohos.permission.LOCATION** permission and obtain users' authorization.
- NO\_POWER
- Applicable when your application does not proactively start the location service for a higher battery efficiency. When responding to another application requesting the same location service, the system marks a copy of the location result to your application. In this way, your application will not consume extra power for obtaining the user location.
By default, the system reports location results at a minimal interval of 1s. To adopt this use case, you must declare the **ohos.permission.LOCATION** permission and obtain users' authorization.
-
-
- ```ts
- export enum LocationRequestScenario {
- UNSET = 0x300,
- NAVIGATION,
- TRAJECTORY_TRACKING,
- CAR_HAILING,
- DAILY_LIFE_SERVICE,
- NO_POWER,
- }
- ```
+ Applicable when your application does not proactively start the location service for a higher battery efficiency. When responding to another application requesting the same location service, the system marks a copy of the location result to your application. In this way, your application will not consume extra power for obtaining the user location.
By default, the system reports location results at a minimal interval of 1s. To adopt this use case, you must declare the **ohos.permission.LOCATION** permission and obtain users' authorization.
+
+
+ ```ts
+ export enum LocationRequestScenario {
+ UNSET = 0x300,
+ NAVIGATION,
+ TRAJECTORY_TRACKING,
+ CAR_HAILING,
+ DAILY_LIFE_SERVICE,
+ NO_POWER,
+ }
+ ```
- Sample code for initializing **requestInfo** for navigation:
+Sample code for initializing **requestInfo** for navigation:
```ts
let requestInfo = {'scenario': geoLocationManager.LocationRequestScenario.NAVIGATION, 'timeInterval': 0, 'distanceInterval': 0, 'maxAccuracy': 0};
```
- **Method 2:**
+**Method 2:**
- If the predefined use cases do not meet your needs, you can also use the basic location priority policies provided by the system.
+If the predefined use cases do not meet your needs, you can also use the basic location priority policies provided by the system.
**Location priority policies**
@@ -166,17 +164,17 @@ The following table lists the APIs used to obtain the device location informatio
- LOW\_POWER
This policy mainly uses the base station positioning, WLAN positioning, and Bluetooth positioning technologies to obtain device location in both indoor and outdoor scenarios. The location accuracy depends on the distribution of surrounding base stations, visible WLANs, and Bluetooth devices and therefore may fluctuate greatly. This policy is recommended and can reduce power consumption when your application does not require high location accuracy or when base stations, visible WLANs, and Bluetooth devices are densely distributed.
+
+ ```ts
+ export enum LocationRequestPriority {
+ UNSET = 0x200,
+ ACCURACY,
+ LOW_POWER,
+ FIRST_FIX,
+ }
+ ```
- ```ts
- export enum LocationRequestPriority {
- UNSET = 0x200,
- ACCURACY,
- LOW_POWER,
- FIRST_FIX,
- }
- ```
-
- Sample code for initializing **requestInfo** for the location accuracy priority policy:
+Sample code for initializing **requestInfo** for the location accuracy priority policy:
```ts
let requestInfo = {'priority': geoLocationManager.LocationRequestPriority.ACCURACY, 'timeInterval': 0, 'distanceInterval': 0, 'maxAccuracy': 0};
@@ -235,17 +233,18 @@ The following table lists the APIs used for mutual conversion between coordinate
**Table 3** APIs for geocoding and reverse geocoding conversion
-| API| Description|
+| API| Description|
| -------- | -------- |
-| isGeocoderAvailable(): boolean; | Obtains the (reverse) geocoding service status.|
-| getAddressesFromLocation(request: ReverseGeoCodeRequest, callback: AsyncCallback<Array<GeoAddress>>): void | Converts coordinates into geographic descriptions through reverse geocoding. This API uses an asynchronous callback to return the result. |
-| getAddressesFromLocation(request: ReverseGeoCodeRequest): Promise<Array<GeoAddress>> | Converts coordinates into geographic descriptions through reverse geocoding. This API uses a promise to return the result. |
-| getAddressesFromLocationName(request: GeoCodeRequest, callback: AsyncCallback<Array<GeoAddress>>): void | Converts geographic descriptions into coordinates through geocoding. This API uses an asynchronous callback to return the result. |
-| getAddressesFromLocationName(request: GeoCodeRequest): Promise<Array<GeoAddress>> | Converts geographic descriptions into coordinates through geocoding. This API uses a promise to return the result. |
+| isGeocoderAvailable(): boolean; | Obtains the (reverse) geocoding service status.|
+| getAddressesFromLocation(request: ReverseGeoCodeRequest, callback: AsyncCallback<Array<GeoAddress>>): void | Converts coordinates into geographic descriptions through reverse geocoding. This API uses an asynchronous callback to return the result. |
+| getAddressesFromLocation(request: ReverseGeoCodeRequest): Promise<Array<GeoAddress>> | Converts coordinates into geographic descriptions through reverse geocoding. This API uses a promise to return the result. |
+| getAddressesFromLocationName(request: GeoCodeRequest, callback: AsyncCallback<Array<GeoAddress>>): void | Converts geographic descriptions into coordinates through geocoding. This API uses an asynchronous callback to return the result. |
+| getAddressesFromLocationName(request: GeoCodeRequest): Promise<Array<GeoAddress>> | Converts geographic descriptions into coordinates through geocoding. This API uses a promise to return the result. |
### How to Develop
> **NOTE**
+>
> The **GeoConvert** instance needs to access backend services to obtain information. Therefore, before performing the following steps, ensure that your device is connected to the network.
1. Import the **geoLocationManager** module by which you can implement all APIs related to the geocoding and reverse geocoding conversion capabilities.
@@ -255,16 +254,17 @@ The following table lists the APIs used for mutual conversion between coordinate
```
2. Check whether the **geoCoder** service is available.
- - Call **isGeoServiceAvailable** to check whether the **geoCoder** service is available. If the service is available, go to step 3.
-
- ```ts
- import geoLocationManager from '@ohos.geoLocationManager';
- try {
- let isAvailable = geoLocationManager.isGeocoderAvailable();
- } catch (err) {
- console.error("errCode:" + err.code + ",errMessage:" + err.message);
- }
- ```
+
+ Call **isGeoServiceAvailable** to check whether the **geoCoder** service is available. If the service is available, go to step 3.
+
+ ```ts
+ import geoLocationManager from '@ohos.geoLocationManager';
+ try {
+ let isAvailable = geoLocationManager.isGeocoderAvailable();
+ } catch (err) {
+ console.error("errCode:" + err.code + ",errMessage:" + err.message);
+ }
+ ```
3. Obtain the geocoding conversion result.
- Call **getAddressesFromLocation** to convert coordinates into geographical location information.
@@ -303,7 +303,7 @@ The following table lists the APIs used for mutual conversion between coordinate
```
The application can access the **GeoAddress** list that matches the specified geographic descriptions for the corresponding coordinates. For details, see [Geolocation Manager](../reference/apis/js-apis-geoLocationManager.md).
-
+
To improve the accuracy of location results, you can set the longitude and latitude ranges in **GeoCodeRequest**.
@@ -323,10 +323,10 @@ The following table lists the APIs used for geofencing. For details, see [Geoloc
**Table 4** Geofencing APIs
-| API| Description|
+| API| Description|
| -------- | -------- |
-| on(type: 'gnssFenceStatusChange', request: GeofenceRequest, want: WantAgent): void; | Registers a listener for status change events of the specified geofence.|
-| off(type: 'gnssFenceStatusChange', request: GeofenceRequest, want: WantAgent): void; | Unregisters the listener for status change events of the specified geofence.|
+| on(type: 'gnssFenceStatusChange', request: GeofenceRequest, want: WantAgent): void; | Registers a listener for status change events of the specified geofence.|
+| off(type: 'gnssFenceStatusChange', request: GeofenceRequest, want: WantAgent): void; | Unregisters the listener for status change events of the specified geofence.|
### How to Develop
@@ -386,7 +386,7 @@ The following table lists the APIs used for geofencing. For details, see [Geoloc
4. Call [getWantAgent()](../reference/apis/js-apis-app-ability-wantAgent.md#wantagentgetwantagent) to create a **WantAgent** object.
-After obtaining the **WantAgent** object, call the geofencing API to add a geofence.
+ After obtaining the **WantAgent** object, call the geofencing API to add a geofence.
```ts
// Create a WantAgent object.
@@ -406,4 +406,4 @@ After obtaining the **WantAgent** object, call the geofencing API to add a geofe
});
```
-5. Have the system automatically trigger the action defined for the **WantAgent** object when a device enters or exits the geofence.
+5. Have the system automatically trigger the action defined for the **WantAgent** object when a device enters or exits the geofence.
\ No newline at end of file
diff --git a/en/application-dev/device/vibrator-overview.md b/en/application-dev/device/vibrator-overview.md
index aea46d62cab1225c26e138decde615924593bcb6..79fd7bf565b80419980a2b5d95c76fd381c73290 100644
--- a/en/application-dev/device/vibrator-overview.md
+++ b/en/application-dev/device/vibrator-overview.md
@@ -8,7 +8,7 @@ The vibrator service is built on the native vibrator service, bolstered by the l
The vibrator is a Misc device that consists of four modules: Vibrator API, Vibrator Framework, Vibrator Service, and HDF layer.
- **Figure 1** Vibrator in Misc devices
+**Figure 1** Vibrator in Misc devices
