استارت‌آپ و کارآفرینی

تغییرات و قابلیت‌های جدید در اندروید ۶٫۰

در این مقاله قصد داریم تا برخی از قابلیت‌های جدید و تغییرات انجام‌شده در نسخه‌ی جدید اندروید با شماره ۶٫۰ که از ۲۳ API استفاده می‌کند را معرفی نماییم. در صورتی که ا‌پ‌هایی در مارکت‌های اندرویدی انتشار داده‌اید باید بدانید که این تغییرات بر روی کاربری آن‌ها اثر می‌گذارد.

برخی از مهم‌ترین تغییرات در زیر آمده‌ است که در ادامه توضیح داده خواهد شد:

  • مجوزها در زمان اجرا (Runtime permissions)
  • بهینه‌سازی مصرف انرژی (Doze and App Standby)
  • عدم ادامه‌ی پشتیبانی از Apache HTTP client
  • تغییراتی در پیاده‌سازی Notification
  • تغییراتی در استفاده از دوربین (Camera services)
  • تغییر حالت اولیه اتصال به USB
  • تغییراتی در اتصال به شبکه و WIFI

مجوزها در زمان اجرا (Runtime Permissions)

این نسخه از اندروید مدل جدیدی از اجازه‌ها یا همان permissions  را معرفی کرده‌ است، به صورتی که کاربر می‌تواند به طور مستقیم اجازه‌های برنامه‌ای که نصب شده را در زمان اجرای آن مدیریت کند. این مدل دید و کنترل بهتری به کاربر می‌دهد و نیز مراحل نصب برنامه را ساده‌تر می‌کند. کاربران می‌توانند هرجا که برنامه نیاز داشته باشد اجازه برای استفاده از منابع یا سرویس خاصی از اپلیکیشن خود را به طور جداگانه در حین اجرا بدهند. جزییات استفاده از این مدل در سایت اصلی برنامه‌نویسان گوگل توضیح داده شده است.

تصویر زیر نحوه‌ی مدیریت مجوزها در زمان اجرا توسط کاربر را نشان می‌دهد:

apppermissionsruntime

بهینه‌‌سازی مصرف انرژی (Doze and App Standby)

این نسخه برای اپ و دستگاه اندرویدی که در حالت غیرفعال یا idle قرار دارند روش‌ها‌یی برای کاهش مصرف انرژی معرفی کرده است. این تغییرات بر روی کارکرد اپ‌ها اثر می‌گذارد. پس حتما اجرای اپ خود را در این حالت‌ها بررسی و تست نمایید. شرح حالت‌ها در زیر آمده است:

Doze: اگر کاربر دستگاه اندرویدی خود را از حالت اتصال به برق خارج کند و در صورتی که صفحه‌ی نمایش برای مدتی خاموش است دستگاه به حالت Doze می‌رود یعنی به حالت خواب یا Sleep می رود. در این حالت دستگاه به صورت دوره‌ای فعالیت‌های خود را در زمان بسیار کوتاه دنبال می‌کند تا کارهایی مثل همگام‌سازی یا Sync کردن و همچنین عملیات به‌تعویق‌افتاده یا به اصطلاح Pending انجام شوند.

App Standby: این حالت به سیستم اجازه می‌دهد تا وقتی کاربر مدتی از آن استفاده نمی‌کند تشخیص دهد که اپ غیرفعال است. سیستم این تشخیص را زمانی انجام می‌دهد که کاربر برای یک زمان مشخص با اپ کاری انجام نداده باشد. در این حالت وقتی دستگاه به جریان برق متصل نیست، سیستم خود به خود اتصال به شبکه را قطع کرده و نیز همگام‌سازی و دیگر فعالیت‌های مربوط به اپ را متوقف می‌کند.

nexus-5x-review-usb-c-charger-420-90

عدم ادامه پشتیبانی از Apache HTTP Client

در این نسخه دیگر از Apache HTTP Client پشتیبانی نمی‌شود. اگر اپ شما از این کلاس استفاده می‌کرده و نیز اندروید‌های هدف شما ۲٫۳ به بالاست، از این پس از کلاس HttpUrlConnection  استفاده کنید . این کلاس استفاده از شبکه را کاهش داده و در نتیجه مصرف انرژی نیز کاهش می‌یابد. اما اگر مجبور به استفاده از این کلاس قدیمی هستید ابتدا باید کد زیر را به فایل Build.gradle در پروژه‌ی اندروید استودیوی خود اضافه کنید.

android {
    useLibrary 'org.apache.http.legacy'
}

تغییراتی در  پیاده‌سازی Notification

در این نسخه متد Notification.setLatestEventInfo() از کلاس مربوطه حذف شده است و به جای آن از کلاس Notification.Builder برای ساختن نوتیفیکیشن استفاده می‌شود. برای به‌روزرسانی نوتیفیکیشن به صورت پی در پی از Notification.Builder مجددا استفاده نمایید. متد Build() را فراخوانی کنید تا نمونه‌ی نوتیفیکیشن را در اختیار داشته باشید.

تغییراتی در سرویس دوربین (Camera Services)

در نسخه‌های قبل استفاده از منابع مشترک در سرویس دوربین دستگاه اندرویدی بر اساس مدل First Come First Serve یا همان «اولین درخواست‌‌کننده اولین سرویس‌گیرنده» طراحی شده بود. این مدل در نسخه‌ی جدید جای خود را به روش دیگری داد که بر اساس سرویس‌دادن به پردازش با بیشترین اولویت است.

تغییر حالت اولیه اتصال به USB

در این نسخه به صورت پیش‌فرض اتصالات به وسیله‌ی USB در حالت «فقط شارژ» یا Charge-only قرار می گیرند. برای دستیابی به دستگاه و فایل‌های درون آن از طریق USB کاربر باید به صورت مشخص اجازه‌ی چنین ارتباطی را بدهد. اگر اپی که طراحی کرده‌اید از این حالت اتصال به وسیله‌ی USB  استفاده می‌کند، توجه داشته باشید که اجازه‌ی این تعامل باید صریحا داده شده باشد.

همانطور که مشاهده نموده‌اید تغییرات انجام شده در جهت کاهش سطح دسترسی به منابع و افزایش امنیت و نیز بهینه‌سازی مصرف انرژی بوده است تا تجربه بهتری برای کاربران این سیستم عامل پرطرفدار ارایه نماید.

 

7 نظرات
  1. yaser می گوید

    ممنون از اطلاعات مفیدی که در اختیار مون قرار میدین.
    بنده یه راهنمایی ازتون میخواستم به نظرتون برای شروع برنامه نویسی اندروید چطور باید شروع کنم آموزشگاه برم یا با کتاب و اینترنت شروع کنم من قبلا تجربه کار با ویژوال بیسیک رو داشتم (اصول اولیه مثله شرط حلقه ارایه استفاده از تابع ها رو میدونم).

    1. طه می گوید

      سلام
      هم خودآموزی با کتاب خوبه و هم کلاس رفتن
      شما باید با جاوا و مفاهیم شی گرایی اشنا باشین و باید یک سری از مفاهیم اندروید رو هم بدونید
      نمی خام بگم باید جاوا کار حرفه ایی باشید یا این که یه کتاب جاوا رو تا اخر بخونید تا اندروید رو شروع کنید اما باید برای شروع چند تا پروژه کوچیک هم شده با جاوا بنویسید تو اینترنت نمونه کد و اموزش جاوا خیلی زیاده .نکته ی مهم مفاهیم کلاس و OOP هست که درک بهتری بهتون میده برای کدنویسی با جاوا و اندروید.

      تو کلاس یک سری مفاهیم کلی را یاد میگیرید واگر جایی مشکلی داشتین از همکلاسی ها یا استاد استفاده می کنین اما بهتره قبل از کلاس خودتون دو سه تا پروژه ی کوچیک اندروید بنویسین.نصب اندروید استودیو کار سختی نیست ایجاد پروژه ساده هم کار خاصی نداره

      مفاهیم زیر رو باید به مرور یاد بگیرین برای ساده ترین پروژه ها :

      ۱- نمایش داده ها در View ها مثل imageview , TextView و ListView
      ۲- اتصال به اینترنت و دریافت داده از سرور و قرار دادن داده ها در View ها
      ۳-ارتباط بین اکتیویتی ها و فراگمت ها یا به طور ساده صفحات برنامه تون
      ۴-آشنایی با xml برای UI صفحات برنامه تون

      چند نکته ی دیگه :
      اصولی برنامه بنویسین هر قسمت از برنامه رو که میخاین شروع کنین با خودتون فکر کنین بهترین راه انجامش چیه یا این که برنامه نویسای حرفه ایی چطور انجامش میدن. developers.android گوگل خیلی خوبه یاد بگیرین ازش استفاده کنین . زیاد با stackoverlflow درگیر نباشین ازش کمک بگیرین اما اینو بدونین که خیلی وقت ها فقط کد بهتون میده و روش و چرایی اون رو متوجه نمیشین. اما اگه یک بار قسمتی از پروژه رو درست انجام بدین ممکنه بار اول کمی وقتتون رو بگیره اما زمان زیادی صرفه جویی کردین برای پروژه های بعدی.

      در اخر این که فقط کلاس رفتن کمک خاصی بهتون نمیکنه اگه روزانه چندین ساعت پشت کامپیوتر نشینین و کد نزنین مفاهیمی که تو کلاس گفته میشه به دردتون نمیخوره چون حجم مطالب زیاده.
      خیلی از همکاران هم هستند که بدون کلاس رفتن خودشون وقت گذاشتن و اندروید رو یاد گرفتن الان هم دارن خوب کار می کنن

      در اخر من هر دو رو پیشنهاد می کنم یک دوره ی کلاس به همراه خوداموزی . سعی کنین بعد از این که یک سری چیزای اولیه یاد گرفتین بعدش پروژه محور دوره ی اموزشتون رو پیگیری کنید ان شالله اولین پروژه تون رو هر چند ساده که نوشتین با اعتماد نفس بالا ادامه میدین 🙂

      درود بر شما
      قاسمی

    2. طاها قاسمی می گوید

      برای یادگیری جاوا پیشنهاد می کنم از لینک زیر که اموزش برنامه نویسی جاوا به زبان ساده است و توسط نویسندگان هایو تهیه شده استفاده نمایید
      https://startups.ir/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D9%82%D8%AF%D9%85-%D8%A8%D9%87-%D9%82%D8%AF%D9%85-%D8%AC%D8%A7%D9%88%D8%A7-%D9%82%D8%B3%D9%85%D8%AA-%D8%A7%D9%88%D9%84/

  2. هانی قاسمی می گوید

    از اطلاعاتی که در مورد اندروید جدید مارشملو ارائه کردید بسیار سپاسگزارم.

    1. طاها قاسمی می گوید

      خواهش می کنم ان شالله در مقالات بعدی بتونم موارد مفید تری ارایه بدم

  3. تلاش می گوید

    فکر کنم اجازه دسترسی یکی از بهترین تغییرات در این نسخه از اندروید است.

    1. طاها قاسمی می گوید

      بله کاملا درسته . مورد دیگه ایی که خیلی به نفع دارندگان دستگاه های اندرویدی با این نسخه میشه کاهش مصرف انرژی هست .

      ممنون از نظرتون

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.