loading...

آموزش جاوا و اندروید

یادداشت های یک برنامه نویس معمولی

بازدید : 9
يکشنبه 16 فروردين 1404 زمان : 20:16
  • 1
  • 2
  • 3
  • 4
  • 5

آموزش جاوا و اندروید
ویژگی git reset git restore
محدوده تأثیر روی history (commit) و staging (index) اثر داره روی فایل‌های working directory یا staging اثر داره
مناسب برای برگشت دادن commit یا unstaging فایل‌ها برگردوندن فایل‌ها به حالت قبل
خطرناک؟ ممکنه commit حذف کنه (بسته به نوع reset مثلاً --hard) نه، فقط فایل‌ها رو به حالت قبلی برمی‌گردونه، امن‌تره

reset = بیشتر برای commit history و stage هست، خطرناک‌تره مخصوصاً با --hard

restore = بیشتر برای فایل‌های فعلی هست، امن‌تره، مخصوصاً وقتی فقط بخوای یه فایل رو برگردونی

بازدید : 32
يکشنبه 11 اسفند 1403 زمان : 14:46
  • 1
  • 2
  • 3
  • 4
  • 5

آموزش جاوا و اندروید

برای تغییر رنگ پراگرس بار، باید توی فایل styles، واسش یه استایل کاستوم تعریف کنیم:

								
									
									">#BBE6FF

و بدین شکل توی پراپرتی‌های xml براش ست کنیم:

									style="@style/ProgressBarTheme"
								
بازدید : 33
جمعه 25 بهمن 1403 زمان : 18:26
  • 1
  • 2
  • 3
  • 4
  • 5

آموزش جاوا و اندروید

انواع امضادر اندروید

  1. V1 (Jar Signature)

    • قدیمی‌ترین روش امضا که از اندروید 1.0 معرفی شده است.
    • فقط فایل‌های داخل APK را امضا می‌کند.
    • برای نسخه‌های قبل از Android 7.0 ضروری است.
  2. V2 (APK Signature Scheme v2)

    • از Android 7.0 معرفی شد.
    • کل فایل APK را امضا می‌کند.
    • امنیت بیشتری نسبت به V1 دارد.
  3. V3 (APK Signature Scheme v3)

    • در Android 9.0 معرفی شد.
    • امکاناتی مانند Rollback Protection را اضافه می‌کند.
    • به مدیریت بهتر کلیدها کمک می‌کند.
  4. V4 (APK Signature Scheme v4)

    • در Android 10 معرفی شد.
    • برای بهینه‌سازی به‌روزرسانی‌ها در Google Play استفاده می‌شود.
    • فایل امضا Signature جدا از APK ذخیره می‌شود.

بررسی امضای APK
میتوان از ابزار apkSigner که در بیلد تولز اندروید وجود داره، استفاده کرد تا بررسی کنیم آیا APK به درستی امضا شده یا نه.

نحوه بررسی:

apksigner verify --verbose --print-certs my-app.apk

G:Android_sdksdkbuild-tools35.0.0apksigner.bat verify --verbose --print-certs F:app-release.apk

(چون مسیر apksigner رو توی Enviroment نداده بودم، مسیر کاملش رو نوشتم)
نکته مهم اینکه از minSDK رو کمتر از اندروید 7 بذاریم و V1 رو غیر فعال کنیم این ابزار ارور میده و نمیتونه verify کنه. اگر minSDK کمتر از 7 بود باید و حتما V1 فعال باشه. در غیر این صورت میشه V1 رو غیرفعال کرد. در کل V1 نفوذ پذیر هست و توصیه میشه مورد استفاده قرار نگیره.
نحوه معرفی امضاهای مختلف در گریدل:
در بلاک android به صورت زیر مینویسیم:

									signingConfigs {
        production  {
            v1SigningEnabled true // flase for android 7 and up
            v2SigningEnabled true
            enableV3Signing = true
            enableV4Signing = true
            keyAlias "..."
            keyPassword "12345678"
            storeFile file("C:/Users/Notebook/Desktop/...")
            storePassword "..."

        }
    }
								
بازدید : 32
جمعه 25 بهمن 1403 زمان : 18:26
  • 1
  • 2
  • 3
  • 4
  • 5

آموزش جاوا و اندروید

امضای دیجیتال (Signing) در اپلیکیشن‌های اندرویدی فرآیندی است که به تایید اصالت و یکپارچگی فایل APK کمک می‌کند.

وقتی یک برنامه اندروید (فایل APK) ساخته می‌شود، نیاز است که امضا شود. این امضا برای موارد زیر ضروری است:

  1. تایید اصالت توسعه‌دهنده:نشان می‌دهد که این فایل APK از یک توسعه‌دهنده خاص آمده است.
  2. یکپارچگی فایل:تضمین می‌کند که فایل APK بعد از امضا تغییر نکرده است.
  3. انتشار در فروشگاه Google Play:برنامه‌ها باید امضا شوند تا در Google Play منتشر شوند.
  4. به‌روزرسانی برنامه:وقتی برنامه‌ای در دستگاه نصب می‌شود، نسخه‌های جدیدتر آن باید با همان کلید امضا شوند تا به‌روزرسانی انجام شود.

فایل‌های دخیل در فرآیند امضا

  1. Keystore File ( .jksیا .keystore)

    • این فایل شامل کلید خصوصی شما است که برای امضای APK استفاده می‌شود.
    • این کلید محرمانه است و نباید در اختیار دیگران قرار بگیرد.
    • همراه با رمز عبور (password) از آن محافظت می‌شود.
  2. Certificate (گواهی)

    • هر کلید خصوصی یک گواهی عمومی‌دارد که شامل اطلاعاتی مانند نام توسعه‌دهنده، سازمان، و تاریخ انقضا است.
    • گواهی بخشی از امضای APK است.
  3. Manifest و Signature

    • در امضای V1، یک فایل META-INF/MANIFEST.MFو فایل‌های META-INF/CERT.SFو META-INF/CERT.RSAدر APK قرار می‌گیرند که اطلاعات مربوط به امضا را ذخیره می‌کنند.
    • در امضاهای V2، V3 و V4، این اطلاعات در یک بخش خاص از APK ذخیره می‌شوند.

چرا از امضا استفاده می‌شود؟

  1. امنیت:اگر کسی فایل APK را بعد از امضا تغییر دهد، امضا باطل می‌شود و دستگاه اندروید از نصب آن جلوگیری می‌کند.
  2. اعتماد:کاربران می‌دانند که برنامه از یک توسعه‌دهنده مشخص آمده و توسط شخص ثالث تغییر نکرده است.
  3. سازگاری:امضا تضمین می‌کند که فقط نسخه‌های جدیدتر با همان کلید می‌توانند جایگزین نسخه‌های قدیمی‌شوند.
بازدید : 35
جمعه 25 بهمن 1403 زمان : 18:26
  • 1
  • 2
  • 3
  • 4
  • 5

آموزش جاوا و اندروید

اگر از اپراتور null safety کاتلین که .? هست، برای چک کردن نهایی null بودن متغیر باید به صورت زیر عمل کرد:

									var word: String? = "Elvis"
val length: Int = if (word != null) word.length else -1
								

یعنی باید به صورت Explicit بررسی کرد که آیا word مقدار null دارد یا خیر. به جای بررسی کردن با if میشه از :? استفاده کرد.

									val word: String? = "Elvis"
val length: Int = word?.length ?: -1
								

به این اپراتور Elvis گفته میشه و میگه اگر word مقدارش null بود، 1- جایگزین بشه.

بازدید : 1538
جمعه 8 خرداد 1399 زمان : 20:24
  • 1
  • 2
  • 3
  • 4
  • 5

بازدید : 893
جمعه 8 خرداد 1399 زمان : 20:24
  • 1
  • 2
  • 3
  • 4
  • 5

آموزش جاوا و اندروید

این اپ آزمون ساده آیین نامه هست. صفحه اسپلش و منو داره. منو شامل آموزش، آزمون، درباره ما و تماس با ما هست.

صفحه آموزش این اپ کد جاوای خاصی نداره.

توی لی اوتش عکس‌ها رو پشت سر هم گذاشتم. تنها نکتش اینه که روت رو scrollView قرار دادم و یک child از نوع constraint layout بهش دادم و تکست ویوها و امیج ویوها رو توش قرار دادم.

دلیلش هم اینه که scrollView فقط میتونه یک child داشته باشه.

آموزش جاوا و اندروید

بازدید : 1352
سه شنبه 5 خرداد 1399 زمان : 14:23
  • 1
  • 2
  • 3
  • 4
  • 5

بازدید : 743
سه شنبه 5 خرداد 1399 زمان : 14:23
  • 1
  • 2
  • 3
  • 4
  • 5

آموزش جاوا و اندروید

اسنک بارخیلی شبیه Toast هست ولی میتونه با کاربر اینتراکشن داشته باشه و شامل دکمه باشه.

برای از بین رفتنش باید اون رو به چپ یا راست کشید (البته اگر لی اوتی که بهش میدیم coordinator باشه، مثل Toast زمان داره ولی با swip کردن هم از بین میره)

توی اکتیویتی نمایش داده میشه. یعنی اگر اکتیویتی finish بشه اسنک هم از بین میره ولی Toast تا زمانی که براش تعریف شده سپری نشه از بین نمیره.

اطلاعات بیشتر

بازدید : 1546
چهارشنبه 23 ارديبهشت 1399 زمان : 11:29
  • 1
  • 2
  • 3
  • 4
  • 5

تعداد صفحات : 2

آمار سایت
  • کل مطالب : 22
  • کل نظرات : 0
  • افراد آنلاین : 2
  • تعداد اعضا : 0
  • بازدید امروز : 3
  • بازدید کننده امروز : 4
  • باردید دیروز : 5
  • بازدید کننده دیروز : 5
  • گوگل امروز : 0
  • گوگل دیروز : 0
  • بازدید هفته : 24
  • بازدید ماه : 1541
  • بازدید سال : 3917
  • بازدید کلی : 83668
  • کدهای اختصاصی