YTPreferencesUtil.ets 954 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import { preferences } from '@kit.ArkData'
  2. class YTPreferences {
  3. private static declare instance: YTPreferences
  4. private preferencesName: string = 'preferencesName'
  5. private declare preference: preferences.Preferences
  6. private constructor() {
  7. }
  8. static getInstance() {
  9. if (!YTPreferences.instance) {
  10. YTPreferences.instance = new YTPreferences()
  11. }
  12. return YTPreferences.instance
  13. }
  14. init(context: Context) {
  15. this.preference = preferences.getPreferencesSync(context, { name: this.preferencesName })
  16. }
  17. setData(key: string, data: ESObject) {
  18. this.preference.putSync(key, data)
  19. this.preference.flushSync()
  20. }
  21. getData(key: string): ESObject {
  22. return this.preference.getSync(key, undefined)
  23. }
  24. removeData(key: string) {
  25. this.preference.deleteSync(key)
  26. }
  27. clear() {
  28. this.preference.clearSync()
  29. this.preference.flushSync()
  30. }
  31. }
  32. export const yTPreferences = YTPreferences.getInstance()