diff --git a/api/@ohos.data.preferences.d.ts b/api/@ohos.data.preferences.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..2d5a313f686a3bd6d48490881860a412a06b2ebc --- /dev/null +++ b/api/@ohos.data.preferences.d.ts @@ -0,0 +1,199 @@ +/* +* Copyright (c) 2022 Huawei Device Co., Ltd. +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +import { AsyncCallback, Callback } from './basic'; +import Context from "./application/Context"; + +/** + * Provides interfaces to obtain and modify preferences data. + * + * @name preferences + * @since 9 + * @syscap SystemCapability.DistributedDataManager.Preferences.Core + * + */ +declare namespace preferences { + /** + * Obtains a {@link Preferences} instance matching a specified preferences file name. + * + *
The {@link references} instance loads all data of the preferences file and
+ * resides in the memory. You can use removePreferencesFromCache to remove the instance from the memory.
+ *
+ * @param context Indicates the context of application or capability.
+ * @param name Indicates the preferences file name.
+ * @return Returns the {@link Preferences} instance matching the specified preferences file name.
+ * @throws BusinessError if invoked failed
+ * @since 9
+ */
+ function getPreferences(context: Context, name: string, callback: AsyncCallback When deleting the {@link Preferences} instance, you must release all references
+ * of the instance. In addition, do not use the instance to perform data operations. Otherwise, data inconsistency
+ * will occur.
+ *
+ * @param context Indicates the context of application or capability.
+ * @param name Indicates the preferences file name.
+ * @throws BusinessError if invoked failed
+ * @since 9
+ */
+ function deletePreferences(context: Context, name: string, callback: AsyncCallback When deleting the {@link Preferences} instance, you must release all references
+ * of the instance. In addition, do not use the instance to perform data operations. Otherwise, data inconsistency
+ * will occur.
+ *
+ * @param context Indicates the context of application or capability.
+ * @param name Indicates the preferences file name.
+ * @throws BusinessError if invoked failed
+ * @since 9
+ */
+ function removePreferencesFromCache(context: Context, name: string, callback: AsyncCallback The preferences data is stored in a file, which matches only one {@link Preferences} instance in the memory.
+ * You can use getPreferences to obtain the {@link Preferences} instance matching
+ * the file that stores preferences data, and use emovePreferencesFromCache
+ * to remove the {@link Preferences} instance from the memory.
+ *
+ * @syscap SystemCapability.DistributedDataManager.Preferences.Core
+ *
+ * @since 9
+ */
+ interface Preferences {
+ /**
+ * Obtains the value of a preferences in the int format.
+ *
+ * If the value is {@code null} or not in the int format, the default value is returned.
+ *
+ * @param key Indicates the key of the preferences. It cannot be {@code null} or empty.
+ * @param defValue Indicates the default value to return.
+ * @return Returns the value matching the specified key if it is found; returns the default value otherwise.
+ * @throws BusinessError if invoked failed
+ * @since 9
+ */
+ get(key: string, defValue: ValueType, callback: AsyncCallback You can call the {@link #flush} method to save the {@link Preferences} object to the
+ * file.
+ *
+ * @param key Indicates the key of the preferences to modify. It cannot be {@code null} or empty.
+ * @param value Indicates the value of the preferences.
+ * MAX_KEY_LENGTH.
+ * @throws BusinessError if invoked failed
+ * @since 9
+ */
+ put(key: string, value: ValueType, callback: AsyncCallback You can call the {@link #flush} method to save the {@link Preferences} object to the
+ * file.
+ *
+ * @param key Indicates the key of the preferences to delete. It cannot be {@code null} or empty.
+ * MAX_KEY_LENGTH.
+ * @throws BusinessError if invoked failed
+ * @since 9
+ */
+ delete(key: string, callback: AsyncCallback You can call the {@link #flush} method to save the {@link Preferences} object to the
+ * file.
+ *
+ * @throws BusinessError if invoked failed
+ * @since 9
+ */
+ clear(callback: AsyncCallback