{"id":31100,"date":"2026-10-19T16:28:53","date_gmt":"2026-10-19T16:28:53","guid":{"rendered":"https:\/\/umang.pk\/2026\/10\/19\/2026-%d9%85%db%8c%da%ba-%d9%85%d9%82%d8%a7%d9%85%db%8c-%d8%a7%db%8c%d9%86%da%88%d8%b1%d8%a7%d8%a6%db%8c%da%88-%d8%a7%db%8c%d9%be%d8%b3-%da%a9%db%8c%d8%b3%db%92-%d8%a8%d9%86%d8%a7%d8%a6%db%8c%da%ba\/"},"modified":"2026-10-19T16:28:53","modified_gmt":"2026-10-19T16:28:53","slug":"2026-%d9%85%db%8c%da%ba-%d9%85%d9%82%d8%a7%d9%85%db%8c-%d8%a7%db%8c%d9%86%da%88%d8%b1%d8%a7%d8%a6%db%8c%da%88-%d8%a7%db%8c%d9%be%d8%b3-%da%a9%db%8c%d8%b3%db%92-%d8%a8%d9%86%d8%a7%d8%a6%db%8c%da%ba","status":"publish","type":"post","link":"https:\/\/umang.pk\/ur\/2026\/10\/19\/2026-%d9%85%db%8c%da%ba-%d9%85%d9%82%d8%a7%d9%85%db%8c-%d8%a7%db%8c%d9%86%da%88%d8%b1%d8%a7%d8%a6%db%8c%da%88-%d8%a7%db%8c%d9%be%d8%b3-%da%a9%db%8c%d8%b3%db%92-%d8%a8%d9%86%d8%a7%d8%a6%db%8c%da%ba\/","title":{"rendered":"2026 \u0645\u06cc\u06ba \u0645\u0642\u0627\u0645\u06cc \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u0627\u06cc\u067e\u0633 \u06a9\u06cc\u0633\u06d2 \u0628\u0646\u0627\u0626\u06cc\u06ba \u0627\u0648\u0631 \u0634\u0627\u0626\u0639 \u06a9\u0631\u06cc\u06ba: \u062c\u06cc\u0679 \u067e\u06cc\u06a9 \u06a9\u0645\u067e\u0648\u0632 \u0633\u06d2 \u06af\u0648\u06af\u0644 \u067e\u0644\u06d2 \u0627\u0633\u0679\u0648\u0631 \u062a\u06a9"},"content":{"rendered":"\n<div id=\"\">\n<p>\u0632\u06cc\u0627\u062f\u06c1 \u062a\u0631 \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644\u0632 &quot;\u06cc\u06c1 \u0627\u06cc\u0645\u0648\u0644\u06cc\u0679\u0631 \u067e\u0631 \u0686\u0644\u062a\u0627 \u06c1\u06d2&#8221; \u067e\u0631 \u0631\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0644\u06cc\u06a9\u0646 Google Play \u067e\u0631 \u0627\u06cc\u06a9 \u062e\u0627\u0644\u06cc \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u06a9\u06cc \u0627\u06cc\u067e \u06a9\u0648 \u0641\u06c1\u0631\u0633\u062a \u0645\u06cc\u06ba \u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u0627 \u062c\u06c1\u0627\u06ba \u062d\u0642\u06cc\u0642\u06cc \u0644\u0648\u06af \u0627\u0633\u06d2 \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0633 \u0645\u06cc\u06ba \u0628\u0639\u062f \u06a9\u0627 \u062d\u0635\u06c1 \u0634\u0627\u0645\u0644 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u060c \u062c\u0633 \u067e\u0631 \u0634\u0627\u0630 \u0648 \u0646\u0627\u062f\u0631 \u06c1\u06cc \u0627\u06cc\u06a9 \u062c\u06af\u06c1 \u0628\u0627\u062a \u06a9\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06d2: \u0631\u06cc\u0644\u06cc\u0632 \u0628\u0644\u0688\u0632\u060c \u0633\u0627\u0626\u0646\u0646\u06af \u06a9\u06cc\u0632\u060c \u0627\u06cc\u067e \u0628\u0646\u0688\u0644\u0632\u060c \u0627\u0633\u0679\u0648\u0631 \u0644\u0633\u0679\u0646\u06af\u060c \u067e\u0627\u0644\u06cc\u0633\u06cc \u0641\u0627\u0631\u0645\u0632\u060c \u0627\u0648\u0631 \u0646\u0626\u06d2 \u0688\u0648\u06cc\u0644\u067e\u0631 \u0627\u06a9\u0627\u0624\u0646\u0679\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0637\u0644\u0648\u0628\u06c1 \u0679\u06cc\u0633\u0679\u0646\u06af \u067e\u06cc\u0631\u06cc\u0688\u0632\u06d4<\/p>\n<p>\u067e\u0686\u06be\u0644\u06d2 \u06a9\u0686\u06be \u0633\u0627\u0644\u0648\u06ba \u0645\u06cc\u06ba \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u0688\u0648\u06cc\u0644\u067e\u0645\u0646\u0679 \u0645\u06cc\u06ba \u0628\u06c1\u062a \u06a9\u0686\u06be \u0628\u062f\u0644 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4 Jetpack Compose \u0627\u0628 \u0688\u06cc\u0641\u0627\u0644\u0679 UI \u0679\u0648\u0644 \u06a9\u0679 \u06c1\u06d2\u060c XML \u0644\u06d2 \u0622\u0624\u0679 \u0645\u06cc\u0631\u0627\u062b\u06cc \u06c1\u06cc\u06ba\u060c \u06a9\u0648\u0679\u0644\u0646 \u0648\u0627\u062d\u062f \u0632\u0628\u0627\u0646 \u06c1\u06d2 \u062c\u0648 \u0622\u0641\u06cc\u0634\u0644 \u0679\u06cc\u0645\u067e\u0644\u06cc\u0679\u0633 \u0645\u06cc\u06ba \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u060c \u0627\u0648\u0631 Google Play \u0646\u06d2 \u0646\u0626\u06d2 \u0688\u0648\u06cc\u0644\u067e\u0631\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u067e\u0646\u06cc \u0636\u0631\u0648\u0631\u06cc\u0627\u062a \u06a9\u0648 \u0633\u062e\u062a \u06a9\u0631 \u062f\u06cc\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0633\u06d2 \u0634\u0631\u0648\u0639 \u06c1\u0648\u0646\u06d2 \u0648\u0627\u0644\u06cc \u067e\u0686\u06be\u0644\u06cc \u06af\u0627\u0626\u06cc\u0688 <code>findViewById<\/code> \u06cc\u0627 \u0622\u067e \u0627\u06cc\u06a9 APK \u0627\u067e \u0644\u0648\u0688 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062e\u062a\u0645 \u06c1\u0648\u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u0627\u0628 \u0627\u0633 \u06a9\u06d2 \u06a9\u0627\u0645 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u0645\u06cc\u0644 \u0646\u06c1\u06cc\u06ba \u06a9\u06be\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u06c1\u06cc\u0646\u0688 \u0628\u06a9 \u0622\u067e \u06a9\u0648 \u067e\u0648\u0631\u06d2 \u0631\u0627\u0633\u062a\u06d2 \u06a9\u06cc \u0631\u06c1\u0646\u0645\u0627\u0626\u06cc \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 Jetpack Compose\u060c Room\u060c ViewModel\u060c \u0627\u0648\u0631 Navigation 3 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0627\u06cc\u06a9 \u0686\u06be\u0648\u0679\u06cc \u0644\u06cc\u06a9\u0646 \u0645\u06a9\u0645\u0644 \u0646\u0648\u0679\u0633 \u0627\u06cc\u067e \u0628\u0646\u0627\u0626\u06cc\u06ba\u060c \u06a9\u0686\u06be \u0679\u06cc\u0633\u0679 \u0644\u06a9\u06be\u06cc\u06ba\u060c \u0627\u06cc\u06a9 \u062f\u0633\u062a\u062e\u0637 \u0634\u062f\u06c1 \u0631\u06cc\u0644\u06cc\u0632 \u0628\u0646\u0688\u0644 \u0628\u0646\u0627\u0626\u06cc\u06ba\u060c \u0627\u0648\u0631 \u067e\u06be\u0631 \u0627\u0633\u06d2 Google Play Console \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u067e\u0631\u0648\u0688\u06a9\u0634\u0646 \u0631\u06cc\u0644\u06cc\u0632 \u062a\u06a9 \u0644\u06d2 \u062c\u0627\u0626\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-table-of-contents\">\u0627\u0646\u0688\u06cc\u06a9\u0633<\/h2>\n<h2 id=\"heading-prerequisites\">\u0634\u0631\u0627\u0626\u0637<\/h2>\n<p>\u0622\u067e \u06a9\u0648 \u067e\u0631\u0648\u06af\u0631\u0627\u0645\u0646\u06af \u06a9\u06d2 \u0628\u0646\u06cc\u0627\u062f\u06cc \u062a\u0635\u0648\u0631\u0627\u062a \u0633\u06d2 \u0648\u0627\u0642\u0641 \u06c1\u0648\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2 \u0627\u0648\u0631 \u06a9\u0645 \u0627\u0632 \u06a9\u0645 \u067e\u06c1\u0644\u06d2 \u06a9\u0648\u0679\u0644\u0646 \u06a9\u0648 \u067e\u0691\u06be\u0627 \u06c1\u0648 \u06af\u0627\u06d4 \u067e\u0686\u06be\u0644\u06d2 Android \u062a\u062c\u0631\u0628\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u0633\u06d2 \u0645\u062a\u0639\u0644\u0642 \u062a\u0645\u0627\u0645 \u062a\u0635\u0648\u0631\u0627\u062a \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u0627\u0633\u06cc \u0637\u0631\u062d \u06a9\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06d2 \u062c\u06cc\u0633\u06d2 \u0648\u06c1 \u0638\u0627\u06c1\u0631 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0679\u0648\u0644\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0622\u067e \u06a9\u0648 \u0636\u0631\u0648\u0631\u062a \u06c1\u0648 \u06af\u06cc:<\/p>\n<ul>\n<li>\n<p>\u06a9\u0645 \u0627\u0632 \u06a9\u0645 16 \u062c\u06cc \u0628\u06cc \u0631\u06cc\u0645 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0645\u06cc\u06a9\u0648\u0633\u060c \u0648\u0646\u0688\u0648\u0632 \u06cc\u0627 \u0644\u06cc\u0646\u06a9\u0633 \u0686\u0644\u0627\u0646\u06d2 \u0648\u0627\u0644\u0627 \u06a9\u0645\u067e\u06cc\u0648\u0679\u0631 (8 \u062c\u06cc \u0628\u06cc \u06a9\u0627\u0645 \u06a9\u0631\u06d2 \u06af\u0627\u060c \u0644\u06cc\u06a9\u0646 \u0627\u06cc\u0645\u0648\u0644\u06cc\u0679\u0631 \u0633\u0633\u062a \u06c1\u0648\u06af\u0627)<\/p>\n<\/li>\n<li>\n<p>\u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u0627\u0633\u0679\u0648\u0688\u06cc\u0648 \u06a9\u0627 \u062a\u0627\u0632\u06c1 \u062a\u0631\u06cc\u0646 \u0645\u0633\u062a\u062d\u06a9\u0645 \u0648\u0631\u0698\u0646<\/p>\n<\/li>\n<li>\n<p>\u0627\u06cc\u06a9 \u0641\u0632\u06cc\u06a9\u0644 \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u0641\u0648\u0646 (\u0688\u06cc\u0648\u0644\u067e\u0645\u0646\u0679 \u06a9\u06d2 \u062f\u0648\u0631\u0627\u0646 \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc\u060c \u0644\u06cc\u06a9\u0646 \u0628\u0639\u062f \u0645\u06cc\u06ba \u0622\u067e \u06a9\u06d2 Play \u06a9\u0646\u0633\u0648\u0644 \u0627\u06a9\u0627\u0624\u0646\u0679 \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0636\u0631\u0648\u0631\u06cc \u06c1\u06d2)<\/p>\n<\/li>\n<li>\n<p>Google \u0627\u06a9\u0627\u0624\u0646\u0679 \u06a9\u06d2 \u0644\u06cc\u06d2 $25 \u0627\u0648\u0631 \u0627\u06cc\u06a9 \u0628\u0627\u0631 Google Play \u0688\u0648\u06cc\u0644\u067e\u0631 \u0631\u062c\u0633\u0679\u0631\u06cc\u0634\u0646 \u0641\u06cc\u0633<\/p>\n<\/li>\n<\/ul>\n<h2 id=\"heading-what-you-will-build\">\u06a9\u06cc\u0627 \u062a\u0639\u0645\u06cc\u0631 \u06a9\u0631\u0646\u0627 \u06c1\u06d2<\/h2>\n<p>\u0646\u0645\u0648\u0646\u06c1 \u0627\u06cc\u067e \u06a9\u0627 \u0646\u0627\u0645 Quick Notes \u06c1\u06d2\u06d4 \u0622\u067e \u06a9\u0648 \u0627\u0646 \u0646\u0648\u0679\u0648\u06ba \u06a9\u06cc \u0641\u06c1\u0631\u0633\u062a \u0646\u0638\u0631 \u0622\u0626\u06d2 \u06af\u06cc \u062c\u0628 \u0627\u0646 \u06a9\u06cc \u0622\u062e\u0631\u06cc \u062a\u0631\u0645\u06cc\u0645 \u06a9\u06cc \u06af\u0626\u06cc \u062a\u06be\u06cc\u060c \u0627\u0648\u0631 \u0641\u0644\u0648\u0679\u0646\u06af \u0627\u06cc\u06a9\u0634\u0646 \u0628\u0679\u0646 \u0622\u067e \u06a9\u0648 \u0646\u0626\u06d2 \u0646\u0648\u0679 \u0628\u0646\u0627\u0646\u06d2\u060c \u0627\u0646 \u0645\u06cc\u06ba \u062a\u0631\u0645\u06cc\u0645 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0646\u0648\u0679\u0648\u06ba \u067e\u0631 \u0679\u06cc\u067e \u06a9\u0631\u0646\u06d2\u060c \u0627\u0648\u0631 \u0646\u0648\u0679\u0648\u06ba \u06a9\u0648 \u062d\u0630\u0641 \u06a9\u0631\u0646\u06d2 \u062f\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06c1\u0631 \u0686\u06cc\u0632 \u06a9\u0648 \u0645\u0642\u0627\u0645\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0688\u06cc\u0648\u0627\u0626\u0633 \u067e\u0631 SQLite \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u0645\u06cc\u06ba \u0627\u0633\u0679\u0648\u0631 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0644\u06c1\u0630\u0627 \u0627\u06cc\u067e \u0622\u0641 \u0644\u0627\u0626\u0646 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633\u06d2 \u0628\u06cc\u06a9 \u0627\u06cc\u0646\u0688 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0646\u0648\u0679\u0633 \u0627\u06cc\u067e \u0633\u0627\u062f\u06c1 \u0644\u06af \u0633\u06a9\u062a\u06cc \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u0627\u0633 \u0645\u06cc\u06ba \u062d\u0642\u06cc\u0642\u06cc \u0627\u06cc\u067e \u06a9\u06d2 \u0644\u06cc\u06d2 \u062f\u0631\u06a9\u0627\u0631 \u062a\u0645\u0627\u0645 \u062d\u0635\u0648\u06ba \u06a9\u0627 \u0627\u062d\u0627\u0637\u06c1 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2: \u0641\u06c1\u0631\u0633\u062a \u0627\u0633\u06a9\u0631\u06cc\u0646\u0632 \u0627\u0648\u0631 \u062a\u0641\u0635\u06cc\u0644\u0627\u062a \u0627\u0633\u06a9\u0631\u06cc\u0646\u0632\u060c \u0628\u06cc\u06a9 \u0628\u0679\u0646 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0646\u06cc\u0648\u06cc\u06af\u06cc\u0634\u0646\u060c \u0645\u0633\u062a\u0642\u0644 \u0627\u0633\u0679\u0648\u0631\u06cc\u062c\u060c \u0648\u06c1 \u062d\u0627\u0644\u062a \u062c\u0648 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u062a\u0628\u062f\u06cc\u0644\u06cc\u0648\u06ba \u0645\u06cc\u06ba \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06c1\u062a\u06cc \u06c1\u06d2 \u062c\u06cc\u0633\u06d2 \u0627\u0633\u06a9\u0631\u06cc\u0646 \u06a9\u06cc \u06af\u0631\u062f\u0634\u060c \u0627\u0648\u0631 \u0635\u0627\u0631\u0641 \u06a9\u0627 \u0627\u0646 \u067e\u0679\u06d4 \u0627\u06cc\u06a9 \u0628\u0627\u0631 \u062c\u0628 \u0622\u067e \u06cc\u06c1 \u0633\u0645\u062c\u06be \u0644\u06cc\u06ba \u06a9\u06c1 \u06cc\u06c1 \u0679\u06a9\u0691\u06d2 \u0627\u06cc\u06a9 \u0633\u0627\u062a\u06be \u06a9\u06cc\u0633\u06d2 \u0641\u0679 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u0622\u067e \u0627\u067e\u0646\u06d2 \u0646\u0648\u0679 \u06a9\u0648 \u06a9\u0633\u06cc \u0627\u0648\u0631 \u0686\u06cc\u0632 \u0645\u06cc\u06ba \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0622\u067e \u062c\u0633 \u0627\u0639\u0644\u06cc\u0670 \u0633\u0637\u062d\u06cc \u0641\u0646 \u062a\u0639\u0645\u06cc\u0631 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062e\u062a\u0645 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba \u0648\u06c1 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-plaintext\">+-------------------------------------------------------------+\n|                         UI Layer                            |\n|  MainActivity -> NavDisplay -> NoteListScreen               |\n|                             -> NoteEditorScreen             |\n|                  observes StateFlow, sends events           |\n+------------------------------+------------------------------+\n                               |\n                               v\n+-------------------------------------------------------------+\n|                      NotesViewModel                         |\n|      holds UI state, survives rotation, launches coroutines |\n+------------------------------+------------------------------+\n                               |\n                               v\n+-------------------------------------------------------------+\n|                       Data Layer                            |\n|   NoteRepository -> NoteDao -> NotesDatabase (Room\/SQLite)  |\n+-------------------------------------------------------------+\n<\/code><\/pre>\n<p>\u062e\u0627\u06a9\u06c1 \u062a\u06cc\u0646 \u062a\u06c1\u0648\u06ba \u06a9\u0648 \u0639\u0645\u0648\u062f\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0633\u062c\u0627 \u06c1\u0648\u0627 \u062f\u06a9\u06be\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0646\u062d\u0635\u0627\u0631 \u06a9\u06cc \u0633\u0645\u062a \u06a9\u06cc \u0646\u0634\u0627\u0646\u062f\u06c1\u06cc \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062a\u06cc\u0631 \u0646\u06cc\u0686\u06d2 \u06a9\u06cc \u0637\u0631\u0641 \u0627\u0634\u0627\u0631\u06c1 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u0648\u067e\u0631\u06cc UI \u067e\u0631\u062a \u0645\u06cc\u06ba \u0633\u0631\u06af\u0631\u0645\u06cc\u0627\u06ba \u0627\u0648\u0631 \u062f\u0648 \u0627\u0633\u06a9\u0631\u06cc\u0646\u06cc\u06ba \u0634\u0627\u0645\u0644 \u06c1\u06cc\u06ba\u06d4 \u06cc\u06c1 \u0635\u0631\u0641 ViewModel \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0628\u0627\u062a \u0686\u06cc\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u0628\u0627\u062a \u0686\u06cc\u062a \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0648\u0633\u0637 \u0645\u06cc\u06ba \u0648\u06cc\u0648 \u0645\u0627\u0688\u0644 \u0631\u06cc\u0627\u0633\u062a \u06a9\u0627 \u0645\u0627\u0644\u06a9 \u06c1\u06d2 \u062c\u0648 \u0627\u0633\u06a9\u0631\u06cc\u0646 \u062f\u06a9\u06be\u0627\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u06cc\u0633\u06d2 \u0648\u0627\u0642\u0639\u0627\u062a \u0633\u06d2 \u0628\u0686 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u062c\u06cc\u0633\u06d2 \u06af\u0631\u062f\u0634\u06cc\u06ba \u062c\u0648 \u0627\u0633\u06a9\u0631\u06cc\u0646 \u06a9\u0648 \u062a\u0628\u0627\u06c1 \u06a9\u0631\u0633\u06a9\u062a\u06cc \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0646\u06cc\u0686\u06d2 \u06a9\u06cc \u0688\u06cc\u0679\u0627 \u0644\u06cc\u0626\u0631 \u0631\u0648\u0645 \u06a9\u0648 \u0644\u067e\u06cc\u0679 \u062f\u06cc\u062a\u06cc \u06c1\u06d2\u060c SQLite \u06a9\u06d2 \u0627\u0648\u067e\u0631 \u0627\u06cc\u06a9 \u0627\u0646 \u067e\u0679 \u0644\u06cc\u0626\u0631\u06d4 \u0688\u06cc\u0679\u0627 \u0641\u0644\u0648 \u0627\u0633\u0679\u06cc\u06a9 \u06a9\u0648 \u0627\u0633 \u0637\u0631\u062d \u0628\u06cc\u06a9 \u0627\u067e \u06a9\u0631\u062a\u0627 \u06c1\u06d2: <code>Flow<\/code> \u0646\u0648\u0679 \u06a9\u0631\u06cc\u06ba \u06a9\u06c1 \u062c\u0628 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u062a\u0628\u062f\u06cc\u0644 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u062a\u0648 UI \u062e\u0648\u062f \u0628\u062e\u0648\u062f \u0627\u067e \u0688\u06cc\u0679 \u06c1\u0648 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4<\/p>\n<p>\u06cc\u06c1 \u067e\u0631\u062a\u0648\u06ba \u0648\u0627\u0644\u0627 \u0641\u0646 \u062a\u0639\u0645\u06cc\u0631 \u06c1\u06d2 \u062c\u0633 \u06a9\u06cc \u06af\u0648\u06af\u0644 \u0627\u067e\u0646\u06cc \u0622\u0641\u06cc\u0634\u0644 \u0627\u06cc\u067e \u0622\u0631\u06a9\u06cc\u0679\u06cc\u06a9\u0686\u0631 \u06af\u0627\u0626\u06cc\u0688 \u0645\u06cc\u06ba \u062a\u062c\u0648\u06cc\u0632 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-how-to-set-up-your-development-environment\">\u062a\u0631\u0642\u06cc \u06a9\u0627 \u0645\u0627\u062d\u0648\u0644 \u06a9\u06cc\u0633\u06d2 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u0627 \u062c\u0627\u0626\u06d2\u06d4<\/h2>\n<p>developer.android.com\/studio \u0633\u06d2 \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u0627\u0633\u0679\u0648\u0688\u06cc\u0648 \u0688\u0627\u0624\u0646 \u0644\u0648\u0688 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0627\u0646\u0633\u0679\u0627\u0644\u0631 \u0686\u0644\u0627\u0626\u06cc\u06ba\u06d4 \u067e\u06c1\u0644\u06cc \u0628\u0627\u0631\u060c \u0633\u06cc\u0679 \u0627\u067e \u0648\u0632\u0631\u0688 Android SDK \u0627\u0648\u0631 \u067e\u0644\u06cc\u0679 \u0641\u0627\u0631\u0645 \u0679\u0648\u0644\u0632 (\u0634\u0627\u0645\u0644) \u0688\u0627\u0624\u0646 \u0644\u0648\u0688 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <code>adb<\/code>) \u0627\u0648\u0631 \u0627\u06cc\u0645\u0648\u0644\u06cc\u0679\u0631 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0633\u0633\u0679\u0645 \u06a9\u06cc \u062a\u0635\u0627\u0648\u06cc\u0631\u06d4 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u0637\u06d2 \u0634\u062f\u06c1 \u06a9\u0648 \u0642\u0628\u0648\u0644 \u06a9\u0631\u06cc\u06ba \u062c\u0628 \u062a\u06a9 \u06a9\u06c1 \u0646\u06c1 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u06a9\u0648\u0626\u06cc \u062e\u0627\u0635 \u0648\u062c\u06c1 \u0646\u06c1 \u06c1\u0648\u06d4 \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u0627\u0633\u0679\u0648\u0688\u06cc\u0648 \u0627\u067e\u0646\u06d2 JDK \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0628\u0646\u0688\u0644 \u0622\u062a\u0627 \u06c1\u06d2\u060c \u0644\u06c1\u0630\u0627 \u0622\u067e \u06a9\u0648 \u062c\u0627\u0648\u0627 \u06a9\u0648 \u0627\u0644\u06af \u0633\u06d2 \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<p>\u0633\u06cc\u0679 \u0627\u067e \u0645\u06a9\u0645\u0644 \u06c1\u0648\u0646\u06d2 \u06a9\u06d2 \u0628\u0639\u062f\u060c SDK \u0645\u06cc\u0646\u06cc\u062c\u0631 \u06a9\u0648 \u06cc\u06c1\u0627\u06ba \u06a9\u06be\u0648\u0644\u06cc\u06ba: <strong>\u0679\u0648\u0644\u0632 > SDK \u0645\u06cc\u0646\u06cc\u062c\u0631<\/strong> \u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u0626\u06cc\u06ba \u06a9\u06c1 \u0622\u067e \u06a9\u06d2 \u067e\u0627\u0633 \u062c\u062f\u06cc\u062f \u062a\u0631\u06cc\u0646 \u0645\u0633\u062a\u062d\u06a9\u0645 Android \u067e\u0644\u06cc\u0679 \u0641\u0627\u0631\u0645 \u0627\u0646\u0633\u0679\u0627\u0644 \u06c1\u06d2\u06d4 \u0644\u06a9\u06be\u0646\u06d2 \u06a9\u06d2 \u0648\u0642\u062a\u060c \u0627\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 Android 16 (API \u0644\u06cc\u0648\u0644 36) \u06cc\u0627 \u0627\u0633 \u0633\u06d2 \u0627\u0648\u067e\u0631\u06d4<\/p>\n<p>\u06af\u0648\u06af\u0644 \u067e\u0644\u06d2 \u06a9\u0648 \u0646\u0626\u06cc \u0627\u06cc\u067e\u0633 \u0627\u0648\u0631 \u0627\u06cc\u067e \u0627\u067e \u0688\u06cc\u0679\u0633 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2 \u062c\u0648 \u06c1\u0631 \u0633\u0627\u0644 \u062a\u0627\u0632\u06c1 \u062a\u0631\u06cc\u0646 API \u0644\u06cc\u0648\u0644 \u06a9\u0648 \u0646\u0634\u0627\u0646\u06c1 \u0628\u0646\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062e\u0627\u0635 \u0637\u0648\u0631 \u067e\u0631 \u0627\u06af\u0633\u062a \u06a9\u06d2 \u0622\u062e\u0631 \u0645\u06cc\u06ba\u06d4 \u0634\u0631\u0648\u0639 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2\u060c \u0679\u0627\u0631\u06af\u0679 API \u0644\u06cc\u0648\u0644 \u06a9\u06d2 \u062a\u0642\u0627\u0636\u0648\u06ba \u06a9\u0627 \u0635\u0641\u062d\u06c1 \u062f\u06cc\u06a9\u06be\u06cc\u06ba \u062a\u0627\u06a9\u06c1 \u06cc\u06c1 \u0645\u0639\u0644\u0648\u0645 \u06c1\u0648 \u0633\u06a9\u06d2 \u06a9\u06c1 \u0622\u067e \u06a9\u0648 \u06a9\u0633 \u0646\u0645\u0628\u0631 \u06a9\u0648 \u06c1\u062f\u0641 \u0628\u0646\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<p>\u0627\u06af\u0644\u0627\u060c \u06c1\u0645 \u0627\u06cc\u06a9 \u0627\u06cc\u0645\u0648\u0644\u06cc\u0679\u0631 \u0628\u0646\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 <strong>\u0679\u0648\u0644\u0632 > \u0688\u06cc\u0648\u0627\u0626\u0633 \u0645\u06cc\u0646\u06cc\u062c\u0631<\/strong>. Google Play \u0633\u0631\u0648\u0633\u0632 \u0633\u06d2 \u062a\u0627\u0632\u06c1 \u062a\u0631\u06cc\u0646 Pixel \u0641\u0648\u0646 \u067e\u0631\u0648\u0641\u0627\u0626\u0644 \u0627\u0648\u0631 \u0633\u0633\u0679\u0645 \u06a9\u06cc \u062a\u0627\u0632\u06c1 \u062a\u0631\u06cc\u0646 \u062a\u0635\u0648\u06cc\u0631 \u0645\u0646\u062a\u062e\u0628 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u0635\u0644\u06cc \u0641\u0648\u0646 \u067e\u0631 \u0679\u06cc\u0633\u0679 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u0627\u067e\u0646\u06d2 \u0622\u0644\u06d2 \u067e\u0631 \u0688\u0648\u06cc\u0644\u067e\u0631 \u06a9\u06d2 \u0627\u062e\u062a\u06cc\u0627\u0631\u0627\u062a \u06a9\u0648 \u0641\u0639\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062a\u06be\u067e\u062a\u06be\u067e\u0627\u0626\u06cc\u06ba\u06d4 <strong>\u062a\u0639\u0645\u06cc\u0631 \u0646\u0645\u0628\u0631<\/strong> \u0633\u0627\u062a \u0628\u0627\u0631 <strong>\u062a\u0631\u062a\u06cc\u0628\u0627\u062a > \u0641\u0648\u0646 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba<\/strong>\u067e\u06be\u0631 \u0627\u0633\u06d2 \u0622\u0646 \u06a9\u0631\u06cc\u06ba\u06d4 <strong>USB \u0688\u06cc\u0628\u06af\u0646\u06af<\/strong> (\u06cc\u0627 <strong>\u0648\u0627\u0626\u0631\u0644\u06cc\u0633 \u0688\u06cc\u0628\u06af\u0646\u06af<\/strong>) \u0688\u0648\u06cc\u0644\u067e\u0631 \u06a9\u06d2 \u0627\u062e\u062a\u06cc\u0627\u0631\u0627\u062a \u06a9\u06d2 \u0645\u06cc\u0646\u0648 \u0645\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-how-to-create-a-new-compose-project\">\u0646\u06cc\u0627 \u06a9\u0645\u067e\u0648\u0632 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u06a9\u06cc\u0633\u06d2 \u0628\u0646\u0627\u06cc\u0627 \u062c\u0627\u0626\u06d2\u06d4<\/h2>\n<p>\u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u0627\u0633\u0679\u0648\u0688\u06cc\u0648 \u0645\u06cc\u06ba\u060c \u0645\u0646\u062a\u062e\u0628 \u06a9\u0631\u06cc\u06ba: <strong>\u0641\u0627\u0626\u0644> \u0646\u06cc\u0627> \u0646\u06cc\u0627 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679<\/strong> \u0627\u0648\u0631 <strong>\u062e\u0627\u0644\u06cc \u0633\u0631\u06af\u0631\u0645\u06cc<\/strong> \u0679\u06cc\u0645\u067e\u0644\u06cc\u0679 \u06cc\u06c1 \u0679\u06cc\u0645\u067e\u0644\u06cc\u0679 \u06a9\u0645\u067e\u0648\u0632 \u067e\u0631 \u0645\u0628\u0646\u06cc \u06c1\u06d2\u06d4 \u0627\u0633\u06cc \u0637\u0631\u062d \u06a9\u0627 \u0646\u0627\u0645 &quot;Empty Views Activity&#8221; \u067e\u0631\u0627\u0646\u06d2 XML \u0644\u06d2 \u0622\u0624\u0679 \u0633\u0633\u0679\u0645 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u0626\u06cc\u06ba \u06a9\u06c1 \u0622\u067e \u0635\u062d\u06cc\u062d \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u067e\u0646\u06d2 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u06a9\u06cc \u062a\u0641\u0635\u06cc\u0644\u0627\u062a \u062f\u0631\u062c \u06a9\u0631\u06cc\u06ba\u06d4 \u0646\u0627\u0645 \u0648\u06c1\u06cc \u06c1\u06d2 \u062c\u0648 \u0635\u0627\u0631\u0641\u06cc\u0646 \u06a9\u0648 \u0646\u0638\u0631 \u0622\u0626\u06d2 \u06af\u0627 (\u0641\u0648\u0631\u06cc \u0646\u0648\u0679)\u06d4 \u067e\u06cc\u06a9\u06cc\u062c \u06a9\u0627 \u0646\u0627\u0645 Google Play \u067e\u0631 \u0622\u067e \u06a9\u06cc \u0627\u06cc\u067e \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0645\u0633\u062a\u0642\u0644\u060c \u0639\u0627\u0644\u0645\u06cc \u0633\u0637\u062d \u067e\u0631 \u0645\u0646\u0641\u0631\u062f \u0634\u0646\u0627\u062e\u062a \u06a9\u0646\u0646\u062f\u06c1 \u06c1\u06d2\u060c \u062c\u0648 \u062f\u0631\u062c \u0630\u06cc\u0644 \u0631\u06cc\u0648\u0631\u0633 \u0688\u0648\u0645\u06cc\u0646 \u0641\u0627\u0631\u0645\u06cc\u0679 \u0645\u06cc\u06ba \u0644\u06a9\u06be\u0627 \u06af\u06cc\u0627 \u06c1\u06d2: <code>com.yourname.quicknotes<\/code>. \u0627\u06cc\u06a9 \u0628\u0627\u0631 \u0634\u0627\u0626\u0639 \u06c1\u0648\u0646\u06d2 \u06a9\u06d2 \u0628\u0639\u062f \u0622\u067e \u0627\u0633\u06d2 \u062a\u0628\u062f\u06cc\u0644 \u0646\u06c1\u06cc\u06ba \u06a9\u0631 \u0633\u06a9\u062a\u06d2\u060c \u0644\u06c1\u0630\u0627 \u0627\u062d\u062a\u06cc\u0627\u0637 \u0633\u06d2 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0631\u06cc\u06ba\u06d4 \u06a9\u0645 \u0627\u0632 \u06a9\u0645 SDK \u06a9\u0648 API 24 \u067e\u0631 \u0633\u06cc\u0679 \u06a9\u0631\u06cc\u06ba\u060c \u062c\u0648 \u06a9\u06c1 \u062a\u0642\u0631\u06cc\u0628\u0627\u064b \u062a\u0645\u0627\u0645 \u0641\u0639\u0627\u0644 \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u0688\u06cc\u0648\u0627\u0626\u0633\u0632 \u067e\u0631 \u0644\u0627\u06af\u0648 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u06a9\u0648\u0679\u0644\u0646 \u0688\u06cc \u0627\u06cc\u0633 \u0627\u06cc\u0644 \u0645\u06cc\u06ba \u062a\u0639\u0645\u06cc\u0631 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u0644\u06cc\u0646\u06af\u0648\u06cc\u062c \u0631\u06a9\u06be\u06cc\u06ba\u06d4<\/p>\n<p>\u06a9\u0644\u06a9 \u06a9\u0631\u06cc\u06ba <strong>\u062e\u062a\u0645<\/strong> \u067e\u06c1\u0644\u06cc \u06af\u0631\u06cc\u0688\u0644 \u0645\u0637\u0627\u0628\u0642\u062a \u067e\u0630\u06cc\u0631\u06cc \u0645\u06a9\u0645\u0644 \u06c1\u0648\u0646\u06d2 \u06a9\u0627 \u0627\u0646\u062a\u0638\u0627\u0631 \u06a9\u0631\u06cc\u06ba\u06d4 \u0622\u067e \u062c\u0648 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u062d\u0627\u0635\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u0648\u06c1 \u062a\u0642\u0631\u06cc\u0628\u0627 \u0627\u0633 \u0637\u0631\u062d \u06c1\u06d2:<\/p>\n<pre><code class=\"language-plaintext\">QuickNotes\/\n\u251c\u2500\u2500 app\/\n\u2502   \u251c\u2500\u2500 build.gradle.kts\n\u2502   \u251c\u2500\u2500 proguard-rules.pro\n\u2502   \u2514\u2500\u2500 src\/\n\u2502       \u251c\u2500\u2500 main\/\n\u2502       \u2502   \u251c\u2500\u2500 AndroidManifest.xml\n\u2502       \u2502   \u251c\u2500\u2500 java\/com\/yourname\/quicknotes\/\n\u2502       \u2502   \u2502   \u251c\u2500\u2500 MainActivity.kt\n\u2502       \u2502   \u2502   \u2514\u2500\u2500 ui\/theme\/\n\u2502       \u2502   \u2514\u2500\u2500 res\/\n\u2502       \u251c\u2500\u2500 test\/\n\u2502       \u2514\u2500\u2500 androidTest\/\n\u251c\u2500\u2500 gradle\/\n\u2502   \u2514\u2500\u2500 libs.versions.toml\n\u251c\u2500\u2500 build.gradle.kts\n\u2514\u2500\u2500 settings.gradle.kts\n<\/code><\/pre>\n<p>\u062f\u0631\u062e\u062a \u0622\u067e \u06a9\u06d2 \u0646\u0626\u06d2 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06c1\u0645 \u0641\u0627\u0626\u0644\u06cc\u06ba \u062f\u06a9\u06be\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u06c1 <code>app<\/code> \u0641\u0648\u0644\u0688\u0631 \u0627\u06cc\u06a9 \u0648\u0627\u062d\u062f \u0645\u0627\u0688\u06cc\u0648\u0644 \u06c1\u06d2 \u062c\u0648 \u0627\u06cc\u06a9 \u0642\u0627\u0628\u0644 \u0627\u0646\u0633\u0679\u0627\u0644 \u0627\u06cc\u067e \u0628\u0646 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c <code>build.gradle.kts<\/code> \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 (SDK \u0644\u06cc\u0648\u0644\u060c \u0648\u0631\u0698\u0646 \u0646\u0645\u0628\u0631\u060c \u0627\u0646\u062d\u0635\u0627\u0631) \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p><code>src\/main<\/code>    \u067e\u0631\u0648\u0688\u06a9\u0634\u0646 \u06a9\u0648\u0688 \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u06c1\u06d2\u06d4 <code>AndroidManifest.xml<\/code> \u06cc\u06c1 \u0622\u067e \u06a9\u06d2 \u0627\u06cc\u067e \u06a9\u06d2 \u0627\u062c\u0632\u0627\u0621 \u06a9\u0648 \u0633\u0633\u0679\u0645 \u0645\u06cc\u06ba \u0628\u06cc\u0627\u0646 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <code>res<\/code> \u06cc\u06c1 \u0622\u0626\u06cc\u06a9\u0646\u0632 \u0627\u0648\u0631 \u0633\u0679\u0631\u0646\u06af\u0632 \u062c\u06cc\u0633\u06d2 \u0648\u0633\u0627\u0626\u0644 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0641\u0648\u0644\u0688\u0631 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u06c1 <code>test<\/code> \u0641\u0648\u0644\u0688\u0631 \u0622\u067e \u06a9\u06d2 \u06a9\u0645\u067e\u06cc\u0648\u0679\u0631 \u067e\u0631 \u0686\u0644\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u06cc\u0648\u0646\u0679 \u0679\u06cc\u0633\u0679 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06c1\u06d2\u060c <code>androidTest<\/code> \u0688\u06cc\u0648\u0627\u0626\u0633 \u06cc\u0627 \u0627\u06cc\u0645\u0648\u0644\u06cc\u0679\u0631 \u067e\u0631 \u0686\u0644\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0679\u06cc\u0633\u0679\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2\u06d4<\/p>\n<p>\u062c\u0691 \u0645\u06cc\u06ba <code>gradle\/libs.versions.toml<\/code> \u062a\u0645\u0627\u0645 \u0627\u0646\u062d\u0635\u0627\u0631\u06cc \u0648\u0631\u0698\u0646 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u06cc\u06a9 \u0648\u0631\u0698\u0646 \u06a9\u06cc\u0679\u0644\u0627\u06af\u06d4 <code>settings.gradle.kts<\/code> \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u0645\u06cc\u06ba \u0645\u0627\u0688\u06cc\u0648\u0644\u0632 \u06a9\u06cc \u0641\u06c1\u0631\u0633\u062a\u06d4 \u06a9\u0648\u0679\u0644\u0646 \u0641\u0627\u0626\u0644\u06cc\u06ba \u062f\u0631\u062c \u0630\u06cc\u0644 \u0641\u0648\u0644\u0688\u0631\u0632 \u06a9\u06d2 \u0646\u06cc\u0686\u06d2 \u0645\u0648\u062c\u0648\u062f \u06c1\u06cc\u06ba\u06d4 <code>java<\/code> \u062a\u0627\u0631\u06cc\u062e\u06cc \u0648\u062c\u0648\u06c1\u0627\u062a \u06a9\u06cc \u0628\u0646\u0627 \u067e\u0631\u060c \u06cc\u06c1 \u0645\u0639\u0645\u0648\u0644 \u06c1\u06d2\u06d4<\/p>\n<p>\u0633\u0628\u0632 \u062f\u0628\u0627\u0626\u06cc\u06ba <strong>\u0686\u0644\u0627\u0626\u06cc\u06ba<\/strong> \u0628\u0679\u0646 \u0627\u06cc\u06a9 \u0645\u062e\u062a\u0635\u0631 \u062a\u0639\u0645\u06cc\u0631 \u06a9\u06d2 \u0628\u0639\u062f\u060c \u0627\u06cc\u0645\u0648\u0644\u06cc\u0679\u0631 \u06a9\u0648 &quot;\u06c1\u06cc\u0644\u0648 \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688!&#8221; \u0633\u06a9\u0631\u06cc\u0646 \u067e\u0631 \u06cc\u06c1 \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631\u06d2 \u06af\u0627 \u06a9\u06c1 \u0679\u0648\u0644 \u0686\u06cc\u0646 \u06a9\u0627\u0645 \u06a9\u0631 \u0631\u06c1\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-how-to-configure-dependencies-with-a-version-catalog\">\u0648\u0631\u0698\u0646 \u06a9\u06cc\u0679\u0644\u0627\u06af \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0627\u0646\u062d\u0635\u0627\u0631 \u06a9\u0648 \u06a9\u06cc\u0633\u06d2 \u0645\u0646\u0638\u0645 \u06a9\u0631\u06cc\u06ba\u06d4<\/h2>\n<p>\u062c\u062f\u06cc\u062f \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc \u06a9\u06d2 \u062a\u0645\u0627\u0645 \u0648\u0631\u0698\u0646\u0632 \u06a9\u0648 \u0627\u06cc\u06a9 \u0641\u0627\u0626\u0644 \u0645\u06cc\u06ba \u0631\u06a9\u06be\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 <code>gradle\/libs.versions.toml<\/code>\u0627\u067e\u0646\u06d2 \u0628\u0644\u0688 \u0627\u0633\u06a9\u0631\u067e\u0679 \u0645\u06cc\u06ba \u06a9\u0633\u06cc \u0639\u0631\u0641 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06c1 \u0627\u0633 \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc \u06a9\u0627 \u062d\u0648\u0627\u0644\u06c1 \u062f\u06cc\u06ba\u06d4<\/p>\n<p>\u06a9\u06cc\u0679\u0644\u0627\u06af \u06a9\u06be\u0648\u0644\u06cc\u06ba \u0627\u0648\u0631 \u0645\u0646\u062f\u0631\u062c\u0627\u062a \u06a9\u0648 \u0627\u0633 \u0633\u06d2 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u06cc\u06ba:<\/p>\n<pre><code class=\"language-toml\">[versions]\nagp = \"9.0.0\"\nkotlin = \"2.3.0\"\nksp = \"2.3.4\"\ncomposeBom = \"2026.01.00\"\nactivityCompose = \"1.12.2\"\nlifecycle = \"2.10.0\"\nnavigation3 = \"1.0.0\"\nroom = \"2.8.4\"\nserialization = \"1.9.0\"\njunit = \"4.13.2\"\nandroidxJunit = \"1.3.0\"\n\n[libraries]\nandroidx-activity-compose = { group = \"androidx.activity\", name = \"activity-compose\", version.ref = \"activityCompose\" }\nandroidx-compose-bom = { group = \"androidx.compose\", name = \"compose-bom\", version.ref = \"composeBom\" }\nandroidx-compose-ui = { group = \"androidx.compose.ui\", name = \"ui\" }\nandroidx-compose-ui-tooling = { group = \"androidx.compose.ui\", name = \"ui-tooling\" }\nandroidx-compose-ui-tooling-preview = { group = \"androidx.compose.ui\", name = \"ui-tooling-preview\" }\nandroidx-compose-ui-test-junit4 = { group = \"androidx.compose.ui\", name = \"ui-test-junit4\" }\nandroidx-compose-ui-test-manifest = { group = \"androidx.compose.ui\", name = \"ui-test-manifest\" }\nandroidx-compose-material3 = { group = \"androidx.compose.material3\", name = \"material3\" }\nandroidx-compose-material-icons-core = { group = \"androidx.compose.material\", name = \"material-icons-core\" }\nandroidx-lifecycle-viewmodel-compose = { group = \"androidx.lifecycle\", name = \"lifecycle-viewmodel-compose\", version.ref = \"lifecycle\" }\nandroidx-lifecycle-runtime-compose = { group = \"androidx.lifecycle\", name = \"lifecycle-runtime-compose\", version.ref = \"lifecycle\" }\nandroidx-navigation3-runtime = { group = \"androidx.navigation3\", name = \"navigation3-runtime\", version.ref = \"navigation3\" }\nandroidx-navigation3-ui = { group = \"androidx.navigation3\", name = \"navigation3-ui\", version.ref = \"navigation3\" }\nandroidx-room-runtime = { group = \"androidx.room\", name = \"room-runtime\", version.ref = \"room\" }\nandroidx-room-ktx = { group = \"androidx.room\", name = \"room-ktx\", version.ref = \"room\" }\nandroidx-room-compiler = { group = \"androidx.room\", name = \"room-compiler\", version.ref = \"room\" }\nkotlinx-serialization-core = { group = \"org.jetbrains.kotlinx\", name = \"kotlinx-serialization-core\", version.ref = \"serialization\" }\njunit = { group = \"junit\", name = \"junit\", version.ref = \"junit\" }\nandroidx-junit = { group = \"androidx.test.ext\", name = \"junit\", version.ref = \"androidxJunit\" }\n\n[plugins]\nandroid-application = { id = \"com.android.application\", version.ref = \"agp\" }\nkotlin-compose = { id = \"org.jetbrains.kotlin.plugin.compose\", version.ref = \"kotlin\" }\nkotlin-serialization = { id = \"org.jetbrains.kotlin.plugin.serialization\", version.ref = \"kotlin\" }\nksp = { id = \"com.google.devtools.ksp\", version.ref = \"ksp\" }\nroom = { id = \"androidx.room\", version.ref = \"room\" }\n<\/code><\/pre>\n<p>\u06a9\u06cc\u0679\u0644\u0627\u06af \u06a9\u06d2 \u062a\u06cc\u0646 \u062d\u0635\u06d2 \u06c1\u06cc\u06ba: <code>[versions]<\/code> \u06c1\u0631 \u0648\u0631\u0698\u0646 \u0646\u0645\u0628\u0631 \u06a9\u0648 \u0627\u06cc\u06a9 \u0628\u0627\u0631 \u0646\u0627\u0645 \u062f\u06cc\u06ba\u06d4 <code>[libraries]<\/code> Maven \u06a9\u0648\u0622\u0631\u0688\u06cc\u0646\u06cc\u0679\u0633 \u0627\u0648\u0631 \u0645\u062e\u062a\u0635\u0631 \u0639\u0631\u0641\u06cc \u0646\u0627\u0645\u0648\u06ba \u06a9\u0627 \u0646\u0642\u0634\u06c1 \u0628\u0646\u0627\u0626\u06cc\u06ba <code>[plugins]<\/code> \u06af\u0631\u06cc\u0688\u0644 \u067e\u0644\u06af \u0627\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0628\u06be\u06cc \u06cc\u06c1\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>Gradle \u06c1\u0631 \u0639\u0631\u0641 \u0645\u06cc\u06ba \u0688\u06cc\u0634 \u06a9\u0648 \u0646\u0642\u0637\u0648\u06ba \u0633\u06d2 \u0628\u062f\u0644 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 <code>androidx-room-runtime<\/code> \u0628\u0646 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 <code>libs.androidx.room.runtime<\/code> \u062a\u0639\u0645\u06cc\u0631 \u0627\u0633\u06a9\u0631\u067e\u0679 \u0645\u06cc\u06ba\u06d4 \u06a9\u0645\u067e\u0648\u0632 \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc\u0648\u06ba \u06a9\u0627 \u0627\u067e\u0646\u0627 \u06a9\u0648\u0626\u06cc \u0648\u0631\u0698\u0646 \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0648\u06c1 \u06a9\u0645\u067e\u0648\u0632 \u0628\u0644 \u0622\u0641 \u0645\u06cc\u0679\u0631\u06cc\u0644\u0632 (BOM) \u0633\u06d2 \u0646\u06a9\u0627\u0644\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06cc\u06ba\u060c \u062c\u0648 \u06a9\u0645\u067e\u0648\u0632 \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc\u0648\u06ba \u06a9\u06d2 \u0633\u06cc\u0679 \u06a9\u0648 \u0627\u06cc\u0646\u06a9\u0631 \u06a9\u0631\u062a\u06cc \u06c1\u06cc\u06ba \u062c\u0646 \u06a9\u0627 \u0627\u06cc\u06a9 \u0633\u0627\u062a\u06be \u062a\u062c\u0631\u0628\u06c1 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u0648\u0679\u0644\u0646 \u06a9\u0645\u067e\u0648\u0632 \u06a9\u0645\u067e\u0627\u0626\u0644\u0631 \u067e\u0644\u06af \u0627\u0646 \u06a9\u0648\u0679\u0644\u0646 2.0 \u06a9\u06d2 \u0628\u0639\u062f \u0633\u06d2 \u06c1\u06cc \u06a9\u0648\u0679\u0644\u0646 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u06cc\u06a9 \u0648\u0631\u0698\u0646 \u0634\u06cc\u0626\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>KSP \u0627\u06cc\u06a9 \u062a\u0634\u0631\u06cc\u062d\u06cc \u067e\u0631\u0648\u0633\u06cc\u0633\u0631 \u06c1\u06d2 \u062c\u0633\u06d2 \u0631\u0648\u0645 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06a9\u0648\u0688 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0633 \u0645\u0636\u0645\u0648\u0646 \u06a9\u06d2 \u0644\u06a9\u06be\u06d2 \u062c\u0627\u0646\u06d2 \u06a9\u06d2 \u0648\u0642\u062a \u06cc\u06c1\u0627\u06ba \u06a9\u06d2 \u0648\u0631\u0698\u0646 \u0646\u0645\u0628\u0631 \u0633\u0628 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0645\u0648\u062c\u0648\u062f\u06c1 \u06c1\u06cc\u06ba\u06d4 \u0627\u06cc\u0646\u0688\u0631\u0648\u0626\u06cc\u0688 \u0627\u0633\u0679\u0648\u0688\u06cc\u0648 \u06a9\u06cc\u0679\u0644\u0627\u06af \u0645\u06cc\u06ba \u0641\u0631\u0633\u0648\u062f\u06c1 \u0622\u0626\u0679\u0645\u0632 \u06a9\u0648 \u0646\u0645\u0627\u06cc\u0627\u06ba \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0644\u06c1\u0630\u0627 \u0622\u067e \u06a9\u0648 \u062a\u0627\u0632\u06c1 \u062a\u0631\u06cc\u0646 \u0645\u0633\u062a\u062d\u06a9\u0645 \u0648\u0631\u0698\u0646 \u067e\u0631 \u062c\u0627\u0646\u06d2 \u06a9\u06cc \u067e\u06cc\u0634\u06a9\u0634 \u06a9\u0648 \u0642\u0628\u0648\u0644 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<p>\u0627\u0628 \u0627\u067e\u0646\u06cc \u062c\u0691 \u06a9\u0648 \u0627\u067e \u0688\u06cc\u0679 \u06a9\u0631\u06cc\u06ba\u06d4 <code>build.gradle.kts<\/code> \u0644\u06c1\u0630\u0627 \u0622\u067e \u0627\u067e\u0646\u06d2 \u0627\u06cc\u067e \u0645\u0627\u0688\u06cc\u0648\u0644 \u0645\u06cc\u06ba \u067e\u0644\u06af \u0627\u0646 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-kotlin\">plugins {\n    alias(libs.plugins.android.application) apply false\n    alias(libs.plugins.kotlin.compose) apply false\n    alias(libs.plugins.kotlin.serialization) apply false\n    alias(libs.plugins.ksp) apply false\n    alias(libs.plugins.room) apply false\n}\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u0641\u0627\u0626\u0644 \u06c1\u0631 \u067e\u0644\u06af \u0627\u0646 \u06a9\u0648 \u062f\u0631\u062c \u0630\u06cc\u0644 \u0642\u0631\u0627\u0631 \u062f\u06cc\u062a\u06cc \u06c1\u06d2: <code>apply false<\/code>\u067e\u0644\u06af \u0627\u0646 \u06a9\u0648 \u0631\u0648\u0679 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u067e\u0631 \u0644\u0627\u06af\u0648 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0628\u0644\u0688 \u06a9\u0644\u0627\u0633 \u067e\u0627\u062a\u06be \u067e\u0631 \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2\u06d4 \u06c1\u0631 \u0645\u0627\u0688\u06cc\u0648\u0644 \u067e\u06be\u0631 \u0627\u0646 \u067e\u0644\u06af \u0627\u0646\u0632 \u06a9\u0648 \u0645\u0646\u062a\u062e\u0628 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0646 \u06a9\u06cc \u0627\u0633\u06d2 \u062f\u0631\u062d\u0642\u06cc\u0642\u062a \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0622\u067e \u062f\u06cc\u06a9\u06be \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u06a9\u0686\u06be \u0628\u06be\u06cc \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 <code>org.jetbrains.kotlin.android<\/code> \u067e\u0644\u06af \u0627\u0646 \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u06af\u0631\u06cc\u0688\u0644 \u067e\u0644\u06af \u0627\u0646 9 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0634\u0631\u0648\u0639 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2\u060c \u06a9\u0648\u0679\u0644\u0646 \u0633\u067e\u0648\u0631\u0679 \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u067e\u0644\u06af \u0627\u0646 \u0645\u06cc\u06ba \u0634\u0627\u0645\u0644 \u06c1\u06d2\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u0627\u0628 \u0622\u067e \u06a9\u0648 \u0639\u0644\u06cc\u062d\u062f\u06c1 \u06a9\u0648\u0679\u0644\u0646 \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u067e\u0644\u06af \u0627\u0646 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u06cc\u06c1\u0627\u06ba \u062a\u06a9 \u06a9\u06c1 \u0627\u06af\u0631 \u0622\u067e AGP 8 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u067e\u0631\u0627\u0646\u06d2 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u067e\u0631 \u06a9\u0627\u0645 \u06a9\u0631 \u0631\u06c1\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u0622\u067e \u062f\u06cc\u06a9\u06be\u06cc\u06ba \u06af\u06d2 \u06a9\u06c1 \u0648\u06c1 \u067e\u0644\u06af \u0627\u0646 \u0644\u0627\u06af\u0648 \u06c1\u0648\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u06cc\u06c1 \u0679\u06be\u06cc\u06a9 \u06c1\u06d2\u06d4<\/p>\n<p>\u067e\u06be\u0631 <code>app\/build.gradle.kts<\/code>:<\/p>\n<pre><code class=\"language-kotlin\">plugins {\n    alias(libs.plugins.android.application)\n    alias(libs.plugins.kotlin.compose)\n    alias(libs.plugins.kotlin.serialization)\n    alias(libs.plugins.ksp)\n    alias(libs.plugins.room)\n}\n\nandroid {\n    namespace = \"com.yourname.quicknotes\"\n    compileSdk = 36\n\n    defaultConfig {\n        applicationId = \"com.yourname.quicknotes\"\n        minSdk = 24\n        targetSdk = 36\n        versionCode = 1\n        versionName = \"1.0.0\"\n        testInstrumentationRunner = \"androidx.test.runner.AndroidJUnitRunner\"\n    }\n\n    buildTypes {\n        release {\n            isMinifyEnabled = true\n            isShrinkResources = true\n            proguardFiles(\n                getDefaultProguardFile(\"proguard-android-optimize.txt\"),\n                \"proguard-rules.pro\"\n            )\n        }\n    }\n\n    buildFeatures {\n        compose = true\n    }\n}\n\nroom {\n    schemaDirectory(\"$projectDir\/schemas\")\n}\n\ndependencies {\n    val composeBom = platform(libs.androidx.compose.bom)\n    implementation(composeBom)\n    androidTestImplementation(composeBom)\n\n    implementation(libs.androidx.activity.compose)\n    implementation(libs.androidx.compose.ui)\n    implementation(libs.androidx.compose.ui.tooling.preview)\n    implementation(libs.androidx.compose.material3)\n    implementation(libs.androidx.compose.material.icons.core)\n    implementation(libs.androidx.lifecycle.viewmodel.compose)\n    implementation(libs.androidx.lifecycle.runtime.compose)\n    implementation(libs.androidx.navigation3.runtime)\n    implementation(libs.androidx.navigation3.ui)\n    implementation(libs.androidx.room.runtime)\n    implementation(libs.androidx.room.ktx)\n    implementation(libs.kotlinx.serialization.core)\n    ksp(libs.androidx.room.compiler)\n\n    testImplementation(libs.junit)\n    androidTestImplementation(libs.androidx.junit)\n    androidTestImplementation(libs.androidx.compose.ui.test.junit4)\n    debugImplementation(libs.androidx.compose.ui.tooling)\n    debugImplementation(libs.androidx.compose.ui.test.manifest)\n}\n<\/code><\/pre>\n<p>\u0627\u0633\u06d2 \u063a\u0648\u0631 \u0633\u06d2 \u067e\u0691\u06be\u06cc\u06ba \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u06cc\u06c1 \u0622\u067e \u06a9\u06d2 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0633\u0628 \u0633\u06d2 \u0627\u06c1\u0645 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u0641\u0627\u0626\u0644 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u06c1 <code>namespace<\/code> \u062a\u06cc\u0627\u0631 \u06a9\u0631\u062f\u06c1 \u067e\u06cc\u06a9\u06cc\u062c \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062f\u06c1 \u067e\u06cc\u06a9\u06cc\u062c\u06d4 <code>R<\/code> \u06a9\u0644\u0627\u0633 \u06a9\u06d2 \u062f\u0648\u0631\u0627\u0646 <code>applicationId<\/code> \u0622\u067e \u06a9\u06d2 \u0622\u0644\u06d2 \u0627\u0648\u0631 Google Play \u067e\u0631 \u0627\u06cc\u067e \u06a9\u06cc ID\u06d4 \u0648\u06c1 \u0639\u0627\u0645 \u0637\u0648\u0631 \u067e\u0631 \u0645\u0644\u062a\u06d2 \u06c1\u06cc\u06ba.<\/p>\n<p><code>compileSdk<\/code>    API \u06a9\u06cc \u0633\u0637\u062d \u062c\u0633 \u067e\u0631 \u06a9\u0648\u0688 \u0645\u0631\u062a\u0628 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 <code>targetSdk<\/code> \u067e\u0644\u06cc\u0679 \u0641\u0627\u0631\u0645 \u06a9\u06d2 \u0631\u0648\u06cc\u06d2 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba Android \u06a9\u0648 \u0645\u0637\u0644\u0639 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0633 \u067e\u0631 \u0622\u067e \u06a9\u06cc \u0627\u06cc\u067e \u06a9\u0627 \u062a\u062c\u0631\u0628\u06c1 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4 \u062c\u0628 \u0627\u0679\u06be\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 <code>targetSdk<\/code>\u06cc\u06c1 \u0646\u0626\u06d2 \u0637\u0631\u0632 \u0639\u0645\u0644 \u06a9\u0648 \u0686\u0627\u0644\u0648 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u06cc\u0633\u06d2 \u0632\u0628\u0631\u062f\u0633\u062a\u06cc \u06a9\u0646\u0627\u0631\u06d2 \u0633\u06d2 \u06a9\u0646\u0627\u0631\u06d2 \u0688\u0631\u0627\u0626\u0646\u06af\u06d4<\/p>\n<p><code>versionCode<\/code>    \u06cc\u06c1 \u0627\u06cc\u06a9 \u0639\u062f\u062f \u0639\u062f\u062f \u06c1\u06d2 \u062c\u0633\u06d2 \u06c1\u0631 \u0628\u0627\u0631 \u062c\u0628 \u0622\u067e Play \u067e\u0631 \u0627\u067e \u0644\u0648\u0688 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u062a\u0648 \u0627\u0633 \u0645\u06cc\u06ba \u0627\u0636\u0627\u0641\u06c1 \u06c1\u0648\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 <code>versionName<\/code> \u0627\u06cc\u06a9 \u0627\u0646\u0633\u0627\u0646\u06cc \u067e\u0691\u06be\u0646\u06d2 \u06a9\u06d2 \u0642\u0627\u0628\u0644 \u0633\u0679\u0631\u0646\u06af \u062c\u0648 \u0635\u0627\u0631\u0641 \u06a9\u0648 \u0646\u0638\u0631 \u0622\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u06c1 <code>release<\/code> \u0628\u0644\u0627\u06a9 R8 \u06a9\u0648 \u0686\u0627\u0644\u0648 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u062c\u0648 \u0622\u067e \u06a9\u06d2 \u06a9\u0648\u0688 \u06a9\u0648 \u06a9\u0645 \u06a9\u0631\u062a\u0627\u060c \u0645\u0628\u06c1\u0645 \u0627\u0648\u0631 \u0628\u06c1\u062a\u0631 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u06d4 <code>isShrinkResources<\/code> \u063a\u06cc\u0631 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u0634\u062f\u06c1 \u0648\u0633\u0627\u0626\u0644 \u06a9\u0648 \u06c1\u0679\u0627 \u062f\u06cc\u06ba\u06d4<\/p>\n<p>\u06a9\u06c1 <code>room<\/code> \u0628\u0644\u0627\u06a9 \u0631\u0648\u0645 \u067e\u0644\u06af \u0627\u0646 \u06a9\u0648 \u0628\u062a\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u0627\u0633\u06a9\u06cc\u0645\u0627 \u06a9\u0627 JSON \u0633\u0646\u06cc\u067e \u0634\u0627\u0679 \u06a9\u06c1\u0627\u06ba \u0628\u0646\u0627\u0646\u0627 \u06c1\u06d2 \u062c\u0633 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0628\u0639\u062f \u0645\u06cc\u06ba \u0645\u0646\u062a\u0642\u0644\u06cc \u0644\u06a9\u06be\u062a\u06d2 \u0648\u0642\u062a \u06c1\u0648\u06af\u06cc\u06d4<\/p>\n<p>\u0627\u0646\u062d\u0635\u0627\u0631 \u0645\u06cc\u06ba <code>platform(libs.androidx.compose.bom)<\/code> \u0627\u0633 \u0628\u0627\u062a \u06a9\u0648 \u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 BOM \u06a9\u0627 \u0627\u0637\u0644\u0627\u0642 \u06a9\u0631\u06cc\u06ba \u06a9\u06c1 \u06a9\u0645\u067e\u0648\u0632 \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc\u0627\u06ba \u0633\u06cc\u062f\u06be \u0645\u06cc\u06ba \u06c1\u06cc\u06ba \u0627\u0648\u0631 <code>ksp(...)<\/code> \u062a\u0639\u0645\u06cc\u0631\u0627\u062a\u06cc \u0648\u0642\u062a \u067e\u0631 \u0631\u0648\u0645 \u06a9\u0645\u067e\u0627\u0626\u0644\u0631 \u0686\u0644\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u06c1 <code>debugImplementation<\/code> \u0627\u0633 \u0644\u0627\u0626\u0646 \u0645\u06cc\u06ba \u06a9\u0645\u067e\u0648\u0632 \u067e\u06cc\u0634 \u0646\u0638\u0627\u0631\u06c1 \u0679\u0648\u0644\u0632 \u0627\u0648\u0631 \u0679\u06cc\u0633\u0679 \u0645\u06cc\u0646\u06cc \u0641\u06cc\u0633\u0679\u0633 \u0635\u0631\u0641 \u0688\u06cc\u0628\u06af \u0628\u0644\u0688\u0632 \u0645\u06cc\u06ba \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u0648\u06c1 \u0635\u0627\u0631\u0641\u06cc\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062f\u0633\u062a\u06cc\u0627\u0628 \u0646\u06c1\u06cc\u06ba \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06a9\u0644\u06a9 \u06a9\u0631\u06cc\u06ba <strong>\u0627\u0628\u06be\u06cc \u0645\u0637\u0627\u0628\u0642\u062a \u067e\u0630\u06cc\u0631\u06cc \u06a9\u0631\u06cc\u06ba\u06d4<\/strong> \u0627\u06af\u0631 \u0622\u067e \u0627\u06cc\u0688\u06cc\u0679\u0631 \u06a9\u06d2 \u0679\u0627\u067e \u0628\u06cc\u0646\u0631 \u0645\u06cc\u06ba \u06a9\u0627\u0645\u06cc\u0627\u0628 \u0645\u0637\u0627\u0628\u0642\u062a \u067e\u0630\u06cc\u0631\u06cc \u062f\u06cc\u06a9\u06be\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u0622\u067e \u06a9\u0648\u0688 \u0644\u06a9\u06be\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062a\u06cc\u0627\u0631 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-how-jetpack-compose-thinks-about-ui\">\u062c\u06cc\u0679 \u067e\u06cc\u06a9 \u06a9\u0645\u067e\u0648\u0632 UI \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u06a9\u06cc\u0633\u06d2 \u0633\u0648\u0686\u062a\u0627 \u06c1\u06d2\u06d4<\/h2>\n<p>\u0627\u067e\u0646\u06cc \u0627\u0633\u06a9\u0631\u06cc\u0646\u06cc\u06ba \u0644\u06a9\u06be\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2\u060c \u0627\u0633 \u0645\u0627\u0688\u0644 \u06a9\u0648 \u0633\u0645\u062c\u06be\u0646\u0627 \u0645\u062f\u062f\u06af\u0627\u0631 \u06c1\u06d2 \u062c\u0633 \u067e\u0631 \u06a9\u0645\u067e\u0648\u0632 \u0628\u0646\u0627\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4 \u0627\u0633 \u06a9\u06cc \u0648\u062c\u06c1 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u06cc\u06c1 \u067e\u0686\u06be\u0644\u06d2 \u0648\u06cc\u0648 \u0633\u0633\u0679\u0645 \u0633\u06d2 \u0645\u062e\u062a\u0644\u0641 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u0645\u067e\u0648\u0632 \u0645\u06cc\u06ba\u060c UI \u0631\u06cc\u0627\u0633\u062a \u06a9\u0627 \u0627\u06cc\u06a9 \u0641\u0646\u06a9\u0634\u0646 \u06c1\u06d2\u06d4 \u062a\u0634\u0631\u06cc\u062d \u0634\u062f\u06c1 \u0627\u0641\u0639\u0627\u0644 \u0644\u06a9\u06be\u06cc\u06ba\u06d4 <code>@Composable<\/code> \u0628\u06cc\u0627\u0646 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0645\u0648\u062c\u0648\u062f\u06c1 \u0688\u06cc\u0679\u0627 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633\u06a9\u0631\u06cc\u0646 \u06a9\u06cc\u0633\u06cc \u0646\u0638\u0631 \u0622\u0626\u06d2 \u06af\u06cc\u06d4 \u0622\u067e \u06a9\u0628\u06be\u06cc \u0645\u0646\u0638\u0631 \u062a\u06a9 \u0646\u06c1\u06cc\u06ba \u067e\u06c1\u0646\u0686\u062a\u06d2 \u0627\u0648\u0631 \u06a9\u0628\u06be\u06cc \u06a9\u0627\u0644 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u06d2 <code>setText<\/code> \u0627\u0633 \u067e\u0631 \u0627\u0633 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2\u060c \u062c\u0628 \u0688\u06cc\u0679\u0627 \u062a\u0628\u062f\u06cc\u0644 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u06a9\u0645\u067e\u0648\u0632 \u0646\u0626\u06d2 \u0688\u06cc\u0679\u0627 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0641\u0646\u06a9\u0634\u0646 \u06a9\u0648 \u062f\u0648\u0628\u0627\u0631\u06c1 \u06a9\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0635\u0631\u0641 \u0627\u0633\u06a9\u0631\u06cc\u0646 \u06a9\u06d2 \u0627\u0646 \u062d\u0635\u0648\u06ba \u06a9\u0648 \u0627\u067e \u0688\u06cc\u0679 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u062d\u0642\u06cc\u0642\u062a \u0645\u06cc\u06ba \u062a\u0628\u062f\u06cc\u0644 \u06c1\u0648\u0626\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0627\u0633 \u0631\u06cc\u0688\u0648 \u06a9\u0648 \u0631\u06cc \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u06a9\u06c1\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1\u0627\u06ba \u0633\u0628 \u0633\u06d2 \u0686\u06be\u0648\u0679\u06cc \u0645\u0641\u06cc\u062f \u0645\u062b\u0627\u0644 \u06c1\u06d2:<\/p>\n<pre><code class=\"language-kotlin\">@Composable\nfun Counter() {\n    var count by remember { mutableIntStateOf(0) }\n\n    Button(onClick = { count++ }) {\n        Text(\"Clicked $count times\")\n    }\n}\n<\/code><\/pre>\n<p>\u06a9\u06c1 <code>Counter<\/code> \u0641\u0646\u06a9\u0634\u0646 \u0645\u0646\u062f\u0631\u062c\u06c1 \u0630\u06cc\u0644 \u0631\u06cc\u0627\u0633\u062a\u0648\u06ba \u06a9\u0627 \u0627\u0639\u0644\u0627\u0646 \u06a9\u0631\u062a\u0627 \u06c1\u06d2: <code>mutableIntStateOf(0)<\/code>. \u0627\u0633 \u062d\u0627\u0644\u062a \u06a9\u06d2 \u0644\u06cc\u06d2 \u062a\u0645\u0627\u0645 \u067e\u0691\u06be\u06cc \u06c1\u0648\u0626\u06cc \u06af\u06be\u0691\u06cc\u0627\u06ba \u062a\u062d\u0631\u06cc\u0631 \u06a9\u0631\u06cc\u06ba\u06d4 \u062c\u0628 \u0628\u0679\u0646 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 <code>onClick<\/code> \u0644\u06cc\u0645\u0628\u0688\u0627 \u0627\u0636\u0627\u0641\u06c1 <code>count<\/code>\u06a9\u0645\u067e\u0648\u0632 \u06cc\u06c1 \u062c\u0627\u0646\u062a\u0627 \u06c1\u06d2\u06d4 <code>Counter<\/code> \u067e\u0686\u06be\u0644\u06cc \u0642\u06cc\u0645\u062a \u06a9\u0648 \u067e\u0691\u06be \u06a9\u0631 \u0631\u06cc\u0632\u0631\u0648\u06d4 <code>Counter<\/code> \u062f\u0648\u0628\u0627\u0631\u06c1 \u062f\u0648\u0691\u0646\u0627\u060c <code>Text<\/code> \u06cc\u06c1 \u0646\u06cc\u0627 \u0646\u0645\u0628\u0631 \u062f\u06a9\u06be\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u06c1 <code>remember<\/code> \u06a9\u0627\u0644 \u0631\u06cc \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646\u0632 \u0645\u06cc\u06ba \u0642\u062f\u0631 \u06a9\u0648 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06c1\u06d2\u06d4 \u0627\u0633 \u06a9\u06d2 \u0628\u063a\u06cc\u0631\u060c <code>count<\/code> \u06c1\u0631 \u0628\u0627\u0631 \u062c\u0628 \u0641\u0646\u06a9\u0634\u0646 \u06a9\u0648 \u0627\u0646\u062c\u0627\u0645 \u062f\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u062a\u0648 \u0627\u0633\u06d2 0 \u067e\u0631 \u062f\u0648\u0628\u0627\u0631\u06c1 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u06c1 <code>by<\/code> \u06a9\u0644\u06cc\u062f\u06cc \u0627\u0644\u0641\u0627\u0638 \u06a9\u0648\u0679\u0644\u0646 \u067e\u0631\u0627\u067e\u0631\u0679\u06cc \u0688\u06cc\u0644\u06cc\u06af\u06cc\u0679\u0633 \u06c1\u06cc\u06ba \u062c\u0646\u06c1\u06cc\u06ba \u067e\u0691\u06be\u0627 \u0627\u0648\u0631 \u0644\u06a9\u06be\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 <code>count<\/code> \u0627\u0633\u06d2 \u0628\u0627\u0642\u0627\u0639\u062f\u06c1 \u0645\u062a\u063a\u06cc\u0631 \u06a9\u06cc \u0637\u0631\u062d \u0644\u06a9\u06be\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 <code>count.value<\/code>.<\/p>\n<p><code>remember<\/code>    \u0631\u06cc \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646\u0632 \u0645\u062d\u0641\u0648\u0638 \u06c1\u06cc\u06ba\u060c \u0644\u06cc\u06a9\u0646 \u0641\u0648\u0646 \u06a9\u0648 \u06af\u06be\u0645\u0627\u0646\u06d2 \u062c\u06cc\u0633\u06cc \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u062a\u0628\u062f\u06cc\u0644\u06cc\u0627\u06ba \u0645\u062d\u0641\u0648\u0638 \u0646\u06c1\u06cc\u06ba \u06c1\u06cc\u06ba\u06d4 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0627\u0633 \u0635\u0648\u0631\u062a \u0645\u06cc\u06ba \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u0633\u0631\u06af\u0631\u0645\u06cc \u06a9\u0648 \u062a\u0628\u0627\u06c1 \u0627\u0648\u0631 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0633\u0627\u062f\u06c1 \u0627\u0642\u062f\u0627\u0631 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062c\u0648 \u06af\u0631\u062f\u0634 \u06a9\u06d2 \u0628\u0639\u062f \u0628\u0627\u0642\u06cc \u0631\u06c1\u0646\u06cc \u0686\u0627\u06c1\u06cc\u06d2\u060c \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba: <code>rememberSaveable<\/code> \u0627\u0633 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2\u06d4 \u0645\u0632\u06cc\u062f \u0627\u06c1\u0645 \u0686\u06cc\u0632\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u062c\u06cc\u0633\u06d2 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u0633\u06d2 \u0628\u06be\u0631\u0627 \u06c1\u0648\u0627 \u0688\u06cc\u0679\u0627\u060c \u0622\u067e \u0648\u06cc\u0648 \u0645\u0627\u0688\u0644 \u0645\u06cc\u06ba \u062d\u0627\u0644\u062a \u06a9\u0648 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u0633\u0631\u06af\u0631\u0645\u06cc \u0633\u06d2 \u06a9\u06c1\u06cc\u06ba \u0632\u06cc\u0627\u062f\u06c1 \u06c1\u06d2\u06d4 \u0627\u0633 \u0627\u06cc\u067e \u0645\u06cc\u06ba \u0622\u067e \u062f\u0648\u0646\u0648\u06ba \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba \u06af\u06d2\u06d4<\/p>\n<p>\u0627\u06cc\u06a9 \u0627\u0648\u0631 \u06a9\u0644\u06cc\u062f\u06cc \u0646\u0638\u0631\u06cc\u06c1 \u0631\u06cc\u0627\u0633\u062a \u06a9\u0648 \u0644\u06c1\u0631\u0627\u0646\u0627 \u06c1\u06d2\u06d4 \u06a9\u0645\u067e\u0648\u0632 \u0627\u06cc\u0628\u0644\u0632 \u062c\u0648 \u0627\u067e\u0646\u06cc \u0631\u06cc\u0627\u0633\u062a \u06a9\u06d2 \u0645\u0627\u0644\u06a9 \u06c1\u06cc\u06ba \u062f\u0648\u0628\u0627\u0631\u06c1 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u0646\u0627 \u0645\u0634\u06a9\u0644 \u0627\u0648\u0631 \u062c\u0627\u0646\u0686\u0646\u0627 \u0645\u0634\u06a9\u0644 \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u0628\u06c1\u062a\u0631 \u0646\u0645\u0648\u0646\u06c1 \u0631\u06cc\u0627\u0633\u062a \u06a9\u0648 \u067e\u06cc\u0631\u0627\u0645\u06cc\u0679\u0631 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0627\u0648\u0631 \u0627\u06cc\u0648\u0646\u0679 \u06a9\u0648 \u0644\u06cc\u0645\u0628\u0688\u0627 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0645\u0646\u062a\u0642\u0644 \u06a9\u0631\u0646\u0627 \u06c1\u06d2\u06d4 \u0644\u06c1\u0630\u0627\u060c \u06a9\u0645\u067e\u0648\u0632 \u0627\u06cc\u0628\u0644 \u0635\u0631\u0641 \u0648\u06c1\u06cc \u062f\u06a9\u06be\u0627\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0631\u067e\u0648\u0631\u0679 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0635\u0627\u0631\u0641 \u0646\u06d2 \u06a9\u06cc\u0627 \u06a9\u06cc\u0627\u06d4 \u0628\u06be\u06cc\u062c\u0646\u06d2 \u0648\u0627\u0644\u0627 \u0637\u06d2 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0645\u0644\u06a9 \u06a9\u06c1\u0627\u06ba \u0631\u06c1\u062a\u0627 \u06c1\u06d2\u06d4 \u0622\u067e \u0627\u0633 \u067e\u06cc\u0679\u0631\u0646 \u06a9\u0648 \u0641\u06c1\u0631\u0633\u062a \u0627\u0633\u06a9\u0631\u06cc\u0646 \u0645\u06cc\u06ba \u062f\u06cc\u06a9\u06be \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u0679\u06cc\u0633\u0679\u0646\u06af \u06a9\u0648 \u0622\u0633\u0627\u0646 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-how-to-structure-the-app\">\u0627\u067e\u0646\u06cc \u0627\u06cc\u067e \u06a9\u0648 \u06a9\u0646\u0641\u06cc\u06af\u0631 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0637\u0631\u06cc\u0642\u06c1<\/h2>\n<p>\u0630\u06cc\u0644 \u0645\u06cc\u06ba \u062f\u0631\u062c \u0630\u06cc\u0644 \u067e\u06cc\u06a9\u06cc\u062c\u0632 \u0628\u0646\u0627\u0626\u06cc\u06ba: <code>com.yourname.quicknotes<\/code> \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u067e\u06cc\u0646\u0644 \u0645\u06cc\u06ba \u067e\u06cc\u06a9\u06cc\u062c \u067e\u0631 \u062f\u0627\u0626\u06cc\u06ba \u06a9\u0644\u06a9 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 <strong>\u0646\u06cc\u0627 > \u067e\u06cc\u06a9\u06cc\u062c<\/strong>:<\/p>\n<pre><code class=\"language-plaintext\">com.yourname.quicknotes\n\u251c\u2500\u2500 data\/\n\u2502   \u251c\u2500\u2500 Note.kt\n\u2502   \u251c\u2500\u2500 NoteDao.kt\n\u2502   \u251c\u2500\u2500 NotesDatabase.kt\n\u2502   \u2514\u2500\u2500 NoteRepository.kt\n\u251c\u2500\u2500 ui\/\n\u2502   \u251c\u2500\u2500 NotesViewModel.kt\n\u2502   \u251c\u2500\u2500 NoteListScreen.kt\n\u2502   \u251c\u2500\u2500 NoteEditorScreen.kt\n\u2502   \u2514\u2500\u2500 theme\/\n\u251c\u2500\u2500 navigation\/\n\u2502   \u2514\u2500\u2500 NavKeys.kt\n\u251c\u2500\u2500 MainActivity.kt\n\u2514\u2500\u2500 NotesApp.kt\n<\/code><\/pre>\n<p>\u062a\u0631\u062a\u06cc\u0628 \u06a9\u06d2 \u0644\u062d\u0627\u0638 \u0633\u06d2 \u0641\u0627\u0626\u0644\u0648\u06ba \u06a9\u0648 \u06af\u0631\u0648\u067e \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u06c1 <code>data<\/code> \u067e\u06cc\u06a9\u06cc\u062c \u0645\u06cc\u06ba \u0627\u0633\u0679\u0648\u0631\u06cc\u062c \u0633\u06d2 \u0645\u062a\u0639\u0644\u0642 \u06c1\u0631 \u0686\u06cc\u0632 \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u06c1\u06d2\u06d4 <code>Note<\/code> \u0688\u06cc\u0679\u0627 \u0627\u06cc\u06a9\u0633\u06cc\u0633 \u0622\u0628\u062c\u06cc\u06a9\u0679 (DAO) \u062c\u0648 \u0622\u0626\u0679\u0645\u0632\u060c \u0633\u0648\u0627\u0644\u0627\u062a\u060c \u0631\u0648\u0645 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06a9\u0644\u0627\u0633\u0632\u060c \u0627\u0648\u0631 \u0627\u0633\u0679\u0648\u0631\u06cc\u062c \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0633\u06d2 \u0627\u06cc\u067e \u06a9\u0627 \u0628\u0627\u0642\u06cc \u062d\u0635\u06c1 \u06a9\u0645\u0631\u06d2 \u0633\u06d2 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u0628\u0627\u062a \u0686\u06cc\u062a \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u06c1 <code>ui<\/code> \u067e\u06cc\u06a9\u062c \u0645\u06cc\u06ba \u0627\u06cc\u06a9 ViewModel\u060c \u062f\u0648 \u0627\u0633\u06a9\u0631\u06cc\u0646\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0627\u06cc\u06a9 \u062a\u06be\u06cc\u0645 \u0641\u0627\u0626\u0644 \u06c1\u06d2 \u062c\u0648 \u0679\u06cc\u0645\u067e\u0644\u06cc\u0679 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u062a\u06cc\u0627\u0631 \u06a9\u06cc \u06af\u0626\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u06c1 <code>navigation<\/code> \u067e\u06cc\u06a9\u06cc\u062c \u0645\u06cc\u06ba \u0686\u0627\u0628\u06cc\u0627\u06ba \u06c1\u06cc\u06ba \u062c\u0648 \u06c1\u0631 \u0627\u0633\u06a9\u0631\u06cc\u0646 \u06a9\u06cc \u0634\u0646\u0627\u062e\u062a \u06a9\u0631\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 <code>MainActivity<\/code> \u0627\u06cc\u06a9 \u0648\u0627\u062d\u062f \u0633\u0631\u06af\u0631\u0645\u06cc \u062c\u0648 \u062a\u0645\u0627\u0645 \u06a9\u0645\u067e\u0648\u0632 UI \u06a9\u06cc \u0645\u06cc\u0632\u0628\u0627\u0646\u06cc \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 <code>NotesApp<\/code> \u06cc\u06c1 \u0627\u06cc\u06a9 \u0631\u0648\u0627\u062c \u06c1\u06d2\u06d4 <code>Application<\/code> \u06a9\u0644\u0627\u0633 \u067e\u0648\u0631\u06cc \u0627\u06cc\u067e \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0628\u0627\u0631 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0628\u0691\u06cc \u0627\u06cc\u067e\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u0622\u067e \u0645\u0645\u06a9\u0646\u06c1 \u0637\u0648\u0631 \u067e\u0631 \u0627\u0633\u06d2 \u0639\u0644\u06cc\u062d\u062f\u06c1 \u06af\u0631\u06cc\u0688\u0644 \u0645\u0627\u0688\u06cc\u0648\u0644\u0632 \u0645\u06cc\u06ba \u062a\u0642\u0633\u06cc\u0645 \u06a9\u0631\u06cc\u06ba \u06af\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u06cc\u06c1\u0627\u06ba \u0627\u06cc\u06a9 \u067e\u06cc\u06a9\u06cc\u062c \u06a9\u0627\u0641\u06cc \u06c1\u0648\u06af\u0627\u06d4<\/p>\n<h2 id=\"heading-how-to-store-data-locally-with-room\">\u06a9\u0645\u0631\u06c1 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0645\u0642\u0627\u0645\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0688\u06cc\u0679\u0627 \u06a9\u06cc\u0633\u06d2 \u0627\u0633\u0679\u0648\u0631 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2\u06d4<\/h2>\n<p>\u06a9\u0645\u0631\u06c1 \u062c\u06cc\u0679 \u067e\u06cc\u06a9 \u067e\u0631\u0633\u0633\u0679\u06cc\u0646\u0633 \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc \u06c1\u06d2\u06d4 \u0622\u067e \u0627\u067e\u0646\u06d2 \u0679\u06cc\u0628\u0644\u0632 \u06a9\u0648 \u06a9\u0648\u0679\u0644\u0646 \u06a9\u0644\u0627\u0633\u0632 \u0627\u0648\u0631 \u0627\u067e\u0646\u06d2 \u0633\u0648\u0627\u0644\u0627\u062a \u06a9\u0648 \u062a\u0634\u0631\u06cc\u062d \u0634\u062f\u06c1 \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u0637\u0631\u06cc\u0642\u0648\u06ba \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0628\u06cc\u0627\u0646 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 \u06a9\u0645\u0631\u06c1 \u06a9\u0645\u067e\u0627\u0626\u0644 \u06a9\u06d2 \u0648\u0642\u062a SQLite \u06a9\u0648\u0688 \u062a\u06cc\u0627\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u062a\u0639\u0645\u06cc\u0631 \u06a9\u06d2 \u062f\u0648\u0631\u0627\u0646 \u0633\u0648\u0627\u0644\u0627\u062a \u06a9\u06cc \u062a\u0648\u062b\u06cc\u0642 \u06a9\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06d2\u060c \u0644\u06c1\u0630\u0627 \u06a9\u0627\u0644\u0645 \u06a9\u06d2 \u0646\u0627\u0645 \u0645\u06cc\u06ba \u0679\u0627\u0626\u067e\u0646\u06af \u0635\u0627\u0631\u0641 \u06a9\u06d2 \u0641\u0648\u0646 \u067e\u0631 \u06a9\u0631\u06cc\u0634 \u06c1\u0648\u0646\u06d2 \u06a9\u06cc \u0628\u062c\u0627\u0626\u06d2 \u06a9\u0645\u067e\u0627\u0626\u0644\u0631 \u06a9\u06cc \u063a\u0644\u0637\u06cc \u06c1\u0648\u06af\u06cc\u06d4<\/p>\n<p>\u062f\u0631\u062c \u0630\u06cc\u0644 \u0627\u062f\u0627\u0631\u0648\u06ba \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0634\u0631\u0648\u0639 \u06a9\u0631\u06cc\u06ba: <code>data\/Note.kt<\/code>:<\/p>\n<pre><code class=\"language-kotlin\">package com.yourname.quicknotes.data\n\nimport androidx.room.Entity\nimport androidx.room.PrimaryKey\n\n@Entity(tableName = \"notes\")\ndata class Note(\n    @PrimaryKey(autoGenerate = true) val id: Long = 0,\n    val title: String,\n    val body: String,\n    val updatedAt: Long = System.currentTimeMillis()\n)\n<\/code><\/pre>\n<p><code>@Entity<\/code>    \u0631\u0648\u0645 \u06a9\u0648 \u0628\u062a\u0627\u0626\u06cc\u06ba \u06a9\u06c1 \u06cc\u06c1 \u06a9\u0644\u0627\u0633 \u062f\u0631\u062c \u0630\u06cc\u0644 \u0679\u06cc\u0628\u0644 \u067e\u0631 \u0646\u0642\u0634\u06c1 \u0628\u0646\u0627\u062a\u06cc \u06c1\u06d2: <code>notes<\/code>\u06c1\u0631 \u0648\u0635\u0641 \u0627\u06cc\u06a9 \u06a9\u0627\u0644\u0645 \u0628\u0646 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u06c1 <code>id<\/code> \u0641\u06cc\u0644\u0688 \u0628\u0646\u06cc\u0627\u062f\u06cc \u06a9\u0644\u06cc\u062f \u06c1\u06d2\u06d4 <code>autoGenerate = true<\/code> \u062c\u0628 \u0622\u067e \u0627\u0633 \u0637\u0631\u062d \u06a9\u06cc ID \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0642\u0637\u0627\u0631 \u062f\u0627\u062e\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u0622\u067e SQLite \u0633\u06d2 \u0627\u06cc\u06a9 \u0646\u0626\u06cc ID \u062a\u0641\u0648\u06cc\u0636 \u06a9\u0631\u0646\u06d2 \u06a9\u0648 \u06a9\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 <code>0<\/code>. \u0627\u0633\u06cc \u0644\u06cc\u06d2 <code>id<\/code> \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u0637\u06d2 \u0634\u062f\u06c1 \u06c1\u06d2\u06d4 <code>0<\/code>: \u0646\u0626\u06d2 \u0646\u0648\u0679\u0648\u06ba \u06a9\u06d2 \u0645\u062d\u0641\u0648\u0638 \u06c1\u0648\u0646\u06d2 \u062a\u06a9 \u0627\u0646 \u06a9\u06cc \u06a9\u0648\u0626\u06cc \u062d\u0642\u06cc\u0642\u06cc \u0634\u0646\u0627\u062e\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u062a\u06cc\u06d4<\/p>\n<p>\u06a9\u06c1 <code>updatedAt<\/code> \u067e\u0631\u0627\u067e\u0631\u0679\u06cc \u0645\u0644\u06cc \u0633\u06cc\u06a9\u0646\u0688 \u0645\u06cc\u06ba \u0679\u0627\u0626\u0645 \u0627\u0633\u0679\u06cc\u0645\u067e \u0627\u0633\u0679\u0648\u0631 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u060c \u062c\u0633 \u06a9\u06cc \u0688\u06cc\u0641\u0627\u0644\u0679 \u0648\u06cc\u0644\u06cc\u0648 \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4 <code>Note<\/code> \u0627\u06cc\u06a9 \u0622\u0628\u062c\u06cc\u06a9\u0679 \u0628\u0646\u0627\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2 \u062c\u0648 \u0627\u06cc\u067e \u06a9\u0648 \u06cc\u06c1 \u0628\u062a\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u06a9\u0648\u0646 \u0633\u06d2 \u0646\u0648\u0679\u0648\u06ba \u0645\u06cc\u06ba \u062d\u0627\u0644 \u06c1\u06cc \u0645\u06cc\u06ba \u062a\u0631\u0645\u06cc\u0645 \u06a9\u06cc \u06af\u0626\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0639\u0627\u0645 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 <code>data class<\/code> \u0622\u067e \u06a9\u0648 \u062f\u06cc\u062a\u0627 \u06c1\u06d2 <code>equals<\/code>\u060c <code>hashCode<\/code>\u0627\u0648\u0631 <code>copy<\/code> \u06a9\u0645\u067e\u0648\u0632 \u0627\u0633 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u0627\u0633 \u0628\u0627\u062a \u06a9\u0627 \u062a\u0639\u06cc\u0646 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0622\u06cc\u0627 \u06a9\u0648\u0626\u06cc \u0641\u06c1\u0631\u0633\u062a \u0622\u0626\u0679\u0645 \u062a\u0628\u062f\u06cc\u0644 \u06c1\u0648\u0627 \u06c1\u06d2 \u06cc\u0627 \u0646\u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u06af\u0644\u0627\u060c \u06c1\u0645 \u0627\u0633\u062a\u0641\u0633\u0627\u0631 \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 <code>data\/NoteDao.kt<\/code>:<\/p>\n<pre><code class=\"language-kotlin\">package com.yourname.quicknotes.data\n\nimport androidx.room.Dao\nimport androidx.room.Delete\nimport androidx.room.Query\nimport androidx.room.Upsert\nimport kotlinx.coroutines.flow.Flow\n\n@Dao\ninterface NoteDao {\n    @Query(\"SELECT * FROM notes ORDER BY updatedAt DESC\")\n    fun observeAll(): Flow<list>>\n\n    @Query(\"SELECT * FROM notes WHERE id = :id\")\n    suspend fun getById(id: Long): Note?\n\n    @Upsert\n    suspend fun upsert(note: Note)\n\n    @Delete\n    suspend fun delete(note: Note)\n}\n<\/list><\/code><\/pre>\n<p>DAO \u0627\u06cc\u06a9 \u0627\u0646\u0679\u0631\u0641\u06cc\u0633 \u06c1\u06d2 \u062c\u0633\u06d2 \u0622\u067e \u06a9\u0627 \u0646\u0641\u0627\u0630 \u06a9\u0645\u0631\u06c1 \u0622\u067e \u06a9\u06d2 \u0644\u06cc\u06d2 \u0644\u06a9\u06be\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u06c1 <code>observeAll<\/code> \u0637\u0631\u06cc\u0642\u06c1 \u06cc\u06c1 \u06c1\u06d2\u06d4 <code>Flow<list>><\/list><\/code> \u0627\u06cc\u06a9 \u0633\u0627\u062f\u06c1 \u0641\u06c1\u0631\u0633\u062a \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 <code>Flow<\/code> \u06cc\u06c1 \u06a9\u0648\u0679\u0644\u0646 \u06a9\u0648\u0631\u0648\u0679\u06cc\u0646\u0632 \u06a9\u0627 \u0627\u06cc\u06a9 \u0633\u0644\u0633\u0644\u06c1 \u06c1\u06d2 \u062c\u0648 \u062c\u0628 \u0628\u06be\u06cc \u0628\u0646\u06cc\u0627\u062f\u06cc \u0688\u06cc\u0679\u0627 \u0645\u06cc\u06ba \u062a\u0628\u062f\u06cc\u0644\u06cc \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062a\u0648 \u0646\u0626\u06cc \u0642\u062f\u0631\u0648\u06ba \u06a9\u0627 \u0627\u062e\u0631\u0627\u062c \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u062c\u0628 \u0628\u06be\u06cc \u06a9\u0648\u0626\u06cc \u0646\u0648\u0679 \u062f\u0627\u062e\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0627\u067e \u0688\u06cc\u0679 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u06cc\u0627 \u062d\u0630\u0641 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0631\u0648\u0645 \u062e\u0648\u062f \u0628\u062e\u0648\u062f \u0627\u0633\u062a\u0641\u0633\u0627\u0631 \u06a9\u0648 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0686\u0644\u0627\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u06cc\u06a9 \u0646\u0626\u06cc \u0641\u06c1\u0631\u0633\u062a \u06a9\u0627 \u0627\u062e\u0631\u0627\u062c \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0641\u06c1\u0631\u0633\u062a \u06a9\u06cc \u0627\u0633\u06a9\u0631\u06cc\u0646\u0648\u06ba \u06a9\u0648 \u0628\u063a\u06cc\u0631 \u06a9\u0633\u06cc \u062f\u0633\u062a\u06cc \u0631\u06cc\u0641\u0631\u06cc\u0634 \u0645\u0646\u0637\u0642 \u06a9\u06d2 \u0645\u0637\u0627\u0628\u0642\u062a \u067e\u0630\u06cc\u0631 \u0631\u06a9\u06be\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06c1\u06d2\u06d4<\/p>\n<p>\u062f\u0648\u0633\u0631\u06d2 \u0637\u0631\u06cc\u0642\u06d2 \u062f\u06a9\u06be\u0627\u0626\u06d2 \u06af\u0626\u06d2 \u06c1\u06cc\u06ba\u06d4 <code>suspend<\/code>\u0627\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u0627\u0633\u06d2 \u06a9\u0648\u0631\u0648\u0679\u06cc\u0646 \u0633\u06d2 \u0628\u0644\u0627\u06cc\u0627 \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u06a9\u0645\u0631\u06c1 \u0627\u0633\u06d2 \u0628\u06cc\u06a9 \u06af\u0631\u0627\u0624\u0646\u0688 \u062a\u06be\u0631\u06cc\u0688 \u067e\u0631 \u0686\u0644\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0644\u06c1\u0630\u0627 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u0622\u067e\u0631\u06cc\u0634\u0646\u0632 \u0645\u06cc\u0646 \u062a\u06be\u0631\u06cc\u0688 \u06a9\u0648 \u0628\u0644\u0627\u06a9 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u06d2 \u06cc\u0627 UI \u06a9\u0648 \u0645\u0646\u062c\u0645\u062f \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u06d2\u06d4<\/p>\n<p><code>@Upsert<\/code>    \u0627\u06af\u0631 \u0628\u0646\u06cc\u0627\u062f\u06cc \u06a9\u0644\u06cc\u062f \u0645\u0648\u062c\u0648\u062f \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u062a\u0648 \u0627\u06cc\u06a9 \u0642\u0637\u0627\u0631 \u062f\u0627\u062e\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u06af\u0631 \u0645\u0648\u062c\u0648\u062f \u06c1\u06d2 \u062a\u0648 \u0627\u0633\u06d2 \u0627\u067e \u0688\u06cc\u0679 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0622\u067e \u06a9\u0648 \u0627\u06cc\u06a9 \u06c1\u06cc \u0637\u0631\u06cc\u0642\u06c1 \u0645\u06cc\u06ba \u0646\u0648\u0679 \u062a\u062e\u0644\u06cc\u0642 \u0627\u0648\u0631 \u062a\u0631\u0645\u06cc\u0645 \u062f\u0648\u0646\u0648\u06ba \u06a9\u0648 \u0633\u0646\u0628\u06be\u0627\u0644\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u06c1 <code>:id<\/code> \u062f\u0648\u0633\u0631\u06cc \u0627\u0633\u062a\u0641\u0633\u0627\u0631 \u06a9\u0627 \u0646\u062d\u0648 \u0633\u0679\u0631\u0646\u06af \u06a9\u0646\u06a9\u0679\u06cc\u0634\u0646 \u06a9\u06d2 \u0628\u063a\u06cc\u0631 \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u0627\u0631 \u06a9\u06d2 \u067e\u06cc\u0631\u0627\u0645\u06cc\u0679\u0631\u0632 \u06a9\u0648 SQL \u0628\u06cc\u0627\u0646 \u0633\u06d2 \u0645\u062d\u0641\u0648\u0638 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u0628\u0627\u0646\u062f\u06be\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0628 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u0628\u0646\u0627\u0626\u06cc\u06ba\u06d4 <code>data\/NotesDatabase.kt<\/code>:<\/p>\n<pre><code class=\"language-kotlin\">package com.yourname.quicknotes.data\n\nimport androidx.room.Database\nimport androidx.room.RoomDatabase\n\n@Database(entities = [Note::class], version = 1, exportSchema = true)\nabstract class NotesDatabase : RoomDatabase() {\n    abstract fun noteDao(): NoteDao\n}\n<\/code><\/pre>\n<p>\u06a9\u06c1 <code>@Database<\/code> \u062a\u0628\u0635\u0631\u06d2 \u0645\u06cc\u06ba \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u0645\u06cc\u06ba \u0645\u0648\u062c\u0648\u062f \u062a\u0645\u0627\u0645 \u0627\u062f\u0627\u0631\u0648\u06ba \u0627\u0648\u0631 \u0627\u0646 \u06a9\u06d2 \u0633\u06a9\u06cc\u0645\u0627 \u0648\u0631\u0698\u0646 \u0646\u0645\u0628\u0631\u0632 \u06a9\u06cc \u0641\u06c1\u0631\u0633\u062a \u062f\u06cc \u06af\u0626\u06cc \u06c1\u06d2\u06d4 \u06a9\u0645\u0631\u06c1 \u0645\u0646\u062f\u0631\u062c\u06c1 \u0630\u06cc\u0644 \u0646\u0641\u0627\u0630 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u0633 \u062a\u062c\u0631\u06cc\u062f\u06cc \u06a9\u0644\u0627\u0633 \u06a9\u0627 \u0627\u06cc\u06a9 \u06a9\u0646\u06a9\u0631\u06cc\u0679 \u0630\u06cc\u0644\u06cc \u0637\u0628\u0642\u06c1 \u062a\u062e\u0644\u06cc\u0642 \u06a9\u0631\u062a\u0627 \u06c1\u06d2: <code>noteDao()<\/code>.<\/p>\n<p>\u06a9\u06c1 <code>version<\/code> \u0627\u06cc\u067e \u0627\u06cc\u06a9\u0679\u06cc\u0648\u06cc\u0679 \u06c1\u0648\u0646\u06d2 \u06a9\u06d2 \u0628\u0639\u062f \u0641\u06cc\u0644\u0688\u0632 \u0627\u06c1\u0645 \u06c1\u06cc\u06ba\u06d4 \u0627\u06af\u0631 \u0622\u067e \u0628\u0639\u062f \u0645\u06cc\u06ba \u06a9\u0627\u0644\u0645 \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba\u06d4 <code>Note<\/code>\u0622\u067e \u06a9\u0648 \u0648\u0631\u0698\u0646 \u0628\u0691\u06be\u0627\u0646\u06d2 \u0627\u0648\u0631 \u0645\u0646\u062a\u0642\u0644\u06cc \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4 \u0628\u0635\u0648\u0631\u062a \u062f\u06cc\u06af\u0631\u060c \u06a9\u0645\u0631\u06c1 \u0622\u067e \u06a9\u06d2 \u0622\u0644\u06d2 \u067e\u0631 \u0645\u0648\u062c\u0648\u062f \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06a9\u0648 \u06a9\u06be\u0648\u0644\u0646\u06d2 \u0633\u06d2 \u0627\u0646\u06a9\u0627\u0631 \u06a9\u0631 \u062f\u06d2 \u06af\u0627\u06d4<\/p>\n<p><code>exportSchema = true<\/code>    \u06c1\u0631 \u0627\u0633\u06a9\u06cc\u0645\u0627 \u0648\u0631\u0698\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 JSON \u062a\u0641\u0635\u06cc\u0644 <code>schemas<\/code> \u06cc\u06c1 \u0648\u06c1 \u0641\u0648\u0644\u0688\u0631 \u06c1\u06d2 \u062c\u0633\u06d2 \u06af\u0631\u06cc\u0688\u0644 \u0646\u06d2 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u0627 \u06c1\u06d2\u06d4 \u06a9\u0645\u0631\u06c1 \u0627\u0646 \u0641\u0627\u0626\u0644\u0648\u06ba \u06a9\u0648 \u06c1\u062c\u0631\u062a \u06a9\u06cc \u062c\u0627\u0646\u0686 \u067e\u0691\u062a\u0627\u0644 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u062e\u0648\u062f \u0628\u062e\u0648\u062f \u0627\u0646\u06c1\u06cc\u06ba \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0644\u06c1\u0630\u0627 \u0622\u067e \u0627\u0646 \u0641\u0648\u0644\u0688\u0631\u0632 \u06a9\u0648 \u0648\u0631\u0698\u0646 \u06a9\u0646\u0679\u0631\u0648\u0644 \u0645\u06cc\u06ba \u0628\u06be\u06cc\u062c \u062f\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-how-to-expose-data-with-a-repository-and-application-class\">\u0631\u06cc\u067e\u0648\u0632\u0679\u0631\u06cc\u0632 \u0627\u0648\u0631 \u0627\u06cc\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u06a9\u0644\u0627\u0633\u0632 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0688\u06cc\u0679\u0627 \u06a9\u0648 \u06a9\u06cc\u0633\u06d2 \u0628\u06d2 \u0646\u0642\u0627\u0628 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2\u06d4<\/h2>\n<p>\u0630\u062e\u06cc\u0631\u06c1 ViewModel \u0627\u0648\u0631 \u06a9\u0645\u0631\u06d2 \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u0627\u06cc\u06a9 \u067e\u062a\u0644\u06cc \u067e\u0631\u062a \u06c1\u06d2\u06d4 \u0627\u06cc\u067e \u0628\u0646\u06cc\u0627\u062f\u06cc \u0637\u0648\u0631 \u067e\u0631 \u06a9\u0627\u0644\u0632 \u06a9\u0648 \u0641\u0627\u0631\u0648\u0631\u0688 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u0622\u067e \u0628\u0639\u062f \u0645\u06cc\u06ba UI \u06a9\u0648\u0688 \u06a9\u0648 \u0686\u06be\u0648\u0626\u06d2 \u0628\u063a\u06cc\u0631 \u06a9\u06cc\u0634\u0646\u06af\u060c \u0646\u06cc\u0679 \u0648\u0631\u06a9 \u0633\u0646\u06a9\u0631\u0648\u0646\u0627\u0626\u0632\u06cc\u0634\u0646\u060c \u06cc\u0627 \u062a\u0648\u062b\u06cc\u0642 \u0633\u0628 \u06a9\u0648 \u0627\u06cc\u06a9 \u062c\u06af\u06c1 \u067e\u0631 \u0634\u0627\u0645\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0628\u0646\u0627\u0646\u0627 <code>data\/NoteRepository.kt<\/code>:<\/p>\n<pre><code class=\"language-kotlin\">package com.yourname.quicknotes.data\n\nimport kotlinx.coroutines.flow.Flow\n\nclass NoteRepository(private val noteDao: NoteDao) {\n\n    fun observeNotes(): Flow<list>> = noteDao.observeAll()\n\n    suspend fun getNote(id: Long): Note? = noteDao.getById(id)\n\n    suspend fun save(note: Note) = noteDao.upsert(note)\n\n    suspend fun delete(note: Note) = noteDao.delete(note)\n}\n<\/list><\/code><\/pre>\n<p>\u0630\u062e\u06cc\u0631\u06c1 \u06c1\u06d2\u06d4 <code>NoteDao<\/code> \u06a9\u0646\u0633\u0679\u0631\u06a9\u0679\u0631 \u062e\u0648\u062f \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u06a9\u0646\u0633\u0679\u0631\u06a9\u0679\u0631 \u0645\u06cc\u06ba\u06d4 \u06cc\u06c1 \u0627\u0646\u062d\u0635\u0627\u0631 \u0627\u0646\u062c\u06cc\u06a9\u0634\u0646 \u06a9\u06cc \u0633\u0628 \u0633\u06d2 \u0622\u0633\u0627\u0646 \u0634\u06a9\u0644 \u06c1\u06d2\u06d4 \u0686\u0648\u0646\u06a9\u06c1 \u0627\u0646\u062d\u0635\u0627\u0631 \u067e\u0627\u0633 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0679\u06cc\u0633\u0679\u0648\u06ba \u06a9\u06d2 \u0646\u062a\u06cc\u062c\u06d2 \u0645\u06cc\u06ba \u062c\u0639\u0644\u06cc DAOs \u06a9\u0648 \u0630\u062e\u06cc\u0631\u06c1 \u0645\u06cc\u06ba \u0645\u0646\u062a\u0642\u0644 \u06a9\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 \u0639\u0648\u0627\u0645\u06cc \u0637\u0631\u06cc\u0642\u0648\u06ba \u06a9\u06cc \u062a\u0639\u0631\u06cc\u0641 \u0688\u0648\u0645\u06cc\u0646 \u0632\u0628\u0627\u0646 \u0645\u06cc\u06ba \u06a9\u06cc \u06af\u0626\u06cc \u06c1\u06d2 (<code>save<\/code>\u060c <code>observeNotes<\/code>\u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06a9\u06cc \u0632\u0628\u0627\u0646 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 (<code>upsert<\/code>\u060c <code>observeAll<\/code>) \u06cc\u06c1 \u06a9\u0645\u0631\u06d2 \u06a9\u06cc \u062a\u0641\u0635\u06cc\u0644\u0627\u062a \u06a9\u0648 \u0628\u0627\u0642\u06cc \u0627\u06cc\u067e \u0645\u06cc\u06ba \u0644\u06cc\u06a9 \u06c1\u0648\u0646\u06d2 \u0633\u06d2 \u0631\u0648\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0686\u0648\u0646\u06a9\u06c1 SQLite \u06a9\u0648 \u06a9\u06be\u0648\u0644\u0646\u0627 \u0645\u06c1\u0646\u06af\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0645\u062a\u0639\u062f\u062f \u0645\u062b\u0627\u0644\u0648\u06ba \u06a9\u06d2 \u06a9\u0631\u06cc\u0634 \u06c1\u0648\u0646\u06d2 \u06a9\u0627 \u0633\u0628\u0628 \u0628\u0646 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u06c1\u0631 \u0627\u06cc\u067e \u06a9\u06d2 \u0639\u0645\u0644 \u0645\u06cc\u06ba \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06a9\u0648 \u0628\u0627\u0644\u06a9\u0644 \u0627\u06cc\u06a9 \u0628\u0627\u0631 \u0628\u0646\u0627\u06cc\u0627 \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u0627\u0646\u062d\u0635\u0627\u0631 \u0627\u0646\u062c\u06cc\u06a9\u0634\u0646 \u0641\u0631\u06cc\u0645 \u0648\u0631\u06a9 \u06a9\u06d2 \u0628\u063a\u06cc\u0631 \u0627\u06cc\u0633\u0627 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0627\u06cc\u06a9 \u0639\u0627\u0645 \u0637\u0631\u06cc\u0642\u06c1 \u062d\u0633\u0628 \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4 <code>Application<\/code> \u0630\u06cc\u0644\u06cc \u06a9\u0644\u0627\u0633 \u0628\u0646\u0627\u0646\u0627 <code>NotesApp.kt<\/code> \u062c\u0691 \u067e\u06cc\u06a9\u06cc\u062c \u0645\u06cc\u06ba:<\/p>\n<pre><code class=\"language-kotlin\">package com.yourname.quicknotes\n\nimport android.app.Application\nimport androidx.room.Room\nimport com.yourname.quicknotes.data.NoteRepository\nimport com.yourname.quicknotes.data.NotesDatabase\n\nclass NotesApp : Application() {\n\n    private val database: NotesDatabase by lazy {\n        Room.databaseBuilder(this, NotesDatabase::class.java, \"notes.db\").build()\n    }\n\n    val repository: NoteRepository by lazy {\n        NoteRepository(database.noteDao())\n    }\n}\n<\/code><\/pre>\n<p>\u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u0627\u06cc\u06a9 \u0645\u062b\u0627\u0644 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u06d4 <code>Application<\/code> \u0633\u0631\u06af\u0631\u0645\u06cc \u0634\u0631\u0648\u0639 \u06c1\u0648\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0627\u06cc\u06a9 \u06a9\u0644\u0627\u0633 \u0628\u0646\u0627\u0626\u06cc\u06ba \u0627\u0648\u0631 \u0627\u0633\u06d2 \u0639\u0645\u0644 \u06a9\u06cc \u0632\u0646\u062f\u06af\u06cc \u06a9\u06d2 \u0644\u06cc\u06d2 \u0631\u06a9\u06be\u06cc\u06ba\u06d4 \u06cc\u06c1 \u0622\u067e \u06a9\u06cc \u067e\u0648\u0631\u06cc \u0627\u06cc\u067e \u0645\u06cc\u06ba \u0633\u0646\u06af\u0644 \u0679\u0648\u0646\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0642\u062f\u0631\u062a\u06cc \u06af\u06be\u0631 \u0628\u0646\u0627 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u06c1 <code>by lazy<\/code> \u0627\u06cc\u062c\u0646\u0679 \u067e\u06c1\u0644\u06cc \u0628\u0627\u0631 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06a9\u06cc \u062a\u062e\u0644\u06cc\u0642 \u06a9\u0648 \u0645\u0648\u062e\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <code>repository<\/code> \u0631\u0633\u0627\u0626\u06cc \u062d\u0627\u0635\u0644 \u06a9\u06cc \u06af\u0626\u06cc\u060c \u0627\u06cc\u067e \u06a9\u0648 \u062a\u06cc\u0632 \u062a\u0631 \u0628\u0646\u0627\u0646\u0627\u06d4<\/p>\n<p><code>Room.databaseBuilder<\/code>    \u0633\u06cc\u0627\u0642 \u0648 \u0633\u0628\u0627\u0642\u060c \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06a9\u0644\u0627\u0633 \u0627\u0648\u0631 \u0641\u0627\u0626\u0644 \u06a9\u0627 \u0646\u0627\u0645 \u0644\u06cc\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 <code>build()<\/code> \u062a\u06cc\u0627\u0631 \u06a9\u0631\u062f\u06c1 \u0646\u0641\u0627\u0630 \u06a9\u0648 \u0644\u0648\u0679\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0628\u0691\u06cc \u0627\u06cc\u067e\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u06c1\u0644\u0679 \u06cc\u0627 \u06a9\u0648\u0626\u06cc\u0646 \u0627\u0646 \u06a9\u0646\u06a9\u0634\u0646\u0632 \u06a9\u0627 \u0646\u0638\u0645 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0644\u06cc\u06a9\u0646 \u0627\u06cc\u06a9 \u062f\u0633\u062a\u06cc \u0637\u0631\u06cc\u0642\u06c1 \u06cc\u06c1 \u0638\u0627\u06c1\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u06cc\u06c1 \u0641\u0631\u06cc\u0645 \u0648\u0631\u06a9 \u062e\u0648\u062f \u06a9\u0627\u0631 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u06a9\u06cc\u0627 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u06a9\u0644\u0627\u0633 \u06a9\u0648 \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u067e\u0631 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u0627\u0633\u06d2 \u06cc\u06c1\u0627\u06ba \u0631\u062c\u0633\u0679\u0631 \u06a9\u0631\u06cc\u06ba: <code>AndroidManifest.xml<\/code> \u0634\u0627\u0645\u0644 \u06a9\u0631\u06a9\u06d2 <code>android:name<\/code> \u0633\u06d2 \u0645\u0646\u0633\u0648\u0628 <code><application\/><\/code> \u0679\u06cc\u06af:<\/p>\n<pre><code class=\"language-xml\"><application android:name=\".NotesApp\" android:allowbackup=\"true\" android:icon=\"@mipmap\/ic_launcher\" android:label=\"@string\/app_name\" android:roundicon=\"@mipmap\/ic_launcher_round\" android:supportsrtl=\"true\" android:theme=\"@style\/Theme.QuickNotes\">\n<\/application><\/code><\/pre>\n<p>\u0635\u0631\u0641 \u0644\u0627\u0626\u0646\u06cc\u06ba \u062c\u0648 \u0622\u067e \u0634\u0627\u0645\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u0648\u06c1 \u06c1\u06cc\u06ba: <code>android:name=\".NotesApp\"<\/code>. \u0645\u0639\u0631\u0648\u0641 \u0688\u0627\u0679 \u0627\u06cc\u067e \u06a9\u06d2 \u0646\u0627\u0645 \u06a9\u06cc \u062c\u06af\u06c1 \u06a9\u0627 \u0645\u062e\u0641\u0641 \u06c1\u06d2\u060c \u0644\u06c1\u0630\u0627 \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u0627\u0633\u06d2 \u0627\u0633 \u0637\u0631\u062d \u062d\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2: <code>com.yourname.quicknotes.NotesApp<\/code>.<\/p>\n<p>\u062f\u06cc\u06af\u0631 \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u0679\u06cc\u0645\u067e\u0644\u06cc\u0679 \u0633\u06d2 \u0622\u0626\u06cc \u06c1\u06cc\u06ba\u060c \u0628\u0634\u0645\u0648\u0644 \u0644\u0627\u0646\u0686\u0631 \u0622\u0626\u06cc\u06a9\u0646\u060c \u0622\u0626\u06cc\u06a9\u0646 \u06a9\u06d2 \u0646\u06cc\u0686\u06d2 \u062f\u06a9\u06be\u0627\u0626\u06d2 \u062c\u0627\u0646\u06d2 \u0648\u0627\u0644\u0627 \u0627\u06cc\u067e \u0644\u06cc\u0628\u0644\u060c \u062f\u0627\u0626\u06cc\u06ba \u0633\u06d2 \u0628\u0627\u0626\u06cc\u06ba \u0644\u06d2 \u0622\u0624\u0679 \u0633\u067e\u0648\u0631\u0679\u060c \u0627\u0648\u0631 \u06a9\u0645\u067e\u0648\u0632 \u06a9\u06d2 \u067e\u06c1\u0644\u06d2 \u0641\u0631\u06cc\u0645 \u06a9\u0648 \u0688\u0631\u0627 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06c1\u0648\u0646\u06d2 \u0648\u0627\u0644\u06cc \u0688\u06cc\u0641\u0627\u0644\u0679 \u062a\u06be\u06cc\u0645\u06d4 \u0627\u06af\u0631 \u062a\u0645 \u0628\u06be\u0648\u0644 \u062c\u0627\u0624 <code>android:name<\/code> \u067e\u0631\u0627\u067e\u0631\u0679\u06cc\u060c \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u0688\u06cc\u0641\u0627\u0644\u0679 \u0648\u06cc\u0644\u06cc\u0648 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <code>Application<\/code> \u062c\u0628 \u0645\u06cc\u06ba \u06a9\u0633\u06cc \u06a9\u0644\u0627\u0633 \u0645\u06cc\u06ba \u0645\u0646\u062a\u0642\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u06a9\u0648\u0634\u0634 \u06a9\u0631\u062a\u0627 \u06c1\u0648\u06ba \u062a\u0648 \u0627\u06cc\u067e \u067e\u06c1\u0644\u06cc \u0628\u0627\u0631 \u06a9\u0631\u06cc\u0634 \u06c1\u0648 \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4 <code>NotesApp<\/code>.<\/p>\n<h2 id=\"heading-how-to-manage-ui-state-with-a-viewmodel\">ViewModel \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 UI \u062d\u0627\u0644\u062a \u06a9\u0627 \u0646\u0638\u0645 \u06a9\u06cc\u0633\u06d2 \u06a9\u0631\u06cc\u06ba\u06d4<\/h2>\n<p>\u06a9\u0648\u0626\u06cc \u0631\u0627\u0633\u062a\u06c1 \u0646\u06c1\u06cc\u06ba <code>ViewModel<\/code> \u0627\u0633\u06a9\u0631\u06cc\u0646 \u06a9\u06cc \u062d\u0627\u0644\u062a \u06a9\u0648 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u062a\u0628\u062f\u06cc\u0644\u06cc\u0648\u06ba \u06a9\u0648 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2\u06d4 \u062c\u0628 \u0635\u0627\u0631\u0641 \u0641\u0648\u0646 \u06a9\u0648 \u06af\u06be\u0645\u0627\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u0633\u0631\u06af\u0631\u0645\u06cc \u062a\u0628\u0627\u06c1 \u06c1\u0648 \u062c\u0627\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0628\u0646\u0627\u0626\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 ViewModel \u0645\u06cc\u0645\u0648\u0631\u06cc \u0645\u06cc\u06ba \u0631\u06c1\u062a\u0627 \u06c1\u06d2 \u0644\u06c1\u0630\u0627 \u0646\u0648\u0679\u0648\u06ba \u06a9\u06cc \u0641\u06c1\u0631\u0633\u062a \u06a9\u0648 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0644\u0648\u0688 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u0628\u0646\u0627\u0646\u0627 <code>ui\/NotesViewModel.kt<\/code>:<\/p>\n<pre><code class=\"language-kotlin\">package com.yourname.quicknotes.ui\n\nimport androidx.lifecycle.ViewModel\nimport androidx.lifecycle.ViewModelProvider\nimport androidx.lifecycle.viewModelScope\nimport androidx.lifecycle.viewmodel.initializer\nimport androidx.lifecycle.viewmodel.viewModelFactory\nimport com.yourname.quicknotes.NotesApp\nimport com.yourname.quicknotes.data.Note\nimport com.yourname.quicknotes.data.NoteRepository\nimport kotlinx.coroutines.flow.SharingStarted\nimport kotlinx.coroutines.flow.StateFlow\nimport kotlinx.coroutines.flow.stateIn\nimport kotlinx.coroutines.launch\n\nclass NotesViewModel(private val repository: NoteRepository) : ViewModel() {\n\n    val notes: StateFlow<list>> = repository.observeNotes()\n        .stateIn(\n            scope = viewModelScope,\n            started = SharingStarted.WhileSubscribed(5_000),\n            initialValue = emptyList()\n        )\n\n    suspend fun getNote(id: Long): Note? = repository.getNote(id)\n\n    fun saveNote(id: Long?, title: String, body: String) {\n        viewModelScope.launch {\n            repository.save(Note(id = id ?: 0, title = title.trim(), body = body.trim()))\n        }\n    }\n\n    fun deleteNote(note: Note) {\n        viewModelScope.launch {\n            repository.delete(note)\n        }\n    }\n\n    companion object {\n        val Factory: ViewModelProvider.Factory = viewModelFactory {\n            initializer {\n                val app = this[ViewModelProvider.AndroidViewModelFactory.APPLICATION_KEY] as NotesApp\n                NotesViewModel(app.repository)\n            }\n        }\n    }\n}\n<\/list><\/code><\/pre>\n<p>\u06cc\u06c1 \u0633\u0628\u0642 \u062a\u06cc\u0646 \u062e\u06cc\u0627\u0644\u0627\u062a \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u06c1\u06d2:<\/p>\n<p>\u067e\u06c1\u0644\u0627 \u06cc\u06c1 \u06c1\u06d2\u06d4 <code>notes<\/code> \u062c\u0627\u0626\u06cc\u062f\u0627\u062f <code>repository.observeNotes()<\/code> \u0633\u0631\u062f\u06cc \u067e\u06a9\u0691\u0648 <code>Flow<\/code>\u06cc\u06c1 \u062a\u0628 \u062a\u06a9 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0628 \u062a\u06a9 \u06a9\u0648\u0626\u06cc \u0627\u0633\u06d2 \u062c\u0645\u0639 \u06a9\u0631 \u0631\u06c1\u0627 \u06c1\u0648\u06d4 \u06a9\u06c1 <code>stateIn<\/code> \u0622\u067e\u0631\u06cc\u0679\u0631 \u0627\u0633\u06d2 \u0627\u0633 \u0645\u06cc\u06ba \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2: <code>StateFlow<\/code>\u06cc\u06c1 \u06c1\u0645\u06cc\u0634\u06c1 \u0645\u0648\u062c\u0648\u062f\u06c1 \u0627\u0642\u062f\u0627\u0631 (\u062e\u0627\u0644\u06cc \u0641\u06c1\u0631\u0633\u062a \u0633\u06d2 \u0634\u0631\u0648\u0639 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2) \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2 \u062c\u0633\u06d2 UI \u0641\u0648\u0631\u06cc \u0637\u0648\u0631 \u067e\u0631 \u067e\u0691\u06be \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 <code>SharingStarted.WhileSubscribed(5_000)<\/code> \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06a9\u06d2 \u0627\u0633\u062a\u0641\u0633\u0627\u0631\u0627\u062a \u06a9\u0648 UI \u06a9\u06d2 \u0645\u0634\u0627\u06c1\u062f\u06c1 \u06a9\u06d2 \u062f\u0648\u0631\u0627\u0646 \u0627\u0648\u0631 \u0631\u06a9\u0646\u06d2 \u06a9\u06d2 \u0628\u0639\u062f 5 \u0633\u06cc\u06a9\u0646\u0688 \u062a\u06a9 \u0641\u0639\u0627\u0644 \u0631\u06a9\u06be\u06cc\u06ba\u06d4 5 \u0633\u06cc\u06a9\u0646\u0688 \u06a9\u06cc \u0631\u0639\u0627\u06cc\u062a\u06cc \u0645\u062f\u062a \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u062a\u06cc\u0632\u06cc \u0633\u06d2 \u06af\u0631\u062f\u0634 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0648\u062c\u06c1 \u0633\u06d2 \u0633\u0648\u0627\u0644\u0627\u062a \u0645\u06cc\u06ba \u062e\u0644\u0644 \u06cc\u0627 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0622\u063a\u0627\u0632 \u0646\u06c1\u06cc\u06ba \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627\u060c \u0627\u0648\u0631 \u0627\u06af\u0631 \u0627\u06cc\u067e \u06a9\u0648 \u0632\u06cc\u0627\u062f\u06c1 \u062f\u06cc\u0631 \u062a\u06a9 \u067e\u0633 \u0645\u0646\u0638\u0631 \u0645\u06cc\u06ba \u0686\u06be\u0648\u0691 \u062f\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u062a\u0648 \u0627\u0633\u062a\u0641\u0633\u0627\u0631\u0627\u062a \u062c\u0627\u0631\u06cc \u06a9\u06cc\u06d2 \u062c\u0627\u0626\u06cc\u06ba \u06af\u06d2\u06d4<\/p>\n<p>\u062f\u0648\u0633\u0631\u0627 \u062e\u06cc\u0627\u0644 \u06cc\u06c1 \u06c1\u06d2\u06d4 <code>viewModelScope<\/code>. \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u062d\u0630\u0641 \u06a9\u0631\u06cc\u06ba\u06d4 <code>suspend<\/code> \u0686\u0648\u0646\u06a9\u06c1 \u06cc\u06c1 \u0627\u06cc\u06a9 \u0641\u0646\u06a9\u0634\u0646 \u06c1\u06d2\u060c \u0627\u06cc\u06a9 \u06a9\u0648\u0631\u0679\u06cc\u0646 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4 <code>viewModelScope<\/code> ViewModel \u06a9\u06cc \u0632\u0646\u062f\u06af\u06cc \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0645\u0646\u0633\u0644\u06a9 \u0627\u06cc\u06a9 \u06a9\u0648\u0631\u0648\u0679\u06cc\u0646 \u062f\u0627\u0626\u0631\u06c1 \u06a9\u0627\u0631\u061b \u062c\u0628 ViewModel \u0635\u0627\u0641 \u06c1\u0648 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0633 \u062f\u0627\u0626\u0631\u06c1 \u06a9\u0627\u0631 \u0645\u06cc\u06ba \u0634\u0631\u0648\u0639 \u06c1\u0648\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u062a\u0645\u0627\u0645 \u0622\u067e\u0631\u06cc\u0634\u0646\u0632 \u062e\u0648\u062f \u0628\u062e\u0648\u062f \u0645\u0646\u0633\u0648\u062e \u06c1\u0648 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0645\u06cc\u06ba <code>saveNote<\/code>\u060c <code>null<\/code> ID \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 &quot;\u06cc\u06c1 \u0627\u06cc\u06a9 \u0646\u06cc\u0627 \u0646\u0648\u0679 \u06c1\u06d2&#8221;\u060c \u062a\u0648 <code>0<\/code> \u06a9\u0645\u0631\u06c1 \u0627\u06cc\u06a9 \u0646\u0626\u06cc ID \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u063a\u06cc\u0631 \u06a9\u0627\u0644\u0639\u062f\u0645 ID \u0627\u06cc\u06a9 \u0645\u0648\u062c\u0648\u062f\u06c1 \u0642\u0637\u0627\u0631 \u06a9\u0648 \u0627\u067e \u0688\u06cc\u0679 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0646\u06cc\u0627 <code>Note<\/code> \u06c1\u0631 \u0628\u0627\u0631 \u062c\u0628 \u0622\u067e \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u062a\u0648 \u0627\u06cc\u06a9 \u0686\u06cc\u0632 \u0628\u0646\u0627\u0626\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06d2\u06d4 <code>updatedAt<\/code> \u0627\u0633\u06d2 \u0645\u0648\u062c\u0648\u062f\u06c1 \u0648\u0642\u062a \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062a\u0627\u0632\u06c1 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4<\/p>\n<p>\u062a\u06cc\u0633\u0631\u0627 \u062e\u06cc\u0627\u0644 \u06c1\u06d2\u06d4 <code>Factory<\/code>. \u0627\u06cc\u0646\u0688\u0631\u0648\u0626\u06cc\u0688 \u0627\u06cc\u06a9 ViewModel \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2 \u062a\u0627\u06a9\u06c1 \u06cc\u06c1 ViewModel \u06a9\u0648 \u06af\u0631\u062f\u0634\u0648\u06ba \u0645\u06cc\u06ba \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be \u0633\u06a9\u06d2\u06d4 \u06cc\u0639\u0646\u06cc \u0622\u067e \u06a9\u0646\u0633\u0679\u0631\u06a9\u0679\u0631 \u06a9\u0648 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u06a9\u0627\u0644 \u0646\u06c1\u06cc\u06ba \u06a9\u0631 \u0633\u06a9\u062a\u06d2\u06d4<\/p>\n<p>\u0641\u06cc\u06a9\u0679\u0631\u06cc \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u06a9\u0648 \u0628\u062a\u0627\u062a\u06cc \u06c1\u06d2 \u06a9\u06c1 \u0636\u0631\u0648\u0631\u062a \u067e\u0691\u0646\u06d2 \u067e\u0631 \u0648\u06cc\u0648 \u0645\u0627\u0688\u0644 \u06a9\u06cc\u0633\u06d2 \u0628\u0646\u0627\u06cc\u0627 \u062c\u0627\u0626\u06d2\u06d4 \u06a9\u06c1 <code>viewModelFactory<\/code> \u0627\u0648\u0631 <code>initializer<\/code> \u0628\u0644\u0688\u0631\u0632 \u0627\u0633 \u0645\u0636\u0645\u0648\u0646 \u06a9\u0648 \u067e\u0691\u06be\u06cc\u06ba <code>Application<\/code> \u062a\u062e\u0644\u06cc\u0642 \u0627\u06cc\u0688 \u0622\u0626\u0679\u0645 \u0633\u06d2 \u0627\u06cc\u06a9 \u0645\u062b\u0627\u0644 \u06a9\u0627\u0633\u0679 \u06a9\u0631\u06cc\u06ba\u06d4 <code>NotesApp<\/code>\u0630\u062e\u06cc\u0631\u06c1 \u06a9\u0646\u0633\u0679\u0631\u06a9\u0679\u0631 \u06a9\u0648 \u0645\u0646\u062a\u0642\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-how-to-build-the-note-list-screen\">\u0646\u0648\u0679 \u0644\u0633\u0679 \u0627\u0633\u06a9\u0631\u06cc\u0646 \u06a9\u0648 \u06a9\u0646\u0641\u06cc\u06af\u0631 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0637\u0631\u06cc\u0642\u06c1<\/h2>\n<p>\u0641\u06c1\u0631\u0633\u062a \u0627\u0633\u06a9\u0631\u06cc\u0646 \u06a9\u0648 \u062f\u0648 \u06a9\u0645\u067e\u0648\u0632 \u0627\u06cc\u0628\u0644\u0632 \u0645\u06cc\u06ba \u062a\u0642\u0633\u06cc\u0645 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4 \u0633\u0679\u06cc\u0679 \u0641\u0644 \u0631\u06cc\u067e\u0631 \u0648\u06cc\u0648 \u0645\u0627\u0688\u0644 \u0633\u06d2 \u062c\u0691\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0633\u0679\u06cc\u0679 \u0644\u06cc\u0633 \u0645\u0648\u0627\u062f \u06a9\u0645\u067e\u0648\u0632 \u0627\u06cc\u0628\u0644 \u0627\u0635\u0644 \u0688\u0631\u0627\u0626\u0646\u06af \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0628\u0646\u0627\u0646\u0627 <code>ui\/NoteListScreen.kt<\/code>:<\/p>\n<pre><code class=\"language-kotlin\">package com.yourname.quicknotes.ui\n\nimport androidx.compose.foundation.clickable\nimport androidx.compose.foundation.layout.Arrangement\nimport androidx.compose.foundation.layout.Box\nimport androidx.compose.foundation.layout.Column\nimport androidx.compose.foundation.layout.PaddingValues\nimport androidx.compose.foundation.layout.Row\nimport androidx.compose.foundation.layout.fillMaxSize\nimport androidx.compose.foundation.layout.fillMaxWidth\nimport androidx.compose.foundation.layout.padding\nimport androidx.compose.foundation.lazy.LazyColumn\nimport androidx.compose.foundation.lazy.items\nimport androidx.compose.material.icons.Icons\nimport androidx.compose.material.icons.filled.Add\nimport androidx.compose.material.icons.filled.Delete\nimport androidx.compose.material3.Card\nimport androidx.compose.material3.ExperimentalMaterial3Api\nimport androidx.compose.material3.FloatingActionButton\nimport androidx.compose.material3.Icon\nimport androidx.compose.material3.IconButton\nimport androidx.compose.material3.MaterialTheme\nimport androidx.compose.material3.Scaffold\nimport androidx.compose.material3.Text\nimport androidx.compose.material3.TopAppBar\nimport androidx.compose.runtime.Composable\nimport androidx.compose.runtime.getValue\nimport androidx.compose.ui.Alignment\nimport androidx.compose.ui.Modifier\nimport androidx.compose.ui.text.style.TextOverflow\nimport androidx.compose.ui.unit.dp\nimport androidx.lifecycle.compose.collectAsStateWithLifecycle\nimport com.yourname.quicknotes.data.Note\n\n@Composable\nfun NoteListScreen(\n    viewModel: NotesViewModel,\n    onAddNote: () -> Unit,\n    onOpenNote: (Long) -> Unit\n) {\n    val notes by viewModel.notes.collectAsStateWithLifecycle()\n\n    NoteListContent(\n        notes = notes,\n        onAddNote = onAddNote,\n        onOpenNote = onOpenNote,\n        onDeleteNote = viewModel::deleteNote\n    )\n}\n\n@OptIn(ExperimentalMaterial3Api::class)\n@Composable\nfun NoteListContent(\n    notes: List<note>,\n    onAddNote: () -> Unit,\n    onOpenNote: (Long) -> Unit,\n    onDeleteNote: (Note) -> Unit\n) {\n    Scaffold(\n        topBar = { TopAppBar(title = { Text(\"Quick Notes\") }) },\n        floatingActionButton = {\n            FloatingActionButton(onClick = onAddNote) {\n                Icon(Icons.Default.Add, contentDescription = \"Add note\")\n            }\n        }\n    ) { innerPadding ->\n        if (notes.isEmpty()) {\n            Box(\n                modifier = Modifier.fillMaxSize().padding(innerPadding),\n                contentAlignment = Alignment.Center\n            ) {\n                Text(\"No notes yet\", style = MaterialTheme.typography.bodyLarge)\n            }\n        } else {\n            LazyColumn(\n                contentPadding = PaddingValues(16.dp),\n                verticalArrangement = Arrangement.spacedBy(12.dp),\n                modifier = Modifier.fillMaxSize().padding(innerPadding)\n            ) {\n                items(notes, key = { it.id }) { note ->\n                    NoteCard(\n                        note = note,\n                        onClick = { onOpenNote(note.id) },\n                        onDelete = { onDeleteNote(note) }\n                    )\n                }\n            }\n        }\n    }\n}\n\n@Composable\nprivate fun NoteCard(note: Note, onClick: () -> Unit, onDelete: () -> Unit) {\n    Card(modifier = Modifier.fillMaxWidth().clickable(onClick = onClick)) {\n        Row(\n            modifier = Modifier.padding(16.dp),\n            verticalAlignment = Alignment.CenterVertically\n        ) {\n            Column(modifier = Modifier.weight(1f)) {\n                Text(note.title, style = MaterialTheme.typography.titleMedium)\n                if (note.body.isNotBlank()) {\n                    Text(\n                        note.body,\n                        style = MaterialTheme.typography.bodyMedium,\n                        maxLines = 2,\n                        overflow = TextOverflow.Ellipsis\n                    )\n                }\n            }\n            IconButton(onClick = onDelete) {\n                Icon(Icons.Default.Delete, contentDescription = \"Delete ${note.title}\")\n            }\n        }\n    }\n}\n<\/note><\/code><\/pre>\n<p><code>NoteListScreen<\/code>    \u06cc\u06c1 \u0648\u0627\u062d\u062f \u062d\u0635\u06c1 \u06c1\u06d2 \u062c\u0633\u06d2 \u0645\u06cc\u06ba ViewModel \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u062c\u0627\u0646\u062a\u0627 \u06c1\u0648\u06ba\u06d4 \u06cc\u06c1 \u06a9\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 <code>collectAsStateWithLifecycle()<\/code>\u06cc\u06c1 \u06c1\u06d2 <code>StateFlow<\/code> \u0645\u0639\u0645\u0648\u0644 \u06a9\u06d2 \u0628\u0631\u0639\u06a9\u0633 \u06a9\u0645\u067e\u0648\u0632 \u0633\u0679\u06cc\u0679 \u067e\u0631 \u0633\u0648\u0626\u0686 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <code>collectAsState()<\/code>\u062c\u0628 \u0627\u06cc\u067e \u0628\u06cc\u06a9 \u06af\u0631\u0627\u0624\u0646\u0688 \u0645\u06cc\u06ba \u062c\u0627\u062a\u06cc \u06c1\u06d2 \u062a\u0648 \u06a9\u0644\u06cc\u06a9\u0634\u0646 \u0631\u06a9 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0633 \u0633\u06d2 \u0628\u06cc\u0679\u0631\u06cc \u06a9\u06cc \u0628\u0686\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633\u06a9\u0631\u06cc\u0646\u0648\u06ba \u067e\u0631 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06a9\u06cc \u06a9\u0627\u0631\u0631\u0648\u0627\u0626\u06cc\u0648\u06ba \u06a9\u0648 \u0631\u0648\u06a9\u062a\u0627 \u06c1\u06d2 \u062c\u0633\u06d2 \u06a9\u0648\u0626\u06cc \u0646\u06c1\u06cc\u06ba \u062f\u06cc\u06a9\u06be \u0633\u06a9\u062a\u0627\u06d4 \u067e\u06be\u0631 \u0627\u06cc\u06a9 \u0628\u0627\u0642\u0627\u0639\u062f\u06c1 \u0641\u06c1\u0631\u0633\u062a \u0627\u0648\u0631 \u06a9\u0686\u06be \u0644\u06cc\u0645\u0628\u0688\u0627 <code>NoteListContent<\/code>.<\/p>\n<p>\u06a9\u06c1 <code>viewModel::deleteNote<\/code> \u0646\u062d\u0648 \u0627\u06cc\u06a9 \u0641\u0646\u06a9\u0634\u0646 \u062d\u0648\u0627\u0644\u06c1 \u06c1\u06d2\u060c \u062a\u062d\u0631\u06cc\u0631 \u06a9\u0627 \u0627\u06cc\u06a9 \u0645\u062e\u062a\u0635\u0631 \u0637\u0631\u06cc\u0642\u06c1\u06d4 <code>{ note -> viewModel.deleteNote(note) }<\/code>.<\/p>\n<p><code>NoteListContent<\/code>    \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u0628\u06d2 \u0648\u0637\u0646 \u0634\u062e\u0635 \u06c1\u0648\u06ba\u06d4 \u06cc\u06c1 \u06c1\u0631 \u0686\u06cc\u0632 \u06a9\u0648 \u067e\u06cc\u0631\u0627\u0645\u06cc\u0679\u0631\u0632 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u062d\u0627\u0635\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0644\u06cc\u0645\u0628\u0688\u0627 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u06a9\u0644\u06a9\u0633 \u06a9\u06cc \u0627\u0637\u0644\u0627\u0639 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u060c \u062c\u0648 \u06a9\u06c1 \u062f\u0631\u0627\u0635\u0644 \u0627\u0633\u0679\u06cc\u0679 \u06c1\u0648\u0633\u0679\u0646\u06af \u06c1\u06d2\u06d4 \u0627\u0633 \u0645\u06cc\u06ba\u060c <code>Scaffold<\/code> \u0627\u06cc\u06a9 \u0645\u06cc\u0679\u0631\u06cc\u0644 3 \u0644\u06d2 \u0622\u0624\u0679 \u062c\u0648 \u0634\u0645\u0627\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0679\u0627\u067e \u0627\u06cc\u067e \u0628\u0627\u0631 \u0627\u0648\u0631 \u0641\u0644\u0648\u0679\u0646\u06af \u0627\u06cc\u06a9\u0634\u0646 \u0628\u0679\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0633\u0644\u0627\u0679\u0633 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <code>innerPadding<\/code> \u0644\u06c1\u0630\u0627 \u0645\u0648\u0627\u062f \u0627\u0633 \u0628\u0627\u0631 \u06a9\u06d2 \u067e\u06cc\u0686\u06be\u06d2 \u06cc\u0627 \u0633\u0633\u0679\u0645 \u0627\u0633\u0679\u06cc\u0679\u0633 \u0627\u0648\u0631 \u0646\u06cc\u0648\u06cc\u06af\u06cc\u0634\u0646 \u0628\u0627\u0631 \u06a9\u06d2 \u067e\u06cc\u0686\u06be\u06d2 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u06af\u0631 \u0641\u06c1\u0631\u0633\u062a \u062e\u0627\u0644\u06cc \u06c1\u06d2 \u062a\u0648\u060c \u0627\u0633\u06a9\u0631\u06cc\u0646 \u06a9\u06d2 \u0628\u06cc\u0686 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u067e\u06cc\u063a\u0627\u0645 \u0638\u0627\u06c1\u0631 \u06c1\u0648\u06af\u0627\u06d4 \u0628\u0635\u0648\u0631\u062a \u062f\u06cc\u06af\u0631 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba: <code>LazyColumn<\/code>\u0635\u0631\u0641 \u0645\u0648\u062c\u0648\u062f\u06c1 \u0646\u0638\u0631 \u0622\u0646\u06d2 \u0648\u0627\u0644\u06cc \u0642\u0637\u0627\u0631\u0648\u06ba \u06a9\u0648 \u06a9\u0646\u0641\u06cc\u06af\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <code>RecyclerView<\/code> \u067e\u0631\u0627\u0646\u06d2 \u0648\u06cc\u0648 \u0633\u0633\u0679\u0645 \u0645\u06cc\u06ba\u06d4<\/p>\n<p>\u06a9\u06c1 <code>key = { it.id }<\/code> \u0627\u0633\u062a\u062f\u0644\u0627\u0644 \u06c1\u0631 \u0642\u0637\u0627\u0631 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0645\u0633\u062a\u062d\u06a9\u0645 ID \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u062c\u0628 \u06a9\u0648\u0626\u06cc \u0646\u0648\u0679 \u062d\u0630\u0641 \u06c1\u0648 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u06a9\u0645\u067e\u0648\u0632 \u06a9\u0648 \u0628\u0627\u0644\u06a9\u0644 \u0645\u0639\u0644\u0648\u0645 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u06a9\u0633 \u0642\u0637\u0627\u0631 \u06a9\u0648 \u06c1\u0679\u0627\u0646\u0627 \u06c1\u06d2\u060c \u0628\u062c\u0627\u0626\u06d2 \u0627\u0633 \u06a9\u06d2 \u06a9\u06c1 \u0627\u0633 \u06a9\u06d2 \u0646\u06cc\u0686\u06d2 \u0645\u0648\u062c\u0648\u062f \u06c1\u0631 \u0686\u06cc\u0632 \u06a9\u0648 \u062f\u0648\u0628\u0627\u0631\u06c1 \u06a9\u06be\u06cc\u0646\u0686\u0627 \u062c\u0627\u0626\u06d2\u06d4<\/p>\n<p><code>NoteCard<\/code>    \u0627\u06cc\u06a9 \u0646\u0648\u0679 \u06a9\u06be\u06cc\u0646\u0686\u06cc\u06ba\u06d4 <code>Modifier<\/code> \u0632\u0646\u062c\u06cc\u0631\u06cc\u06ba \u062a\u0631\u062a\u06cc\u0628 \u0627\u0648\u0631 \u0627\u0639\u0645\u0627\u0644 \u06a9\u0648 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 <code>fillMaxWidth()<\/code> \u06a9\u0627\u0631\u0688 \u06a9\u0648 \u067e\u0648\u0631\u06cc \u0633\u06a9\u0631\u06cc\u0646 \u067e\u0631 \u067e\u06be\u06cc\u0644\u0627\u0626\u06cc\u06ba\u06d4 <code>clickable<\/code> \u067e\u0648\u0631\u06d2 \u06a9\u0627\u0631\u0688 \u06a9\u0648 \u0646\u0644\u06a9\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2 \u062c\u0648\u0627\u0628\u062f\u06c1 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0646\u062f\u0631\u0648\u0646\u06cc <code>Row<\/code>\u060c <code>Modifier.weight(1f)<\/code> \u0679\u06cc\u06a9\u0633\u0679 \u06a9\u0627\u0644\u0645 \u06a9\u0648 \u06c1\u062f\u0627\u06cc\u062a \u062f\u06cc\u06ba \u06a9\u06c1 \u0648\u06c1 \u0688\u06cc\u0644\u06cc\u0679 \u0628\u0679\u0646 \u06a9\u06cc \u067e\u06cc\u0645\u0627\u0626\u0634 \u06a9\u06d2 \u0628\u0639\u062f \u0628\u0627\u0642\u06cc \u062a\u0645\u0627\u0645 \u0627\u0641\u0642\u06cc \u062c\u06af\u06c1 \u06a9\u0648 \u0644\u06d2 \u0644\u06d2\u06d4 \u06a9\u06c1 <code>contentDescription<\/code> \u0622\u0626\u06cc\u06a9\u0646 \u06a9\u06cc \u0642\u062f\u0631 \u06a9\u0648 \u0679\u0627\u06a9 \u0628\u06cc\u06a9\u060c Android \u06a9\u06d2 \u0627\u0633\u06a9\u0631\u06cc\u0646 \u0631\u06cc\u0688\u0631 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0628\u0644\u0646\u062f \u0622\u0648\u0627\u0632 \u0633\u06d2 \u067e\u0691\u06be\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0688\u06cc\u0644\u06cc\u0679 \u0628\u0679\u0646 \u06a9\u06cc \u062a\u0641\u0635\u06cc\u0644 \u0645\u06cc\u06ba \u0646\u0648\u0679 \u0679\u0627\u0626\u0679\u0644 \u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u0679\u0627\u06a9 \u0628\u06cc\u06a9 \u0635\u0627\u0631\u0641\u06cc\u0646 &quot;\u0688\u06cc\u0644\u06cc\u0679&#8221; \u0628\u0679\u0646\u0648\u06ba \u06a9\u06cc \u0627\u06cc\u06a9 \u06c1\u06cc \u0642\u0637\u0627\u0631 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 &quot;\u06af\u0631\u0648\u0633\u0631\u06cc \u0688\u06cc\u0644\u06cc\u0679&#8221; \u0633\u0646\u06cc\u06ba \u06af\u06d2\u06d4<\/p>\n<h2 id=\"heading-how-to-build-the-note-editor-screen\">\u0646\u0648\u0679 \u0627\u06cc\u0688\u06cc\u0679\u0631 \u0627\u0633\u06a9\u0631\u06cc\u0646 \u06a9\u06cc\u0633\u06d2 \u0628\u0646\u0627\u0626\u06cc\u06ba<\/h2>\n<p>\u0627\u06cc\u0688\u06cc\u0679\u0631 \u0646\u0626\u06d2 \u0627\u0648\u0631 \u0645\u0648\u062c\u0648\u062f\u06c1 \u062f\u0648\u0646\u0648\u06ba \u062a\u0628\u0635\u0631\u0648\u06ba \u067e\u0631 \u06a9\u0627\u0631\u0631\u0648\u0627\u0626\u06cc \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0628\u0646\u0627\u0646\u0627 <code>ui\/NoteEditorScreen.kt<\/code>:<\/p>\n<pre><code class=\"language-kotlin\">package com.yourname.quicknotes.ui\n\nimport androidx.compose.foundation.layout.Column\nimport androidx.compose.foundation.layout.Spacer\nimport androidx.compose.foundation.layout.fillMaxSize\nimport androidx.compose.foundation.layout.fillMaxWidth\nimport androidx.compose.foundation.layout.height\nimport androidx.compose.foundation.layout.imePadding\nimport androidx.compose.foundation.layout.padding\nimport androidx.compose.material.icons.Icons\nimport androidx.compose.material.icons.automirrored.filled.ArrowBack\nimport androidx.compose.material3.ExperimentalMaterial3Api\nimport androidx.compose.material3.Icon\nimport androidx.compose.material3.IconButton\nimport androidx.compose.material3.OutlinedTextField\nimport androidx.compose.material3.Scaffold\nimport androidx.compose.material3.Text\nimport androidx.compose.material3.TextButton\nimport androidx.compose.material3.TopAppBar\nimport androidx.compose.runtime.Composable\nimport androidx.compose.runtime.LaunchedEffect\nimport androidx.compose.runtime.getValue\nimport androidx.compose.runtime.mutableStateOf\nimport androidx.compose.runtime.saveable.rememberSaveable\nimport androidx.compose.runtime.setValue\nimport androidx.compose.ui.Modifier\nimport androidx.compose.ui.unit.dp\n\n@OptIn(ExperimentalMaterial3Api::class)\n@Composable\nfun NoteEditorScreen(\n    noteId: Long?,\n    viewModel: NotesViewModel,\n    onDone: () -> Unit\n) {\n    var title by rememberSaveable { mutableStateOf(\"\") }\n    var body by rememberSaveable { mutableStateOf(\"\") }\n    var loaded by rememberSaveable { mutableStateOf(noteId == null) }\n\n    LaunchedEffect(noteId) {\n        if (noteId != null && !loaded) {\n            viewModel.getNote(noteId)?.let {\n                title = it.title\n                body = it.body\n            }\n            loaded = true\n        }\n    }\n\n    Scaffold(\n        topBar = {\n            TopAppBar(\n                title = { Text(if (noteId == null) \"New note\" else \"Edit note\") },\n                navigationIcon = {\n                    IconButton(onClick = onDone) {\n                        Icon(Icons.AutoMirrored.Filled.ArrowBack, contentDescription = \"Back\")\n                    }\n                },\n                actions = {\n                    TextButton(\n                        onClick = {\n                            viewModel.saveNote(noteId, title, body)\n                            onDone()\n                        },\n                        enabled = title.isNotBlank()\n                    ) {\n                        Text(\"Save\")\n                    }\n                }\n            )\n        }\n    ) { innerPadding ->\n        Column(\n            modifier = Modifier\n                .fillMaxSize()\n                .padding(innerPadding)\n                .imePadding()\n                .padding(16.dp)\n        ) {\n            OutlinedTextField(\n                value = title,\n                onValueChange = { title = it },\n                label = { Text(\"Title\") },\n                singleLine = true,\n                modifier = Modifier.fillMaxWidth()\n            )\n            Spacer(Modifier.height(12.dp))\n            OutlinedTextField(\n                value = body,\n                onValueChange = { body = it },\n                label = { Text(\"Note\") },\n                modifier = Modifier.fillMaxWidth().weight(1f)\n            )\n        }\n    }\n}\n<\/code><\/pre>\n<p>\u0627\u06cc\u0688\u06cc\u0679\u0631 \u0622\u067e \u06a9\u06d2 \u062f\u0627\u062e\u0644 \u06a9\u0631\u062f\u06c1 \u0645\u062a\u0646 \u06a9\u0648 \u0645\u0642\u0627\u0645\u06cc \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2\u06d4 <code>rememberSaveable<\/code>\u0627\u0633 \u0644\u06cc\u06d2 \u0622\u062f\u06be\u06d2 \u0644\u06a9\u06be\u06d2 \u06c1\u0648\u0626\u06d2 \u0646\u0648\u0679 \u06af\u0631\u062f\u0634 \u06a9\u06d2 \u0628\u0639\u062f \u0628\u06be\u06cc \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06a9\u06c1 <code>loaded<\/code> \u067e\u0631\u0686\u0645 \u0679\u0631\u06cc\u06a9 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0622\u06cc\u0627 \u06a9\u0648\u0626\u06cc \u0645\u0648\u062c\u0648\u062f\u06c1 \u0646\u0648\u0679 \u067e\u06c1\u0644\u06d2 \u06c1\u06cc \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u0633\u06d2 \u067e\u0691\u06be\u0627 \u062c\u0627 \u0686\u06a9\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0627\u0633 \u0637\u0631\u062d \u0634\u0631\u0648\u0639 \u06c1\u0648\u062a\u0627 \u06c1\u06d2: <code>true<\/code> \u0646\u06cc\u0627 \u0646\u0648\u0679 (\u0644\u0648\u0688 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0686\u06be \u0646\u06c1\u06cc\u06ba) \u0627\u0648\u0631 <code>false<\/code> \u0645\u0648\u062c\u0648\u062f\u06c1 \u0648\u0627\u0644\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2\u06d4<\/p>\n<p><code>LaunchedEffect(noteId)<\/code>    \u06cc\u06c1 \u06a9\u0648\u0631\u0679\u06cc\u0646 \u0686\u0644\u0627\u062a\u0627 \u06c1\u06d2 \u062c\u0628 \u06a9\u0645\u067e\u0648\u0632 \u0627\u06cc\u0628\u0644 \u067e\u06c1\u0644\u06cc \u0628\u0627\u0631 \u0638\u0627\u06c1\u0631 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633\u06d2 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0686\u0644\u0627\u062a\u0627 \u06c1\u06d2 \u062c\u0628: <code>noteId<\/code> \u062a\u0628\u062f\u06cc\u0644\u06cc \u0627\u0633 \u0645\u06cc\u06ba\u060c \u0627\u0633\u06a9\u0631\u06cc\u0646 ViewModel \u0633\u06d2 \u0627\u06cc\u06a9 \u0646\u0648\u0679 \u0645\u0627\u0646\u06af\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u0679\u0627\u0626\u0679\u0644 \u0627\u0648\u0631 \u0628\u0627\u0688\u06cc \u06a9\u0648 \u0679\u06cc\u06a9\u0633\u0679 \u0641\u06cc\u0644\u0688 \u0645\u06cc\u06ba \u06a9\u0627\u067e\u06cc \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0686\u06cc\u06a9 \u06a9\u0631 \u0631\u06c1\u0627 \u06c1\u06d2\u06d4 <code>loaded<\/code> \u067e\u0631\u06cc \u0644\u0648\u0688\u0646\u06af \u0627\u06c1\u0645 \u06c1\u06d2\u06d4 \u0627\u0633 \u062a\u0635\u062f\u06cc\u0642 \u06a9\u06d2 \u0628\u063a\u06cc\u0631\u060c \u0627\u0633\u06a9\u0631\u06cc\u0646 \u06a9\u0648 \u06af\u06be\u0645\u0627\u0646\u06d2 \u0633\u06d2 \u0627\u062b\u0631 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0634\u0631\u0648\u0639 \u06c1\u0648 \u062c\u0627\u0626\u06d2 \u06af\u0627 \u0627\u0648\u0631 \u0635\u0627\u0631\u0641 \u0646\u06d2 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u0645\u06cc\u06ba \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u062f\u06c1 \u0648\u0631\u0698\u0646 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u062c\u0648 \u062f\u0631\u062c \u06a9\u06cc\u0627 \u06c1\u06d2 \u0627\u0633\u06d2 \u0627\u0648\u0648\u0631 \u0631\u0627\u0626\u0679 \u06a9\u0631 \u062f\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4<\/p>\n<p><code>OutlinedTextField<\/code>    \u0645\u0648\u0627\u062f 3 \u0679\u06cc\u06a9\u0633\u0679 \u0627\u0646 \u067e\u0679\u06d4 \u062a\u062d\u0631\u06cc\u0631 \u0679\u06cc\u06a9\u0633\u0679 \u0641\u06cc\u0644\u0688 \u0627\u06cc\u06a9 \u06a9\u0646\u0679\u0631\u0648\u0644 \u0634\u062f\u06c1 \u062c\u0632\u0648 \u06c1\u06d2\u06d4 \u0641\u06cc\u0644\u0688 \u06a9\u0686\u06be \u0628\u06be\u06cc \u062f\u06a9\u06be\u0627\u062a\u0627 \u06c1\u06d2\u06d4 <code>value<\/code> \u0627\u0633\u06d2 \u062f\u0627\u062e\u0644 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u062c\u0628 \u0635\u0627\u0631\u0641 \u06a9\u0686\u06be \u062f\u0627\u062e\u0644 \u06a9\u0631\u06d2 \u06af\u0627 \u062a\u0648 \u0627\u0633\u06d2 \u0628\u0644\u0627\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4 <code>onValueChange<\/code> \u0646\u0626\u06d2 \u0645\u062a\u0646 \u06a9\u06d2 \u0633\u0627\u062a\u06be\u06d4 \u0627\u06af\u0631 \u0622\u067e \u0627\u067e \u0688\u06cc\u0679 \u06a9\u0631\u0646\u0627 \u0628\u06be\u0648\u0644 \u06af\u0626\u06d2 \u06c1\u06cc\u06ba\u06d4 <code>title<\/code> \u0627\u0633 \u06a9\u0627\u0644 \u0628\u06cc\u06a9 \u0645\u06cc\u06ba\u060c \u0641\u06cc\u0644\u0688 \u0645\u0646\u062c\u0645\u062f \u062f\u06a9\u06be\u0627\u0626\u06cc \u062f\u06cc\u062a\u06cc \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u06a9\u0645\u067e\u0648\u0632 \u067e\u0686\u06be\u0644\u06cc \u0642\u062f\u0631 \u06a9\u0648 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0628\u0646\u0627\u062a\u0627 \u0631\u06c1\u062a\u0627 \u06c1\u06d2\u06d4 \u062c\u0628 \u0679\u0627\u0626\u0679\u0644 \u062e\u0627\u0644\u06cc \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u062a\u0648 \u0633\u06cc\u0648 \u0628\u0679\u0646 \u06a9\u0648 \u063a\u06cc\u0631 \u0641\u0639\u0627\u0644 \u06a9\u0631 \u062f\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u062c\u0628 \u062f\u0628\u0627\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u062a\u0648 \u06cc\u06c1 \u0645\u062d\u0641\u0648\u0638 \u06c1\u0648 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0648\u06cc\u0648 \u0645\u0627\u0688\u0644 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0628\u0644\u0627\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 <code>onDone<\/code> \u0648\u0627\u067e\u0633 \u062c\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2\u06d4<\/p>\n<p><code>imePadding()<\/code>    \u0622\u0646 \u0627\u0633\u06a9\u0631\u06cc\u0646 \u06a9\u06cc \u0628\u0648\u0631\u0688 \u06a9\u06cc \u0627\u0648\u0646\u0686\u0627\u0626\u06cc \u06a9\u06d2 \u0628\u0631\u0627\u0628\u0631 \u0646\u06cc\u0686\u06d2 \u062c\u06af\u06c1 \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba\u060c \u062a\u0627\u06a9\u06c1 \u06a9\u06cc \u0628\u0648\u0631\u0688 \u06a9\u06d2 \u067e\u06cc\u0686\u06be\u06d2 \u0686\u06be\u067e\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0628\u0627\u0688\u06cc \u0641\u06cc\u0644\u0688 \u0633\u06a9\u0691 \u062c\u0627\u0626\u06d2\u06d4 \u067e\u06cc\u0686\u06be\u06d2 \u06a9\u0627 \u062a\u06cc\u0631 <code>AutoMirrored<\/code> \u0622\u0626\u06cc\u06a9\u0646\u0632 \u06a9\u0627 \u0627\u06cc\u06a9 \u0633\u06cc\u0679 \u062c\u0648 \u062e\u0648\u062f \u0628\u062e\u0648\u062f \u062f\u0627\u0626\u06cc\u06ba \u0633\u06d2 \u0628\u0627\u0626\u06cc\u06ba \u062a\u0628\u062f\u06cc\u0644 \u06c1\u0648 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0628\u0634\u0645\u0648\u0644 \u0639\u0631\u0628\u06cc \u0627\u0648\u0631 \u0639\u0628\u0631\u0627\u0646\u06cc\u06d4<\/p>\n<h2 id=\"heading-how-to-add-navigation-with-navigation-3\">\u0646\u06cc\u0648\u06cc\u06af\u06cc\u0634\u0646 3 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0646\u06cc\u0648\u06cc\u06af\u06cc\u0634\u0646 \u06a9\u06cc\u0633\u06d2 \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/h2>\n<p>\u0646\u06cc\u0648\u06cc\u06af\u06cc\u0634\u0646 3 Jetpack \u0679\u06cc\u0645 \u06a9\u06cc \u0637\u0631\u0641 \u0633\u06d2 \u06a9\u0645\u067e\u0648\u0632 \u0641\u0631\u0633\u0679 \u0646\u06cc\u0648\u06cc\u06af\u06cc\u0634\u0646 \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc \u06c1\u06d2\u06d4 \u067e\u0686\u06be\u0644\u06cc \u0646\u06cc\u0648\u06cc\u06af\u06cc\u0634\u0646 \u06a9\u0645\u067e\u0648\u0632 \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc \u06a9\u0648 \u0679\u06a9\u0691\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2 \u0688\u06cc\u0632\u0627\u0626\u0646 \u06a9\u06cc\u06d2 \u06af\u0626\u06d2 \u0633\u0633\u0679\u0645 \u0633\u06d2 \u0688\u06be\u0627\u0644 \u0644\u06cc\u0627 \u06af\u06cc\u0627 \u062a\u06be\u0627 \u0627\u0648\u0631 \u0628\u06cc\u06a9 \u0627\u0633\u0679\u06cc\u06a9 \u06a9\u0648 \u0627\u0646\u062f\u0631\u0648\u0646\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0645\u0644\u06a9\u06cc\u062a \u0633\u0645\u062c\u06be\u0627 \u06af\u06cc\u0627 \u062a\u06be\u0627\u06d4<\/p>\n<p>\u0627\u06cc\u06a9\u0633\u067e\u0644\u0648\u0631\u06cc\u0634\u0646 3 \u0627\u0633 \u06a9\u06d2 \u0628\u0631\u0639\u06a9\u0633 \u0637\u0631\u06cc\u0642\u06c1 \u0627\u062e\u062a\u06cc\u0627\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0628\u06cc\u06a9 \u0627\u0633\u0679\u06cc\u06a9 \u0627\u06cc\u06a9 \u0628\u0627\u0642\u0627\u0639\u062f\u06c1 \u0641\u06c1\u0631\u0633\u062a \u06c1\u06d2 \u062c\u0648 \u0635\u0627\u0631\u0641 \u06a9\u06cc \u0645\u0644\u06a9\u06cc\u062a \u06c1\u06d2 \u0627\u0648\u0631 \u0646\u06cc\u0648\u06cc\u06af\u06cc\u0634\u0646 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u0627\u0633 \u0641\u06c1\u0631\u0633\u062a \u0645\u06cc\u06ba \u0633\u06d2 \u0622\u0626\u0679\u0645\u0632 \u06a9\u0648 \u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u0627 \u06cc\u0627 \u06c1\u0679\u0627\u0646\u0627\u06d4 \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc \u0641\u06c1\u0631\u0633\u062a \u06a9\u0627 \u0645\u0634\u0627\u06c1\u062f\u06c1 \u06a9\u0631\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u0633\u0628 \u0633\u06d2 \u0627\u0648\u067e\u0631 \u06a9\u0644\u06cc\u062f \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0627\u0633\u06a9\u0631\u06cc\u0646 \u062f\u06a9\u06be\u0627\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0633\u0628 \u0633\u06d2 \u067e\u06c1\u0644\u06d2\u060c \u06c1\u0631 \u0627\u0633\u06a9\u0631\u06cc\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0644\u06cc\u062f\u0648\u06ba \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u06cc\u06ba\u06d4 <code>navigation\/NavKeys.kt<\/code>:<\/p>\n<pre><code class=\"language-kotlin\">package com.yourname.quicknotes.navigation\n\nimport androidx.navigation3.runtime.NavKey\nimport kotlinx.serialization.Serializable\n\n@Serializable\ndata object NoteList : NavKey\n\n@Serializable\ndata class NoteEditor(val noteId: Long? = null) : NavKey\n<\/code><\/pre>\n<p>\u06c1\u0631 \u06c1\u062f\u0641 \u0627\u06cc\u06a9 \u0642\u0633\u0645 \u06c1\u06d2 \u062c\u0648 \u0644\u0627\u06af\u0648 \u06a9\u0631\u062a\u0627 \u06c1\u06d2: <code>NavKey<\/code>. <code>NoteList<\/code> \u0686\u0648\u0646\u06a9\u06c1 \u06cc\u06c1 \u06a9\u0648\u0626\u06cc \u062f\u0644\u06cc\u0644 \u0646\u06c1\u06cc\u06ba \u0644\u06cc\u062a\u0627 \u06c1\u06d2\u06d4 <code>data object<\/code>\u067e\u0691\u06be\u0646\u06d2 \u06a9\u06d2 \u0642\u0627\u0628\u0644 \u0633\u0646\u06af\u0644\u0679\u0646 <code>toString<\/code>.<\/p>\n<p><code>NoteEditor<\/code>    \u0627\u06cc\u06a9 \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc \u0646\u0648\u0679 ID \u067e\u0627\u0633 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <code>null<\/code> \u0627\u0633 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 &quot;\u0627\u06cc\u06a9 \u0646\u06cc\u0627 \u0646\u0648\u0679 \u0628\u0646\u0627\u0626\u06cc\u06ba\u06d4&#8221; \u0686\u0648\u0646\u06a9\u06c1 \u0622\u0631\u06af\u06cc\u0648\u0645\u06cc\u0646\u0679\u0633 URL \u067e\u0627\u062a\u06be \u0645\u06cc\u06ba \u0645\u0648\u062c\u0648\u062f \u0633\u0679\u0631\u0646\u06af\u0632 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0679\u0627\u0626\u067e \u06a9\u06cc \u06af\u0626\u06cc \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u06c1\u06cc\u06ba\u060c \u06a9\u0645\u067e\u0627\u0626\u0644\u0631 \u063a\u0644\u0637 \u0642\u0633\u0645\u0648\u06ba \u06a9\u0648 \u067e\u0627\u0633 \u06a9\u0631\u0646\u06d2 \u062c\u06cc\u0633\u06cc \u063a\u0644\u0637\u06cc\u0648\u06ba \u06a9\u0648 \u067e\u06a9\u0691\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u06c1 <code>@Serializable<\/code> \u062a\u0634\u0631\u06cc\u062d\u0627\u062a \u0646\u06cc\u0648\u06cc\u06af\u06cc\u0634\u0646 3 \u06a9\u0648 \u0628\u06cc\u06a9 \u0627\u0633\u0679\u06cc\u06a9 \u06a9\u0648 \u0628\u0686\u0627\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u06cc \u06c1\u06cc\u06ba \u062c\u0628 \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u0627\u06cc\u067e \u06a9\u0648 \u067e\u0633 \u0645\u0646\u0638\u0631 \u0645\u06cc\u06ba \u0645\u0627\u0631 \u062f\u06cc\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0635\u0627\u0631\u0641 \u06a9\u06d2 \u0648\u0627\u067e\u0633 \u0622\u0646\u06d2 \u067e\u0631 \u0627\u0633\u06d2 \u0628\u062d\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0633\u06cc \u0644\u06cc\u06d2 \u0633\u06cc\u0631\u06cc\u0644\u0627\u0626\u0632\u06cc\u0634\u0646 \u067e\u0644\u06af \u0627\u0646 \u06a9\u0648 \u067e\u06c1\u0644\u06d2 \u0634\u0627\u0645\u0644 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u062a\u06be\u0627\u06d4<\/p>\n<p>\u0627\u0628 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u06cc\u06ba\u06d4 <code>MainActivity.kt<\/code> \u06a9\u06d2 \u0633\u0627\u062a\u06be:<\/p>\n<pre><code class=\"language-kotlin\">package com.yourname.quicknotes\n\nimport android.os.Bundle\nimport androidx.activity.ComponentActivity\nimport androidx.activity.compose.setContent\nimport androidx.activity.enableEdgeToEdge\nimport androidx.compose.runtime.Composable\nimport androidx.lifecycle.viewmodel.compose.viewModel\nimport androidx.navigation3.runtime.entryProvider\nimport androidx.navigation3.runtime.rememberNavBackStack\nimport androidx.navigation3.ui.NavDisplay\nimport com.yourname.quicknotes.navigation.NoteEditor\nimport com.yourname.quicknotes.navigation.NoteList\nimport com.yourname.quicknotes.ui.NoteEditorScreen\nimport com.yourname.quicknotes.ui.NoteListScreen\nimport com.yourname.quicknotes.ui.NotesViewModel\nimport com.yourname.quicknotes.ui.theme.QuickNotesTheme\n\nclass MainActivity : ComponentActivity() {\n    override fun onCreate(savedInstanceState: Bundle?) {\n        super.onCreate(savedInstanceState)\n        enableEdgeToEdge()\n        setContent {\n            QuickNotesTheme {\n                QuickNotesNavHost()\n            }\n        }\n    }\n}\n\n@Composable\nfun QuickNotesNavHost() {\n    val backStack = rememberNavBackStack(NoteList)\n    val notesViewModel: NotesViewModel = viewModel(factory = NotesViewModel.Factory)\n\n    NavDisplay(\n        backStack = backStack,\n        onBack = { backStack.removeLastOrNull() },\n        entryProvider = entryProvider {\n            entry<notelist> {\n                NoteListScreen(\n                    viewModel = notesViewModel,\n                    onAddNote = { backStack.add(NoteEditor()) },\n                    onOpenNote = { id -> backStack.add(NoteEditor(id)) }\n                )\n            }\n            entry<noteeditor> { key ->\n                NoteEditorScreen(\n                    noteId = key.noteId,\n                    viewModel = notesViewModel,\n                    onDone = { backStack.removeLastOrNull() }\n                )\n            }\n        }\n    )\n}\n<\/noteeditor><\/notelist><\/code><\/pre>\n<p><code>MainActivity<\/code>    \u0627\u0628 \u0622\u067e \u0635\u0631\u0641 \u0627\u06cc\u06a9 \u0645\u06cc\u0632\u0628\u0627\u0646 \u06c1\u06cc\u06ba\u06d4 <code>enableEdgeToEdge()<\/code> \u0627\u06cc\u067e \u06a9\u0648 \u0627\u0633\u0679\u06cc\u0679\u0633 \u0628\u0627\u0631 \u0627\u0648\u0631 \u0646\u06cc\u0648\u06cc\u06af\u06cc\u0634\u0646 \u0628\u0627\u0631 \u06a9\u06d2 \u067e\u06cc\u0686\u06be\u06d2 \u06a9\u06be\u06cc\u0646\u0686\u0646\u06d2 \u067e\u0631 \u0645\u062c\u0628\u0648\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 (\u0627\u06af\u0644\u06d2 \u062d\u0635\u06d2 \u0645\u06cc\u06ba \u0627\u0633 \u067e\u0631 \u0645\u0632\u06cc\u062f)\u06d4 <code>setContent<\/code> \u0645\u0648\u062c\u0648\u062f\u06c1 XML \u0644\u06d2 \u0622\u0624\u0679 \u06a9\u0648 \u0627\u06cc\u06a9 \u0679\u06cc\u0645\u067e\u0644\u06cc\u0679 \u0633\u06d2 \u062a\u06cc\u0627\u0631 \u06a9\u0631\u062f\u06c1 \u062a\u06be\u06cc\u0645 \u0645\u06cc\u06ba \u0644\u067e\u06cc\u0679\u06d2 \u06c1\u0648\u0626\u06d2 \u06a9\u0645\u067e\u0648\u0632 \u0679\u0631\u06cc \u0633\u06d2 \u0628\u062f\u0644 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p><code>QuickNotesNavHost<\/code>    \u06cc\u06c1 \u0648\u06c1 \u062c\u06af\u06c1 \u06c1\u06d2 \u062c\u06c1\u0627\u06ba \u0646\u06cc\u0648\u06cc\u06af\u06cc\u0634\u0646 \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4 <code>rememberNavBackStack(NoteList)<\/code> \u0627\u06cc\u06a9 \u0630\u062e\u06cc\u0631\u06c1 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0642\u0627\u0628\u0644 \u0628\u06cc\u06a9 \u0627\u0633\u0679\u06cc\u06a9 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u0641\u06c1\u0631\u0633\u062a \u0627\u0633\u06a9\u0631\u06cc\u0646 \u0633\u06d2 \u0634\u0631\u0648\u0639 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u0648\u06cc\u0648 \u0645\u0627\u0688\u0644 \u0627\u06cc\u06a9 \u0628\u0627\u0631 \u0627\u0633 \u0641\u06cc\u06a9\u0679\u0631\u06cc \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0628\u0646\u0627\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u062c\u0633\u06d2 \u06c1\u0645 \u0646\u06d2 \u067e\u06c1\u0644\u06d2 \u0628\u0646\u0627\u06cc\u0627 \u062a\u06be\u0627 \u0627\u0648\u0631 \u062f\u0648\u0646\u0648\u06ba \u0627\u0633\u06a9\u0631\u06cc\u0646\u0648\u06ba \u067e\u0631 \u0627\u0633 \u06a9\u0627 \u0627\u0634\u062a\u0631\u0627\u06a9 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u06cc\u06c1 \u0627\u06cc\u06a9 \u06c1\u06cc \u0646\u0648\u0679\u0633 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p><code>NavDisplay<\/code>    \u0627\u0633\u0679\u06cc\u06a9 \u06a9\u06d2 \u0627\u0648\u067e\u0631\u06cc \u062d\u0635\u06d2 \u0645\u06cc\u06ba \u06a9\u0644\u06cc\u062f \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0622\u0626\u0679\u0645 \u067e\u06cc\u0634 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u06c1 <code>entryProvider<\/code> \u0628\u0644\u0627\u06a9 \u06c1\u0631 \u06a9\u0644\u06cc\u062f\u06cc \u0642\u0633\u0645 \u06a9\u0648 \u0627\u06cc\u06a9 \u06a9\u0645\u067e\u0648\u0632 \u0627\u06cc\u0628\u0644 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0646\u0642\u0634\u06c1 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2: <code>entry<t\/><\/code>. \u06a9\u06d2 \u0644\u06cc\u06d2 <code>NoteEditor<\/code>\u0644\u06cc\u0645\u0628\u0688\u0627 \u06a9\u0648 \u0627\u06cc\u06a9 \u0627\u06c1\u0645 \u0645\u062b\u0627\u0644 \u0645\u0644\u062a\u06cc \u06c1\u06d2\u060c \u0644\u06c1\u0630\u0627 <code>key.noteId<\/code> \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u0627\u0646 \u067e\u0679 \u062f\u0644\u0627\u0626\u0644 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0622\u06af\u06d2 \u0628\u0691\u06be\u0646\u0627 \u06c1\u06d2 <code>backStack.add(...)<\/code> \u0627\u0648\u0631 \u0648\u0627\u067e\u0633 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2 <code>backStack.removeLastOrNull()<\/code>. \u06cc\u06c1 \u0628\u0646\u06cc\u0627\u062f\u06cc \u0646\u06cc\u0648\u06cc\u06af\u06cc\u0634\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u06a9\u0645\u0644 API \u06c1\u06d2\u06d4<\/p>\n<p><code>onBack<\/code>    \u06a9\u0627\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u062c\u0628 \u0635\u0627\u0631\u0641 \u0633\u0633\u0679\u0645 \u0628\u06cc\u06a9 \u0628\u0679\u0646 \u062f\u0628\u0627\u062a\u0627 \u06c1\u06d2 \u06cc\u0627 \u0628\u06cc\u06a9 \u0627\u06cc\u06a9\u0634\u0646 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0679\u0627\u067e \u0644\u06cc\u0648\u0644 \u0622\u0626\u0679\u0645 \u06a9\u0648 \u06c1\u0679\u0627 \u062f\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0646\u06cc\u0648\u06cc\u06af\u06cc\u0634\u0646 3 \u0644\u06a9 \u0628\u06cc\u06a9 \u06a9\u0648 \u0628\u06be\u06cc \u0633\u067e\u0648\u0631\u0679 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0627\u06cc\u06a9 \u0627\u06cc\u0646\u06cc\u0645\u06cc\u0634\u0646 \u062c\u0648 \u067e\u0686\u06be\u0644\u06cc \u0627\u0633\u06a9\u0631\u06cc\u0646 \u067e\u0631 \u062c\u06be\u0627\u0646\u06a9\u062a\u06cc \u06c1\u06d2 \u062c\u0628 \u0635\u0627\u0631\u0641 \u0628\u063a\u06cc\u0631 \u06a9\u0633\u06cc \u0627\u0636\u0627\u0641\u06cc \u06a9\u0648\u0688 \u06a9\u06d2 \u0633\u0648\u0627\u0626\u067e \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0628\u06be\u06cc \u0627\u06cc\u067e \u0686\u0644\u0627\u0646\u06d2 \u06a9\u06cc \u06a9\u0648\u0634\u0634 \u06a9\u0631\u06cc\u06ba\u06d4 \u0622\u067e \u06a9\u0648 \u0627\u06cc\u06a9 \u0646\u0648\u0679 \u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0642\u0627\u0628\u0644 \u06c1\u0648\u0646\u0627 \u0686\u0627\u06c1\u0626\u06d2\u060c \u062f\u06cc\u06a9\u06be\u06cc\u06ba \u06a9\u06c1 \u0622\u06cc\u0627 \u0646\u0648\u0679 \u0641\u06c1\u0631\u0633\u062a \u0645\u06cc\u06ba \u0638\u0627\u06c1\u0631 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0633 \u0645\u06cc\u06ba \u062a\u0631\u0645\u06cc\u0645 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0646\u0648\u0679 \u067e\u0631 \u0679\u06cc\u067e \u06a9\u0631\u06cc\u06ba\u060c \u0646\u0648\u0679 \u06a9\u0648 \u062d\u0630\u0641 \u06a9\u0631\u06cc\u06ba\u060c \u0627\u067e\u0646\u06d2 \u0622\u0644\u06d2 \u06a9\u0648 \u06a9\u0686\u06be \u0628\u06be\u06cc \u06a9\u06be\u0648\u0626\u06d2 \u0628\u063a\u06cc\u0631 \u06af\u06be\u0645\u0627\u0626\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0627\u06cc\u067e \u06a9\u0648 \u0628\u0646\u062f \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u062f\u0648\u0628\u0627\u0631\u06c1 \u06a9\u06be\u0648\u0644\u06cc\u06ba \u0627\u0648\u0631 \u0622\u067e \u06a9\u06d2 \u062a\u0645\u0627\u0645 \u0646\u0648\u0679 \u0627\u0628\u06be\u06cc \u0628\u06be\u06cc \u0628\u0631\u0642\u0631\u0627\u0631 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-how-to-handle-theming-and-edge-to-edge-display\">\u062a\u06be\u06cc\u0645 \u06a9\u06cc\u0633\u06d2 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u06ba \u0627\u0648\u0631 Edge-to-Edge \u0688\u0633\u067e\u0644\u06d2 \u06a9\u0648 \u06c1\u06cc\u0646\u0688\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/h2>\n<p>\u0622\u067e \u06a9\u0627 \u0679\u06cc\u0645\u067e\u0644\u06cc\u0679 \u0628\u0646\u0627 \u062f\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4 <code>ui\/theme<\/code> \u067e\u06cc\u06a9\u062c <code>Color.kt<\/code>\u060c <code>Type.kt<\/code>\u0627\u0648\u0631 <code>Theme.kt<\/code>. \u062a\u06be\u06cc\u0645 \u06a9\u06cc \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u062a\u0642\u0631\u06cc\u0628\u0627\u064b \u062f\u0631\u062c \u0630\u06cc\u0644 \u06c1\u06cc\u06ba:<\/p>\n<pre><code class=\"language-kotlin\">@Composable\nfun QuickNotesTheme(\n    darkTheme: Boolean = isSystemInDarkTheme(),\n    dynamicColor: Boolean = true,\n    content: @Composable () -> Unit\n) {\n    val colorScheme = when {\n        dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> {\n            val context = LocalContext.current\n            if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context)\n        }\n        darkTheme -> DarkColorScheme\n        else -> LightColorScheme\n    }\n\n    MaterialTheme(\n        colorScheme = colorScheme,\n        typography = Typography,\n        content = content\n    )\n}\n<\/code><\/pre>\n<p><code>MaterialTheme<\/code>    \u06c1\u0645 \u0630\u06cc\u0644 \u0645\u06cc\u06ba \u062a\u0645\u0627\u0645 \u0645\u06cc\u0679\u0631\u06cc\u0644 3 \u0627\u062c\u0632\u0627\u0621 \u06a9\u0648 \u0631\u0646\u06af \u0627\u0648\u0631 \u0646\u0648\u0639 \u0679\u0627\u0626\u067e \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u06a9\u0627\u0644\u0648\u06ba \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u06cc\u0633\u06d2: <code>MaterialTheme.typography.titleMedium<\/code> \u0622\u067e \u06a9\u06cc \u0633\u06a9\u0631\u06cc\u0646 \u06a9\u06d2 \u06a9\u0627\u0645 \u0645\u06cc\u06ba\u06d4<\/p>\n<p>\u06a9\u06c1 <code>when<\/code> \u0628\u0644\u0627\u06a9\u0633 \u0631\u0646\u06af \u0633\u06a9\u06cc\u0645 \u06a9\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 Android 12 (API 31\u060c <code>VERSION_CODES.S<\/code>) \u0627\u0648\u0631 \u062a\u0627\u0632\u06c1 \u062a\u0631\u06cc\u0646 \u0688\u0627\u0626\u0646\u0627\u0645\u06a9 \u06a9\u0644\u0631\u0632 \u0635\u0627\u0631\u0641 \u06a9\u06d2 \u0648\u0627\u0644 \u067e\u06cc\u067e\u0631 \u0633\u06d2 \u0627\u06cc\u06a9 \u067e\u06cc\u0644\u06cc\u0679 \u062a\u06cc\u0627\u0631 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062c\u0633 \u0633\u06d2 \u0627\u06cc\u067e \u06a9\u0648 \u0628\u0627\u0642\u06cc \u0641\u0648\u0646 \u0633\u06d2 \u0645\u0645\u0627\u062b\u0644\u062a \u0645\u0644\u062a\u06cc \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u0622\u067e \u0627\u0633\u06d2 \u067e\u0686\u06be\u0644\u06d2 \u0648\u0631\u0698\u0646 \u0645\u06cc\u06ba \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba \u06cc\u0627 <code>dynamicColor<\/code> \u06a9\u0648 <code>false<\/code>\u067e\u0646\u0646\u06af \u067e\u0631 \u0648\u0627\u067e\u0633 \u062c\u0627\u0626\u06cc\u06ba\u06d4 <code>LightColorScheme<\/code> \u0627\u0648\u0631 <code>DarkColorScheme<\/code> \u0645\u06cc\u06ba \u0628\u06cc\u0627\u0646 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4 <code>Color.kt<\/code>. <code>isSystemInDarkTheme()<\/code> \u0633\u0633\u0679\u0645 \u0688\u0627\u0631\u06a9 \u0645\u0648\u0688 \u0633\u06cc\u0679\u0646\u06af\u0632 \u067e\u0631 \u0639\u0645\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u06af\u0631 \u0622\u067e \u06c1\u0631 \u062c\u06af\u06c1 \u0645\u0633\u062a\u0642\u0644 \u0628\u0631\u0627\u0646\u0688 \u06a9\u06d2 \u0631\u0646\u06af \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u060c <code>dynamicColor = false<\/code> \u0631\u0646\u06af\u0648\u06ba \u0645\u06cc\u06ba \u062a\u0631\u0645\u06cc\u0645 \u06a9\u0631\u06cc\u06ba\u06d4 <code>Color.kt<\/code>. \u0645\u0679\u06cc\u0631\u06cc\u0644 \u062a\u06be\u06cc\u0645 \u0628\u0644\u0688\u0631 \u0627\u06cc\u06a9 \u0628\u06cc\u062c \u06a9\u06d2 \u0631\u0646\u06af \u0633\u06d2 \u0645\u06a9\u0645\u0644 \u06c1\u0644\u06a9\u06d2 \u0627\u0648\u0631 \u06af\u06c1\u0631\u06d2 \u0631\u0646\u06af\u0648\u06ba \u06a9\u06cc \u0633\u06a9\u06cc\u0645\u06cc\u06ba \u062a\u06cc\u0627\u0631 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>Edge-to-Edge \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0627\u06cc\u067e \u0633\u0633\u0679\u0645 \u06a9\u06cc \u0633\u0644\u0627\u062e\u0648\u06ba \u06a9\u06d2 \u067e\u06cc\u0686\u06be\u06d2 \u06a9\u06be\u06cc\u0646\u0686\u06cc \u06af\u0626\u06cc \u06c1\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u06a9\u06c1 \u0627\u0646 \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u0648\u0627\u0644\u06d2 \u0628\u0627\u06a9\u0633 \u06a9\u06d2 \u0627\u0646\u062f\u0631\u06d4 \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 15 \u0627\u0648\u0631 \u0627\u0633 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u06a9\u0648 \u0646\u0634\u0627\u0646\u06c1 \u0628\u0646\u0627\u0646\u06d2 \u0648\u0627\u0644\u06cc \u0627\u06cc\u067e\u0633 Edge-to-Edge \u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0622\u067e\u0679 \u0622\u0624\u0679 \u0641\u06cc\u0686\u0631 \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 16 \u0633\u06d2 \u0634\u0631\u0648\u0639 \u06c1\u0648 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u06c1 <code>enableEdgeToEdge()<\/code> \u06a9\u0627\u0644 <code>MainActivity<\/code> \u067e\u0631\u0627\u0646\u06d2 Android \u0648\u0631\u0698\u0646\u0632 \u0645\u06cc\u06ba \u0628\u0631\u062a\u0627\u0624 \u06a9\u0648 \u06cc\u06a9\u0633\u0627\u06ba \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0633\u0633\u0679\u0645 \u0628\u0627\u0631 \u06a9\u06d2 \u0622\u0626\u06cc\u06a9\u0646\u0632 \u06a9\u0648 \u0635\u062d\u06cc\u062d \u06c1\u0644\u06a9\u06d2 \u06cc\u0627 \u06af\u06c1\u0631\u06d2 \u0631\u0646\u06af\u0648\u06ba \u067e\u0631 \u0633\u06cc\u0679 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u06cc\u06c1 \u062f\u0648\u0646\u0648\u06ba \u0633\u06a9\u0631\u06cc\u0646 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <code>Scaffold<\/code> \u0627\u0648\u0631 \u0627\u0633\u06d2 \u0644\u0627\u06af\u0648 \u06a9\u0631\u06cc\u06ba <code>innerPadding<\/code>\u0622\u067e \u06a9\u0627 \u0645\u0648\u0627\u062f \u067e\u06c1\u0644\u06d2 \u06c1\u06cc \u0628\u0627\u0631\u0632 \u0633\u06d2 \u06af\u0631\u06cc\u0632 \u06a9\u0631 \u0631\u06c1\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u062c\u0628 \u0628\u063a\u06cc\u0631 \u0627\u0633\u06a9\u0631\u06cc\u0646 \u06a9\u06cc \u062a\u0639\u0645\u06cc\u0631 <code>Scaffold<\/code>\u0627\u0633 \u0637\u0631\u062d \u0645\u0648\u0688\u06cc\u0641\u0627\u0626\u0631 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba: <code>Modifier.safeDrawingPadding()<\/code> \u06cc\u0627 <code>Modifier.systemBarsPadding()<\/code> \u0679\u06cc\u06a9\u0633\u0679 \u0627\u0648\u0631 \u0628\u0679\u0646\u0632 \u06a9\u0648 \u0627\u0633\u0679\u06cc\u0679\u0633 \u0628\u0627\u0631 \u0627\u0648\u0631 \u0627\u06cc\u06a9\u0634\u0646 \u0627\u06cc\u0631\u06cc\u0627 \u06a9\u06d2 \u0646\u06cc\u0686\u06d2 \u0638\u0627\u06c1\u0631 \u06c1\u0648\u0646\u06d2 \u0633\u06d2 \u0631\u0648\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-how-to-test-your-composables\">\u06a9\u0645\u067e\u0648\u0632 \u0627\u06cc\u0628\u0644 \u06a9\u06cc \u062c\u0627\u0646\u0686 \u06a9\u06cc\u0633\u06d2 \u06a9\u0631\u06cc\u06ba\u06d4<\/h2>\n<p>\u06a9\u06cc\u0648\u0646\u06a9\u06c1 <code>NoteListContent<\/code> \u0627\u06af\u0631 \u06cc\u06c1 \u0628\u06d2 \u0648\u0637\u0646 \u06c1\u06d2\u060c \u062a\u0648 \u0622\u067e \u062c\u0639\u0644\u06cc \u0641\u06c1\u0631\u0633\u062a \u067e\u0627\u0633 \u06a9\u0631\u06a9\u06d2 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06cc\u0627 ViewModel \u06a9\u06d2 \u0628\u063a\u06cc\u0631 \u0627\u0633 \u06a9\u06cc \u062c\u0627\u0646\u0686 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0628\u0646\u0627\u0646\u0627 <code>app\/src\/androidTest\/java\/com\/yourname\/quicknotes\/NoteListContentTest.kt<\/code>:<\/p>\n<pre><code class=\"language-kotlin\">package com.yourname.quicknotes\n\nimport androidx.compose.ui.test.assertIsDisplayed\nimport androidx.compose.ui.test.junit4.createComposeRule\nimport androidx.compose.ui.test.onNodeWithContentDescription\nimport androidx.compose.ui.test.onNodeWithText\nimport androidx.compose.ui.test.performClick\nimport com.yourname.quicknotes.data.Note\nimport com.yourname.quicknotes.ui.NoteListContent\nimport org.junit.Assert.assertEquals\nimport org.junit.Rule\nimport org.junit.Test\n\nclass NoteListContentTest {\n\n    @get:Rule\n    val composeRule = createComposeRule()\n\n    @Test\n    fun showsEmptyMessageWhenThereAreNoNotes() {\n        composeRule.setContent {\n            NoteListContent(notes = emptyList(), onAddNote = {}, onOpenNote = {}, onDeleteNote = {})\n        }\n\n        composeRule.onNodeWithText(\"No notes yet\").assertIsDisplayed()\n    }\n\n    @Test\n    fun tappingANoteReportsItsId() {\n        var openedId: Long? = null\n        val notes = listOf(Note(id = 42, title = \"Groceries\", body = \"Milk, eggs\"))\n\n        composeRule.setContent {\n            NoteListContent(\n                notes = notes,\n                onAddNote = {},\n                onOpenNote = { openedId = it },\n                onDeleteNote = {}\n            )\n        }\n\n        composeRule.onNodeWithText(\"Groceries\").performClick()\n        assertEquals(42L, openedId)\n    }\n\n    @Test\n    fun deleteButtonIsLabelledForScreenReaders() {\n        val notes = listOf(Note(id = 1, title = \"Groceries\", body = \"\"))\n\n        composeRule.setContent {\n            NoteListContent(notes = notes, onAddNote = {}, onOpenNote = {}, onDeleteNote = {})\n        }\n\n        composeRule.onNodeWithContentDescription(\"Delete Groceries\").assertIsDisplayed()\n    }\n}\n<\/code><\/pre>\n<p><code>createComposeRule()<\/code>    \u0627\u06cc\u06a9 \u062e\u0627\u0644\u06cc \u0633\u0631\u06af\u0631\u0645\u06cc \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u06ba\u06d4 <code>setContent<\/code> \u062a\u0645\u0627\u0645 \u06a9\u0645\u067e\u0648\u0632 \u0627\u06cc\u0628\u0644\u0632 \u06a9\u0648 \u062a\u0646\u06c1\u0627\u0626\u06cc \u0645\u06cc\u06ba \u067e\u06cc\u0634 \u06a9\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 \u062a\u062d\u0631\u06cc\u0631\u06cc \u0679\u06cc\u0633\u0679 \u0627\u06cc\u06a9 \u0633\u06cc\u0645\u0646\u0679\u06a9 \u0679\u0631\u06cc \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0639\u0646\u0627\u0635\u0631 \u06a9\u0648 \u062a\u0644\u0627\u0634 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062c\u0648 \u0627\u06cc\u06a9\u0633\u06cc\u0628\u0644\u0679\u06cc \u0633\u0631\u0648\u0633 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06c1 \u067e\u0691\u06be\u0627 \u062c\u0627\u0646\u06d2 \u0648\u0627\u0644\u0627 \u0648\u06c1\u06cc \u0688\u06be\u0627\u0646\u0686\u06c1 \u06c1\u06d2\u06d4 <code>onNodeWithText<\/code> \u0645\u0631\u0626\u06cc \u0645\u062a\u0646 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06c1 \u0646\u0648\u0688\u0633 \u062a\u0644\u0627\u0634 \u06a9\u0631\u06cc\u06ba\u06d4 <code>onNodeWithContentDescription<\/code> \u0642\u0627\u0628\u0644 \u0631\u0633\u0627\u0626\u06cc \u0644\u06cc\u0628\u0644 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u06cc\u06a9 \u062a\u0644\u0627\u0634 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u067e\u06c1\u0644\u0627 \u0679\u06cc\u0633\u0679 \u0686\u06cc\u06a9 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0622\u06cc\u0627 \u0641\u06c1\u0631\u0633\u062a \u062e\u0627\u0644\u06cc \u06c1\u0648\u0646\u06d2 \u067e\u0631 \u062e\u0627\u0644\u06cc \u062d\u0627\u0644\u062a \u0638\u0627\u06c1\u0631 \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4 \u062f\u0648\u0633\u0631\u06d2 \u0679\u06cc\u0633\u0679 \u0645\u06cc\u06ba\u060c \u06c1\u0645 \u0627\u06cc\u06a9 \u0644\u06cc\u0645\u0628\u0688\u0627 \u067e\u0627\u0633 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u0645\u0648\u0635\u0648\u0644 \u06c1\u0648\u0646\u06d2 \u0648\u0627\u0644\u06cc ID \u06a9\u0648 \u0631\u06cc\u06a9\u0627\u0631\u0688 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0646\u0648\u0679 \u06a9\u0648 \u062a\u06be\u067e\u062a\u06be\u067e\u0627\u0626\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0686\u06cc\u06a9 \u06a9\u0631\u06cc\u06ba \u06a9\u06c1 \u0627\u0633\u06a9\u0631\u06cc\u0646 \u0635\u062d\u06cc\u062d ID \u06a9\u06cc \u0627\u0637\u0644\u0627\u0639 \u062f\u06cc\u062a\u06cc \u06c1\u06d2\u06d4 \u062a\u06cc\u0633\u0631\u0627 \u0679\u06cc\u0633\u0679 \u0686\u06cc\u06a9 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0622\u06cc\u0627 \u0688\u06cc\u0644\u06cc\u0679 \u0628\u0679\u0646 \u0645\u06cc\u06ba \u06a9\u0648\u0626\u06cc \u0645\u0639\u0646\u06cc \u062e\u06cc\u0632 \u0644\u06cc\u0628\u0644 \u06c1\u06d2 \u062c\u0648 \u0627\u06cc\u06a9\u0633\u06cc\u0633\u0628\u06cc\u0644\u0679\u06cc \u0686\u06cc\u06a9 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0628\u06be\u06cc \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0646 \u0645\u06cc\u06ba \u0633\u06d2 \u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc \u0679\u06cc\u0633\u0679 \u0631\u0648\u0645 \u06cc\u0627 \u0648\u06cc\u0648 \u0645\u0627\u0688\u0644 \u06a9\u0648 \u0646\u06c1\u06cc\u06ba \u0686\u06be\u0648\u062a\u0627 \u06c1\u06d2\u06d4 <code>NoteListContent<\/code>.<\/p>\n<p>\u0641\u0627\u0626\u0644 \u067e\u0631 \u062f\u0627\u0626\u06cc\u06ba \u06a9\u0644\u06a9 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0679\u06cc\u0633\u0679 \u0686\u0644\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633\u06d2 \u0645\u0646\u062a\u062e\u0628 \u06a9\u0631\u06cc\u06ba\u06d4 <strong>&#8216;NoteListContentTest&#8217; \u0686\u0644\u0627\u0626\u06cc\u06ba<\/strong>\u06cc\u0627 \u0679\u0631\u0645\u06cc\u0646\u0644 \u0645\u06cc\u06ba:<\/p>\n<pre><code class=\"language-bash\">.\/gradlew connectedDebugAndroidTest\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u06af\u0631\u06cc\u0688\u0644 \u0679\u0627\u0633\u06a9 \u0622\u067e \u06a9\u06cc \u0627\u06cc\u067e \u06a9\u0627 \u0688\u06cc\u0628\u06af \u0648\u0631\u0698\u0646 \u0627\u0648\u0631 \u0627\u06cc\u06a9 \u0639\u0644\u06cc\u062d\u062f\u06c1 \u0679\u06cc\u0633\u0679 APK \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0645\u0646\u0633\u0644\u06a9 \u0627\u06cc\u0645\u0648\u0644\u06cc\u0679\u0631 \u06cc\u0627 \u0641\u0648\u0646 \u062f\u0648\u0646\u0648\u06ba \u067e\u0631 \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0622\u067e \u06a9\u06d2 \u062a\u0645\u0627\u0645 \u0679\u06cc\u0633\u0679 \u0627\u0633 \u067e\u0631 \u0686\u0644\u0627\u062a\u0627 \u06c1\u06d2: <code>androidTest<\/code>HTML \u0631\u067e\u0648\u0631\u0679\u0633 \u0628\u0646\u0627\u0626\u06cc\u06ba\u06d4 <code>app\/build\/reports\/androidTests\/connected\/<\/code>. \u0627\u0646\u0633\u0679\u0631\u0648\u0645\u06cc\u0646\u0679\u06cc\u0634\u0646 \u0679\u06cc\u0633\u0679\u0646\u06af \u06a9\u06d2 \u0644\u06cc\u06d2 \u0686\u0644\u0627\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0622\u0644\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4 \u0627\u06cc\u0633\u06cc \u0645\u0646\u0637\u0642 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062c\u0648 \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u067e\u0631 \u0645\u0646\u062d\u0635\u0631 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u060c \u062c\u06cc\u0633\u06d2 \u06a9\u06c1 \u062a\u0648\u062b\u06cc\u0642 \u06a9\u06d2 \u0627\u0635\u0648\u0644 \u06cc\u0627 \u0641\u0627\u0631\u0645\u06cc\u0679\u0646\u06af \u0645\u062f\u062f\u06af\u0627\u0631\u060c \u06cc\u0648\u0646\u0679 \u0679\u06cc\u0633\u0679 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4 <code>test<\/code> \u0641\u0648\u0644\u0688\u0631 \u062a\u0644\u0627\u0634 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0627\u0633\u06d2 \u0686\u0644\u0627\u0626\u06cc\u06ba\u06d4 <code>.\/gradlew testDebugUnitTest<\/code>\u06cc\u06c1 \u0622\u067e \u06a9\u06d2 \u06a9\u0645\u067e\u06cc\u0648\u0679\u0631 \u067e\u0631 \u0633\u06cc\u06a9\u0646\u0688\u0648\u06ba \u0645\u06cc\u06ba \u0686\u0644\u06d2 \u06af\u0627\u06d4<\/p>\n<h2 id=\"heading-how-to-prepare-the-app-for-release\">\u0631\u06cc\u0644\u06cc\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u067e\u0646\u06cc \u0627\u06cc\u067e \u06a9\u0648 \u06a9\u06cc\u0633\u06d2 \u062a\u06cc\u0627\u0631 \u06a9\u0631\u06cc\u06ba\u06d4<\/h2>\n<p>\u0688\u06cc\u0628\u06af \u0628\u0644\u0688\u0632 \u062a\u0631\u0642\u06cc \u06a9\u06d2 \u0644\u06cc\u06d2 \u0628\u06c1\u062a\u0631\u06cc\u0646 \u06c1\u06cc\u06ba\u060c \u0644\u06cc\u06a9\u0646 \u06a9\u0648\u0626\u06cc \u0628\u06be\u06cc \u0622\u067e \u06a9\u06cc \u0627\u06cc\u067e \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0622\u067e \u06a9\u0648 \u06a9\u0686\u06be \u0686\u06cc\u0632\u0648\u06ba \u06a9\u0627 \u062e\u06cc\u0627\u0644 \u0631\u06a9\u06be\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4<\/p>\n<h3 id=\"heading-replace-the-default-app-icon\">\u0688\u06cc\u0641\u0627\u0644\u0679 \u0627\u06cc\u067e \u0622\u0626\u06cc\u06a9\u0646 \u06a9\u0648 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/h3>\n<p>\u0679\u06cc\u0645\u067e\u0644\u06cc\u0679 \u0627\u06cc\u06a9 \u0633\u0627\u062f\u06c1 \u0633\u0628\u0632 \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u0622\u0626\u06cc\u06a9\u0646 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0622\u062a\u0627 \u06c1\u06d2\u06d4 \u062f\u0627\u0626\u06cc\u06ba \u06a9\u0644\u06a9 \u06a9\u0631\u06cc\u06ba\u06d4 <code>res<\/code> \u0627\u06cc\u06a9 \u0641\u0648\u0644\u0688\u0631 \u0645\u0646\u062a\u062e\u0628 \u06a9\u0631\u06cc\u06ba <strong>\u0646\u06cc\u0627 > \u062a\u0635\u0648\u06cc\u0631\u06cc \u0627\u062b\u0627\u062b\u06c1<\/strong>. \u0627\u0645\u06cc\u062c \u0627\u062b\u0627\u062b\u06c1 \u0627\u0633\u0679\u0648\u0688\u06cc\u0648 \u0627\u0644\u06af \u0627\u0644\u06af \u067e\u06cc\u0634 \u0645\u0646\u0638\u0631 \u0627\u0648\u0631 \u067e\u0633 \u0645\u0646\u0638\u0631 \u06a9\u06cc \u062a\u06c1\u0648\u06ba \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u0646\u06a9\u0648\u0644\u06cc \u0634\u0628\u06cc\u06c1\u06cc\u06ba \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0644\u06c1\u0630\u0627 \u0644\u0627\u0646\u0686\u0631 \u0627\u0646\u06c1\u06cc\u06ba \u062f\u0627\u0626\u0631\u0648\u06ba\u060c \u0644\u06c1\u0631\u0648\u06ba \u06cc\u0627 \u062f\u06cc\u06af\u0631 \u0634\u06a9\u0644\u0648\u06ba \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0645\u0627\u0633\u06a9 \u06a9\u0631 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u06a9\u0686\u06be \u0644\u0627\u0646\u0686\u0631\u0632 \u06a9\u0646\u0627\u0631\u0648\u06ba \u06a9\u0648 \u06a9\u0627\u0679 \u062f\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0644\u06c1\u0630\u0627 \u0627\u067e\u0646\u06d2 \u0622\u0631\u0679 \u0648\u0631\u06a9 \u06a9\u06d2 \u0627\u06c1\u0645 \u062d\u0635\u0648\u06ba \u06a9\u0648 \u067e\u06cc\u0634 \u0645\u0646\u0638\u0631 \u0645\u06cc\u06ba \u062f\u06a9\u06be\u0627\u0626\u06d2 \u06af\u0626\u06d2 \u0645\u0631\u06a9\u0632\u06cc \u0645\u062d\u0641\u0648\u0638 \u0639\u0644\u0627\u0642\u06d2 \u0645\u06cc\u06ba \u0631\u06a9\u06be\u06cc\u06ba\u06d4 \u0627\u06cc\u06a9 \u0679\u06be\u0648\u0633 \u0631\u0646\u06af \u06a9\u06cc \u062a\u06c1\u06c1 \u0628\u06be\u06cc \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u06cc\u06ba\u06d4 \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 13 \u0627\u0648\u0631 \u0627\u0633 \u0633\u06d2 \u0627\u0648\u067e\u0631 \u0648\u0627\u0644\u06d2 \u0627\u0633\u06d2 \u062a\u06be\u06cc\u0645 \u0622\u0626\u06cc\u06a9\u0646\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0644\u0627\u0646\u0686\u0631 \u0648\u0627\u0644 \u067e\u06cc\u067e\u0631 \u0633\u06d2 \u0645\u0644\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062a\u0645\u0627\u0645 \u0622\u0626\u06cc\u06a9\u0646\u0632 \u06a9\u0648 \u0631\u0646\u06af \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u062a\u06be\u06cc\u0645 \u06a9\u06d2 \u0628\u063a\u06cc\u0631 \u0627\u06cc\u067e\u0633 \u0627\u0633 \u0641\u0648\u0646 \u067e\u0631 \u062c\u06af\u06c1 \u0633\u06d2 \u0628\u0627\u06c1\u0631 \u0646\u0638\u0631 \u0622\u0626\u06cc\u06ba \u06af\u06cc\u06d4<\/p>\n<h3 id=\"heading-move-hardcoded-strings-into-resources\">\u06c1\u0627\u0631\u0688 \u06a9\u0648\u0688 \u0634\u062f\u06c1 \u062a\u0627\u0631\u0648\u06ba \u06a9\u0648 \u0648\u0633\u0627\u0626\u0644 \u0645\u06cc\u06ba \u0645\u0646\u062a\u0642\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/h3>\n<p>\u0627\u0633 \u062f\u0633\u062a\u0627\u0648\u06cc\u0632 \u0645\u06cc\u06ba \u0627\u0633\u06a9\u0631\u06cc\u0646\u06cc\u06ba \u062f\u0631\u062c \u0630\u06cc\u0644 \u06c1\u0627\u0631\u0688 \u06a9\u0648\u0688\u0688 \u0633\u0679\u0631\u0646\u06af \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06cc \u06c1\u06cc\u06ba: <code>\"Quick Notes\"<\/code> \u0627\u0648\u0631 <code>\"No notes yet\"<\/code> \u0622\u067e \u06a9\u06d2 \u06a9\u0648\u0688 \u06a9\u0648 \u067e\u0691\u06be\u0646\u06d2 \u06a9\u06d2 \u0642\u0627\u0628\u0644 \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06cc\u06a9 \u062d\u0642\u06cc\u0642\u06cc \u0627\u06cc\u067e \u0645\u06cc\u06ba\u060c \u0622\u067e \u0627\u0633\u06d2 \u06a9\u0633\u06cc \u0627\u0648\u0631 \u0627\u06cc\u067e \u0645\u06cc\u06ba \u0645\u0646\u062a\u0642\u0644 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06ba \u06af\u06d2\u06d4 <code>res\/values\/strings.xml<\/code> \u0627\u0648\u0631 \u0627\u06cc\u06a9 \u0633\u0627\u062a\u06be \u067e\u0691\u06be\u06cc\u06ba <code>stringResource(R.string.no_notes)<\/code>.<\/p>\n<p>\u06cc\u06c1\u06cc \u0648\u06c1 \u0686\u06cc\u0632 \u06c1\u06d2 \u062c\u0648 \u062a\u0631\u062c\u0645\u06c1 \u06a9\u0648 \u0645\u0645\u06a9\u0646 \u0628\u0646\u0627\u062a\u06cc \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 Android \u0635\u062d\u06cc\u062d \u06a9\u0648 \u0686\u0646\u062a\u0627 \u06c1\u06d2\u06d4 <code>strings.xml<\/code> \u062e\u0648\u062f \u0628\u062e\u0648\u062f \u0622\u067e \u06a9\u06cc \u0632\u0628\u0627\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2\u06d4 \u0627\u06cc\u0646\u0688\u0631\u0648\u0626\u06cc\u0688 \u0627\u0633\u0679\u0648\u0688\u06cc\u0648 \u0644\u0646\u0679 \u0648\u0627\u0631\u0646\u0646\u06af\u0632 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u06c1\u0627\u0631\u0688 \u06a9\u0648\u0688 \u0634\u062f\u06c1 \u062a\u0627\u0631\u0648\u06ba \u06a9\u0648 \u062c\u06be\u0646\u0688\u0627 \u0644\u06af\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0622\u067e \u0627\u0646\u06c1\u06cc\u06ba \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06a9\u06d2 \u0646\u06a9\u0627\u0644 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba: <strong>\u0633\u0679\u0631\u0646\u06af \u0648\u0633\u0627\u0626\u0644 \u0646\u06a9\u0627\u0644\u0646\u0627<\/strong> \u0641\u0648\u0631\u06cc \u0679\u06be\u06cc\u06a9 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<h3 id=\"heading-check-the-release-build-with-r8\">R8 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0631\u06cc\u0644\u06cc\u0632 \u06a9\u06cc \u062a\u0639\u0645\u06cc\u0631\u0627\u062a \u06a9\u0648 \u0686\u06cc\u06a9 \u06a9\u0631\u06cc\u06ba\u06d4<\/h3>\n<p>\u0645\u06cc\u06ba \u0646\u06d2 \u0627\u0633\u06d2 \u0686\u0627\u0644\u0648 \u06a9\u06cc\u0627\u06d4 <code>isMinifyEnabled<\/code> \u0631\u06cc\u0644\u06cc\u0632 \u0628\u0644\u0688 \u0679\u0627\u0626\u067e \u0645\u06cc\u06ba \u062c\u0648 R8 \u06a9\u0648 \u0622\u0646 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 R8 \u063a\u06cc\u0631 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u0634\u062f\u06c1 \u06a9\u0648\u0688 \u06a9\u0648 \u06c1\u0679\u0627\u062a\u0627 \u06c1\u06d2\u060c \u06a9\u0644\u0627\u0633 \u0627\u0648\u0631 \u0637\u0631\u06cc\u0642\u06c1 \u06a9\u06d2 \u0646\u0627\u0645\u0648\u06ba \u06a9\u0648 \u0645\u062e\u062a\u0635\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0628\u0627\u0642\u06cc \u06a9\u0648\u0688 \u06a9\u0648 \u0628\u06c1\u062a\u0631 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0639\u0627\u0645 \u0637\u0648\u0631 \u067e\u0631 \u0622\u067e \u06a9\u06cc \u0627\u06cc\u067e \u06a9\u0648 \u0646\u0645\u0627\u06cc\u0627\u06ba \u0637\u0648\u0631 \u067e\u0631 \u0686\u06be\u0648\u0679\u0627 \u0627\u0648\u0631 \u062a\u06cc\u0632 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u0627\u0633 \u06a9\u0648\u0688 \u06a9\u0648 \u062a\u0648\u0691 \u0633\u06a9\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u0639\u06a9\u0627\u0633\u06cc \u067e\u0631 \u0627\u0646\u062d\u0635\u0627\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0633 \u06a9\u06cc \u0648\u062c\u06c1 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 R8 \u06cc\u06c1 \u0646\u06c1\u06cc\u06ba \u062c\u0627\u0646 \u0633\u06a9\u062a\u0627 \u06a9\u06c1 \u06a9\u0644\u0627\u0633 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06d2 \u062c\u0628 \u062a\u06a9 \u06a9\u06c1 \u06a9\u0648\u0626\u06cc \u0686\u06cc\u0632 \u0627\u0633 \u06a9\u0627 \u0628\u0631\u0627\u06c1 \u0631\u0627\u0633\u062a \u062d\u0648\u0627\u0644\u06c1 \u0646\u06c1 \u062f\u06d2\u06d4<\/p>\n<p>\u0631\u0648\u0645\u060c \u06a9\u0645\u067e\u0648\u0632\u060c \u0627\u0648\u0631 kotlinx.serialization \u0627\u067e\u0646\u06d2 Keep \u06a9\u06d2 \u0627\u0635\u0648\u0644 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u0627\u0633 \u0627\u06cc\u067e \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0633\u06cc \u0627\u0636\u0627\u0641\u06cc \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u0622\u067e \u0627\u06cc\u06a9 \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc \u0634\u0627\u0645\u0644 \u06a9\u0631 \u0631\u06c1\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u0639\u06a9\u0627\u0633\u06cc \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u060c \u062a\u0648 \u0627\u0633 \u06a9\u06cc \u062f\u0633\u062a\u0627\u0648\u06cc\u0632\u0627\u062a \u06a9\u0648 \u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0642\u0648\u0627\u0639\u062f \u06a9\u06d2 \u0644\u06cc\u06d2 \u0686\u06cc\u06a9 \u06a9\u0631\u06cc\u06ba\u06d4 <code>proguard-rules.pro<\/code>.<\/p>\n<p>R8 \u06a9\u06d2 \u0645\u0633\u0627\u0626\u0644 \u06a9\u06cc \u0646\u0634\u0627\u0646\u062f\u06c1\u06cc \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0637\u0631\u06cc\u0642\u06c1 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0627\u0633\u06d2 \u0627\u067e \u0644\u0648\u0688 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0631\u06cc\u0644\u06cc\u0632 \u0628\u0644\u0688 \u06a9\u0648 \u0686\u0644\u0627\u06cc\u0627 \u062c\u0627\u0626\u06d2\u06d4 \u0645\u0646\u062a\u062e\u0628 \u06a9\u0631\u06cc\u06ba <code>release<\/code> \u062a\u0646\u0627\u0624 <strong>\u062a\u0639\u0645\u06cc\u0631 > \u0645\u062e\u062a\u0644\u0641 \u0642\u0633\u0645 \u06a9\u06cc \u062a\u0639\u0645\u06cc\u0631 \u06a9\u0648 \u0645\u0646\u062a\u062e\u0628 \u06a9\u0631\u06cc\u06ba\u06d4<\/strong> (\u0622\u067e \u0688\u06cc\u0628\u06af \u0633\u0627\u0626\u0646\u0646\u06af \u06a9\u0644\u06cc\u062f \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba \u06af\u06d2 \u062c\u0628 \u062a\u06a9 \u06a9\u06c1 \u0622\u067e \u0627\u06af\u0644\u06d2 \u0633\u06cc\u06a9\u0634\u0646 \u0645\u06cc\u06ba \u0631\u06cc\u0644\u06cc\u0632 \u0633\u0627\u0626\u0646\u0646\u06af \u0633\u06cc\u0679 \u0627\u067e \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u06d2\u06d4) \u0627\u0633\u06d2 \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u062a\u0645\u0627\u0645 \u0627\u0633\u06a9\u0631\u06cc\u0646\u0648\u06ba \u067e\u0631 \u06a9\u0644\u06a9 \u06a9\u0631\u06cc\u06ba\u06d4 \u06a9\u0631\u06cc\u0634 \u062c\u0648 \u0635\u0631\u0641 \u0631\u06cc\u0644\u06cc\u0632 \u0628\u0644\u0688\u0632 \u0645\u06cc\u06ba \u0638\u0627\u06c1\u0631 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba \u062a\u0642\u0631\u06cc\u0628\u0627\u064b \u06c1\u0645\u06cc\u0634\u06c1 \u062f\u06cc\u06a9\u06be \u0628\u06be\u0627\u0644 \u06a9\u06d2 \u0642\u0648\u0627\u0646\u06cc\u0646 \u06a9\u06cc \u06a9\u0645\u06cc \u06a9\u06cc \u0648\u062c\u06c1 \u0633\u06d2 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h3 id=\"heading-remove-unnecessary-permissions\">\u063a\u06cc\u0631 \u0636\u0631\u0648\u0631\u06cc \u0627\u062c\u0627\u0632\u062a\u0648\u06ba \u06a9\u0648 \u06c1\u0679\u0627 \u062f\u06cc\u06ba\u06d4<\/h3>\n<p>\u0636\u0645 \u0634\u062f\u06c1 \u0645\u06cc\u0646\u06cc \u0641\u06cc\u0633\u0679 \u06a9\u06be\u0648\u0644\u06cc\u06ba ( <strong>\u0636\u0645 \u0634\u062f\u06c1 \u0645\u06cc\u0646\u06cc \u0641\u06cc\u0633\u0679<\/strong> \u0646\u06cc\u0686\u06d2 \u0679\u06cc\u0628 <code>AndroidManifest.xml<\/code>) \u062f\u0631\u062c \u06a9\u0631\u062f\u06c1 \u0627\u062c\u0627\u0632\u062a\u0648\u06ba \u06a9\u0648 \u0686\u06cc\u06a9 \u06a9\u0631\u06cc\u06ba\u06d4 \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc\u0627\u06ba \u063a\u06cc\u0631 \u0645\u0637\u0644\u0648\u0628 \u0627\u062c\u0627\u0632\u062a\u06cc\u06ba \u0634\u0627\u0645\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06cc \u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0627\u0646 \u06a9\u06cc \u062c\u0627\u0646\u0628 \u0633\u06d2 \u0627\u0639\u0644\u0627\u0646 \u06a9\u0631\u062f\u06c1 \u06a9\u0633\u06cc \u0628\u06be\u06cc \u0627\u062c\u0627\u0632\u062a \u06a9\u0648 Play Console \u06a9\u06d2 \u0627\u0639\u0644\u0627\u0645\u06cc\u06d2 \u0645\u06cc\u06ba \u062c\u0627\u0626\u0632 \u0642\u0631\u0627\u0631 \u062f\u06cc\u0627 \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u06a9\u0648\u0626\u06cc\u06a9 \u0646\u0648\u0679\u0633 \u06c1\u0631 \u0686\u06cc\u0632 \u06a9\u0648 \u0645\u0642\u0627\u0645\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0627\u0633\u0679\u0648\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633\u06d2 \u06a9\u0633\u06cc \u0627\u062c\u0627\u0632\u062a \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 <code>INTERNET<\/code>. \u0645\u0632\u06cc\u062f \u0628\u0631\u0622\u06ba\u060c \u06a9\u0645 \u0627\u062c\u0627\u0632\u062a\u0648\u06ba \u0633\u06d2 Play \u06a9\u0646\u0633\u0648\u0644 \u06a9\u06d2 \u0688\u06cc\u0679\u0627 \u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc \u0641\u0627\u0631\u0645\u0632 \u06a9\u0648 \u067e\u064f\u0631 \u06a9\u0631\u0646\u0627 \u0622\u0633\u0627\u0646 \u06c1\u0648\u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-how-to-create-an-upload-key-and-sign-your-app\">\u0627\u067e \u0644\u0648\u0688 \u06a9\u0644\u06cc\u062f \u06a9\u06cc\u0633\u06d2 \u0628\u0646\u0627\u0626\u06cc\u06ba \u0627\u0648\u0631 \u0627\u067e\u0646\u06cc \u0627\u06cc\u067e \u067e\u0631 \u062f\u0633\u062a\u062e\u0637 \u06a9\u0631\u06cc\u06ba\u06d4<\/h2>\n<p>\u0627\u0646\u0633\u0679\u0627\u0644\u06cc\u0634\u0646 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u062a\u0645\u0627\u0645 \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u0627\u06cc\u067e\u0633 \u06a9\u0648 \u062e\u0641\u06cc\u06c1 \u0637\u0648\u0631 \u067e\u0631 \u0633\u0627\u0626\u0646 \u06a9\u06cc\u0627 \u062c\u0627\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u06af\u0648\u06af\u0644 \u067e\u0644\u06d2 \u0627\u06cc\u06a9 \u062f\u0648 \u06a9\u0644\u06cc\u062f\u06cc \u0646\u0638\u0627\u0645 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0633\u06d2 Play App Signature \u06a9\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0622\u067e \u0627\u067e \u0644\u0648\u0688 \u06a9\u0644\u06cc\u062f \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0627\u067e\u0646\u06d2 \u0627\u067e \u0644\u0648\u0688\u0632 \u067e\u0631 \u062f\u0633\u062a\u062e\u0637 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0633\u06d2 \u0622\u067e \u062a\u062e\u0644\u06cc\u0642 \u0627\u0648\u0631 \u0627\u0633\u0679\u0648\u0631 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u06af\u0648\u06af\u0644 \u0627\u067e \u0644\u0648\u0688 \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u062f\u0633\u062a\u062e\u0637 \u06c1\u0679\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0627\u06cc\u067e \u0633\u0627\u0626\u0646\u0646\u06af \u06a9\u0644\u06cc\u062f \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0627\u06cc\u067e \u067e\u0631 \u062f\u0648\u0628\u0627\u0631\u06c1 \u062f\u0633\u062a\u062e\u0637 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0633\u06d2 Google \u0627\u067e\u0646\u06d2 \u0645\u062d\u0641\u0648\u0638 \u0627\u0646\u0641\u0631\u0627\u0633\u0679\u0631\u06a9\u0686\u0631 \u0645\u06cc\u06ba \u0627\u0633\u0679\u0648\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0635\u0627\u0631\u0641\u06cc\u0646 \u06a9\u0648 \u0635\u0631\u0641 \u0627\u06cc\u067e \u0633\u0627\u0626\u0646\u0646\u06af \u06a9\u06cc \u0646\u0638\u0631 \u0622\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633 \u062a\u0642\u0633\u06cc\u0645 \u06a9\u0627 \u0641\u0627\u0626\u062f\u06c1 \u0628\u062d\u0627\u0644\u06cc \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u0622\u067e \u06a9\u06cc \u0627\u067e \u0644\u0648\u0688 \u06a9\u0644\u06cc\u062f \u06af\u0645 \u06c1\u0648 \u062c\u0627\u062a\u06cc \u06c1\u06d2 \u06cc\u0627 \u0644\u06cc\u06a9 \u06c1\u0648 \u062c\u0627\u062a\u06cc \u06c1\u06d2\u060c \u062a\u0648 \u0622\u067e Google \u0633\u06d2 \u0627\u0633\u06d2 Play Console \u0645\u06cc\u06ba \u062f\u0648\u0628\u0627\u0631\u06c1 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u06c1\u06c1 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0622\u067e \u06a9\u06d2 \u0635\u0627\u0631\u0641\u06cc\u0646 \u06a9\u0648 \u0627\u067e \u0688\u06cc\u0679\u0633 \u0645\u0648\u0635\u0648\u0644 \u06c1\u0648\u062a\u06d2 \u0631\u06c1\u06cc\u06ba \u06af\u06d2\u06d4 Play App Signing \u06a9\u06d2 \u0645\u0648\u062c\u0648\u062f \u06c1\u0648\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2\u060c \u0627\u067e\u0646\u06cc \u0645\u0646\u0641\u0631\u062f \u0633\u0627\u0626\u0646\u0646\u06af \u06a9\u0644\u06cc\u062f \u06a9\u0648 \u06a9\u06be\u0648\u0646\u06d2 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 \u0622\u067e \u0627\u067e\u0646\u06cc \u0627\u06cc\u067e \u06a9\u0648 \u062f\u0648\u0628\u0627\u0631\u06c1 \u06a9\u0628\u06be\u06cc \u0627\u067e \u0688\u06cc\u0679 \u0646\u06c1\u06cc\u06ba \u06a9\u0631 \u0633\u06a9\u062a\u06d2\u06d4<\/p>\n<p>\u0646\u0626\u06cc \u0627\u06cc\u067e\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2 Play App Signing \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u060c \u0627\u0648\u0631 \u06cc\u06c1\u06cc \u0686\u06cc\u0632 Android App Bundle \u06a9\u0648 \u0645\u0645\u06a9\u0646 \u0628\u0646\u0627\u062a\u06cc \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 Google \u06a9\u0648 \u06c1\u0631 \u0688\u06cc\u0648\u0627\u0626\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0628\u06c1\u062a\u0631 APK \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0633\u0627\u0626\u0646\u0646\u06af \u06a9\u0644\u06cc\u062f \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u06cc\u06c1 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0627\u067e\u0646\u06d2 \u0679\u0631\u0645\u06cc\u0646\u0644 \u0645\u06cc\u06ba \u0627\u067e \u0644\u0648\u0688 \u06a9\u0644\u06cc\u062f \u0628\u0646\u0627\u0626\u06cc\u06ba: <code>keytool<\/code>\u06cc\u06c1 \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u0627\u0633\u0679\u0648\u0688\u06cc\u0648 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0628\u0646\u0688\u0644 JDK \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0622\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<pre><code class=\"language-bash\">keytool -genkeypair -v \\\n  -keystore ~\/keys\/quicknotes-upload.jks \\\n  -alias upload \\\n  -keyalg RSA -keysize 2048 \\\n  -validity 10000\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u06a9\u0645\u0627\u0646\u0688 \u062f\u0631\u062c \u0630\u06cc\u0644 \u062c\u06af\u06c1 \u067e\u0631 \u062c\u0627\u0648\u0627 \u06a9\u06cc \u0627\u0633\u0679\u0648\u0631 \u0641\u0627\u0626\u0644 \u0628\u0646\u0627\u062a\u06cc \u06c1\u06d2\u06d4 <code>~\/keys\/quicknotes-upload.jks<\/code> \u0639\u0631\u0641 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u06cc\u06a9 \u06a9\u0644\u06cc\u062f\u06cc \u062c\u0648\u0691\u0627 \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u06c1\u06d2\u06d4 <code>upload<\/code>. <code>-keyalg RSA -keysize 2048<\/code> \u0648\u06c1 \u06a9\u0644\u06cc\u062f\u06cc \u0642\u0633\u0645 \u0627\u0648\u0631 \u0637\u0627\u0642\u062a \u0633\u06cc\u0679 \u06a9\u0631\u06cc\u06ba \u062c\u0633 \u06a9\u06cc Google Play \u06a9\u0648 \u062a\u0648\u0642\u0639 \u06c1\u06d2\u06d4 <code>-validity 10000<\/code> \u06cc\u06c1 \u06a9\u0644\u06cc\u062f \u06a9\u0648 \u062a\u0642\u0631\u06cc\u0628\u0627\u064b 27 \u0633\u0627\u0644 \u062a\u06a9 \u06a9\u0627\u0631\u0622\u0645\u062f \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u06d4 Google Play \u06a9\u0648 \u0622\u067e \u06a9\u06cc \u06a9\u0644\u06cc\u062f \u06a9\u0645 \u0627\u0632 \u06a9\u0645 \u0627\u06a9\u062a\u0648\u0628\u0631 2033 \u062a\u06a9 \u062f\u0631\u0633\u062a \u0631\u06c1\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4<\/p>\n<p>\u0679\u0648\u0644 \u0622\u067e \u06a9\u0648 \u0622\u067e \u06a9\u06d2 \u06a9\u06cc \u0627\u0633\u0679\u0648\u0631 \u067e\u0627\u0633 \u0648\u0631\u0688 \u06a9\u0627 \u0627\u0634\u0627\u0631\u06c1 \u06a9\u0631\u06d2 \u06af\u0627 \u0627\u0648\u0631 \u0633\u0631\u0679\u06cc\u0641\u06a9\u06cc\u0679 \u0645\u06cc\u06ba \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u062f\u06c1 \u0646\u0627\u0645 \u0627\u0648\u0631 \u062a\u0646\u0638\u06cc\u0645 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u067e\u0648\u0686\u06be\u06d2 \u06af\u0627\u06d4 \u0627\u06af\u0631 <code>keytool<\/code> \u06cc\u06c1 \u0622\u067e \u06a9\u06d2 \u0631\u0627\u0633\u062a\u06d2 \u0645\u06cc\u06ba \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u0627\u0633\u0679\u0648\u0688\u06cc\u0648 <strong>\u0628\u0646\u0627\u0626\u06cc\u06ba > \u0627\u06cc\u06a9 \u062f\u0633\u062a\u062e\u0637 \u0634\u062f\u06c1 \u0627\u06cc\u067e \u0628\u0646\u0688\u0644 \u06cc\u0627 APK \u0628\u0646\u0627\u0626\u06cc\u06ba<\/strong> \u0648\u0632\u0631\u0688 \u0688\u0627\u0626\u06cc\u0644\u0627\u06af \u0628\u0627\u06a9\u0633 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0627\u06cc\u06a9 \u06c1\u06cc \u06a9\u0644\u06cc\u062f \u0628\u0646\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u067e\u0646\u06d2 \u06a9\u06cc \u0627\u0633\u0679\u0648\u0631 \u06a9\u0648 \u0627\u067e\u0646\u06d2 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u0641\u0648\u0644\u0688\u0631 \u0633\u06d2 \u0628\u0627\u06c1\u0631 \u06a9\u06c1\u06cc\u06ba \u0627\u0633\u0679\u0648\u0631 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0627\u0633\u06d2 \u067e\u0627\u0633 \u0648\u0631\u0688 \u0645\u06cc\u0646\u06cc\u062c\u0631 \u06cc\u0627 \u0627\u0646\u06a9\u0631\u067e\u0679\u0688 \u0627\u0633\u0679\u0648\u0631\u06cc\u062c \u0645\u06cc\u06ba \u0628\u06cc\u06a9 \u0627\u067e \u06a9\u0631\u06cc\u06ba\u06d4 \u06a9\u0628\u06be\u06cc \u0628\u06be\u06cc \u06af\u0679 \u06a9\u0627 \u0639\u06c1\u062f \u0646\u06c1 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u06af\u0644\u0627 <code>keystore.properties<\/code> \u0627\u067e\u0646\u06d2 \u062f\u0633\u062a\u062e\u0637 \u06a9\u06cc \u062a\u0641\u0635\u06cc\u0644\u0627\u062a \u0631\u06a9\u06be\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u0641\u0627\u0626\u0644 \u06a9\u0648 \u0627\u067e\u0646\u06d2 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u06a9\u06d2 \u0631\u0648\u0679 \u0645\u06cc\u06ba \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-properties\">storeFile=\/Users\/yourname\/keys\/quicknotes-upload.jks\nstorePassword=your-keystore-password\nkeyAlias=upload\nkeyPassword=your-key-password\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u0641\u0627\u0626\u0644 \u0627\u0646 \u0686\u0627\u0631 \u0627\u0642\u062f\u0627\u0631 \u06a9\u0627 \u0646\u0642\u0634\u06c1 \u0628\u0646\u0627\u062a\u06cc \u06c1\u06d2 \u062c\u0646 \u06a9\u06cc \u06af\u0631\u06cc\u0688\u0644 \u06a9\u0648 \u0627\u06cc\u06a9 \u062a\u0639\u0645\u06cc\u0631 \u067e\u0631 \u062f\u0633\u062a\u062e\u0637 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2: \u06a9\u06cc \u0627\u0633\u0679\u0648\u0631 \u067e\u0627\u062a\u06be\u060c \u06a9\u06cc \u0627\u0633\u0679\u0648\u0631 \u067e\u0627\u0633 \u0648\u0631\u0688\u060c \u0627\u0646\u062f\u0631\u0648\u0646\u06cc \u06a9\u0644\u06cc\u062f\u06cc \u0639\u0631\u0641\u060c \u0627\u0648\u0631 \u0645\u062a\u0639\u0644\u0642\u06c1 \u06a9\u0644\u06cc\u062f\u06cc \u067e\u0627\u0633 \u0648\u0631\u0688\u06d4 \u0627\u0646\u06c1\u06cc\u06ba \u0639\u0644\u06cc\u062d\u062f\u06c1 \u0641\u0627\u0626\u0644\u0648\u06ba \u0645\u06cc\u06ba \u0631\u06a9\u06be\u0646\u06d2 \u0633\u06d2 \u0622\u067e \u0631\u0627\u0632\u0648\u06ba \u06a9\u0627 \u0627\u0634\u062a\u0631\u0627\u06a9 \u06a9\u06cc\u06d2 \u0628\u063a\u06cc\u0631 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679\u0633 \u06a9\u0627 \u0627\u0634\u062a\u0631\u0627\u06a9 \u06a9\u0631\u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba <code>keystore.properties<\/code> \u0627\u0648\u0631 <code>*.jks<\/code> \u0622\u067e \u06a9\u0648 <code>.gitignore<\/code> \u062c\u0644\u062f \u06c1\u06cc<\/p>\n<p>\u067e\u06be\u0631 \u0641\u0627\u0626\u0644 \u0644\u0648\u0688 \u06a9\u0631\u06cc\u06ba\u06d4 <code>app\/build.gradle.kts<\/code> \u0627\u06cc\u06a9 \u0631\u06cc\u0644\u06cc\u0632 \u062f\u0633\u062a\u062e\u0637 \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u0628\u0646\u0627\u0626\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-kotlin\">import java.util.Properties\n\nval keystorePropertiesFile = rootProject.file(\"keystore.properties\")\nval keystoreProperties = Properties().apply {\n    if (keystorePropertiesFile.exists()) {\n        keystorePropertiesFile.inputStream().use { load(it) }\n    }\n}\n\nandroid {\n    \/\/ namespace, compileSdk, defaultConfig as before\n\n    signingConfigs {\n        if (keystorePropertiesFile.exists()) {\n            create(\"release\") {\n                storeFile = file(keystoreProperties.getProperty(\"storeFile\"))\n                storePassword = keystoreProperties.getProperty(\"storePassword\")\n                keyAlias = keystoreProperties.getProperty(\"keyAlias\")\n                keyPassword = keystoreProperties.getProperty(\"keyPassword\")\n            }\n        }\n    }\n\n    buildTypes {\n        release {\n            isMinifyEnabled = true\n            isShrinkResources = true\n            proguardFiles(\n                getDefaultProguardFile(\"proguard-android-optimize.txt\"),\n                \"proguard-rules.pro\"\n            )\n            signingConfig = signingConfigs.findByName(\"release\")\n        }\n    }\n}\n<\/code><\/pre>\n<p>\u06a9\u06c1 <code>import<\/code> \u0641\u0627\u0626\u0644 \u06a9\u06d2 \u0627\u0648\u067e\u0631\u06cc \u062d\u0635\u06d2 \u0645\u06cc\u06ba\u060c \u06cc\u0639\u0646\u06cc <code>plugins<\/code> \u0628\u0644\u0627\u06a9 \u0627\u0633\u06a9\u0631\u067e\u0679 \u06cc\u06c1 \u06c1\u06d2: <code>keystore.properties<\/code> \u06a9\u06cc \u0637\u0631\u0641 \u0633\u06d2 <code>Properties<\/code> \u0641\u0627\u0626\u0644 \u0627\u06cc\u06a9 \u0622\u0628\u062c\u06cc\u06a9\u0679 \u06c1\u06d2 \u0627\u06af\u0631 \u06cc\u06c1 \u0645\u0648\u062c\u0648\u062f \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0646\u062f\u0631 <code>signingConfigs<\/code>\u0627\u06cc\u06a9 \u0646\u0627\u0645\u0632\u062f \u06a9\u0646\u0641\u06cc\u06af\u0631\u06cc\u0634\u0646 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u06d4 <code>release<\/code> \u0644\u06cc\u06a9\u0646 \u06cc\u06c1 \u0635\u0631\u0641 \u0627\u0633 \u0635\u0648\u0631\u062a \u0645\u06cc\u06ba \u0645\u0645\u06a9\u0646 \u06c1\u06d2 \u062c\u0628 \u0641\u0627\u0626\u0644 \u0645\u0648\u062c\u0648\u062f \u06c1\u0648\u06d4 \u06cc\u06c1 \u062a\u062d\u0641\u0638 \u0627\u06c1\u0645 \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 \u0646\u06c1 \u062a\u0648 \u0631\u06cc\u067e\u0648\u0632\u0679\u0631\u06cc \u06a9\u0648 \u06a9\u0644\u0648\u0646 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u0679\u06cc\u0645 \u06a9\u06d2 \u0645\u0645\u0628\u0631\u0627\u0646 \u0627\u0648\u0631 \u0646\u06c1 \u06c1\u06cc \u0679\u06cc\u0633\u0679 \u0686\u0644\u0627\u0646\u06d2 \u0648\u0627\u0644\u06d2 CI \u0633\u0631\u0648\u0631 \u06a9\u06d2 \u067e\u0627\u0633 \u06a9\u0644\u06cc\u062f\u06cc \u0627\u0633\u0679\u0648\u0631 \u06c1\u06d2 \u0627\u0648\u0631 \u0688\u06cc\u0628\u06af \u0622\u067e\u0631\u06cc\u0634\u0646\u0632 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0628\u06be\u06cc \u0628\u06be\u06cc \u0628\u0644\u0688 \u06a9\u0648 \u06a9\u0627\u0645 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4<\/p>\n<p>\u0631\u06cc\u0644\u06cc\u0632 \u06a9\u06cc \u062a\u0639\u0645\u06cc\u0631 \u06a9\u06cc \u0642\u0633\u0645 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06cc \u06c1\u06d2: <code>findByName(\"release\")<\/code>\u06cc\u06c1 \u0644\u0648\u0679\u062a\u0627 \u06c1\u06d2: <code>null<\/code> \u062c\u0628 \u062a\u0631\u062a\u06cc\u0628 \u0645\u0648\u062c\u0648\u062f \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u062a\u0648 \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2\u06d4 CI \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646\u0632 \u0639\u0627\u0645 \u0637\u0648\u0631 \u067e\u0631 \u0627\u0646 \u0627\u0642\u062f\u0627\u0631 \u06a9\u0648 \u0641\u0627\u0626\u0644\u0648\u06ba \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0645\u0627\u062d\u0648\u0644\u06cc\u0627\u062a\u06cc \u0645\u062a\u063a\u06cc\u0631\u0627\u062a \u06cc\u0627 \u062e\u0641\u06cc\u06c1 \u0645\u06cc\u0646\u06cc\u062c\u0631\u0632 \u0633\u06d2 \u067e\u0691\u06be\u062a\u06cc \u06c1\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-how-to-build-an-android-app-bundle\">\u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u0627\u06cc\u067e \u0628\u0646\u0688\u0644 \u06a9\u06cc\u0633\u06d2 \u0628\u0646\u0627\u06cc\u0627 \u062c\u0627\u0626\u06d2\u06d4<\/h2>\n<p>Google Play \u0646\u0626\u06cc \u0627\u06cc\u067e\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2 APKs \u06a9\u0648 \u0642\u0628\u0648\u0644 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0633 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2\u060c \u0627\u06cc\u06a9 \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u0627\u06cc\u067e \u0628\u0646\u0688\u0644 (AAB) \u0627\u067e \u0644\u0648\u0688 \u06a9\u0631\u06cc\u06ba\u06d4 \u0628\u0646\u0688\u0644 \u0645\u06cc\u06ba \u0627\u0633\u06a9\u0631\u06cc\u0646 \u06a9\u06cc \u062a\u0645\u0627\u0645 \u06a9\u062b\u0627\u0641\u062a\u0648\u06ba\u060c \u0633\u06cc \u067e\u06cc \u06cc\u0648 \u0622\u0631\u06a9\u06cc\u0679\u06cc\u06a9\u0686\u0631\u0632\u060c \u0627\u0648\u0631 \u0632\u0628\u0627\u0646\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2 \u062a\u0645\u0627\u0645 \u0645\u0631\u062a\u0628 \u06a9\u0631\u062f\u06c1 \u06a9\u0648\u0688 \u0627\u0648\u0631 \u0648\u0633\u0627\u0626\u0644 \u0634\u0627\u0645\u0644 \u06c1\u06cc\u06ba\u06d4 \u062c\u0628 \u06a9\u0648\u0626\u06cc \u0635\u0627\u0631\u0641 \u0622\u067e \u06a9\u06cc \u0627\u06cc\u067e \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 Google Play \u0627\u06cc\u06a9 APK \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2 \u062c\u0633 \u0645\u06cc\u06ba \u0635\u0631\u0641 \u0648\u06c1\u06cc \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u0627\u0633 \u0645\u062e\u0635\u0648\u0635 \u0688\u06cc\u0648\u0627\u0626\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0636\u0631\u0648\u0631\u06cc \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u0646\u06af\u0631\u06cc\u0632\u06cc \u0644\u0648\u06a9\u06cc\u0644\u0632 \u0627\u0648\u0631 \u0627\u0639\u0644\u06cc \u06a9\u062b\u0627\u0641\u062a \u0648\u0627\u0644\u06cc \u0627\u0633\u06a9\u0631\u06cc\u0646 \u0648\u0627\u0644\u06d2 \u0641\u0648\u0646 \u062c\u0627\u067e\u0627\u0646\u06cc \u062a\u0627\u0631 \u06cc\u0627 \u06a9\u0645 \u06a9\u062b\u0627\u0641\u062a \u0648\u0627\u0644\u06cc \u062a\u0635\u0627\u0648\u06cc\u0631 \u0688\u0627\u0624\u0646 \u0644\u0648\u0688 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u06cc\u06ba \u06af\u06d2\u060c \u062c\u0633 \u06a9\u06d2 \u0646\u062a\u06cc\u062c\u06d2 \u0645\u06cc\u06ba \u0688\u0627\u0624\u0646 \u0644\u0648\u0688 \u0633\u0627\u0626\u0632 \u0686\u06be\u0648\u0679\u06d2 \u06c1\u0648\u06ba \u06af\u06d2\u06d4<\/p>\n<p>\u0679\u0631\u0645\u06cc\u0646\u0644 \u0645\u06cc\u06ba \u0628\u0646\u0688\u0644 \u0628\u0646\u0627\u0626\u06cc\u06ba\u06d4<\/p>\n<pre><code class=\"language-bash\">.\/gradlew bundleRelease\n<\/code><\/pre>\n<p>\u06cc\u06c1 \u0679\u0627\u0633\u06a9 \u0631\u06cc\u0644\u06cc\u0632 \u0648\u06cc\u0631\u06cc\u0646\u0679 \u06a9\u0648 \u0645\u0631\u062a\u0628 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c R8 \u0686\u0644\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0627\u067e \u0644\u0648\u0688 \u06a9\u0644\u06cc\u062f \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0646\u062a\u0627\u0626\u062c \u067e\u0631 \u062f\u0633\u062a\u062e\u0637 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0628\u0646\u0688\u0644 \u06a9\u0648 \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <code>app\/build\/outputs\/bundle\/release\/app-release.aab<\/code>. \u0622\u067e \u0628\u06be\u06cc \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba <strong>\u0628\u0646\u0627\u0626\u06cc\u06ba > \u0627\u06cc\u06a9 \u062f\u0633\u062a\u062e\u0637 \u0634\u062f\u06c1 \u0627\u06cc\u067e \u0628\u0646\u0688\u0644 \u06cc\u0627 APK \u0628\u0646\u0627\u0626\u06cc\u06ba<\/strong> \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u0627\u0633\u0679\u0648\u0688\u06cc\u0648 \u0648\u0632\u0631\u0688 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0648\u06c1\u06cc \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u062f\u0633\u062a\u062e\u0637 \u06a9\u06cc \u063a\u0644\u0637\u06cc \u06a9\u06cc \u0648\u062c\u06c1 \u0633\u06d2 \u062a\u0639\u0645\u06cc\u0631 \u0646\u0627\u06a9\u0627\u0645 \u06c1\u0648\u062c\u0627\u062a\u06cc \u06c1\u06d2\u060c \u062a\u0648 \u0631\u0627\u0633\u062a\u06d2 \u0627\u0648\u0631 \u067e\u0627\u0633 \u0648\u0631\u0688 \u06a9\u0648 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0686\u06cc\u06a9 \u06a9\u0631\u06cc\u06ba: <code>keystore.properties<\/code>.<\/p>\n<p>\u0628\u0631\u0627\u06c1 \u06a9\u0631\u0645 \u0627\u067e \u0644\u0648\u0688 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0627\u0633 \u0645\u06cc\u06ba \u0627\u0636\u0627\u0641\u06c1 \u06a9\u0631\u06cc\u06ba\u06d4 <code>versionCode<\/code> \u06c1\u0631 \u0646\u0626\u06cc \u062a\u0639\u0645\u06cc\u0631 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062c\u0648 \u0622\u067e Play \u067e\u0631 \u0628\u06be\u06cc\u062c\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0627\u067e\u0646\u06d2 \u067e\u06c1\u0644\u06d2 \u0627\u067e \u0644\u0648\u0688 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0622\u067e \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba: <code>1<\/code>\u0627\u06af\u0644\u0627 \u06c1\u06d2\u06d4 <code>2<\/code> \u06cc\u0627 \u0632\u06cc\u0627\u062f\u06c1\u060c \u0648\u063a\u06cc\u0631\u06c1\u06d4 \u067e\u0644\u06d2 \u0628\u0646\u0688\u0644\u0632 \u06a9\u0648 \u0645\u0633\u062a\u0631\u062f \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0648: <code>versionCode<\/code> \u06c1\u0645 \u0627\u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u06c1\u06cc \u062f\u0648\u0633\u0631\u06d2 \u0679\u06cc\u0633\u0679 \u0679\u0631\u06cc\u06a9\u0633 \u067e\u0631 \u062f\u06cc\u06a9\u06be \u0686\u06a9\u06d2 \u06c1\u06cc\u06ba\u06d4 <code>versionName<\/code> \u06cc\u06c1 \u06a9\u0686\u06be \u0628\u06be\u06cc \u06c1\u0648\u0633\u06a9\u062a\u0627 \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u0633\u06cc\u0645\u0646\u0679\u06a9 \u0648\u0631\u0698\u0646 \u06cc\u06c1 \u06c1\u06d2: <code>1.0.0<\/code>\u060c <code>1.0.1<\/code>\u0627\u0648\u0631 <code>1.1.0<\/code> \u0622\u067e \u0627\u0648\u0631 \u0622\u067e \u06a9\u06d2 \u0635\u0627\u0631\u0641\u06cc\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 \u067e\u06cc\u0631\u0648\u06cc \u06a9\u0631\u0646\u0627 \u0622\u0633\u0627\u0646 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-how-to-create-a-google-play-developer-account\">\u06af\u0648\u06af\u0644 \u067e\u0644\u06d2 \u0688\u0648\u06cc\u0644\u067e\u0631 \u0627\u06a9\u0627\u0624\u0646\u0679 \u06a9\u06cc\u0633\u06d2 \u0628\u0646\u0627\u06cc\u0627 \u062c\u0627\u0626\u06d2\u06d4<\/h2>\n<p>play.google.com\/console \u067e\u0631 \u062c\u0627\u0626\u06cc\u06ba \u0627\u0648\u0631 \u0627\u0633 \u06af\u0648\u06af\u0644 \u0627\u06a9\u0627\u0624\u0646\u0679 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0633\u0627\u0626\u0646 \u0627\u0646 \u06a9\u0631\u06cc\u06ba \u062c\u0633 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0622\u067e \u0688\u0648\u06cc\u0644\u067e\u0631 \u0627\u06a9\u0627\u0624\u0646\u0679 \u06a9\u06d2 \u0645\u0627\u0644\u06a9 \u0628\u0646\u0646\u0627 \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0686\u0648\u0646\u06a9\u06c1 \u0628\u0639\u062f \u0645\u06cc\u06ba \u0645\u0644\u06a9\u06cc\u062a \u06a9\u0648 \u0645\u0646\u062a\u0642\u0644 \u06a9\u0631\u0646\u0627 \u062a\u06a9\u0644\u06cc\u0641 \u062f\u06c1 \u06c1\u06d2\u060c \u06c1\u0645 \u0622\u067e \u06a9\u06d2 \u0630\u0627\u062a\u06cc Gmail \u06a9\u0648 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u0627\u06cc\u06a9 \u0648\u0642\u0641 \u0634\u062f\u06c1 \u0627\u06a9\u0627\u0624\u0646\u0679 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06cc \u062a\u062c\u0648\u06cc\u0632 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u0622\u067e \u0633\u06d2 \u0630\u0627\u062a\u06cc \u0627\u06a9\u0627\u0624\u0646\u0679 \u0627\u0648\u0631 \u062a\u0646\u0638\u06cc\u0645\u06cc \u0627\u06a9\u0627\u0624\u0646\u0679 \u06a9\u06d2 \u062f\u0631\u0645\u06cc\u0627\u0646 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0631\u0646\u06d2 \u06a9\u0648 \u06a9\u06c1\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4 \u0630\u0627\u062a\u06cc \u0627\u06a9\u0627\u0624\u0646\u0679\u0633 \u0635\u0631\u0641 \u0630\u0627\u062a\u06cc \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06c1\u06cc\u06ba\u06d4 \u062a\u0646\u0638\u06cc\u0645\u06cc \u0627\u06a9\u0627\u0624\u0646\u0679\u0633 \u0631\u062c\u0633\u0679\u0631\u0688 \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0627\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 DUNS \u0646\u0645\u0628\u0631 \u062f\u0631\u06a9\u0627\u0631 \u06c1\u06d2\u060c \u062c\u0648 \u0688\u0646 \u200b\u200b\u0627\u0648\u0631 \u0628\u0631\u06cc\u0688\u0633\u0679\u0631\u06cc\u0679 \u06a9\u06cc \u0637\u0631\u0641 \u0633\u06d2 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062f\u06c1 \u0627\u06cc\u06a9 \u0645\u0641\u062a \u06a9\u0627\u0631\u0648\u0628\u0627\u0631\u06cc \u0634\u0646\u0627\u062e\u062a \u06a9\u0646\u0646\u062f\u06c1 \u06c1\u06d2\u06d4 \u0627\u0633 \u0646\u0645\u0628\u0631 \u06a9\u0648 \u062d\u0627\u0635\u0644 \u06a9\u0631\u0646\u06d2 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u06c1\u0641\u062a\u06c1 \u06cc\u0627 \u0627\u0633 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0648\u0642\u062a \u0644\u06af \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0622\u067e \u06a9\u06d2 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0627\u063a\u0630\u06cc \u06a9\u0627\u0631\u0631\u0648\u0627\u0626\u06cc \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0645\u062a\u0627\u062b\u0631 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0646\u0626\u06d2 \u0627\u0646\u0641\u0631\u0627\u062f\u06cc \u0627\u06a9\u0627\u0624\u0646\u0679\u0633 \u06a9\u0648 \u067e\u0631\u0648\u0688\u06a9\u0634\u0646 \u0645\u06cc\u06ba \u0634\u0627\u0626\u0639 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0627\u06cc\u06a9 \u067e\u0631\u0627\u0626\u06cc\u0648\u06cc\u0679 \u0679\u06cc\u0633\u0679\u0646\u06af \u06a9\u0627 \u062f\u0648\u0631\u0627\u0646\u06cc\u06c1 \u0645\u06a9\u0645\u0644 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2 (\u062c\u06cc\u0633\u0627 \u06a9\u06c1 \u0630\u06cc\u0644 \u0645\u06cc\u06ba \u0628\u06cc\u0627\u0646 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2)\u061b \u062a\u0646\u0638\u06cc\u0645\u06cc \u0627\u06a9\u0627\u0624\u0646\u0679\u0633 \u0627\u0633 \u0636\u0631\u0648\u0631\u062a \u0633\u06d2 \u0645\u0633\u062a\u062b\u0646\u06cc\u0670 \u06c1\u06cc\u06ba\u06d4 \u0622\u067e \u06a9\u06d2 \u0688\u0648\u06cc\u0644\u067e\u0631 \u06a9\u0627 \u0646\u0627\u0645\u060c \u062a\u0646\u0638\u06cc\u0645\u060c \u0627\u0648\u0631\u060c \u0645\u0646\u06cc\u0679\u0627\u0626\u0632\u0688 \u0630\u0627\u062a\u06cc \u0627\u06a9\u0627\u0624\u0646\u0679\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u0622\u067e \u06a9\u0627 \u067e\u062a\u06c1 \u0622\u067e \u06a9\u06d2 \u0627\u0633\u0679\u0648\u0631 \u06a9\u06cc \u0641\u06c1\u0631\u0633\u062a \u0645\u06cc\u06ba \u0639\u0648\u0627\u0645\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0638\u0627\u06c1\u0631 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4<\/p>\n<p>\u06cc\u06a9 \u0648\u0642\u062a\u06cc \u0631\u062c\u0633\u0679\u0631\u06cc\u0634\u0646 \u0641\u06cc\u0633 $25 \u0627\u062f\u0627 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0634\u0646\u0627\u062e\u062a \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u0645\u06a9\u0645\u0644 \u06a9\u0631\u06cc\u06ba\u06d4 Google \u0622\u067e \u0633\u06d2 \u0622\u067e \u06a9\u0627 \u0642\u0627\u0646\u0648\u0646\u06cc \u0646\u0627\u0645 \u0627\u0648\u0631 \u067e\u062a\u06c1 \u067e\u0648\u0686\u06be\u06d2 \u06af\u0627 \u062c\u0648 \u0622\u067e \u06a9\u06cc \u062d\u06a9\u0648\u0645\u062a \u06a9\u06cc \u0637\u0631\u0641 \u0633\u06d2 \u062c\u0627\u0631\u06cc \u06a9\u0631\u062f\u06c1 ID \u0633\u06d2 \u0645\u0645\u0627\u062b\u0644 \u06c1\u06d2\u060c \u0622\u067e \u06a9\u06d2 \u0631\u0627\u0628\u0637\u06d2 \u06a9\u06d2 \u0627\u06cc \u0645\u06cc\u0644 \u0627\u0648\u0631 \u0641\u0648\u0646 \u0646\u0645\u0628\u0631 \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631\u06d2 \u06af\u0627\u060c \u0627\u0648\u0631 \u0630\u0627\u062a\u06cc \u0627\u06a9\u0627\u0624\u0646\u0679\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u0622\u067e \u0633\u06d2 Play Console \u0627\u06cc\u067e \u06a9\u0648 \u0627\u0646\u0633\u0679\u0627\u0644 \u0627\u0648\u0631 \u0633\u0627\u0626\u0646 \u0627\u0646 \u06a9\u0631 \u06a9\u06d2 \u0627\u0633 \u0628\u0627\u062a \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u06c1\u06d2 \u06af\u0627 \u06a9\u06c1 \u0622\u067e \u06a9\u0648 \u0627\u06cc\u06a9 \u0641\u0632\u06cc\u06a9\u0644 \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u0688\u06cc\u0648\u0627\u0626\u0633 \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc \u062d\u0627\u0635\u0644 \u06c1\u06d2\u06d4 \u062a\u0635\u062f\u06cc\u0642 \u0645\u06cc\u06ba \u0639\u0627\u0645 \u0637\u0648\u0631 \u067e\u0631 \u06a9\u0686\u06be \u062f\u0646 \u0644\u06af\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0622\u067e \u0627\u0633 \u06a9\u06d2 \u0645\u06a9\u0645\u0644 \u06c1\u0648\u0646\u06d2 \u062a\u06a9 \u0634\u0627\u0626\u0639 \u0646\u06c1\u06cc\u06ba \u06a9\u0631 \u0633\u06a9\u062a\u06d2\u060c \u0644\u06c1\u0630\u0627 \u06cc\u06c1 \u0645\u0631\u062d\u0644\u06c1 \u062c\u0644\u062f \u0634\u0631\u0648\u0639 \u06a9\u0631\u06cc\u06ba\u060c \u06cc\u06c1\u0627\u06ba \u062a\u06a9 \u06a9\u06c1 \u0622\u067e \u06a9\u06cc \u0627\u06cc\u067e \u0645\u06a9\u0645\u0644 \u06c1\u0648 \u062c\u0627\u0626\u06d2\u06d4<\/p>\n<p>\u067e\u0648\u0631\u06d2 Android \u0627\u06cc\u06a9\u0648 \u0633\u0633\u0679\u0645 \u0645\u06cc\u06ba \u0634\u0646\u0627\u062e\u062a \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u0632\u06cc\u0627\u062f\u06c1 \u0627\u06c1\u0645 \u06c1\u0648\u062a\u06cc \u062c\u0627 \u0631\u06c1\u06cc \u06c1\u06d2\u06d4 2026 \u06a9\u06d2 \u0627\u0648\u0627\u062e\u0631 \u0633\u06d2\u060c Google \u062a\u0635\u062f\u06cc\u0642 \u0634\u062f\u06c1 \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u0688\u06cc\u0648\u0627\u0626\u0633\u0632 \u067e\u0631 \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u062f\u06c1 \u062a\u0645\u0627\u0645 \u0627\u06cc\u067e\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0688\u0648\u06cc\u0644\u067e\u0631 \u0633\u0631\u0679\u06cc\u0641\u06cc\u06a9\u06cc\u0634\u0646 \u06a9\u0648 \u0631\u0648\u0644 \u0622\u0624\u0679 \u06a9\u0631\u0646\u0627 \u0634\u0631\u0648\u0639 \u06a9\u0631 \u062f\u06d2 \u06af\u0627\u060c \u0628\u0634\u0645\u0648\u0644 Google Play \u0633\u06d2 \u0628\u0627\u06c1\u0631 \u062a\u0642\u0633\u06cc\u0645 \u06a9\u0631\u062f\u06c1 \u0627\u06cc\u067e\u0633\u060c \u0628\u06c1\u062a \u06a9\u0645 \u0645\u0645\u0627\u0644\u06a9 \u0645\u06cc\u06ba\u06d4 \u0627\u06af\u0631 \u0622\u067e Play \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u062a\u0642\u0633\u06cc\u0645 \u06a9\u0631 \u0631\u06c1\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0622\u067e \u0646\u06d2 Play Console \u06a9\u06cc \u062a\u0648\u062b\u06cc\u0642 \u0645\u06a9\u0645\u0644 \u06a9\u0631 \u0644\u06cc \u06c1\u06d2\u060c \u062a\u0648 \u0622\u067e \u067e\u06c1\u0644\u06d2 \u06c1\u06cc \u0627\u062d\u0627\u0637\u06c1 \u06a9\u0631 \u0686\u06a9\u06d2 \u06c1\u06cc\u06ba\u060c \u0644\u06cc\u06a9\u0646 \u0622\u067e \u06a9\u06d2 \u0627\u06a9\u0627\u0624\u0646\u0679 \u06a9\u06cc \u062a\u0641\u0635\u06cc\u0644\u0627\u062a \u062f\u0631\u0633\u062a \u06c1\u0648\u0646\u06d2 \u06a9\u0648 \u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06cc \u0627\u06cc\u06a9 \u0627\u0648\u0631 \u0648\u062c\u06c1 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-how-to-create-your-app-in-the-play-console\">Play Console \u0645\u06cc\u06ba \u0627\u06cc\u067e \u06a9\u06cc\u0633\u06d2 \u0628\u0646\u0627\u0626\u06cc \u062c\u0627\u0626\u06d2\u06d4<\/h2>\n<p>\u0627\u06cc\u06a9 \u0628\u0627\u0631 \u062c\u0628 \u0622\u067e \u06a9\u06d2 \u0627\u06a9\u0627\u0624\u0646\u0679 \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06c1\u0648 \u062c\u0627\u0626\u06d2 \u062a\u0648\u060c \u0627\u06af\u0644\u0627 \u067e\u0631 \u06a9\u0644\u06a9 \u06a9\u0631\u06cc\u06ba\u06d4 <strong>\u0627\u06cc\u06a9 \u0627\u06cc\u067e \u0628\u0646\u0627\u0626\u06cc\u06ba<\/strong> Play Console \u06a9\u06d2 \u06c1\u0648\u0645 \u067e\u06cc\u062c \u067e\u0631\u060c \u0627\u067e\u0646\u06cc \u0627\u06cc\u067e \u06a9\u0627 \u0646\u0627\u0645 \u062f\u0631\u062c \u06a9\u0631\u06cc\u06ba (30 \u062d\u0631\u0648\u0641 \u062a\u06a9) \u062c\u06cc\u0633\u0627 \u06a9\u06c1 \u0622\u067e \u0627\u0633\u06d2 Google Play \u067e\u0631 \u0638\u0627\u06c1\u0631 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u067e\u0646\u06cc \u067e\u0633\u0646\u062f \u06a9\u06cc \u0632\u0628\u0627\u0646 \u0645\u0646\u062a\u062e\u0628 \u06a9\u0631\u06cc\u06ba\u060c \u0627\u0648\u0631 \u067e\u06be\u0631 <strong>\u0627\u06cc\u067e<\/strong> \u0628\u0644\u06a9\u06c1 <strong>\u06a9\u06be\u06cc\u0644<\/strong>\u0645\u0646\u062a\u062e\u0628 \u06a9\u0631\u06cc\u06ba <strong>\u0645\u0641\u062a<\/strong> \u06cc\u0627 <strong>\u0627\u062f\u0627 \u06a9\u06cc\u0627<\/strong>.<\/p>\n<p>\u06cc\u06c1\u0627\u06ba \u0645\u062d\u062a\u0627\u0637 \u0631\u06c1\u06cc\u06ba\u06d4 \u0622\u067e \u0627\u06cc\u06a9 \u0628\u0627\u0645\u0639\u0627\u0648\u0636\u06c1 \u0627\u06cc\u067e \u06a9\u0648 \u0628\u0639\u062f \u0645\u06cc\u06ba \u0645\u0641\u062a \u0645\u06cc\u06ba \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0644\u06cc\u06a9\u0646 \u0645\u0641\u062a \u0627\u06cc\u067e \u06a9\u0648 \u06a9\u0628\u06be\u06cc \u0628\u06be\u06cc \u0627\u062f\u0627 \u0634\u062f\u06c1 \u0627\u06cc\u067e \u0645\u06cc\u06ba \u062a\u0628\u062f\u06cc\u0644 \u0646\u06c1\u06cc\u06ba \u06a9\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627\u06d4 \u0627\u06af\u0631 \u0622\u067e \u0686\u0627\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0628\u0644 \u0648\u0635\u0648\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u062a\u0648 \u0627\u0633 \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u062f\u0631\u0648\u0646 \u0627\u06cc\u067e \u062e\u0631\u06cc\u062f\u0627\u0631\u06cc\u0627\u06ba \u06cc\u0627 \u0633\u0628\u0633\u06a9\u0631\u067e\u0634\u0646\u0632 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4 \u0688\u06cc\u0648\u0644\u067e\u0631 \u067e\u0631\u0648\u06af\u0631\u0627\u0645 \u06a9\u06cc \u067e\u0627\u0644\u06cc\u0633\u06cc\u0648\u06ba \u0627\u0648\u0631 \u06cc\u0648 \u0627\u06cc\u0633 \u0627\u06cc\u06a9\u0633\u067e\u0648\u0631\u0679 \u0644\u0627 \u0627\u0633\u0679\u06cc\u0679\u0645\u0646\u0679 \u0633\u06d2 \u0627\u062a\u0641\u0627\u0642 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0627\u06af\u0644\u0627 \u067e\u0631 \u06a9\u0644\u06a9 \u06a9\u0631\u06cc\u06ba\u06d4 <strong>\u0627\u06cc\u06a9 \u0627\u06cc\u067e \u0628\u0646\u0627\u0626\u06cc\u06ba<\/strong>.<\/p>\n<p>\u0627\u06cc\u067e \u0688\u06cc\u0634 \u0628\u0648\u0631\u0688 \u0638\u0627\u06c1\u0631 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u060c \u0633\u06cc\u06a9\u0634\u0646 \u06a9\u06d2 \u0644\u062d\u0627\u0638 \u0633\u06d2 \u06af\u0631\u0648\u067e \u06a9\u0631\u062f\u06c1 \u06a9\u0627\u0645\u0648\u06ba \u06a9\u06cc \u0686\u06cc\u06a9 \u0644\u0633\u0679 \u062f\u06a9\u06be\u0627\u062a\u0627 \u06c1\u06d2\u06d4 Play Console \u0627\u06cc\u06a9 \u0645\u0639\u0642\u0648\u0644 \u062a\u0631\u062a\u06cc\u0628 \u0645\u06cc\u06ba \u0622\u067e \u06a9\u0648 \u0627\u0633 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0644\u06d2 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u0627\u06af\u0644\u06d2 \u062f\u0648 \u062d\u0635\u06d2 \u0627\u0646 \u062d\u0635\u0648\u06ba \u06a9\u06cc \u0646\u0634\u0627\u0646\u062f\u06c1\u06cc \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u0644\u0648\u06af\u0648\u06ba \u06a9\u0648 \u0633\u0628 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u0627\u0644\u062c\u06be\u0646 \u0645\u06cc\u06ba \u0688\u0627\u0644\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-how-to-complete-the-app-content-declarations\">\u0627\u067e\u0646\u06d2 \u0627\u06cc\u067e \u06a9\u06d2 \u0645\u0648\u0627\u062f \u06a9\u0627 \u0627\u0639\u0644\u0627\u0646 \u06a9\u06cc\u0633\u06d2 \u0645\u06a9\u0645\u0644 \u06a9\u0631\u06cc\u06ba\u06d4<\/h2>\n<p>\u0646\u06cc\u0686\u06d2 <strong>\u067e\u0627\u0644\u06cc\u0633\u06cc\u0627\u06ba \u0627\u0648\u0631 \u067e\u0631\u0648\u06af\u0631\u0627\u0645 > \u0627\u06cc\u067e \u06a9\u0627 \u0645\u0648\u0627\u062f<\/strong> (\u0688\u06cc\u0634 \u0628\u0648\u0631\u0688 \u0686\u06cc\u06a9 \u0644\u0633\u0679 \u0633\u06d2 \u0628\u06be\u06cc \u0645\u0646\u0633\u0644\u06a9) \u06af\u0648\u06af\u0644 \u0622\u067e \u06a9\u06cc \u0627\u06cc\u067e \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0633\u0648\u0627\u0644\u0627\u062a \u06a9\u0627 \u0627\u06cc\u06a9 \u0633\u0644\u0633\u0644\u06c1 \u067e\u0648\u0686\u06be\u062a\u0627 \u06c1\u06d2\u06d4 \u062a\u0645\u0627\u0645 \u0627\u06cc\u067e\u0633 \u06a9\u0648 \u06a9\u0633\u06cc \u0628\u06be\u06cc \u0679\u0631\u06cc\u06a9 \u067e\u0631 \u0631\u06cc\u0644\u06cc\u0632 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0627\u0646\u062f\u0631\u0648\u0646\u06cc \u062c\u0627\u0646\u0686 \u0633\u0645\u06cc\u062a \u062a\u0645\u0627\u0645 \u0645\u0631\u0627\u062d\u0644 \u06a9\u0648 \u0645\u06a9\u0645\u0644 \u06a9\u0631\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u06d4<\/p>\n<p>\u06a9\u06c1 <strong>\u0631\u0627\u0632\u062f\u0627\u0631\u06cc \u06a9\u06cc \u067e\u0627\u0644\u06cc\u0633\u06cc<\/strong> \u0622\u067e \u06a9\u0648 \u0627\u0633 \u0635\u0641\u062d\u06c1 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0639\u0648\u0627\u0645\u06cc URL \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u06af\u06cc \u062c\u0648 \u06cc\u06c1 \u0628\u062a\u0627\u062a\u0627 \u06c1\u0648 \u06a9\u06c1 \u0622\u067e \u06a9\u06cc \u0627\u06cc\u067e \u06a9\u0648\u0646 \u0633\u0627 \u0688\u06cc\u0679\u0627 \u0627\u06a9\u0679\u06be\u0627 \u06a9\u0631\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633\u06d2 \u06a9\u06cc\u0633\u06d2 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 \u06cc\u06c1 \u0636\u0631\u0648\u0631\u06cc \u06c1\u06d2 \u06cc\u06c1\u0627\u06ba \u062a\u06a9 \u06a9\u06c1 \u0627\u06af\u0631 \u0627\u06cc\u067e \u06a9\u0686\u06be \u0628\u06be\u06cc \u062c\u0645\u0639 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 \u0641\u0648\u0631\u06cc \u0646\u0648\u0679\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u0627\u06cc\u06a9 \u0645\u062e\u062a\u0635\u0631 \u0635\u0641\u062d\u06c1 \u06a9\u0627\u0641\u06cc \u06c1\u0648\u06af\u0627: \u0646\u0648\u0679\u0633 \u0635\u0631\u0641 \u0622\u067e \u06a9\u06d2 \u0622\u0644\u06d2 \u067e\u0631 \u0645\u062d\u0641\u0648\u0638 \u06a9\u06cc\u06d2 \u062c\u0627\u0626\u06cc\u06ba \u06af\u06d2 \u0627\u0648\u0631 \u06a9\u0648\u0626\u06cc \u0688\u06cc\u0679\u0627 \u0627\u06a9\u0679\u06be\u0627 \u06cc\u0627 \u0634\u06cc\u0626\u0631 \u0646\u06c1\u06cc\u06ba \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4 \u0622\u067e \u0627\u0633\u06d2 \u06af\u0679 \u06c1\u0628 \u067e\u06cc\u062c\u060c \u06af\u0648\u06af\u0644 \u0633\u0627\u0626\u0679\u0633\u060c \u06cc\u0627 \u0622\u067e \u06a9\u06cc \u0627\u067e\u0646\u06cc \u0648\u06cc\u0628 \u0633\u0627\u0626\u0679 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0645\u06cc\u0632\u0628\u0627\u0646\u06cc \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0644\u06cc\u06a9\u0646 \u06cc\u06c1 \u0627\u06cc\u06a9 \u06a9\u0627\u0645 \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u0627\u060c \u0639\u0648\u0627\u0645\u06cc \u0648\u06cc\u0628 \u0635\u0641\u062d\u06c1 \u06c1\u0648\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u060c \u0646\u06c1 \u06a9\u06c1 \u067e\u06cc \u0688\u06cc \u0627\u06cc\u0641 \u06cc\u0627 \u06af\u0648\u06af\u0644 \u062f\u0633\u062a\u0627\u0648\u06cc\u0632 \u062c\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0644\u0627\u06af \u0627\u0646 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4<\/p>\n<p><strong>\u0627\u06cc\u067e \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc<\/strong> \u0627\u06cc\u067e \u06a9\u06d2 \u062d\u0635\u06d2 \u0622\u067e \u0633\u06d2 \u067e\u0648\u0686\u06be\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u06a9\u06cc\u0627 \u0622\u067e \u06a9\u0648 \u0644\u0627\u06af \u0627\u0646 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u0627\u06cc\u0633\u0627 \u06c1\u06d2 \u062a\u0648\u060c \u0622\u067e \u06a9\u0648 \u062c\u0627\u0646\u0686 \u06a9\u06cc \u0627\u0633\u0646\u0627\u062f \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u06af\u06cc \u062a\u0627\u06a9\u06c1 \u062c\u0627\u0626\u0632\u06c1 \u0644\u06cc\u0646\u06d2 \u0648\u0627\u0644\u0627 \u062a\u0645\u0627\u0645 \u0627\u0633\u06a9\u0631\u06cc\u0646\u0648\u06ba \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc \u062d\u0627\u0635\u0644 \u06a9\u0631 \u0633\u06a9\u06d2\u06d4 QuickNote \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0648\u0626\u06cc \u0644\u0627\u06af \u0627\u0646 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u060c \u0644\u06c1\u0630\u0627 \u062e\u0635\u0648\u0635\u06cc \u0631\u0633\u0627\u0626\u06cc \u06a9\u06d2 \u0628\u063a\u06cc\u0631 \u062a\u0645\u0627\u0645 \u062e\u0635\u0648\u0635\u06cc\u0627\u062a \u06a9\u0648 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p><strong>\u0627\u0634\u062a\u06c1\u0627\u0631<\/strong> \u067e\u0648\u0686\u06be\u06cc\u06ba \u06a9\u06c1 \u06a9\u06cc\u0627 \u0622\u067e \u06a9\u06cc \u0627\u06cc\u067e \u0645\u06cc\u06ba \u0627\u0634\u062a\u06c1\u0627\u0631\u0627\u062a \u06c1\u06cc\u06ba\u060c \u0628\u0634\u0645\u0648\u0644 SDKs \u06a9\u06d2 \u0627\u0634\u062a\u06c1\u0627\u0631\u0627\u062a \u062c\u0648 \u0622\u067e \u0646\u06d2 \u062e\u0648\u062f \u0646\u06c1\u06cc\u06ba \u0644\u06a9\u06be\u06d2\u06d4 \u0627\u0634\u062a\u06c1\u0627\u0631\u0627\u062a \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u0627\u06cc\u067e\u0633 \u06a9\u0648 \u0622\u067e \u06a9\u06d2 \u0627\u0633\u0679\u0648\u0631 \u06a9\u06cc \u0641\u06c1\u0631\u0633\u062a \u0645\u06cc\u06ba &#8216;\u0627\u0634\u062a\u06c1\u0627\u0631 \u067e\u0631 \u0645\u0634\u062a\u0645\u0644 \u06c1\u06d2&#8217; \u06a9\u0627 \u0644\u06cc\u0628\u0644 \u0644\u06af\u0627\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627 \u0627\u0648\u0631 \u062c\u0627\u0626\u0632\u06c1 \u0644\u06cc\u0646\u06d2 \u0648\u0627\u0644\u0648\u06ba \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06c1 \u0627\u0646 \u06a9\u0627 \u062c\u0627\u0626\u0632\u06c1 \u0644\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627\u060c \u0644\u06c1\u0630\u0627 \u0628\u0631\u0627\u06c1 \u06a9\u0631\u0645 \u0627\u06cc\u0645\u0627\u0646\u062f\u0627\u0631\u06cc \u0633\u06d2 \u062c\u0648\u0627\u0628 \u062f\u06cc\u06ba\u06d4<\/p>\n<p><strong>\u0645\u0648\u0627\u062f \u06a9\u06cc \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc<\/strong> \u062a\u0634\u062f\u062f\u060c \u062c\u0646\u0633\u06cc \u0645\u0648\u0627\u062f\u060c \u0632\u0628\u0627\u0646\u060c \u06a9\u0646\u0679\u0631\u0648\u0644 \u0634\u062f\u06c1 \u0645\u0627\u062f\u06c1\u060c \u0635\u0627\u0631\u0641 \u06a9\u06cc \u0628\u0627\u062a \u0686\u06cc\u062a\u060c \u0627\u0648\u0631 \u0627\u0633\u06cc \u0637\u0631\u062d \u06a9\u06d2 \u0645\u0648\u0636\u0648\u0639\u0627\u062a \u067e\u0631 IARC \u06a9\u06d2 \u0633\u0648\u0627\u0644\u0646\u0627\u0645\u06d2\u06d4 \u0622\u067e \u06a9\u06d2 \u062c\u0648\u0627\u0628\u0627\u062a \u062f\u0646\u06cc\u0627 \u0628\u06be\u0631 \u06a9\u06d2 \u062e\u0637\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2 \u0639\u0645\u0631 \u06a9\u06cc \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc \u067e\u06cc\u062f\u0627 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba (\u0634\u0645\u0627\u0644\u06cc \u0627\u0645\u0631\u06cc\u06a9\u06c1 \u0645\u06cc\u06ba ESRB\u060c \u06cc\u0648\u0631\u067e \u0645\u06cc\u06ba PEGI \u0648\u063a\u06cc\u0631\u06c1)\u06d4 \u0635\u0627\u0631\u0641 \u06a9\u06cc \u062a\u062e\u0644\u06cc\u0642 \u06a9\u0631\u062f\u06c1 \u0627\u0634\u062a\u0631\u0627\u06a9 \u06a9\u06d2 \u0628\u063a\u06cc\u0631 \u0646\u0648\u0679\u0633 \u0627\u06cc\u067e\u0633 \u06a9\u0648 \u06c1\u0631 \u062c\u06af\u06c1 \u0633\u0628 \u0633\u06d2 \u06a9\u0645 \u062f\u0631\u062c\u06c1 \u062f\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p><strong>\u06c1\u062f\u0641 \u06a9\u06d2 \u0633\u0627\u0645\u0639\u06cc\u0646 \u0627\u0648\u0631 \u0645\u0648\u0627\u062f<\/strong> \u067e\u0648\u0686\u06be\u06cc\u06ba \u06a9\u06c1 \u0627\u06cc\u067e \u06a9\u0633 \u0639\u0645\u0631 \u06a9\u06d2 \u06af\u0631\u0648\u067e \u06a9\u06d2 \u0644\u06cc\u06d2 \u0628\u0646\u0627\u0626\u06cc \u06af\u0626\u06cc \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u0622\u067e \u06a9\u06cc \u0627\u06cc\u067e \u0645\u06cc\u06ba 13 \u0633\u0627\u0644 \u0633\u06d2 \u06a9\u0645 \u0639\u0645\u0631 \u06a9\u06d2 \u0628\u0686\u06d2 \u0634\u0627\u0645\u0644 \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u06cc\u06c1 \u0641\u06cc\u0645\u0644\u06cc \u067e\u0627\u0644\u06cc\u0633\u06cc \u06a9\u06d2 \u062a\u062d\u062a \u0622\u062a\u06cc \u06c1\u06d2\u060c \u062c\u0633 \u0645\u06cc\u06ba \u0627\u0634\u062a\u06c1\u0627\u0631\u0627\u062a\u060c \u0688\u06cc\u0679\u0627 \u0627\u06a9\u0679\u06be\u0627 \u06a9\u0631\u0646\u06d2 \u0627\u0648\u0631 SDKs \u0633\u06d2 \u0645\u062a\u0639\u0644\u0642 \u062a\u0642\u0627\u0636\u06d2 \u0634\u0627\u0645\u0644 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0639\u0627\u0645 \u0645\u0642\u0635\u062f \u06a9\u06cc \u0627\u0641\u0627\u062f\u06cc\u062a \u06a9\u06d2 \u0644\u06cc\u06d2\u060c 18+ \u06cc\u0627 13 \u0633\u06d2 \u0634\u0631\u0648\u0639 \u06c1\u0648\u0646\u06d2 \u0648\u0627\u0644\u06cc \u0631\u06cc\u0646\u062c \u06a9\u0627 \u0627\u0646\u062a\u062e\u0627\u0628 \u06a9\u0631\u06cc\u06ba\u060c \u062c\u0628 \u062a\u06a9 \u06a9\u06c1 \u0628\u0686\u06d2 \u0622\u067e \u06a9\u06d2 \u062d\u0642\u06cc\u0642\u06cc \u0633\u0627\u0645\u0639\u06cc\u0646 \u0646\u06c1 \u06c1\u0648\u06ba\u06d4<\/p>\n<p><strong>\u0688\u06cc\u0679\u0627 \u06a9\u06cc \u062d\u0641\u0627\u0638\u062a<\/strong> \u06cc\u06c1 \u0633\u0628 \u0633\u06d2 \u062a\u0641\u0635\u06cc\u0644\u06cc \u0634\u06a9\u0644 \u06c1\u06d2\u06d4 \u0627\u067e\u0646\u06cc \u0627\u0633\u0679\u0648\u0631 \u06a9\u06cc \u0641\u06c1\u0631\u0633\u062a \u0645\u06cc\u06ba \u0627\u06cc\u06a9 &#8216;\u0688\u06cc\u0679\u0627 \u0633\u06cc\u06a9\u06cc\u0648\u0631\u0679\u06cc&#8217; \u0633\u06cc\u06a9\u0634\u0646 \u0628\u0646\u0627\u0626\u06cc\u06ba \u0627\u0648\u0631 \u067e\u0648\u0686\u06be\u06cc\u06ba \u06a9\u06c1 \u0622\u06cc\u0627 \u0622\u067e \u06a9\u06cc \u0627\u06cc\u067e \u0635\u0627\u0631\u0641 \u06a9\u06d2 \u06c1\u0631 \u0642\u0633\u0645 \u06a9\u06d2 \u0688\u06cc\u0679\u0627 \u06a9\u0648 \u062c\u0645\u0639 \u06a9\u0631\u062a\u06cc \u06c1\u06d2 \u06cc\u0627 \u0634\u06cc\u0626\u0631 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u060c \u0628\u0634\u0645\u0648\u0644 \u0645\u0642\u0627\u0645\u060c \u0631\u0648\u0627\u0628\u0637\u060c \u0630\u0627\u062a\u06cc \u0645\u0639\u0644\u0648\u0645\u0627\u062a\u060c \u0627\u0648\u0631 \u0627\u06cc\u067e \u06a9\u06cc \u0633\u0631\u06af\u0631\u0645\u06cc\u060c \u0627\u0648\u0631 \u06a9\u0646 \u0645\u0642\u0627\u0635\u062f \u06a9\u06d2 \u0644\u06cc\u06d2\u06d4 \u06a9\u06cc\u0686 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u0622\u067e \u0627\u067e\u0646\u06cc \u0627\u06cc\u067e \u0645\u06cc\u06ba \u0645\u0648\u062c\u0648\u062f \u062a\u0645\u0627\u0645 \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc\u0648\u06ba \u0633\u06d2 \u062c\u0645\u0639 \u06a9\u06cc\u06d2 \u06af\u0626\u06d2 \u0688\u06cc\u0679\u0627 \u06a9\u06d2 \u0630\u0645\u06c1 \u062f\u0627\u0631 \u06c1\u06cc\u06ba\u060c \u0646\u06c1 \u0635\u0631\u0641 \u0627\u067e\u0646\u06d2 \u06a9\u0648\u0688 \u06a9\u06d2\u06d4 \u062a\u062c\u0632\u06cc\u0627\u062a\u060c \u062e\u0631\u0627\u0628\u06cc \u06a9\u06cc \u0627\u0637\u0644\u0627\u0639 \u062f\u06c1\u0646\u062f\u06af\u06cc\u060c \u0627\u0648\u0631 \u0627\u0634\u062a\u06c1\u0627\u0631\u06cc SDKs \u0633\u0628\u06be\u06cc \u0688\u06cc\u0679\u0627 \u0627\u06a9\u0679\u06be\u0627 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0627\u0646 \u06a9\u0627 \u0627\u0639\u0644\u0627\u0646 \u06c1\u0648\u0646\u0627 \u0636\u0631\u0648\u0631\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u0632\u06cc\u0627\u062f\u06c1 \u062a\u0631 \u0628\u0691\u06d2 SDKs \u0627\u06cc\u0633\u06d2 \u0635\u0641\u062d\u0627\u062a \u0634\u0627\u0626\u0639 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u0648 \u0627\u0633 \u0628\u0627\u062a \u06a9\u06cc \u0648\u0636\u0627\u062d\u062a \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u06a9\u06cc\u0627 \u0627\u0639\u0644\u0627\u0646 \u06a9\u0631\u0646\u0627 \u06c1\u06d2\u06d4 \u06a9\u0648\u0626\u06cc\u06a9 \u0646\u0648\u0679\u0633 \u0627\u06cc\u0633\u06cc \u06a9\u0633\u06cc \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0646\u06cc\u0679 \u0648\u0631\u06a9 \u06a9\u0627\u0644\u0632 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0644\u06c1\u0630\u0627 \u0627\u06cc\u0645\u0627\u0646\u062f\u0627\u0631\u0627\u0646\u06c1 \u062c\u0648\u0627\u0628 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u06a9\u0648\u0626\u06cc \u0688\u06cc\u0679\u0627 \u0627\u06a9\u0679\u06be\u0627 \u06cc\u0627 \u0634\u06cc\u0626\u0631 \u0646\u06c1\u06cc\u06ba \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0628\u0642\u06cc\u06c1 \u0627\u0639\u0644\u0627\u0646\u0627\u062a (\u0646\u06cc\u0648\u0632 \u0627\u06cc\u067e\u060c \u06af\u0648\u0631\u0646\u0645\u0646\u0679 \u0627\u06cc\u067e\u060c \u0641\u0646\u0627\u0646\u0634\u0644 \u0641\u06cc\u0686\u0631\u0632\u060c \u06c1\u06cc\u0644\u062a\u06be \u0627\u06cc\u067e\u060c \u0648\u063a\u06cc\u0631\u06c1) \u06c1\u0627\u06ba \u06cc\u0627 \u0646\u06c1\u06cc\u06ba \u0645\u06cc\u06ba \u0633\u0648\u0627\u0644\u0627\u062a \u06c1\u06cc\u06ba\u06d4 \u0646\u0648\u0679 \u0644\u06cc\u0646\u06d2 \u0648\u0627\u0644\u06cc \u0627\u06cc\u067e\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u06c1\u0631 \u0627\u06cc\u06a9 \u06a9\u0627 \u062c\u0648\u0627\u0628 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-how-to-set-up-your-store-listing\">\u0627\u067e\u0646\u06d2 \u0627\u0633\u0679\u0648\u0631 \u06a9\u06cc \u0641\u06c1\u0631\u0633\u062a \u06a9\u0648 \u06a9\u06cc\u0633\u06d2 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u06ba\u06d4<\/h2>\n<p>\u0627\u0633\u0679\u0648\u0631 \u0631\u062c\u0633\u0679\u0631\u06cc\u0634\u0646 \u06a9\u06cc \u0645\u0639\u0644\u0648\u0645\u0627\u062a (\u0646\u06cc\u0686\u06d2) <strong>\u0635\u0627\u0631\u0641 \u06a9\u06cc \u062a\u0631\u0642\u06cc> \u0627\u0633\u0679\u0648\u0631 \u06a9\u06cc \u0645\u0639\u0644\u0648\u0645\u0627\u062a> \u0688\u06cc\u0641\u0627\u0644\u0679 \u0627\u0633\u0679\u0648\u0631 \u06a9\u06cc \u0641\u06c1\u0631\u0633\u062a<\/strong>\u06cc\u06c1 \u0648\u06c1\u06cc \u06c1\u06d2 \u062c\u0648 \u0644\u0648\u06af \u0627\u0633\u06d2 \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u062f\u06cc\u06a9\u06be\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0622\u067e \u06a9\u0648 \u062f\u0631\u062c \u0630\u06cc\u0644 \u0645\u062a\u0646 \u0627\u0648\u0631 \u06af\u0631\u0627\u0641\u06a9\u0633 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u06af\u06cc:<\/p>\n<table>\n<thead>\n<tr>\n<th>\u0645\u06cc\u0631\u0627\u062b<\/th>\n<th>\u062a\u0642\u0627\u0636\u06d2<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>\u0627\u06cc\u067e \u06a9\u0627 \u0646\u0627\u0645<\/td>\n<td>30 \u062d\u0631\u0648\u0641 \u062a\u06a9<\/td>\n<\/tr>\n<tr>\n<td>\u0645\u062e\u062a\u0635\u0631 \u0648\u0636\u0627\u062d\u062a<\/td>\n<td>80 \u062d\u0631\u0648\u0641 \u062a\u06a9<\/td>\n<\/tr>\n<tr>\n<td>\u0645\u06a9\u0645\u0644 \u062a\u0641\u0635\u06cc\u0644<\/td>\n<td>4000 \u062d\u0631\u0648\u0641 \u062a\u06a9<\/td>\n<\/tr>\n<tr>\n<td>\u0627\u06cc\u067e \u06a9\u0627 \u0622\u0626\u06cc\u06a9\u0646<\/td>\n<td>512 x 512px PNG\u060c 32 \u0628\u0679 (\u0628\u0634\u0645\u0648\u0644 \u0627\u0644\u0641\u0627)\u060c 1MB \u062a\u06a9<\/td>\n<\/tr>\n<tr>\n<td>\u0646\u0645\u0627\u06cc\u0627\u06ba \u06af\u0631\u0627\u0641\u06a9\u0633<\/td>\n<td>1024 x 500px JPEG \u06cc\u0627 24-bit PNG\u060c \u06a9\u0648\u0626\u06cc \u0627\u0644\u0641\u0627 \u0646\u06c1\u06cc\u06ba\u06d4<\/td>\n<\/tr>\n<tr>\n<td>\u0645\u0648\u0628\u0627\u0626\u0644 \u0641\u0648\u0646 \u0627\u0633\u06a9\u0631\u06cc\u0646 \u0634\u0627\u0679<\/td>\n<td>2 \u0633\u06d2 8 \u062a\u0635\u0627\u0648\u06cc\u0631\u060c 16:9 \u06cc\u0627 9:16\u060c 320 \u0633\u06d2 3840 \u067e\u06a9\u0633\u0644\u0632 \u0641\u06cc \u0633\u0627\u0626\u06cc\u0688<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u0628\u0627\u0626\u06cc\u06ba \u06a9\u0627\u0644\u0645 \u0645\u06cc\u06ba \u06c1\u0631 \u0645\u0637\u0644\u0648\u0628\u06c1 \u0627\u062b\u0627\u062b\u06c1 \u06a9\u06cc \u0641\u06c1\u0631\u0633\u062a \u06c1\u06d2\u060c \u0627\u0648\u0631 \u062f\u0627\u0626\u06cc\u06ba \u06a9\u0627\u0644\u0645 \u0645\u06cc\u06ba \u06af\u0648\u06af\u0644 \u06a9\u06cc \u0645\u0648\u062c\u0648\u062f\u06c1 \u062d\u062f\u0648\u062f \u06a9\u06cc \u0641\u06c1\u0631\u0633\u062a \u06c1\u06d2\u06d4<\/p>\n<p>\u0645\u062e\u062a\u0635\u0631 \u062a\u0641\u0635\u06cc\u0644 \u062a\u0644\u0627\u0634 \u06a9\u06d2 \u0646\u062a\u0627\u0626\u062c \u0645\u06cc\u06ba \u0622\u067e \u06a9\u06cc \u0627\u06cc\u067e \u06a9\u06d2 \u0646\u0627\u0645 \u06a9\u06d2 \u0628\u0627\u0644\u06a9\u0644 \u0646\u06cc\u0686\u06d2 \u0638\u0627\u06c1\u0631 \u06c1\u0648\u06af\u06cc\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u0627\u0633\u06d2 \u0627\u06cc\u06a9 \u0644\u0627\u0626\u0646 \u06a9\u06cc \u062a\u0641\u0635\u06cc\u0644 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0633\u0645\u062c\u06be\u06cc\u06ba \u0627\u0648\u0631 \u0627\u067e\u0646\u06d2 \u0627\u06c1\u0645 \u062a\u0631\u06cc\u0646 \u0645\u0637\u0644\u0648\u0628\u06c1 \u0627\u0644\u0641\u0627\u0638 \u062f\u0631\u062c \u06a9\u0631\u06cc\u06ba\u06d4 \u0645\u06a9\u0645\u0644 \u062a\u0641\u0635\u06cc\u0644 \u0648\u06c1 \u06c1\u06d2 \u062c\u06c1\u0627\u06ba \u0641\u0639\u0627\u0644\u06cc\u062a \u06a9\u0648 \u0633\u0627\u062f\u06c1 \u0632\u0628\u0627\u0646 \u0645\u06cc\u06ba \u0628\u06cc\u0627\u0646 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4 \u06af\u0648\u06af\u0644 \u067e\u0644\u06d2 \u0627\u0646\u06c1\u06cc\u06ba \u062a\u0644\u0627\u0634 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0646\u0688\u06cc\u06a9\u0633 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u0645\u0637\u0644\u0648\u0628\u06c1 \u0627\u0644\u0641\u0627\u0638 \u06a9\u0648 \u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u0627 \u0627\u0646 \u06a9\u06cc \u0645\u06cc\u0679\u0627 \u0688\u06cc\u0679\u0627 \u067e\u0627\u0644\u06cc\u0633\u06cc\u0648\u06ba \u06a9\u06cc \u062e\u0644\u0627\u0641 \u0648\u0631\u0632\u06cc \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633 \u06a9\u06d2 \u0646\u062a\u06cc\u062c\u06d2 \u0645\u06cc\u06ba \u0622\u067e \u06a9\u06cc \u0641\u06c1\u0631\u0633\u062a \u06a9\u0648 \u0645\u0633\u062a\u0631\u062f \u06a9\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>512px \u06a9\u0627 \u0622\u0626\u06cc\u06a9\u0646 \u0627\u06cc\u067e \u06a9\u06d2 \u0627\u0646\u062f\u0631 \u0645\u0648\u062c\u0648\u062f \u0644\u0627\u0646\u0686\u0631 \u0622\u0626\u06cc\u06a9\u0646 \u0633\u06d2 \u0627\u0644\u06af \u06c1\u0648\u0646\u0627 \u0686\u0627\u06c1\u06cc\u06d2\u060c \u0644\u06cc\u06a9\u0646 \u0627\u0633 \u06a9\u06cc \u0634\u06a9\u0644 \u0627\u06cc\u06a9 \u062c\u06cc\u0633\u06cc \u06c1\u0648\u0646\u06cc \u0686\u0627\u06c1\u06cc\u06d2\u06d4 \u06af\u0648\u06af\u0644 \u0631\u0627\u0624\u0646\u0688\u0646\u06af \u0645\u0627\u0633\u06a9 \u06a9\u0648 \u062e\u0648\u062f \u06c1\u06cc \u0644\u0627\u06af\u0648 \u06a9\u0631\u06d2 \u06af\u0627\u060c \u0644\u06c1\u0630\u0627 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u06af\u0648\u0644 \u06a9\u0648\u0646\u0648\u06ba \u06cc\u0627 \u0633\u0627\u0626\u06d2 \u06a9\u06d2 \u0628\u063a\u06cc\u0631 \u0627\u06cc\u06a9 \u0645\u06a9\u0645\u0644 \u0645\u0631\u0628\u0639 \u0627\u067e \u0644\u0648\u0688 \u06a9\u0631\u06cc\u06ba\u06d4 \u0641\u06cc\u0686\u0631 \u06af\u0631\u0627\u0641\u06a9 \u06a9\u0686\u06be \u0644\u06d2 \u0622\u0624\u0679\u0633 \u0645\u06cc\u06ba \u0641\u06c1\u0631\u0633\u062a \u06a9\u06d2 \u0627\u0648\u067e\u0631\u06cc \u062d\u0635\u06d2 \u0645\u06cc\u06ba \u0638\u0627\u06c1\u0631 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633 \u0648\u0642\u062a \u0638\u0627\u06c1\u0631 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u062c\u0628 \u0622\u067e \u06a9\u06cc \u0627\u06cc\u067e \u06a9\u0648 \u0641\u0631\u0648\u063a \u062f\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u0646\u06d2 \u06cc\u0627 \u0646\u06c1 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0641\u06cc\u0635\u0644\u06c1 \u06a9\u0631\u0646\u06d2 \u0645\u06cc\u06ba \u0627\u0633\u06a9\u0631\u06cc\u0646 \u0634\u0627\u0679\u0633 \u0633\u0628 \u0633\u06d2 \u0628\u0691\u0627 \u0639\u0646\u0635\u0631 \u06c1\u06cc\u06ba\u06d4 \u0627\u06cc\u0645\u0648\u0644\u06cc\u0679\u0631 \u0679\u0648\u0644 \u0628\u0627\u0631 \u067e\u0631 \u06a9\u06cc\u0645\u0631\u06c1 \u0628\u0679\u0646 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0627\u06cc\u0645\u0648\u0644\u06cc\u0679\u0631 \u0633\u06d2 \u06a9\u06cc\u067e\u0686\u0631 \u0644\u06cc\u0646\u06d2 \u067e\u0631 \u063a\u0648\u0631 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0645\u062e\u062a\u0635\u0631 \u0639\u0646\u0648\u0627\u0646\u0627\u062a \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba \u062c\u0648 \u06cc\u06c1 \u0628\u06cc\u0627\u0646 \u06a9\u0631\u06cc\u06ba \u06a9\u06c1 \u06c1\u0631 \u0627\u0633\u06a9\u0631\u06cc\u0646 \u06a9\u06cc\u0627 \u06a9\u0631\u062a\u06cc \u06c1\u06d2\u06d4 \u0627\u0633 \u0628\u0627\u062a \u06a9\u0648 \u06cc\u0642\u06cc\u0646\u06cc \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u06c1 \u0622\u067e \u06a9\u06cc \u0627\u06cc\u067e \u0679\u06cc\u0628\u0644\u06cc\u0679\u0633 \u0627\u0648\u0631 Chromebooks \u067e\u0631 \u0627\u0686\u06be\u06cc \u0637\u0631\u062d \u062f\u06a9\u06be\u0627\u062a\u06cc \u06c1\u06d2\u060c Play Console \u0645\u06cc\u06ba \u0679\u06cc\u0628\u0644\u06cc\u0679 \u06a9\u06d2 \u0627\u0633\u06a9\u0631\u06cc\u0646 \u0634\u0627\u0679\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u06cc\u06a9 \u0639\u0644\u06cc\u062d\u062f\u06c1 \u0633\u0644\u0627\u0679 \u06c1\u06d2\u060c \u06cc\u06c1 \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u0627\u0646 \u0622\u0644\u0627\u062a \u067e\u0631 \u0622\u067e \u06a9\u06cc \u0641\u06c1\u0631\u0633\u062a\u06cc\u06ba \u0628\u06c1\u062a\u0631 \u06c1\u0648\u06ba \u06af\u06cc\u06d4<\/p>\n<p>\u0628\u06be\u06cc <strong>\u0627\u0633\u0679\u0648\u0631 \u06a9\u06cc \u062a\u0631\u062a\u06cc\u0628\u0627\u062a<\/strong> \u0627\u06cc\u067e \u06a9\u06cc\u0679\u06cc\u06af\u0631\u06cc\u0632 \u0648\u0627\u0644\u0627 \u0635\u0641\u062d\u06c1 (\u0641\u0648\u0631\u06cc \u0646\u0648\u0679\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0628\u06c1\u062a\u0631\u06cc\u0646 \u067e\u06cc\u062f\u0627\u0648\u0627\u0631\u06cc \u0635\u0644\u0627\u062d\u06cc\u062a)\u060c \u0679\u06cc\u06af\u0632\u060c \u0627\u0648\u0631 \u0631\u0627\u0628\u0637\u06c1 \u0627\u06cc \u0645\u06cc\u0644 \u067e\u062a\u06d2\u06d4 \u0631\u0627\u0628\u0637\u06d2 \u06a9\u06cc \u0627\u06cc \u0645\u06cc\u0644\u0632 \u0641\u06c1\u0631\u0633\u062a \u0645\u06cc\u06ba \u0639\u0648\u0627\u0645\u06cc \u0637\u0648\u0631 \u067e\u0631 \u062f\u06a9\u06be\u0627\u0626\u06d2 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<h2 id=\"heading-how-to-run-internal-and-closed-testing\">\u062f\u0627\u062e\u0644\u06cc \u0627\u0648\u0631 \u0646\u062c\u06cc \u0679\u06cc\u0633\u0679 \u06a9\u06cc\u0633\u06d2 \u0686\u0644\u0627\u0626\u06cc\u06ba\u06d4<\/h2>\n<p>\u06af\u0648\u06af\u0644 \u067e\u0644\u06d2 \u0645\u06cc\u06ba \u0645\u062a\u0639\u062f\u062f \u0631\u06cc\u0644\u06cc\u0632 \u0679\u0631\u06cc\u06a9 \u06c1\u06cc\u06ba\u06d4 \u0627\u0646\u062f\u0631\u0648\u0646\u06cc \u0679\u06cc\u0633\u0679\u0646\u06af \u06a9\u0627 \u06c1\u062f\u0641 100 \u0679\u06cc\u0633\u0679\u0631\u0632 \u062a\u06a9 \u06c1\u06d2 \u062c\u0648 \u06c1\u0645\u06cc\u06ba \u0627\u06cc \u0645\u06cc\u0644 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0634\u0627\u0645\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u0648\u0631 \u062a\u0639\u0645\u06cc\u0631\u0627\u062a \u0639\u0627\u0645 \u0637\u0648\u0631 \u067e\u0631 \u06a9\u0645 \u0633\u06d2 \u06a9\u0645 \u062c\u0627\u0626\u0632\u06d2 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0645\u0646\u0679\u0648\u06ba \u0645\u06cc\u06ba \u062f\u0633\u062a\u06cc\u0627\u0628 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u067e\u0631\u0627\u0626\u06cc\u0648\u06cc\u0679 \u0679\u06cc\u0633\u0679\u0646\u06af \u0628\u0691\u06d2 \u06af\u0631\u0648\u067e\u0648\u06ba \u06a9\u0648 \u0646\u0634\u0627\u0646\u06c1 \u0628\u0646\u0627\u062a\u06cc \u06c1\u06d2 \u062c\u0646\u06c1\u06cc\u06ba \u0622\u067e \u0627\u06cc \u0645\u06cc\u0644 \u0641\u06c1\u0631\u0633\u062a\u0648\u06ba \u06cc\u0627 \u06af\u0648\u06af\u0644 \u06af\u0631\u0648\u067e\u0633 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u06a9\u0646\u0679\u0631\u0648\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0639\u0648\u0627\u0645\u06cc \u062c\u0627\u0646\u0686 \u06a9\u0633\u06cc \u06a9\u0648 \u0628\u06be\u06cc \u0627\u067e\u0646\u06d2 \u0627\u0633\u0679\u0648\u0631 \u06a9\u06cc \u0641\u06c1\u0631\u0633\u062a \u0633\u06d2 \u062d\u0635\u06c1 \u0644\u06cc\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u06cc \u06c1\u06d2\u06d4 \u067e\u0631\u0648\u0688\u06a9\u0634\u0646 \u0627\u06cc\u06a9 \u0639\u0648\u0627\u0645\u06cc \u0631\u06cc\u0644\u06cc\u0632 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0646\u062f\u0631\u0648\u0646\u06cc \u062c\u0627\u0646\u0686 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0634\u0631\u0648\u0639 \u06a9\u0631\u06cc\u06ba\u06d4 \u062a\u062d\u0631\u06cc\u06a9 <strong>\u0679\u06cc\u0633\u0679\u0646\u06af \u0627\u0648\u0631 \u0631\u06cc\u0644\u06cc\u0632 > \u0679\u06cc\u0633\u0679\u0646\u06af > \u0627\u0646\u062f\u0631\u0648\u0646\u06cc \u0679\u06cc\u0633\u0679\u0646\u06af<\/strong>\u0679\u06cc\u0633\u0679\u0631\u0632 \u06a9\u06cc \u0627\u06cc\u06a9 \u0627\u06cc \u0645\u06cc\u0644 \u0641\u06c1\u0631\u0633\u062a \u0628\u0646\u0627\u0626\u06cc\u06ba (\u0622\u067e \u062e\u0648\u062f \u06a9\u0648 \u0634\u0627\u0645\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba) <strong>\u0627\u06cc\u06a9 \u0646\u0626\u06cc \u0631\u06cc\u0644\u06cc\u0632 \u0628\u0646\u0627\u0626\u06cc\u06ba<\/strong>. \u067e\u06c1\u0644\u06cc \u0628\u0627\u0631\u060c \u0622\u067e \u06a9\u0648 Play \u06a9\u0646\u0633\u0648\u0644 \u0645\u06cc\u06ba \u0627\u067e\u0646\u06d2 Play \u0627\u06cc\u067e \u06a9\u06d2 \u062f\u0633\u062a\u062e\u0637 \u06a9\u06cc \u062a\u0648\u062b\u06cc\u0642 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u06c1\u0627 \u062c\u0627\u0626\u06d2 \u06af\u0627\u06d4 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u0637\u06d2 \u0634\u062f\u06c1 \u06a9\u0648 \u0642\u0628\u0648\u0644 \u06a9\u0631\u06cc\u06ba \u062a\u0627\u06a9\u06c1 Google \u0622\u067e \u06a9\u06cc \u0627\u06cc\u067e \u0633\u0627\u0626\u0646\u0646\u06af \u06a9\u0644\u06cc\u062f \u0628\u0646\u0627 \u0627\u0648\u0631 \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631 \u0633\u06a9\u06d2\u06d4 \u067e\u06be\u0631 <code>app-release.aab<\/code>\u0627\u067e\u0646\u06d2 \u0631\u06cc\u0644\u06cc\u0632 \u0646\u0648\u0679\u0633 \u062f\u0631\u062c \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u0627\u067e\u0646\u0627 \u0631\u06cc\u0644\u06cc\u0632 \u0648\u0631\u0698\u0646 \u062c\u0627\u0631\u06cc \u06a9\u0631\u06cc\u06ba\u06d4<\/p>\n<p>\u0627\u067e\u0646\u0627 \u0622\u067e\u0679 \u0627\u0646 \u0644\u0646\u06a9 \u06cc\u06c1\u0627\u06ba \u0634\u06cc\u0626\u0631 \u06a9\u0631\u06cc\u06ba: <strong>\u0679\u06cc\u0633\u0679\u0631<\/strong> \u0679\u06cc\u0633\u0679\u0631 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0679\u06cc\u067e \u06a9\u0631\u06cc\u06ba\u06d4 \u0627\u067e\u0646\u06d2 \u0628\u0631\u0627\u0624\u0632\u0631 \u0645\u06cc\u06ba \u062f\u0639\u0648\u062a \u0646\u0627\u0645\u06c1 \u0642\u0628\u0648\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0628\u0639\u062f\u060c \u0622\u067e \u06a9\u0633\u06cc \u0628\u06be\u06cc \u062f\u0648\u0633\u0631\u06cc \u0627\u06cc\u067e \u06a9\u06cc \u0637\u0631\u062d \u06af\u0648\u06af\u0644 \u067e\u0644\u06d2 \u0633\u06d2 \u0627\u06cc\u067e \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0633\u0627\u0626\u06cc\u0688 \u0644\u0648\u0688\u0646\u06af \u06a9\u06d2 \u0628\u062c\u0627\u0626\u06d2 \u067e\u0644\u06d2 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631\u0646\u0627 \u062b\u0627\u0628\u062a \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0628\u0646\u0688\u0644 \u067e\u0644\u06d2 \u0627\u06cc\u067e \u0633\u0627\u0626\u0646\u0646\u06af \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0627\u06cc\u0646\u0688 \u0679\u0648 \u0627\u06cc\u0646\u0688 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u06af\u0631 \u0622\u067e \u0630\u0627\u062a\u06cc \u0688\u0648\u06cc\u0644\u067e\u0631 \u0627\u06a9\u0627\u0624\u0646\u0679 \u0628\u0646\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u0622\u067e \u0627\u0628\u06be\u06cc \u067e\u0631\u0648\u0688\u06a9\u0634\u0646 \u0645\u06cc\u06ba \u0634\u0627\u0626\u0639 \u0646\u06c1\u06cc\u06ba \u06a9\u0631 \u067e\u0627\u0626\u06cc\u06ba \u06af\u06d2\u06d4 13 \u0646\u0648\u0645\u0628\u0631 2023 \u06a9\u06d2 \u0628\u0639\u062f \u0628\u0646\u0627\u0626\u06d2 \u06af\u0626\u06d2 \u0630\u0627\u062a\u06cc \u0627\u06a9\u0627\u0624\u0646\u0679\u0633 \u06a9\u0648 \u06a9\u0645 \u0627\u0632 \u06a9\u0645 12 \u0679\u06cc\u0633\u0679\u0631\u0632 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0646\u062c\u06cc \u0679\u06cc\u0633\u0679 \u0686\u0644\u0627\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u06af\u06cc \u062c\u0646\u06c1\u0648\u06ba \u0646\u06d2 \u067e\u0686\u06be\u0644\u06d2 14 \u062f\u0646\u0648\u06ba \u0645\u06cc\u06ba \u0645\u0633\u0644\u0633\u0644 \u0631\u0636\u0627\u0645\u0646\u062f\u06cc \u062f\u06cc \u06c1\u06d2\u06d4 \u06af\u0648\u06af\u0644 \u0646\u06d2 \u06cc\u06c1 \u0642\u0627\u0639\u062f\u06c1 \u06a9\u0645 \u06a9\u0648\u0627\u0644\u0679\u06cc\u060c \u062a\u0631\u06a9 \u0634\u062f\u06c1 \u0627\u06cc\u067e\u0633 \u06a9\u0648 \u06a9\u0645 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u062a\u0639\u0627\u0631\u0641 \u06a9\u0631\u0627\u06cc\u0627\u060c \u06cc\u06c1 \u0627\u06cc\u06a9 \u0627\u06cc\u0633\u0627 \u0642\u062f\u0645 \u06c1\u06d2 \u062c\u0648 \u0632\u06cc\u0627\u062f\u06c1 \u062a\u0631 \u0646\u0626\u06d2 \u0688\u0648\u06cc\u0644\u067e\u0631\u0632 \u06a9\u0648 \u062d\u06cc\u0631\u0627\u0646 \u06a9\u0631 \u062f\u06cc\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u0633\u06d2 \u0646\u06cc\u0686\u06d2 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u06ba\u06d4 <strong>\u0679\u06cc\u0633\u0679\u0646\u06af \u0627\u0648\u0631 \u0631\u06cc\u0644\u06cc\u0632 > \u0679\u06cc\u0633\u0679\u0646\u06af > \u067e\u0631\u0627\u0626\u06cc\u0648\u06cc\u0679 \u0679\u06cc\u0633\u0679\u0646\u06af<\/strong>. \u0627\u06cc\u06a9 \u0679\u0631\u06cc\u06a9 \u0628\u0646\u0627\u0626\u06cc\u06ba\u060c \u0627\u067e\u0646\u06cc \u0627\u06cc \u0645\u06cc\u0644 \u0644\u0633\u0679 \u06cc\u0627 \u06af\u0648\u06af\u0644 \u06af\u0631\u0648\u067e \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0679\u06cc\u0633\u0679\u0631\u0632 \u06a9\u0648 \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0627\u067e\u0646\u06cc \u0631\u06cc\u0644\u06cc\u0632 \u0627\u067e \u0644\u0648\u0688 \u06a9\u0631\u06cc\u06ba (\u0622\u067e \u0627\u067e\u0646\u06cc \u062f\u0627\u062e\u0644\u06cc \u062c\u0627\u0646\u0686 \u0645\u06cc\u06ba \u0627\u0633\u06cc \u062a\u0639\u0645\u06cc\u0631 \u06a9\u0648 \u0641\u0631\u0648\u063a \u062f\u06d2 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba)\u06d4<\/p>\n<p>\u0679\u06cc\u0633\u0679\u0631\u0632 \u06a9\u0648 \u062c\u0644\u062f \u0628\u06be\u0631\u062a\u06cc \u06a9\u0631\u06cc\u06ba\u06d4 \u062f\u0648\u0633\u062a\u060c \u062e\u0627\u0646\u062f\u0627\u0646\u060c \u0633\u0627\u062a\u06be\u06cc\u060c \u0627\u0648\u0631 \u0688\u0648\u06cc\u0644\u067e\u0631 \u06a9\u0645\u06cc\u0648\u0646\u0679\u06cc\u0632 \u0645\u0634\u062a\u0631\u06a9\u06c1 \u0630\u0631\u0627\u0626\u0639 \u06c1\u06cc\u06ba\u06d4 12 \u0679\u06cc\u0633\u0679\u0631\u0632 \u06a9\u0648 \u062f\u0631\u062d\u0642\u06cc\u0642\u062a \u0644\u0646\u06a9 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u0622\u067e\u0679 \u0627\u0646 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0627\u0633\u06cc \u0637\u0631\u062d \u06a9\u062a\u0646\u06d2 \u0679\u06cc\u0633\u0679\u0631\u0632 \u0622\u067e\u0679 \u0627\u0646 \u0631\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0644\u06c1\u0630\u0627 \u0627\u06af\u0631 \u06a9\u0648\u0626\u06cc 10 \u062f\u0646 \u06a9\u0648 \u0686\u0644\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u060c \u062a\u0648 \u06af\u06be\u0691\u06cc \u0645\u062a\u0627\u062b\u0631 \u06c1\u0648\u06af\u06cc\u06d4 \u0627\u06cc\u06a9 \u062f\u0631\u062c\u0646 \u06cc\u0627 \u0627\u0633 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u06a9\u06cc \u0645\u0646\u0635\u0648\u0628\u06c1 \u0628\u0646\u062f\u06cc \u06a9\u0631\u06cc\u06ba \u062a\u0627\u06a9\u06c1 \u0622\u067e \u06a9\u06d2 \u067e\u0627\u0633 \u06af\u0646\u062c\u0627\u0626\u0634 \u0628\u0627\u0642\u06cc \u0631\u06c1\u06d2\u06d4<\/p>\n<p>\u0627\u067e\u0646\u06d2 14 \u062f\u0646 \u06a9\u0648 \u0646\u062a\u06cc\u062c\u06c1 \u062e\u06cc\u0632 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4 \u0627\u067e\u0646\u06d2 \u0679\u06cc\u0633\u0679\u0631\u0632 \u0633\u06d2 \u0622\u067e \u06a9\u0648 \u062a\u0627\u062b\u0631\u0627\u062a \u0628\u06be\u06cc\u062c\u0646\u06d2 \u0627\u0648\u0631 \u06a9\u0633\u06cc \u0628\u06be\u06cc \u062a\u0646\u0627\u0632\u0639\u0627\u062a \u06a9\u0627 \u0645\u0634\u0627\u06c1\u062f\u06c1 \u06a9\u0631\u0646\u06d2 \u06a9\u0648 \u06a9\u06c1\u06cc\u06ba\u06d4 <strong>\u0646\u06af\u0631\u0627\u0646\u06cc \u0627\u0648\u0631 \u0628\u06c1\u062a\u0631\u06cc > \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u0648\u0627\u0626\u0679\u0644\u0632<\/strong>\u062c\u0628 \u0622\u067e \u0645\u0633\u0627\u0626\u0644 \u06a9\u0648 \u062d\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u062a\u0648 \u0627\u067e \u0688\u06cc\u0679 \u0634\u062f\u06c1 \u062a\u0639\u0645\u06cc\u0631\u0627\u062a \u06a9\u0648 \u067e\u0634 \u06a9\u0631\u06cc\u06ba\u06d4 \u06c1\u0631 \u0627\u067e \u0688\u06cc\u0679 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u0639\u0644\u06cc\u0670 \u0633\u0637\u062d \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4 <code>versionCode<\/code>. \u062c\u0628 \u06c1\u0645 \u067e\u06cc\u062f\u0627\u0648\u0627\u0631 \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u0648\u06ba \u06a9\u0627 \u062c\u0627\u0626\u0632\u06c1 \u0644\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u06c1\u0645 \u0646\u06c1 \u0635\u0631\u0641 \u06cc\u06c1 \u062f\u06cc\u06a9\u06be\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0622\u06cc\u0627 \u0648\u06c1 \u0648\u0642\u062a \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0633\u0627\u062a\u06be \u06c1\u06cc\u06ba\u060c \u0628\u0644\u06a9\u06c1 \u06cc\u06c1 \u0628\u06be\u06cc \u062c\u0627\u0646\u0686\u062a\u06d2 \u06c1\u06cc\u06ba \u06a9\u06c1 \u0622\u06cc\u0627 \u0627\u06cc\u067e \u06a9\u0648 \u0628\u06c1\u062a\u0631 \u0628\u0646\u0627\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062c\u0627\u0646\u0686 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u06cc\u0627 \u06af\u06cc\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>14 \u062f\u0646\u0648\u06ba \u06a9\u06d2 \u0628\u0639\u062f\u060c \u0622\u067e \u06a9\u0627 \u0688\u06cc\u0634 \u0628\u0648\u0631\u0688 \u0638\u0627\u06c1\u0631 \u06c1\u0648\u06af\u0627: <strong>\u067e\u06cc\u062f\u0627\u0648\u0627\u0631 \u06a9\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a<\/strong> \u0628\u0679\u0646 \u0627\u06cc\u067e\u0644\u06cc\u06a9\u06cc\u0634\u0646 \u067e\u0648\u0686\u06be\u062a\u06cc \u06c1\u06d2 \u06a9\u06c1 \u0622\u067e \u0646\u06d2 \u0679\u06cc\u0633\u0679\u0631\u0632 \u06a9\u0648 \u06a9\u06cc\u0633\u06d2 \u0628\u06be\u0631\u062a\u06cc \u06a9\u06cc\u0627\u060c \u0622\u067e \u06a9\u0648 \u06a9\u06cc\u0627 \u0641\u06cc\u0688 \u0628\u06cc\u06a9 \u0645\u0644\u0627\u060c \u0627\u0633 \u06a9\u06d2 \u0646\u062a\u06cc\u062c\u06d2 \u0645\u06cc\u06ba \u0622\u067e \u0646\u06d2 \u06a9\u06cc\u0627 \u062a\u0628\u062f\u06cc\u0644\u06cc\u0627\u06ba \u06a9\u06cc\u06ba\u060c \u0627\u0648\u0631 \u06a9\u06cc\u0627 \u0622\u067e \u06a9\u06cc \u0627\u06cc\u067e \u0631\u06cc\u0644\u06cc\u0632 \u06c1\u0648\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u062a\u06cc\u0627\u0631 \u06c1\u06d2\u06d4 \u0628\u0631\u0627\u06c1 \u06a9\u0631\u0645 \u062e\u0635\u0648\u0635\u06cc \u0637\u0648\u0631 \u067e\u0631 \u062c\u0648\u0627\u0628 \u062f\u06cc\u06ba\u06d4 \u0645\u0628\u06c1\u0645 \u062c\u0648\u0627\u0628\u0627\u062a \u062c\u06cc\u0633\u06d2 &quot;\u0627\u0645\u062a\u062d\u0627\u0646 \u062f\u06cc\u0646\u06d2 \u0648\u0627\u0644\u0648\u06ba \u0646\u06d2 \u0627\u0633\u06d2 \u067e\u0633\u0646\u062f \u06a9\u06cc\u0627&#8221; \u0627\u06a9\u062b\u0631 \u0645\u0633\u062a\u0631\u062f \u06c1\u0648\u0646\u06d2 \u06a9\u06cc \u0648\u062c\u0648\u06c1\u0627\u062a \u06c1\u06cc\u06ba\u06d4 \u0645\u0646\u0638\u0648\u0631\u06cc \u0645\u06cc\u06ba \u0639\u0627\u0645 \u0637\u0648\u0631 \u067e\u0631 \u0627\u06cc\u06a9 \u06c1\u0641\u062a\u06c1 \u0644\u06af\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-how-to-publish-to-production\">\u067e\u0631\u0648\u0688\u06a9\u0634\u0646 \u0645\u06cc\u06ba \u0634\u0627\u0626\u0639 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0637\u0631\u06cc\u0642\u06c1<\/h2>\n<p>\u067e\u06cc\u062f\u0627\u0648\u0627\u0631 \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc \u062d\u0627\u0635\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0628\u0639\u062f\u060c \u0627\u0633 \u067e\u0631 \u062c\u0627\u0626\u06cc\u06ba: <strong>\u0679\u06cc\u0633\u0679 \u0627\u0648\u0631 \u0631\u06cc\u0644\u06cc\u0632 > \u067e\u06cc\u062f\u0627\u0648\u0627\u0631<\/strong> \u0627\u0648\u0631 \u06a9\u0644\u06a9 \u06a9\u0631\u06cc\u06ba <strong>\u0627\u06cc\u06a9 \u0646\u0626\u06cc \u0631\u06cc\u0644\u06cc\u0632 \u0628\u0646\u0627\u0626\u06cc\u06ba<\/strong>. \u0622\u067e \u0679\u06cc\u0633\u0679 \u0679\u0631\u06cc\u06a9 \u0633\u06d2 \u0627\u06cc\u06a9 \u0646\u06cc\u0627 \u0628\u0646\u0688\u0644 \u0627\u067e \u0644\u0648\u0688 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba \u06cc\u0627 \u0628\u0646\u0688\u0644 \u06a9\u0648 \u0641\u0631\u0648\u063a \u062f\u06d2 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 &#8216;\u0646\u06cc\u0627 \u06a9\u06cc\u0627 \u06c1\u06d2&#8217; \u0641\u06cc\u0644\u0688 \u0645\u06cc\u06ba \u0631\u06cc\u0644\u06cc\u0632 \u0646\u0648\u0679\u0633 \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba\u06d4 \u0635\u0627\u0631\u0641\u06cc\u0646 \u0627\u0633\u06d2 \u0627\u067e\u0646\u06d2 \u0627\u0633\u0679\u0648\u0631 \u06a9\u06cc \u0641\u06c1\u0631\u0633\u062a \u0645\u06cc\u06ba \u062f\u06cc\u06a9\u06be\u06cc\u06ba \u06af\u06d2 \u0627\u0648\u0631 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u06a9\u0648 \u0627\u067e \u0688\u06cc\u0679 \u06a9\u0631\u06cc\u06ba \u06af\u06d2\u06d4<\/p>\n<p>\u0627\u0646 \u0645\u0645\u0627\u0644\u06a9 \u0627\u0648\u0631 \u0639\u0644\u0627\u0642\u0648\u06ba \u06a9\u0648 \u0645\u0646\u062a\u062e\u0628 \u06a9\u0631\u06cc\u06ba \u062c\u06c1\u0627\u06ba \u0622\u067e \u06a9\u06cc \u0627\u06cc\u067e \u0644\u0627\u0646\u0686 \u06c1\u0648\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u062f\u0633\u062a\u06cc\u0627\u0628 \u06c1\u06d2\u06d4 <strong>\u0645\u0644\u06a9\/\u0639\u0644\u0627\u0642\u06c1<\/strong> \u067e\u06cc\u062f\u0627\u0648\u0627\u0631 \u06a9\u06d2 \u0635\u0641\u062d\u06d2 \u067e\u0631 \u0679\u06cc\u0628. \u067e\u06be\u0631 \u0631\u06c1\u0627\u0626\u06cc \u06a9\u06d2 \u062e\u0644\u0627\u0635\u06d2 \u06a9\u0627 \u062c\u0627\u0626\u0632\u06c1 \u0644\u06cc\u06ba\u06d4 Play Console \u0627\u06cc\u0633\u06cc \u062e\u0631\u0627\u0628\u06cc\u0627\u06ba \u062f\u06a9\u06be\u0627\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u0631\u06cc\u0644\u06cc\u0632 \u06a9\u0648 \u0631\u0648\u06a9\u062a\u06cc \u06c1\u06cc\u06ba (\u062c\u06cc\u0633\u06d2 \u0646\u0627\u0645\u06a9\u0645\u0644 \u0627\u0639\u0644\u0627\u0646\u0627\u062a) \u0627\u0648\u0631 \u0627\u0646\u062a\u0628\u0627\u06c1\u0627\u062a \u062c\u0648 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u06cc \u06c1\u06cc\u06ba (\u062c\u06cc\u0633\u06d2 \u063a\u0627\u0626\u0628 \u062a\u0631\u062c\u0645\u06c1)\u06d4 \u063a\u0644\u0637\u06cc \u06a9\u0648 \u0679\u06be\u06cc\u06a9 \u06a9\u0631\u0646\u06d2 \u0627\u0648\u0631 \u0627\u0646\u062a\u0628\u0627\u06c1 \u06a9\u0648 \u067e\u0691\u06be\u0646\u06d2 \u06a9\u06d2 \u0628\u0639\u062f: <strong>\u062c\u0627\u0626\u0632\u06c1 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0628\u06be\u06cc\u062c\u06cc\u06ba\u06d4<\/strong>.<\/p>\n<p>\u06c1\u0631 \u0646\u0626\u06cc \u0627\u06cc\u067e \u0627\u0648\u0631 \u06c1\u0631 \u0627\u067e \u0688\u06cc\u0679 \u06a9\u0627 \u062c\u0627\u0626\u0632\u06c1 \u0644\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0646\u0626\u06cc \u0627\u06cc\u067e\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u067e\u06c1\u0644\u06d2 \u062c\u0627\u0626\u0632\u06d2 \u0645\u06cc\u06ba 7 \u062f\u0646 \u0627\u0648\u0631 \u06a9\u0686\u06be \u0645\u0639\u0627\u0645\u0644\u0627\u062a \u0645\u06cc\u06ba \u0632\u06cc\u0627\u062f\u06c1 \u0648\u0642\u062a \u0644\u06af \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4 \u0628\u0639\u062f \u06a9\u06d2 \u0627\u067e \u0688\u06cc\u0679\u0633 \u0645\u06cc\u06ba \u0639\u0627\u0645 \u0637\u0648\u0631 \u067e\u0631 \u0627\u06cc\u06a9 \u06cc\u0627 \u062f\u0648 \u062f\u0646 \u0644\u06af\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0627\u06af\u0631 \u0622\u067e \u06a9\u06cc \u0627\u06cc\u067e \u0645\u0633\u062a\u0631\u062f \u06c1\u0648 \u062c\u0627\u062a\u06cc \u06c1\u06d2\u060c \u062a\u0648 \u0622\u067e \u06a9\u0648 Play Console \u0627\u0648\u0631 \u0688\u0648\u06cc\u0644\u067e\u0631 \u06a9\u06cc \u0627\u06cc \u0645\u06cc\u0644 \u0645\u06cc\u06ba \u067e\u0627\u0644\u06cc\u0633\u06cc \u06a9\u06cc \u062e\u0644\u0627\u0641 \u0648\u0631\u0632\u06cc\u0648\u06ba \u06a9\u06cc \u062a\u0641\u0635\u06cc\u0644 \u0645\u0648\u0635\u0648\u0644 \u06c1\u0648\u06af\u06cc\u06d4 \u0645\u0633\u0626\u0644\u06c1 \u062d\u0644 \u06a9\u0631\u06cc\u06ba <code>versionCode<\/code>\u0645\u0646\u062a\u062e\u0628 \u06a9\u0631\u06cc\u06ba \u0627\u0648\u0631 \u062f\u0648\u0628\u0627\u0631\u06c1 \u062c\u0645\u0639 \u06a9\u0631\u0627\u0626\u06cc\u06ba\u06d4<\/p>\n<p>\u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u0637\u06d2 \u0634\u062f\u06c1 \u0637\u0648\u0631 \u067e\u0631\u060c \u0645\u0646\u0638\u0648\u0631 \u0634\u062f\u06c1 \u0631\u06cc\u0644\u06cc\u0632 \u06a9\u0627 \u062c\u0627\u0626\u0632\u06c1 \u067e\u0627\u0633 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc \u0634\u0627\u0626\u0639 \u06a9\u06cc\u0627 \u062c\u0627\u062a\u0627 \u06c1\u06d2\u06d4 \u0631\u06c1\u0627\u0626\u06cc \u06a9\u06cc \u062a\u0627\u0631\u06cc\u062e \u06a9\u0648 \u06a9\u0646\u0679\u0631\u0648\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 <strong>\u0646\u0638\u0645 \u067e\u0628\u0644\u0634\u0646\u06af<\/strong> \u067e\u0631 <strong>\u0627\u0634\u0627\u0639\u062a \u06a9\u0627 \u062c\u0627\u0626\u0632\u06c1<\/strong> \u0635\u0641\u062d\u06c1 \u0622\u067e \u06a9\u06cc \u062a\u0628\u062f\u06cc\u0644\u06cc\u0627\u06ba \u0645\u0646\u0638\u0648\u0631 \u06c1\u0648\u0646\u06d2 \u06a9\u06d2 \u0628\u0639\u062f\u060c \u0627\u0646 \u06a9\u06d2 \u06a9\u0644\u06a9 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0627\u0646\u062a\u0638\u0627\u0631 \u06a9\u0631\u06cc\u06ba\u06d4 <strong>\u067e\u0648\u0633\u0679<\/strong>\u0628\u0644\u0627\u06af \u067e\u0648\u0633\u0679\u0633 \u06cc\u0627 \u0645\u0627\u0631\u06a9\u06cc\u0679\u0646\u06af \u06a9\u06cc \u062a\u0627\u0631\u06cc\u062e\u0648\u06ba \u06a9\u0648 \u0645\u0631\u0628\u0648\u0637 \u06a9\u0631\u062a\u06d2 \u0648\u0642\u062a \u06cc\u06c1 \u0645\u0641\u06cc\u062f \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-how-to-ship-updates-after-launch\">\u0631\u06c1\u0627\u0626\u06cc \u06a9\u06d2 \u0628\u0639\u062f \u0627\u067e \u0688\u06cc\u0679\u0633 \u06a9\u06cc\u0633\u06d2 \u0628\u06be\u06cc\u062c\u06cc\u06ba\u06d4<\/h2>\n<p>\u0627\u06cc\u067e \u06a9\u0648 \u062c\u0627\u0631\u06cc \u06a9\u0631\u0646\u0627 \u06a9\u0633\u06cc \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u06a9\u0627 \u0627\u062e\u062a\u062a\u0627\u0645 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u060c \u06cc\u06c1 \u062f\u06cc\u06a9\u06be \u0628\u06be\u0627\u0644 \u06a9\u0627 \u0622\u063a\u0627\u0632 \u06c1\u06d2\u06d4 \u062a\u06cc\u0646 \u0639\u0627\u062f\u062a\u06cc\u06ba \u0627\u067e\u0688\u06cc\u0679\u0633 \u06a9\u0648 \u06c1\u0645\u0648\u0627\u0631 \u0628\u0646\u0627\u062a\u06cc \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u067e\u06c1\u0644\u0627 \u0645\u0631\u062d\u0644\u06c1 \u0648\u0627\u0631 \u0631\u0648\u0644 \u0622\u0624\u0679 \u06c1\u06d2\u06d4 \u062c\u0628 \u0622\u067e \u067e\u0631\u0648\u0688\u06a9\u0634\u0646 \u0627\u067e \u0688\u06cc\u0679 \u062c\u0627\u0631\u06cc \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 Play Console \u0622\u067e \u06a9\u0648 \u0627\u067e\u0646\u06d2 \u0635\u0627\u0631\u0641\u06cc\u0646 \u06a9\u0627 \u0641\u06cc\u0635\u062f \u0645\u0646\u062a\u062e\u0628 \u06a9\u0631\u0646\u06d2 \u06a9\u06cc \u0627\u062c\u0627\u0632\u062a \u062f\u06cc\u062a\u0627 \u06c1\u06d2 (\u0645\u062b\u0644\u0627\u064b 10%) \u062c\u0646\u06c1\u06cc\u06ba \u0648\u06c1 \u0627\u067e \u0688\u06cc\u0679 \u0645\u0648\u0635\u0648\u0644 \u06c1\u0648\u06af\u0627\u06d4 \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u0648\u0627\u0626\u0679\u0644\u0632 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u06cc\u0627 \u062f\u0648 \u062f\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0627\u067e\u0646\u06d2 \u06a9\u0631\u06cc\u0634 \u0627\u0648\u0631 \u0627\u06cc\u067e \u0646\u0627\u0679 \u0631\u06cc\u0633\u067e\u0627\u0646\u0633\u0646\u06af (ANR) \u0631\u06cc\u0679 \u062f\u06cc\u06a9\u06be\u06cc\u06ba\u060c \u067e\u06be\u0631 \u0631\u06cc\u0679 \u0628\u0691\u06be\u0627\u0626\u06cc\u06ba\u06d4 \u0627\u06af\u0631 \u06a9\u0686\u06be \u063a\u0644\u0637 \u06c1\u0648 \u062c\u0627\u062a\u0627 \u06c1\u06d2 \u062a\u0648 \u06c1\u0645 \u0631\u06cc\u0644\u06cc\u0632 \u06a9\u0648 \u0631\u0648\u06a9 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u06c1\u0645\u0627\u0631\u06d2 \u0628\u0627\u0642\u06cc \u0635\u0627\u0631\u0641\u06cc\u0646 \u06a9\u0648 \u06a9\u0631\u067e\u0679 \u0648\u0631\u0698\u0646 \u0646\u06c1\u06cc\u06ba \u0645\u0644\u06d2 \u06af\u0627\u06d4<\/p>\n<p>10% \u067e\u0631 \u0645\u0633\u0627\u0626\u0644 \u06a9\u0648 \u067e\u06a9\u0691\u0646\u0627 \u0636\u0631\u0648\u0631\u06cc \u06c1\u06d2 \u06a9\u06cc\u0648\u0646\u06a9\u06c1 Google \u06cc\u06c1 \u0641\u06cc\u0635\u0644\u06c1 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 Android Vitals \u06a9\u06cc \u062d\u062f \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u06a9\u06c1 \u0622\u06cc\u0627 \u0622\u067e \u06a9\u06cc \u0641\u06c1\u0631\u0633\u062a \u0645\u06cc\u06ba \u0648\u0627\u0631\u0646\u0646\u06af \u0688\u0633\u067e\u0644\u06d2 \u06a9\u0631\u0646\u0627 \u06c1\u06d2 \u06cc\u0627 \u0627\u0633 \u06a9\u06cc \u0645\u0631\u0626\u06cc\u062a \u06a9\u0648 \u06a9\u0645 \u06a9\u0631\u0646\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>\u062f\u0648\u0633\u0631\u0627 \u0627\u067e\u0646\u06d2 \u06c1\u062f\u0641 SDK \u06a9\u0648 \u062a\u0627\u0632\u06c1 \u062a\u0631\u06cc\u0646 \u0631\u06a9\u06be\u0646\u0627 \u06c1\u06d2\u06d4 Google Play \u067e\u0631 \u06a9\u0645 \u0627\u0632 \u06a9\u0645 \u0631\u0642\u0645 \u0645\u06cc\u06ba \u0627\u0636\u0627\u0641\u06c1 \u06a9\u0631\u06cc\u06ba\u06d4 <code>targetSdk<\/code> \u06c1\u0631 \u0633\u0627\u0644 \u0627\u067e \u0688\u06cc\u0679\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2\u06d4 \u0627\u06af\u0631 \u0622\u067e \u06a9\u06cc \u0627\u06cc\u067e \u067e\u06cc\u0686\u06be\u06d2 \u0631\u06c1 \u062c\u0627\u062a\u06cc \u06c1\u06d2\u060c \u062a\u0648 \u0622\u067e \u0645\u0632\u06cc\u062f \u0627\u067e \u0688\u06cc\u0679\u0633 \u0634\u0627\u0626\u0639 \u0646\u06c1\u06cc\u06ba \u06a9\u0631 \u0633\u06a9\u062a\u06d2\u060c \u0627\u0648\u0631 \u0631\u0639\u0627\u06cc\u062a\u06cc \u0645\u062f\u062a \u06a9\u06d2 \u0628\u0639\u062f\u060c \u062a\u0627\u0632\u06c1 \u062a\u0631\u06cc\u0646 Android \u0648\u0631\u0698\u0646\u0632 \u067e\u0631 \u0646\u0626\u06d2 \u0635\u0627\u0631\u0641\u06cc\u0646 \u06a9\u0648 \u0622\u067e \u06a9\u06cc \u0627\u06cc\u067e \u0646\u06c1\u06cc\u06ba \u0645\u0644 \u0633\u06a9\u062a\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>\u062a\u0627\u062b\u0631 <code>targetSdk<\/code> \u06cc\u06c1 \u0635\u0631\u0641 \u0646\u0645\u0628\u0631\u0648\u06ba \u06a9\u0648 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u0646\u06c1\u06cc\u06ba \u06c1\u06d2\u06d4 \u06c1\u0631 \u0646\u0626\u06d2 \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u0648\u0631\u0698\u0646 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0631\u0648\u06cc\u06d2 \u06a9\u06cc \u062a\u0628\u062f\u06cc\u0644\u06cc\u0648\u06ba \u06a9\u0627 \u0635\u0641\u062d\u06c1 \u067e\u0691\u06be\u06cc\u06ba \u0627\u0648\u0631 \u0627\u0633\u06cc \u06a9\u06d2 \u0645\u0637\u0627\u0628\u0642 \u0627\u067e\u0646\u06cc \u0627\u06cc\u067e \u06a9\u06cc \u062c\u0627\u0646\u0686 \u06a9\u0631\u06cc\u06ba\u06d4 \u0627\u06cc\u06a9 \u0627\u0686\u06be\u0627 \u0645\u0639\u0645\u0648\u0644 \u06cc\u06c1 \u06c1\u06d2 \u06a9\u06c1 \u06c1\u0631 \u0645\u0648\u0633\u0645 \u0628\u06c1\u0627\u0631 \u0645\u06cc\u06ba \u0679\u06cc\u0633\u0679 \u0688\u06cc\u0648\u0627\u0626\u0633 \u06cc\u0627 \u0627\u06cc\u0645\u0648\u0644\u06cc\u0679\u0631 \u067e\u0631 \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u0628\u06cc\u0679\u0627 \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u06cc\u0627 \u062c\u0627\u0626\u06d2 \u062a\u0627\u06a9\u06c1 \u0627\u06af\u0633\u062a \u06a9\u06cc \u0622\u062e\u0631\u06cc \u062a\u0627\u0631\u06cc\u062e \u06a9\u0628\u06be\u06cc \u0628\u06be\u06cc \u062d\u06cc\u0631\u0627\u0646 \u06a9\u0646 \u0646\u06c1 \u06c1\u0648\u06d4<\/p>\n<p>\u062a\u06cc\u0633\u0631\u0627 \u0688\u06cc\u0679\u0627 \u0628\u06cc\u0633 \u06a9\u06cc \u062a\u0628\u062f\u06cc\u0644\u06cc\u0648\u06ba \u06a9\u06cc \u0645\u0646\u0635\u0648\u0628\u06c1 \u0628\u0646\u062f\u06cc \u06a9\u0631 \u0631\u06c1\u0627 \u06c1\u06d2\u06d4 \u0627\u06af\u0631 \u0645\u06cc\u06ba \u0627\u06cc\u06a9 \u06a9\u0627\u0644\u0645 \u0634\u0627\u0645\u0644 \u06a9\u0631\u0648\u06ba <code>Note<\/code> \u06cc\u0627 \u0627\u06cc\u06a9 \u0646\u06cc\u0627 \u0648\u062c\u0648\u062f \u0628\u0646\u0627\u0626\u06cc\u06ba \u0627\u0648\u0631 <code>version<\/code> \u06a9\u0648 <code>@Database<\/code> \u06a9\u0645\u0631\u06d2 \u0645\u06cc\u06ba \u0645\u0646\u062a\u0642\u0644\u06cc \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u0633\u0627\u062f\u06c1 \u062a\u0628\u062f\u06cc\u0644\u06cc\u0648\u06ba \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u062c\u06cc\u0633\u06d2 \u06a9\u06c1 \u0688\u06cc\u0641\u0627\u0644\u0679 \u0648\u06cc\u0644\u06cc\u0648 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u06cc\u06a9 \u06a9\u0627\u0644\u0645 \u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u0627\u060c \u0622\u067e \u062f\u0631\u062c \u0630\u06cc\u0644 \u06a9\u0627 \u0627\u0639\u0644\u0627\u0646 \u06a9\u0631 \u06a9\u06d2 \u06a9\u0645\u0631\u06d2 \u0645\u06cc\u06ba \u06c1\u062c\u0631\u062a \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 <code>autoMigrations = [AutoMigration(from = 1, to = 2)]<\/code> \u0627\u067e\u0646\u06cc \u062a\u0634\u0631\u06cc\u062d\u0627\u062a \u0645\u06cc\u06ba \u0628\u0631\u0622\u0645\u062f \u0634\u062f\u06c1 \u0627\u0633\u06a9\u06cc\u0645\u0627 JSON \u0641\u0627\u0626\u0644 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u06cc\u06ba\u06d4 \u0627\u06af\u0631 \u0622\u067e \u0627\u0633 \u0642\u062f\u0645 \u06a9\u0648 \u0686\u06be\u0648\u0691 \u062f\u06cc\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u062a\u0648 \u0633\u0628\u06be\u06cc \u0645\u0648\u062c\u0648\u062f\u06c1 \u0635\u0627\u0631\u0641\u06cc\u0646 \u06a9\u0648 \u0627\u0633 \u0648\u0642\u062a \u06a9\u0631\u06cc\u0634 \u06a9\u0627 \u0633\u0627\u0645\u0646\u0627 \u06a9\u0631\u0646\u0627 \u067e\u0691\u06d2 \u06af\u0627 \u062c\u0628 \u0648\u06c1 \u0627\u067e \u0688\u06cc\u0679 \u0634\u062f\u06c1 \u0627\u06cc\u067e \u06a9\u06be\u0648\u0644\u06cc\u06ba \u06af\u06d2\u060c \u062c\u0648 \u0627\u067e \u0688\u06cc\u0679 \u06a9\u06d2 \u0628\u0639\u062f 1-\u0627\u0633\u0679\u0627\u0631 \u062c\u0627\u0626\u0632\u0648\u06ba \u06a9\u06cc \u0633\u0628 \u0633\u06d2 \u0639\u0627\u0645 \u0648\u062c\u0648\u06c1\u0627\u062a \u0645\u06cc\u06ba \u0633\u06d2 \u0627\u06cc\u06a9 \u06c1\u06d2\u06d4<\/p>\n<h2 id=\"heading-summary\">\u062e\u0644\u0627\u0635\u06c1<\/h2>\n<p>\u0627\u0633 \u06c1\u06cc\u0646\u0688 \u0628\u06a9 \u0645\u06cc\u06ba\u060c \u06c1\u0645 \u0646\u06d2 \u06af\u0648\u06af\u0644 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06c1 \u062a\u062c\u0648\u06cc\u0632 \u06a9\u0631\u062f\u06c1 \u0679\u0648\u0644\u0632 \u06a9\u0627 \u0627\u0633\u062a\u0639\u0645\u0627\u0644 \u06a9\u0631\u062a\u06d2 \u06c1\u0648\u0626\u06d2 \u0627\u06cc\u06a9 \u0645\u06a9\u0645\u0644 \u0645\u0642\u0627\u0645\u06cc \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u0627\u06cc\u067e \u0628\u0646\u0627\u0626\u06cc \u06c1\u06d2\u06d4<\/p>\n<p>Jetpack Compose UI \u06a9\u0648 \u0631\u06cc\u0627\u0633\u062a \u06a9\u06d2 \u0627\u06cc\u06a9 \u0641\u0646\u06a9\u0634\u0646 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u0628\u06cc\u0627\u0646 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0627\u0633\u0679\u06cc\u0679 \u0644\u0641\u0679\u0646\u06af \u067e\u06cc\u0679\u0631\u0646 \u0627\u0633 \u0637\u0631\u062d \u06a9\u06cc \u0627\u0633\u06a9\u0631\u06cc\u0646 \u06a9\u0648 \u0628\u0631\u0642\u0631\u0627\u0631 \u0631\u06a9\u06be\u062a\u0627 \u06c1\u06d2: <code>NoteListContent<\/code> \u06cc\u06c1 \u062c\u0627\u0646\u0686\u0646\u0627 \u0622\u0633\u0627\u0646 \u06c1\u06d2\u06d4 \u06a9\u0645\u0631\u06c1 \u0627\u06cc\u06a9 \u06a9\u0645\u067e\u0627\u0626\u0644 \u0679\u0627\u0626\u0645 \u0686\u06cc\u06a9 \u0631\u06cc\u067e\u0648\u0632\u0679\u0631\u06cc \u0641\u0631\u0627\u06c1\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062c\u0648 \u0627\u067e \u0688\u06cc\u0679\u0633 \u06a9\u0648 \u0628\u0630\u0631\u06cc\u0639\u06c1 \u0627\u0633\u0679\u0631\u06cc\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2: <code>Flow<\/code>ViewModel \u0627\u0633 \u0688\u06cc\u0679\u0627 \u06a9\u0648 \u0627\u0633\u0679\u0648\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 <code>StateFlow<\/code> \u06cc\u06c1 \u0627\u0633\u067e\u0646 \u0633\u06d2 \u0628\u0686\u0646\u06d2 \u06a9\u06d2 \u0628\u0627\u0631\u06d2 \u0645\u06cc\u06ba \u06c1\u06d2\u06d4 \u0646\u06cc\u0648\u06cc\u06af\u06cc\u0634\u0646 3 \u0628\u06cc\u06a9 \u0627\u0633\u0679\u06cc\u06a9 \u06a9\u0648 \u0635\u0627\u0631\u0641 \u06a9\u06cc \u0645\u0644\u06a9\u06cc\u062a \u0648\u0627\u0644\u06cc \u0627\u06cc\u06a9 \u0628\u0627\u0642\u0627\u0639\u062f\u06c1 \u0641\u06c1\u0631\u0633\u062a \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631 \u062f\u06cc\u06a9\u06be\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u0622\u06af\u06d2 \u067e\u06cc\u0686\u06be\u06d2 \u0646\u06cc\u0648\u06cc\u06af\u06cc\u0679 \u06a9\u0631\u0646\u0627 \u0628\u0633 \u06c1\u06d2 <code>add<\/code> \u0627\u0648\u0631 <code>removeLastOrNull<\/code>.<\/p>\n<p>\u0631\u06cc\u0644\u06cc\u0632 \u06a9\u06cc \u0637\u0631\u0641\u060c \u06c1\u0645 \u0646\u06d2 \u0627\u06cc\u067e \u06a9\u0648 \u06a9\u0645 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 R8 \u06a9\u0648 \u06a9\u0646\u0641\u06cc\u06af\u0631 \u06a9\u06cc\u0627\u060c \u0627\u06cc\u06a9 \u0627\u067e \u0644\u0648\u0688 \u06a9\u0644\u06cc\u062f \u0628\u0646\u0627\u0626\u06cc \u0627\u0648\u0631 \u0627\u0633\u06d2 \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u06a9\u06d2 \u0628\u0627\u06c1\u0631 \u0645\u062d\u0641\u0648\u0638 \u0637\u0631\u06cc\u0642\u06d2 \u0633\u06d2 \u0627\u0633\u0679\u0648\u0631 \u06a9\u06cc\u0627\u060c \u0627\u0648\u0631 \u0627\u06cc\u06a9 \u062f\u0633\u062a\u062e\u0637 \u0634\u062f\u06c1 Android \u0627\u06cc\u067e \u0628\u0646\u0688\u0644 \u0628\u0646\u0627\u06cc\u0627\u06d4 Play \u0627\u06cc\u067e \u0633\u0627\u0626\u0646 \u06a9\u0631\u0646\u06d2 \u06a9\u0627 \u0645\u0637\u0644\u0628 \u06c1\u06d2 \u06a9\u06c1 Google \u06a9\u06d2 \u067e\u0627\u0633 \u062d\u062a\u0645\u06cc \u062f\u0633\u062a\u062e\u0637\u06cc \u06a9\u0644\u06cc\u062f \u06c1\u06d2\u060c \u0644\u06c1\u0630\u0627 \u0622\u067e \u06a9\u06cc \u0627\u067e \u0644\u0648\u0688 \u06a9\u0644\u06cc\u062f \u06a9\u0627 \u06a9\u06be\u0648 \u062c\u0627\u0646\u0627 \u0645\u06c1\u0644\u06a9 \u0646\u06c1\u06cc\u06ba \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u0633\u06d2 \u0628\u0627\u0632\u06cc\u0627\u0641\u062a \u06a9\u06cc\u0627 \u062c\u0627 \u0633\u06a9\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<p>Google Play \u067e\u0631 \u0634\u0627\u0626\u0639 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0635\u0631\u0641 \u0627\u067e \u0644\u0648\u0688 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u0632\u06cc\u0627\u062f\u06c1 \u06a9\u06cc \u0636\u0631\u0648\u0631\u062a \u06c1\u0648\u062a\u06cc \u06c1\u06d2\u06d4 \u06c1\u0645 \u0646\u06d2 \u0627\u067e\u0646\u06cc \u0688\u06cc\u0648\u0644\u067e\u0631 \u06a9\u06cc \u0634\u0646\u0627\u062e\u062a \u06a9\u06cc \u062a\u0648\u062b\u06cc\u0642 \u06a9\u06cc \u06c1\u06d2\u060c \u0627\u06cc\u0645\u0627\u0646\u062f\u0627\u0631\u06cc \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u067e\u0646\u06cc \u0631\u0627\u0632\u062f\u0627\u0631\u06cc \u06a9\u06cc \u067e\u0627\u0644\u06cc\u0633\u06cc\u060c \u0645\u0648\u0627\u062f \u06a9\u06cc \u062f\u0631\u062c\u06c1 \u0628\u0646\u062f\u06cc\u060c \u0627\u0648\u0631 \u0688\u06cc\u0679\u0627 \u0633\u06cc\u0641\u0679\u06cc \u0633\u0679\u06cc\u0679\u0645\u0646\u0679\u0633 (\u0628\u0634\u0645\u0648\u0644 \u0641\u0631\u06cc\u0642 \u062b\u0627\u0644\u062b \u0644\u0627\u0626\u0628\u0631\u06cc\u0631\u06cc\u0648\u06ba \u0633\u06d2 \u062c\u0645\u0639 \u06a9\u0631\u062f\u06c1 \u0688\u06cc\u0679\u0627) \u0628\u0646\u0627\u0626\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u067e\u0646\u06cc \u0627\u0633\u0679\u0648\u0631 \u0644\u0633\u0679\u0646\u06af \u0628\u0646\u0627\u0626\u06cc \u06c1\u06d2\u060c \u0627\u0648\u0631 \u0630\u0627\u062a\u06cc \u0627\u06a9\u0627\u0624\u0646\u0679\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2\u060c \u067e\u06cc\u062f\u0627\u0648\u0627\u0631 \u062a\u06a9 \u0631\u0633\u0627\u0626\u06cc \u06a9\u06d2 \u0644\u06cc\u06d2 \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u062f\u06cc\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u06a9\u0645 \u0627\u0632 \u06a9\u0645 12 \u0679\u06cc\u0633\u0679\u0631\u0632 \u06a9\u06d2 \u0633\u0627\u062a\u06be 14 \u062f\u0646 \u06a9\u0627 \u0646\u062c\u06cc \u0679\u06cc\u0633\u0679 \u0686\u0644\u0627\u06cc\u0627 \u06c1\u06d2\u06d4 \u0622\u0632\u0645\u0627\u0626\u0634\u06cc \u0645\u062f\u062a \u06a9\u06cc \u0645\u0646\u0635\u0648\u0628\u06c1 \u0628\u0646\u062f\u06cc \u0634\u0631\u0648\u0639 \u0633\u06d2 \u06c1\u06cc \u0633\u0628 \u0633\u06d2 \u0628\u0691\u06cc \u0686\u06cc\u0632 \u06c1\u06d2 \u062c\u0648 \u0622\u067e \u0644\u0627\u0646\u0686 \u0645\u06cc\u06ba \u062a\u0627\u062e\u06cc\u0631 \u0633\u06d2 \u0628\u0686\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4<\/p>\n<p>\u06cc\u06c1\u0627\u06ba \u0627\u06cc\u06a9 \u0627\u0686\u06be\u0627 \u0627\u06af\u0644\u0627 \u0645\u0631\u062d\u0644\u06c1 \u06cc\u06c1 \u06c1\u0648\u06af\u0627 \u06a9\u06c1 \u0622\u067e \u06a9\u06cc \u0627\u06cc\u067e \u06a9\u06d2 \u0628\u0691\u06be\u0646\u06d2 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u06c1\u06cc \u06c1\u0644\u0679 \u062c\u06cc\u0633\u06d2 \u0627\u0646\u062d\u0635\u0627\u0631 \u0627\u0646\u062c\u06cc\u06a9\u0634\u0646 \u0641\u0631\u06cc\u0645 \u0648\u0631\u06a9 \u06a9\u0648 \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba\u060c \u0646\u0648\u0679 \u06a9\u0648 \u0628\u06cc\u06a9 \u0627\u06cc\u0646\u0688 \u0645\u06cc\u06ba \u06c1\u0645 \u0622\u06c1\u0646\u06af \u06a9\u0631\u06cc\u06ba\u060c \u0627\u0648\u0631 \u0627\u0633 \u06a9\u06d2 \u0630\u0631\u06cc\u0639\u06d2 \u062f\u0648\u0633\u0631\u06cc \u0632\u0628\u0627\u0646 \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba: <code>strings.xml<\/code>\u0627\u06cc\u06a9 CI \u067e\u0627\u0626\u067e \u0644\u0627\u0626\u0646 \u062a\u0631\u062a\u06cc\u0628 \u062f\u06cc\u06ba \u062c\u0648 \u0679\u06cc\u0633\u0679 \u0686\u0644\u0627\u062a\u06cc \u06c1\u06d2 \u0627\u0648\u0631 \u062a\u0645\u0627\u0645 \u0679\u06cc\u06af \u0634\u062f\u06c1 \u0631\u06cc\u0644\u06cc\u0632 \u0645\u06cc\u06ba \u062f\u0633\u062a\u062e\u0637 \u0634\u062f\u06c1 \u0628\u0646\u0688\u0644 \u0628\u0646\u0627\u062a\u06cc \u06c1\u06d2\u06d4 \u0622\u067e \u06a9\u06cc \u0627\u06cc\u067e \u06a9\u06d2 \u0633\u0627\u0626\u0632 \u0633\u06d2 \u0642\u0637\u0639 \u0646\u0638\u0631 \u0627\u0633 \u06c1\u06cc\u0646\u0688 \u0628\u06a9 \u0645\u06cc\u06ba \u067e\u06cc\u0631\u0648\u06cc \u06a9\u0631\u0646\u06d2 \u0648\u0627\u0644\u0627 \u0645\u062c\u0645\u0648\u0639\u06cc \u0628\u06c1\u0627\u0624 \u06cc\u06a9\u0633\u0627\u06ba \u0631\u06c1\u062a\u0627 \u06c1\u06d2\u06d4<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0632\u06cc\u0627\u062f\u06c1 \u062a\u0631 \u0627\u06cc\u0646\u0688\u0631\u0627\u0626\u06cc\u0688 \u0679\u06cc\u0648\u0679\u0648\u0631\u06cc\u0644\u0632 &quot;\u06cc\u06c1 \u0627\u06cc\u0645\u0648\u0644\u06cc\u0679\u0631 \u067e\u0631 \u0686\u0644\u062a\u0627 \u06c1\u06d2&#8221; \u067e\u0631 \u0631\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0644\u06cc\u06a9\u0646 Google Play \u067e\u0631 \u0627\u06cc\u06a9 \u062e\u0627\u0644\u06cc \u067e\u0631\u0648\u062c\u06cc\u06a9\u0679 \u06a9\u06cc \u0627\u06cc\u067e \u06a9\u0648 \u0641\u06c1\u0631\u0633\u062a \u0645\u06cc\u06ba \u0634\u0627\u0645\u0644 \u06a9\u0631\u0646\u0627 \u062c\u06c1\u0627\u06ba \u062d\u0642\u06cc\u0642\u06cc \u0644\u0648\u06af \u0627\u0633\u06d2 \u0627\u0646\u0633\u0679\u0627\u0644 \u06a9\u0631 \u0633\u06a9\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0633 \u0645\u06cc\u06ba \u0628\u0639\u062f \u06a9\u0627 \u062d\u0635\u06c1 \u0634\u0627\u0645\u0644 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u060c \u062c\u0633 \u067e\u0631 \u0634\u0627\u0630 \u0648 \u0646\u0627\u062f\u0631 \u06c1\u06cc \u0627\u06cc\u06a9 \u062c\u06af\u06c1 \u0628\u0627\u062a \u06a9\u06cc \u062c\u0627\u062a\u06cc \u06c1\u06d2: \u0631\u06cc\u0644\u06cc\u0632 [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[1],"tags":[],"class_list":["post-31100","post","type-post","status-publish","format-standard","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts\/31100","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/comments?post=31100"}],"version-history":[{"count":0,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/posts\/31100\/revisions"}],"wp:attachment":[{"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/media?parent=31100"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/categories?post=31100"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/umang.pk\/ur\/wp-json\/wp\/v2\/tags?post=31100"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}