چند سال قبل یک گوشی Samsung galaxy J7 را که به صورت پیشفرض به همراه اندروید 6 است، تهیه کردم. الان حدود دو هفتهای است که اندروید 10 را از طریق LineageOS بر روی این گوشی نصب کردهام که در ادامه روش نصب آنرا برای علاقمندان توضیح خواهم داد.
LineageOS چیست؟
یکی از مهمترین مزایای استفاده از گوشیهای اندرویدی نسبت به iOS ای، آزادی نصب نرم افزار و خصوصا سیستم عاملهای مختلف بر روی آنها است. در حال حاضر، محبوبترین ...
در این مدت ( قسمتهای قبلی آموزش )، ما به اپلیکیشنهای تلفن همراه، از دیدگاه توسعه دهندگان اندرویدی، به صورت فردی نگاه کردیم. اگرچه من بر این باورم که توسعه دهندگان فردی یا شرکتهای توسعه دهنده کوچکتر، بیشتر از توسعه دهندگان کسبوکار هستند؛ بنابراین تمرکز بر روی یک شرکت توسعه دهنده بسیار مفید خواهد بود و چالشهای منحصر به فردی وجود دارند که با آن روبرو میشویم! شاید وسوسه شوید که از این بخش صرف نظر کنید؛ اما با این حال من شما را ت ...
Intent چیست؟ معنای لغوی intent : هدف، قصد، نیت و امثالهم... intentها حامل انواع پیامهایی هستند که بواسطه آنها یک پیام خاص و یکتا، برای کنترل وظایف و یا انتقال دادهها یا درخواست جدیدی از سیستم به دیگری میفرستد و درخواست ما پذیرفته یا رد میشود. intentها به سه بخش مشخص شدۀ خاص تقسیم میشوند: فعالیتها ( activity) ، خدمات یا سرویسها (services) و broadcast receiver که به معنی اینست که اتفاقات را در سطح اندروید به صورت broadc ...
ذخیره دادهها در اندروید اندروید برنامههای کاربردی را در زمینهی (context) امنیت جداگانهای اجرا و برای اجرای آنها زمینههای خاصی را در سیستم عامل تعیین تکلیف میکند و این برای ما کاملا شفاف است که در این سیستم عامل بزرگ و گسترده چه تدابیری ارائه شده است. این بدان معنا است که هر برنامه با UID و GID خود اجرا خواهد شد. برای مثال زمانیکه در یک برنامه اطلاعاتی را مینویسید، برنامههای دیگر قادر نخواهند بود آن دادهها را بخوانند. ...
Theme
برای اینکه بتوانیم ظاهر گرافیکی layoutها را کنترل نماییم، از Theme که مجموعهای از styleهای گرافیکی میباشد، استفاده میکنیم. در اندروید مجموعهای از تمهای از پیش ساخته شده که به آنها Builtin Theme نیز گفته میشود میتوانیم استفاده کنیم. تمها ظاهر گرافیکی کلیه کنترلهای Layout را با نامهای زیر، کنترل میکنند: statusBarColor
textColorPrimary
colorAccent
ColorPrimary
WindowBackground اگر ساختار زیر را ...
در بحث گذشته کنترلهای مورد نظر را بصورت داینامیک تولید کردیم که در طراحی Appهای پیچیده مناسب نمیباشد و بهتر است فرم و طراحی گرافیکی را از قبل آماده کرده و در activity اجرا نماییم. به فرمهای از قبل طراحی شده، layout گفته میشود. layoutها با فرمت xml ساخته میشوندو بنابراین به زبان سی شارپ مربوط نمیباشد.
در زامارین 2 نوع layout داریم
1: صفحات razor از قبل پردازش شده PreProcessRazorPaged
...
در ابتدای کار تشکر و سپاس از استاد دانشمند و پر مایهام جناب مهندس رضا محمد پور که از محضر پر فیض تدریسشان، بهرهها بردهام. هدف از این سری آشنایی با زامارین اندروید میباشدکه آشنایی با سی شارپ پیش نیاز آن میباشد و ورژن ویژوال استودیو 2017 من در حال حاضر 15.7.4 میباشد. اولین پروژه را با زامارین شروع میکنیم. طبق معمول بعد از نصب ویژوال استودیو از گزینه File گزینه New Project را انتخاب میکنیم. در ورژنهای قبلی ویژوا ...
پیاده سازی رمزنگاری کجا و به چه صورتی انجام میشود؟ ما دادهها را قبل از اینکه آنها را به کارت SD ارسال کنیم، نگهداری و رمز میکنیم. به این ترتیب دادههای ما در کارت SD در فرمتی که میتواند توسط هر کسی خوانده شود نوشته شده و هرگز اجازه دسترسی به آنها مقدور نمیباشد. یک مهاجم که اطلاعات رمزنگاری شده شما را جمعآوری میکند باید ابتدا از رمز عبور برای رمزگشایی دادهها قبل از دسترسی به آنها استفاده کند که در این مرحله دچار سردرگمی ...
ایمن کردن برنامه تولید شده در برابر حملات: هنگام دریافت اطلاعات از کاربر، باید دادهها در جایی ذخیره شوند. اینکه دادهها در کجا ذخیره و نگه داری شوند و از نفوذ به آنها جلوگیری شود، نهایت امن بودن برنامه شما را نشان میدهد. باید فرض کنید که برنامه شما به طور مستقیم یا غیرمستقیم در برخی موارد مورد حمله قرار میگیرد و تنها چیزی که بین حفاظت از اطلاعات کاربر نهایی، شما و حفاظت از دادهها مطرح میشود برعهده شما خواهد بود. چند نمونه از ...
همانطور که در مطالب قبلی توضیح داده شد، اندروید بر روی هستهی لینوکس نگارش 2.6 به بالا اجرا میشود. در این مطلب قصد داریم تا نگاهی به معماری امنیتی اندروید داشته باشیم. Privilege Separation به چه معناست؟ هستهی اندروید یک مدل جداسازی امتیازی ( Privilege separation ) را در زمان اجرای برنامههای کاربردی اجرا میکند. این مورد به این معنا است که مانند سیستم یونیکس، سیستمعامل اندروید به یک برنامه نیاز دارد تا تنها با شناسهی کاربر خود ...