در این مدت ( قسمتهای قبلی آموزش )، ما به اپلیکیشنهای تلفن همراه، از دیدگاه توسعه دهندگان اندرویدی، به صورت فردی نگاه کردیم. اگرچه من بر این باورم که توسعه دهندگان فردی یا شرکتهای توسعه دهنده کوچکتر، بیشتر از توسعه دهندگان کسبوکار هستند؛ بنابراین تمرکز بر روی یک شرکت توسعه دهنده بسیار مفید خواهد بود و چالشهای منحصر به فردی وجود دارند که با آن روبرو میشویم! شاید وسوسه شوید که از این بخش صرف نظر کنید؛ اما با این حال من شما را ت ...
Intent چیست؟ معنای لغوی intent : هدف، قصد، نیت و امثالهم... intentها حامل انواع پیامهایی هستند که بواسطه آنها یک پیام خاص و یکتا، برای کنترل وظایف و یا انتقال دادهها یا درخواست جدیدی از سیستم به دیگری میفرستد و درخواست ما پذیرفته یا رد میشود. intentها به سه بخش مشخص شدۀ خاص تقسیم میشوند: فعالیتها ( activity) ، خدمات یا سرویسها (services) و broadcast receiver که به معنی اینست که اتفاقات را در سطح اندروید به صورت broadc ...
ذخیره دادهها در اندروید اندروید برنامههای کاربردی را در زمینهی (context) امنیت جداگانهای اجرا و برای اجرای آنها زمینههای خاصی را در سیستم عامل تعیین تکلیف میکند و این برای ما کاملا شفاف است که در این سیستم عامل بزرگ و گسترده چه تدابیری ارائه شده است. این بدان معنا است که هر برنامه با UID و GID خود اجرا خواهد شد. برای مثال زمانیکه در یک برنامه اطلاعاتی را مینویسید، برنامههای دیگر قادر نخواهند بود آن دادهها را بخوانند. ...
پیاده سازی رمزنگاری کجا و به چه صورتی انجام میشود؟ ما دادهها را قبل از اینکه آنها را به کارت SD ارسال کنیم، نگهداری و رمز میکنیم. به این ترتیب دادههای ما در کارت SD در فرمتی که میتواند توسط هر کسی خوانده شود نوشته شده و هرگز اجازه دسترسی به آنها مقدور نمیباشد. یک مهاجم که اطلاعات رمزنگاری شده شما را جمعآوری میکند باید ابتدا از رمز عبور برای رمزگشایی دادهها قبل از دسترسی به آنها استفاده کند که در این مرحله دچار سردرگمی ...
ایمن کردن برنامه تولید شده در برابر حملات: هنگام دریافت اطلاعات از کاربر، باید دادهها در جایی ذخیره شوند. اینکه دادهها در کجا ذخیره و نگه داری شوند و از نفوذ به آنها جلوگیری شود، نهایت امن بودن برنامه شما را نشان میدهد. باید فرض کنید که برنامه شما به طور مستقیم یا غیرمستقیم در برخی موارد مورد حمله قرار میگیرد و تنها چیزی که بین حفاظت از اطلاعات کاربر نهایی، شما و حفاظت از دادهها مطرح میشود برعهده شما خواهد بود. چند نمونه از ...
همانطور که در مطالب قبلی توضیح داده شد، اندروید بر روی هستهی لینوکس نگارش 2.6 به بالا اجرا میشود. در این مطلب قصد داریم تا نگاهی به معماری امنیتی اندروید داشته باشیم. Privilege Separation به چه معناست؟ هستهی اندروید یک مدل جداسازی امتیازی ( Privilege separation ) را در زمان اجرای برنامههای کاربردی اجرا میکند. این مورد به این معنا است که مانند سیستم یونیکس، سیستمعامل اندروید به یک برنامه نیاز دارد تا تنها با شناسهی کاربر خود ...
در مطلب قبلی در مورد سه ویژگی اصلی معماری اندروید توضیحاتی ارائه شد و در این مطلب ویژگی آخر از این معماری را توضیح خواهم داد: Applications در معماری اندروید چه کاربردی دارد؟ اجزای یک اپلیکیشن در پلتفرم اندروید جزء اصلی ارائه به کاربر نهایی میباشد؛ بدین معنا که کاربر تنها با برنامه در ارتباط است و سیستم عامل، میزبان آن برنامه یا اپلیکیشن خواهد بود. اپلیکیشن جاییست که لیست تماسها، شماره تلفنها، پیامهای کاربر و ... در آنج ...
اجزای معماری اندروید به صورت کلی به 4 دسته اصلی تقسیم میشود که عبارتند از: Kernel ماشین مجازی Dalvik application framework applications
برای درک بهتر این معماری و اجزای درونی آن، به تصاویر زیر توجه کنید: هسته اندروید (kernel) چیست؟ اندروید بر روی هسته لینوکس نسخه 2.6 به بالاتر اجرا میشود. هسته، اولین و نخستین لایهی نرم افزاری در اندروید است که با س ...