title: Ð Ð°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ° Ð¿Ð»Ð°Ð³Ð¸Ð½Ð° Ð¼Ð¸Ð³ÑÐ°ÑÐ¸Ð¸ ÐºÐ¾Ð´Ð° Ð¼Ð¾Ð±Ð¸Ð»ÑÐ½ÑÑ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ð¹ Ñ Shared Preferences Ð½Ð° Jetpack DataStore
title: Ð²ÑÐ¿ÑÑÐºÐ½Ð°Ñ ÐºÐ²Ð°Ð»Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° Ð±Ð°ÐºÐ°Ð»Ð°Ð²ÑÐ°
titleType: Subtitle
title: Development of a plugin for migrating mobileapplication code from Shared Preferences to Jetpack DataStore
Creators: name: ÐÐ°Ð±Ð´ÑÐ»Ð»Ð¸Ð½Ð°, Ð¡Ð°Ð½Ð¸Ñ
Publisher: name: Ð¡Ð°Ð½ÐºÑ-ÐÐµÑÐµÑÐ±ÑÑÐ³ÑÐºÐ¸Ð¹ Ð¿Ð¾Ð»Ð¸ÑÐµÑÐ½Ð¸ÑÐµÑÐºÐ¸Ð¹ ÑÐ½Ð¸Ð²ÐµÑÑÐ¸ÑÐµÑ ÐÐµÑÑÐ° ÐÐµÐ»Ð¸ÐºÐ¾Ð³Ð¾
Year: 2023
Subjects: Ð¿Ð»Ð°Ð³Ð¸Ð½
Ð¼Ð¸Ð³ÑÐ°ÑÐ¸Ñ
Ð¼Ð¾Ð±Ð¸Ð»ÑÐ½Ð¾Ðµ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ðµ
Android
Shared Preferences
Jetpack DataStore
Kotlin
Android Studio
IntelliJ IDEA
Swing
plugin
migration
mobile application

description: Ð¦ÐµÐ»Ñ ÑÐ°Ð±Ð¾ÑÑ Ð·Ð°ÐºÐ»ÑÑÐ°ÐµÑÑÑ Ð² Ð¿ÑÐ¾ÐµÐºÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ð¸ Ð¸ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐµ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð½Ð¾Ð³Ð¾ ÑÑÐµÐ´ÑÑÐ²Ð°, ÐºÐ¾ÑÐ¾ÑÑÐ¹ Ð±Ñ Ð°Ð²ÑÐ¾Ð¼Ð°ÑÐ¸ÑÐµÑÐºÐ¸ Ð½Ð°ÑÐ¾Ð´Ð¸Ð» Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ðµ Ð¼ÐµÑÐ¾Ð´Ð¾Ð² Ð±Ð¸Ð±Ð»Ð¸Ð¾ÑÐµÐºÐ¸ Shared Preferences Ð² ÐºÐ¾Ð´Ðµ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð´ Ð¿Ð»Ð°ÑÑÐ¾ÑÐ¼Ñ Android Ð¸ Ð·Ð°Ð¼ÐµÐ½ÑÐ» ÑÑÐ¾ Ð½Ð° Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ðµ Ð¼ÐµÑÐ¾Ð´Ð¾Ð² Ð±Ð¸Ð±Ð»Ð¸Ð¾ÑÐµÐºÐ¸ Jetpack DataStore. ÐÐ±Ðµ ÑÐµÑÐ½Ð¾Ð»Ð¾Ð³Ð¸Ð¸ Ð½Ð°Ð¿ÑÐ°Ð²Ð»ÐµÐ½Ñ Ð½Ð° ÑÐ¾ÑÑÐ°Ð½ÐµÐ½Ð¸Ðµ Ð´Ð°Ð½Ð½ÑÑ Ð²Ð¾ Ð²Ð½ÑÑÑÐµÐ½Ð½ÐµÐ¼ ÑÑÐ°Ð½Ð¸Ð»Ð¸ÑÐµ, Ð½Ð¾ Ð¿ÑÐ¸Ð¼ÐµÐ½ÐµÐ½Ð¸Ðµ Ð±Ð¸Ð±Ð»Ð¸Ð¾ÑÐµÐºÐ¸ Jetpack DataStore Ð¸Ð¼ÐµÐµÑ ÑÐ»ÐµÐ´ÑÑÑÐ¸Ðµ Ð¿ÑÐµÐ¸Ð¼ÑÑÐµÑÑÐ²Ð°: Ð°ÑÐ¸Ð½ÑÑÐ¾Ð½Ð½Ð¾ÑÑÑ Ð¾Ð¿ÐµÑÐ°ÑÐ¸Ð¹ ÑÑÐµÐ½Ð¸Ñ Ð¸ Ð·Ð°Ð¿Ð¸ÑÐ¸, Ð±ÐµÐ·Ð¾Ð¿Ð°ÑÐ½Ð¾Ðµ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ðµ Ð½Ð° Ð³Ð»Ð°Ð²Ð½Ð¾Ð¼ Ð¿Ð¾ÑÐ¾ÐºÐµ, Ð¾Ð¿Ð¾Ð²ÐµÑÐµÐ½Ð¸Ðµ Ð¾Ð± Ð¾ÑÐ¸Ð±ÐºÐ°Ñ, ÐºÐ¾Ð½ÑÐ¸ÑÑÐµÐ½ÑÐ½Ð¾ÑÑÑ Ð¾Ð¿ÐµÑÐ°ÑÐ¸Ð¹ Ð¸ ÑÐ¸Ð¿Ð¾Ð±ÐµÐ·Ð¾Ð¿Ð°ÑÐ½Ð¾ÑÑÑ. Ð ÐµÐ°Ð»Ð¸Ð·Ð°ÑÐ¸Ñ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð° Ð²ÑÐ¿Ð¾Ð»Ð½ÑÐ»Ð°ÑÑ Ð² ÑÑÐµÐ´Ðµ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ¸ InteliJ Ð½Ð° ÑÐ·ÑÐºÐµ Ð¿ÑÐ¾Ð³ÑÐ°Ð¼Ð¼Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Kotlin, Ð° ÑÐµÑÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ðµ Ð¿Ð»Ð°Ð³Ð¸Ð½Ð° Ð¿ÑÐ¾Ð²Ð¾Ð´Ð¸Ð»Ð¾ÑÑ Ð² ÑÑÐµÐ´Ðµ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ¸ Android Studio. ÐÑÐ±Ð¾Ñ ÑÐ·ÑÐºÐ° Kotlin Ð¾Ð±ÑÑÐ»Ð¾Ð²Ð»ÐµÐ½ ÐµÐ³Ð¾ ÑÐ°ÑÐ¿ÑÐ¾ÑÑÑÐ°Ð½ÐµÐ½Ð½Ð¾ÑÑÑÑ ÑÑÐµÐ´Ð¸ Android-ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÑÐ¸ÐºÐ¾Ð² Ð¸ Ð½Ð°Ð»Ð¸ÑÐ¸ÐµÐ¼ Ð¾Ð¿ÑÑÐ° ÐµÐ³Ð¾ Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ. Ð¡ÑÐµÐ´Ñ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ¸ InteliJ IDEA Ð¸ Android Studio ÑÐ²Ð»ÑÑÑÑÑ Ð¾Ð±ÑÐµÐ¿ÑÐ¸Ð½ÑÑÑÐ¼Ð¸ Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ð¹ Ð¿Ð¾Ð´ Android, Ð¾Ð½Ð¸ Ð¼Ð½Ð¾Ð³Ð¾ÑÑÐ½ÐºÑÐ¸Ð¾Ð½Ð°Ð»ÑÐ½Ñ Ð¸ ÑÐ´Ð¾Ð±Ð½Ñ Ð² Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ð¸. ÐÐ»Ñ ÑÐµÐ°Ð»Ð¸Ð·Ð°ÑÐ¸Ð¸ Ð³ÑÐ°ÑÐ¸ÑÐµÑÐºÐ¾Ð³Ð¾ Ð¸Ð½ÑÐµÑÑÐµÐ¹ÑÐ° Ð¸ÑÐ¿Ð¾Ð»ÑÐ·Ð¾Ð²Ð°Ð»Ð°ÑÑ Ð±Ð¸Ð±Ð»Ð¸Ð¾ÑÐµÐºÐ° Swing, ÐºÐ¾ÑÐ¾ÑÐ°Ñ Ð¿ÑÐµÐ´Ð¾ÑÑÐ°Ð²Ð»ÑÐµÑ Ð±Ð¾Ð³Ð°ÑÑÐ¹ Ð½Ð°Ð±Ð¾Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½ÑÐ¾Ð² Ñ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑÑ ÐºÐ°ÑÑÐ¾Ð¼Ð¸Ð·Ð°ÑÐ¸Ð¸. Ð ÑÐµÐ·ÑÐ»ÑÑÐ°ÑÐµ Ð¿ÑÐ¾Ð´ÐµÐ»Ð°Ð½Ð½Ð¾Ð¹ ÑÐ°Ð±Ð¾ÑÑ ÑÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½ Ð¿Ð»Ð°Ð³Ð¸Ð½ Ð¼Ð¸Ð³ÑÐ°ÑÐ¸Ð¸ ÐºÐ¾Ð´Ð° Android Ð¿ÑÐ¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ, ÐºÐ¾ÑÐ¾ÑÑÐ¹ ÑÑÐ¿ÐµÑÐ½Ð¾ Ð¿ÑÐ¾ÑÑÐ» ÑÑÑÐ½Ð¾Ðµ ÑÐµÑÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ðµ Ð¸ Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿ÑÐ¸Ð¼ÐµÐ½Ð¸Ð¼ Ð´Ð»Ñ Ð°Ð²ÑÐ¾Ð¼Ð°ÑÐ¸ÑÐµÑÐºÐ¾Ð³Ð¾ Ð²Ð½ÐµÐ´ÑÐµÐ½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð¹ ÑÐµÑÐ½Ð¾Ð»Ð¾Ð³Ð¸Ð¸.
description: The purpose of the work is to design and develop a software tool that would automatically find the use of methods of the Shared Preferences library in the application code for the Android platform and replace it with the use of methods of the Jetpack DataStore library. Both technologies are aimed at storing data in internal storage, but the use of the Jetpack DataStore library has the following advantages: asynchronous read and write operations, safe execution on the main thread, error notification, consistency of operations and type safety. The plugin was implemented in the InteliJ IDEA in the Kotlin programming language, and the plugin was tested in the Android Studio development environment. The choice of Kotlin language is due to its prevalence among Android developers and the experience of using it. InteliJ IDEA and Android Studio development environments are generally accepted for creating android applications, they are multifunctional and easy to use. The Swing library was used to implement the graphical interface, which provides a rich set of components with the possibility of customization. As a result, the Android application code migration plugin has been implemented, which has successfully passed manual testing and can be used for automatic implementation of the new technology.