تمام نکاتی که قبل از انتشار برنامه اندروید خود در فروشگاه های اندروید، باید به آنها توجه کنیم
همان طور که می دانید، فروشگاه های اندروید، برنامه های اندرویدی که از توسعه دهندگان دریافت می کنند را بررسی کرده و چنانچه مشکلی در آن بیابند، آن را منتشر نمی کنند و از توسعه دهنده درخواست می کنند که این مشکلات را برطرف کند. در این مبحث، بنده قصد دارم که تمام نکات مهم مربوط به یک برنامه اندروید را شرح بدهم تا توسعه دهندگان، قبل از دادن برنامه اندروید خود به فروشگاه های اندروید، یک بار این موارد را مرور کنند، زیرا درگیر شدن با کدنویسی برنامه اندروید، ممکن است باعث شود که برخی از نکات را فراموش کنیم.
بنده نکاتی را ذکر خواهم کرد، چنانچه موردی نیز به ذهن شما رسید، خوشحال می شوم تذکر بدهید تا آن را نیز به این مبحث اضافه نمایم. به هر حال، قصد داریم که این مبحث، یک مبحث جامع شامل تمامی نکات مهم باشد. بنابراین آن را به مرور زمان تکمیل خواهیم کرد.
نکات را در دو دسته ((نکات ضروری)) و ((نکات اختیاری)) شرح خواهیم دادیم و مواردی که در دسته ((نکات اختیاری)) قرار می گیرند، بستگی به خود شما دارد که دوست داشته باشید آنها را در برنامه اندروید خود به کار ببرید یا خیر.
نکات ضروری :
داشتن نام package منحصر بفرد :
تمامی برنامه های اندروید، با نام package خود شناسایی می شوند و بنابراین باید نام package آنها منحصر بفرد باشد، بنابراین اگر شما فایل apk برنامه اندروید را به یک فروشگاه اندروید بدهید، آنها در همان لحظه، نام package آن را از فایل apk به دست می آورند و چک می کنند که آیا قبلا برنامه ای با این نام package منتشر شده است یا نه. اگر منتشر شده باشد، به شما تذکر می دهند و بنابراین شما باید نام package جدیدی برای برنامه اندروید خود انتخاب کنید (برای تغییر نام package ، کلید شماره 225 را ببینید).
دقت کنید که این نکته برای برنامه اندرویدی است که قصد دارید اولین نسخه آن را منتشر کنید، چون در فروشگاه های اندروید، بخش جداگانه ای برای دریافت نسخه جدید برنامه های اندروید از قبل منتشر شده توسط شما وجود دارد و بدیهی است که نباید نام package آنها تغییر داده شود.
عدم تغییر نام package برنامه اندروید در نسخه های جدید آن :
چنانچه قبلا برنامه اندرویدی در فروشگاه های اندروید منتشر کرده اید، نباید نسخه جدید آن، دارای نام package دیگری باشد (زیرا در غیر این صورت، هنگام نصب برنامه اندروید، به صورت یک برنامه اندروید جدید شناسایی می شود و دیگر جایگزین نسخه قبلی نمی شود).
استفاده از همان keystore قبلی برای ساخت فایل apk نسخه های جدید برنامه اندروید :
اگر بر روی یک گوشی، برنامه اندرویدی (با یک package خاص) با یک keystore اولیه (یک سری certificates)( کلید شماره 210 ) نصب شده باشد، آنگاه اگر نسخه جدیدی از آن برنامه (با همان package) بسازیم که در آن، از keystore جدیدی (یعنی certificates جدید) استفاده شده باشد، آنگاه گوشی اجازه نصب نسخه جدید را نمی دهد (در واقع برای این است که کسی نتواند برای برنامه های اندروید دیگران، نسخه جدید ارائه کند، پس keystore شبیه امضا می ماند). بنابراین شما برای تمام نسخه های یک برنامه اندروید، تنها باید از یک فایل keystore استفاده کنید.
تغییر شماره نسخه برنامه اندروید (تغییر versionCode و versionName) :
چنانچه قبلا برنامه اندروید را در فروشگاه های اندروید منتشر کرده اید و اکنون می خواهید که نسخه جدید آن را به فروشگاه های اندروید بدهید، باید versionCode و versionName آن نسبت به قبل تغییر کرده باشد. برای تغییر versionCode و versionName برنامه اندروید، کلید شماره 231 را ببینید. versionCode تنها باید یک واحد افزایش یابد و برای versionName هم عبارتی دلخواه را انتخاب کنید (معمولا مواردی مثل 1.0.12 و 2.3.7 و ... انتخاب می شود).
تعیین minSdkVersion و targetSdkVersion برای برنامه اندروید :
در فایل Androidmanifest.xml از پروژه اندروید، دو مورد minSdkVersion و targetSdkVersion را به صورت مناسب برای برنامه اندروید خود تعیین کنید.
یکسان بودن شیوه نمایش برنامه اندروید بر روی گوشی های اندروید با صفحه نمایش های با اندازه مختلف :
یکی از موارد مهم در طراحی گرافیک برنامه اندروید این است که ممکن است ظاهر گرافیکی برنامه اندروید، بر روی گوشی های با صفحه نمایش های با اندازه مختلف، متفاوت باشد. بنابراین توصیه می شود که فایل های xml جداگانه ای برای صفحه نمایش های با اندازه های مختلف، طراحی شود. این مورد را در کلید شماره 239 به طور کامل شرح داده ایم.
نکات مربوط به چرخش گوشی :
شاید توسعه دهنده همیشه برنامه خود را در حالت افقی (landscape) یا عمودی (portrait) آزمایش کند و فراموش کند که اگر کاربر گوشی خود را بچرخاند، برنامه اندروید نیز تغییر وضعیت می دهد و به طور پیش فرض، دوباره Activity از ابتدا اجرا می شود. نکات زیادی در مورد چرخش گوشی وجود دارد که آنها را به ترتیب بیان می کنیم و شما باید همه آنها را بخوانید و ببینید که کدامیک مد نظرتان است :
1- شاید شما اصلا بخواهید که کل برنامه اندروید و یا یک یا چند Activity از برنامه اندروید، همیشه در حالت افقی (landscape) یا عمودی (portrait) نمایش داده شوند ( کلید شماره 221 ).
2- شاید شما قابلیت چرخش صفحه برنامه را به کاربر بدهید، اما برایتان مهم باشد که با چرخش صفحه، Activity دوباره از اول اجرا نشود، زیرا ممکن است اطلاعاتی از دست برود. مثلا اگر برنامه به صورت بازی باشد، با چرخش صفحه، Activity دوباره از اول اجرا می شود و کاربر دوباره باید بازی را از اول شروع کند، برای رفع این مشکل، باید تعیین کنیم که هنگام چرخش صفحه، اطلاعات Activity حفظ شود و Activity از اول اجرا نشود ( کلید شماره 270 ).
3- شاید اصلا بخواهیم که برای دو حالت افقی (landscape) و عمودی (portrait)، ظاهر گرافیکی Activity فرق داشته باشد و چیدمان عناصر گرافیکی در فایل xml متفاوت باشد. برای این منظور، باید یک فایل xml نیز برای حالت افقی (landscape) طراحی کنیم ( کلید شماره 2619 ).
متناسب بودن توضیحات نوشته شده برای برنامه اندروید با نحوه عملکرد برنامه اندروید :
چنانچه توضیحاتی که شما برای برنامه اندروید در فروشگاه های اندروید می نویسید، با نحوه عملکرد خود برنامه اندروید متفاوت باشد، فروشگاه اندروید مورد نظر از انتشار برنامه خودداری خواهد کرد.
اجازه های دسترسی (permissions) را یکبار دیگر چک کنید :
همان طور که می دانید، ما اجازه های دسترسی (permissions) را در فایل Androidmanifest.xml می نویسیم. کاربر نیز قبل از نصب برنامه اندروید، لیست این اجازه های دسترسی (permissions) را مشاهده می کند و اگر با یکی از آنها موافق نباشد، برنامه اندروید را نصب نخواهد کرد. باید دقت داشته باشید که هم فروشگاه اندروید و هم کاربران (البته آنهایی که باتجربه هستند) به این موضوع حساس هستند. مثلا فرض کنید که فروشگاه اندروید، برنامه ای را در مورد آموزش آشپزی دریافت کند، اما در آن ببیند که اجازه دسترسی برای دوربین (camera) ذکر شده است و در توضیحات برنامه اندروید هم هیچ صحبتی از دوربین نشده باشد. در این حالت، فروشگاه اندروید به شما تذکر خواهد داد که این اجازه دسترسی برای چیست و باید آن را بردارید. دلیلش هم واضح است، زیرا کدهایی وجود دارد که با آنها می توان به صورت مخفیانه از کاربر عکس گرفت و اگر اجازه دسترسی به اینترنت هم به برنامه اندروید داده شده باشد، حتی می تواند آنها را به یک سایت ارسال کند. بنابراین مشاهده می کنید که این موارد، وابسته به حریم شخصی افراد است. بنابراین بهتر است قبل از انتشار برنامه اندروید، یک نگاهی به اجازه های دسترسی (permissions) بیندازید، زیرا معمولا توسعه دهندگان یک سری اجازه های دسترسی (permissions) تعریف می کنند اما بعدا ممکن است که پشیمان شده و کدهایی که نیاز به آن اجازه های دسترسی (permissions) دارند را حذف کنند اما یادشان برود که خود اجازه های دسترسی (permissions) را هم حذف نمایند.
آیا action bar را به همه Activity های مورد نظرتان افزوده اید ؟
قبلا در مورد چگونگی طراحی action bar توضیحاتی دادیم ( کلید شماره 2657 )، در همانجا توضیح دادیم که کدهای مربوط به action bar را باید به کدهای Activity هایی که می خواهیم action bar در آنها نمایش داده شود، اضافه کنیم. بنابراین ممکن است که فراموش کنیم که این کدها را به یک یا چند Activity اضافه نماییم. بنابراین بهتر است که از این نظر، تمام Activity ها را بررسی نمایید.
غیر فعال سازی مشخصه debuggable :
همان طور که می دانید، در مراحل ساخت برنامه اندروید، برای آنکه بتوانیم به خطایابی (debug) برنامه اندروید بپردازیم ( کلید شماره 813 )، مشخصه android:debuggable در فایل AndroidManifest.xml از پروژه اندروید را برابر true قرار می دادیم :
اما قبل از انتشار برنامه اندروید در فروشگاه های اندروید، باید این مشخصه را برابر false قرار بدهیم :
غیر فعال سازی مشخصه allowBackup :
چنانچه می خواهید که امکان پشتیبان گیری (backup) از برنامه اندروید شما وجود نداشته باشد، باید مشخصه android:allowBackup در فایل AndroidManifest.xml از پروژه اندروید را برابر false قرار بدهید :
یا در صورتی که می خواهید امکان پشتیبان گیری (backup) وجود داشته باشد، این مشخصه را برابر true قرار بدهید :
استفاده از ProGuard برای سخت تر شدن مهندسی معکوس (reverse engineering) و استخراج کدهای فایل apk برنامه اندروید :
مهندسی معکوس کدهای فایل apk امکان پذیر می باشد، اما ProGuard ( کلید شماره 323 ) این امکان را فراهم می کند که عملیات به دست آوردن کدها را سخت تر کنیم.
نکات اختیاری :
تعیین محل پیش فرض برای نصب برنامه اندروید (حافظه داخلی گوشی یا حافظه خارجی گوشی (SD card)) :
شما می توانید محل پیش فرض برای نصب برنامه اندروید را تغییر بدهید (انتخاب بین حافظه داخلی گوشی یا حافظه خارجی گوشی (SD card)). این مورد را در کلید شماره 238 شرح داده ایم.
افزودن لوگو (logo) به برنامه اندروید :
چگونگی افزودن لوگو (logo) را در کلید شماره 242 شرح داده ایم.
افزودن ((لیست علاقه مندی ها)) و ((جستجو در عنوان های آموزشی)) به برنامه اندروید :
در برنامه های اندرویدی که به صورت آموزشی هستند، می توانید دو بخش ((لیست علاقه مندی ها)) و ((جستجو در عنوان های آموزشی)) را نیز طراحی کنید. چگونگی ساخت ((لیست علاقه مندی ها)) را در کلید شماره 2259 و چگونگی ساخت ((جستجو در عنوان های آموزشی)) را در کلید شماره 251 شرح داده ایم.
مباحثی که تشخیص دادیم به عنوان مباحث اولیه در نظر گرفته شوند، پایان یافتند و اکنون می توانید سایر مباحث را بر اساس دسته بندی منوی سمت راست سایت، بر اساس نیاز خود، پیدا کرده و بخوانید.
- فهرست مباحث
- 1 مقدمه برای شروع برنامه نویسی اندروید
- 2 نصب Software Development Kit یا به اختصار SDK
- 3 نصب Android SDK platform
- 4 نصب یک نسخه انتخابی از اندروید
- 5 شبیه سازی برنامه های ساخته شده برای اندروید، توسط یک دستگاه مجازی (Virtual Device)
- 6 نصب برنامه Eclipse
- 7 نصب Android Developer Tools یا به اختصار ADT
- 8 ساخت یک پروژه اندروید
- 9 اجرای پروژه اندروید در برنامه eclipse
- 10 ساخت یک فایل APK از پروژه اندروید، در برنامه eclipse
- 11 معرفی نرم افزار YouWave Android برای شبیه سازی سریعتر برنامه های اندروید
- 12 مفهوم acitivity در برنامه نویسی اندروید
- 13 آشنایی با کدهای مربوط به فایل java برای یک activity ، فایل xml متناظر با آن activity و همچنین فایل AndroidManifest.xml
- 14 علامت های مربوط به خطا و هشدار، در برنامه eclipse
- 15 ساخت یک برنامه اندروید تشکیل شده از دو activity
- 16 ساخت آسان یک activity جدید، در برنامه eclipse
- 17 تغییر نام یک activity یا یک فایل xml از پروژه اندروید، در برنامه eclipse و تذکر در مورد عدم نگرانی از تغییر نام این دو نوع فایل
- 18 تفاوت بین دو حالت LinearLayout و RelativeLayout برای نمایش فایل xml متناظر با activity ها
- 19 وارد کردن (import) یک پروژه اندروید، به درون برنامه eclipse
- 20 شبیه سازی برنامه های اندروید (اجرای فایل های apk) بر روی کامپیوتر، با نرم افزار BlueStacks App Player
- 21 استفاده از ProGuard برای سخت تر شدن مهندسی معکوس (reverse engineering) و استخراج کدهای فایل apk برنامه اندروید
- 22 اجرا (run) و یا خطایابی (debug) یک پروژه اندروید موجود در برنامه eclipse ، بر روی یک گوشی اندروید واقعی (از طریق اتصال گوشی به کامپیوتر، با کابل USB)
- 23 نوشتن پیام هایی برای نمایش در قسمت LogCat در برنامه Eclipse ، هنگام شبیه سازی برنامه اندروید توسط یک دستگاه مجازی (virtual device) یا هنگام اجرا و خطایابی برنامه اندروید بر روی یک گوشی اندروید واقعی، در برنامه نویسی اندروید
- 24 آموزش نصب و استفاده از نرم افزار Genymotion ، برای شبیه سازی برنامه های اندروید بر روی کامپیوتر
- 25 تفاوت بین نسخه اندروید (Android version) و API level و ذکر شماره های متناظر بین آنها
- 26 نصب نسخه های مختلف API از اندروید، در برنامه نویسی اندروید
- 27 تمام نکاتی که قبل از انتشار برنامه اندروید خود در فروشگاه های اندروید، باید به آنها توجه کنیم
-
نکته : این فهرست مباحث، صرفا منتخبی از کلیدهای آموزشی این موضوع است (که خواندن متوالی آنها توصیه می شود) و برای دیدن کلیدهای آموزشی بیشتر از این موضوع، می توانید بر روی دسته بندی های ستون سمت راست کلیک نمایید.
خیلی عالی و جامع و کامل بود
خدا خیرتون بده
لایک داری
عالی بود، خیلی ممنون.