Flutter Notes
203 subscribers
82 photos
8 videos
1 file
168 links
Avval bajaring.
Keyin to'g'ri bajaring.
Undan keyin esa yaxshiroq bajaring.

Android Notes : @android_notes_bek

Muallif : @Otabek_Nabijonov
Download Telegram
Forwarded from Flutter Uzbek | Mobil dasturlash (Abbos Bobomurodov)
Endi ishga kirishdan oldin shu komaniya haqida shuyerda ishlab ketgan ishchilarning anonim shaklidagi fikrlarini o'qib kirish yoki kirmaslikni o'ylab ko'rsangiz bo'ladi.

Ishlagan joylaringizga anonim shaklda baho va sharh yozib qo'ysangiz bo'ladi. Agar ichingizda yig'ilgan rahmat va g'azab yozib qo'ysangiz bo'ladi.

ps: etik qoidalarga amal qilish kerak.

https://ishdex.uz/companies
👍1
Forwarded from MobilDasturchi.Uz (Azizbek Asqaraliyev)
🇺🇿 Flutter dasturchilar — Android’ning yashirin harakatlaridan ehtiyot bo‘ling!

Mana sizni hayratda qoldirishi mumkin bo‘lgan holat:
🚨 Android ilovani o‘chirib tashlash har doim ham ma’lumotlarni tozalamaydi!

Flutter ilovalarimdan birida test o‘tkazayotganimda, ilovani qayta o‘rnatganimda SharedPreferences va SQLite ma’lumotlari hanuzgacha joyida ekanini sezib qoldim. 😳

🔎 Ma’lum bo‘lishicha, Android avtomatik tarzda ilova ma’lumotlarini (masalan, lokal saqlash va sozlamalarni) foydalanuvchining Google akkauntiga zaxiralab qo‘yadi — va keyin bu ilova yana o‘rnatilganda, jimgina qayta tiklaydi.

🧯 Buni o‘chirib, har safar toza o‘rnatishni ta’minlamoqchimisiz?

Unda AndroidManifest.xml faylida quyidagicha yozing:


<application
android:allowBackup="false"
android:fullBackupContent="false">
</application>


Bu avtomatik zaxira qilishni o‘chiradi — ayniqsa test versiyalarida yoki foydalanuvchiga butunlay yangilangan holatda ilovani taqdim qilmoqchi bo‘lsangiz juda foydali.

💬 Flutter dasturchilar: Android tizimi orqasida qanday ishlar sodir bo‘layotganini osonlikcha e’tiborsiz qoldirish mumkin. Faqat bir necha qator konfiguratsiya sizni soatlab xatolik izlashdan qutqaradi.
👍8👏3
AGP vs Gradle farqlari.

Gradle - bu umumiy maqsadli qurilishni avtomatlashtirish vositasi (build automation tool). U Java/Kotlin va Android kabi ko'plab tillar va platformalar uchun kodni kompilyatsiya qilish, qurish (build), bog'liqliklarni boshqarish va paketlash uchun ishlatiladi.

AGP (Android Gradle Plugin) - bu Gradle uchun plagin bo'lib, Android ilovalarini yaratish uchun zarur boʻlgan mantiq va vazifalarni taqdim etadi, masalan, resurslarni kompilyatsiya qilish, APK-larni imzolash (signing apk), AndroidManifest faylni boshqarish va boshqalar.

AGP va Gradle versiyalari bir-biriga mos bo'lishi juda muhim. Quyidagi sahifa orqali mos versiyalarni ko'rishingiz mumkin.

Gradle va AGP versiyalari quyidagi fayllarda ko'rsatilgan bo'ladi:

Gradle:
// gradle/wrapper/gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-all.zip


AGP:
// build.gradle (Project-level)
classpath 'com.android.tools.build:gradle:8.1.4'


Flutter ikkalasini ham ishlatadi. Flow esa quyidagicha:
Flutter (calls) → Gradle (uses) → AGP (builds Android)


Qo'shimcha manbalar:
1. Gradle - Link
2. AGP - Link
3. Article - Link

#Flutter
🔥1
Flutterda Deep Link.

Deep Link (custom URI schemes)
Bu havolalar ilovangizni ochish va muayyan sahifalarga yo'naltirish uchun "myapp://profile?id=123" kabi maxsus URI sxemalaridan foydalanadi.

Androidda bu Deep link deb ataladi, iOS-da esa maxsus URL sxemasi (custom URL scheme) deb ataladi. Agar siz domenga ega bo'lmasangiz, lekin deep link kuchidan foydalanmoqchi bo'lsangiz, bu usul qulay.

Ilovangizda o'zingizga yoqqan har qanday maxsus sxemani tanlashingiz mumkin. Ammo salbiy tomoni shundaki, u xavfsizligi past, chunki har qanday ilova sizning shaxsiy sxemangizni o'g'irlashi va havolalaringizni ochishga urinishi mumkin.

Web Link (Android App Link / IOS Universal Link).
Android-da App Link va iOS-da Universal Link sifatida tanilgan bu usul mobil ilovangizga Deep Link yordamini qo'shishning eng xavfsiz usulini ta'minlaydi.

Bu sizdan domenga ega bo'lishingizni va ikkala tomondan tekshirishni amalga oshirishingizni talab qiladi. Domeningizni ilova kodi (Androiddagi manifest fayli va iOSʼdagi Associated Domains) ichida roʻyxatdan oʻtkazishingiz va server tomonida mobil ilovangizni tasdiqlashingiz kerak.

Ushbu vazifani bajarish orqali ilovangiz domenni taniydi va domen ilovangizni tasdiqlaydi. Ushbu ikki tomonlama tekshirish Deep Link-larning yaxlitligi va haqiqiyligini ta'minlaydi va uni xavfsiz qiladi.

Manbalar:
1. Official doc: Link
2. Medium: Link
3. Article: Link

#Flutter
Learning to write clean code is hard work. It requires more than just the knowledge of principles and patterns. You must sweat over it. You must practice it yourself, and watch yourself fail. You must watch others practice it and fail. You must see them stumble and retrace their steps. You must see them agonize over decisions and see the price they pay for making those decisions the wrong way.


Robert C. Martin "Clean Code"