آموزش برنامه نویسی اندروید (Android)
دسته بندی ( ۴۸۲ آموزش )
نمایش دسته بندی ها (۴۸۲ آموزش)
مباحث اولیه، در برنامه نویسی اندروید
مباحث اولیه، در برنامه نویسی اندروید 28
کار با Activity ها ، در برنامه نویسی اندروید
کار با Activity ها ، در برنامه نویسی اندروید 21
طراحی فایل های xml متناظر با Activity ها و ... (لایه گرافیکی Activity ها و ...)، در برنامه نویسی اندروید
طراحی فایل های xml متناظر با Activity ها و ... (لایه گرافیکی Activity ها و ...)، در برنامه نویسی اندروید 11
کار با برنامه Eclipse (یا همان ADT Bundle)، در برنامه نویسی اندروید
کار با برنامه Eclipse (یا همان ADT Bundle)، در برنامه نویسی اندروید 11
خطاهای رایج در برنامه Eclipse و در برنامه نویسی اندروید
خطاهای رایج در برنامه Eclipse و در برنامه نویسی اندروید 10
کار با برنامه Android Studio ، در برنامه نویسی اندروید
کار با برنامه Android Studio ، در برنامه نویسی اندروید 9
خطاهای رایج در برنامه Android Studio و در برنامه نویسی اندروید
خطاهای رایج در برنامه Android Studio و در برنامه نویسی اندروید 3
تبدیل متغیرها و سایر تبدیل ها، در برنامه نویسی اندروید
تبدیل متغیرها و سایر تبدیل ها، در برنامه نویسی اندروید 9
نمایش عکس و کار با ImageView ، در برنامه نویسی اندروید
نمایش عکس و کار با ImageView ، در برنامه نویسی اندروید 23
نمایش متن و کار با رشته ها (strings) و TextView ، در برنامه نویسی اندروید
نمایش متن و کار با رشته ها (strings) و TextView ، در برنامه نویسی اندروید 38
ساخت دکمه (Button) ، در برنامه نویسی اندروید
ساخت دکمه (Button) ، در برنامه نویسی اندروید 7
ساخت لیست (فهرست) با ListView ، در برنامه نویسی اندروید
ساخت لیست (فهرست) با ListView ، در برنامه نویسی اندروید 12
ساخت EditText، در برنامه نویسی اندروید
ساخت EditText، در برنامه نویسی اندروید 6
مجموعه ویدئوهای آموزش طراحی متریال (Material Design)، در برنامه نویسی اندروید
مجموعه ویدئوهای آموزش طراحی متریال (Material Design)، در برنامه نویسی اندروید 13
طراحی متریال (Material Design)، در برنامه نویسی اندروید
طراحی متریال (Material Design)، در برنامه نویسی اندروید 3
پخش موسیقی، در برنامه نویسی اندروید
پخش موسیقی، در برنامه نویسی اندروید 5
نمایش انیمیشن، در برنامه نویسی اندروید
نمایش انیمیشن، در برنامه نویسی اندروید 3
تغییر ویژگی های کلی برنامه اندروید
تغییر ویژگی های کلی برنامه اندروید 3
ذخیره اطلاعات با SharedPreferences ، در برنامه نویسی اندروید
ذخیره اطلاعات با SharedPreferences ، در برنامه نویسی اندروید 2
پایگاه داده (SQLite Database)، در برنامه نویسی اندروید
پایگاه داده (SQLite Database)، در برنامه نویسی اندروید 10
تبادل اطلاعات بین برنامه اندروید و سرور اینترنتی (اینترنت)، در برنامه نویسی اندروید
تبادل اطلاعات بین برنامه اندروید و سرور اینترنتی (اینترنت)، در برنامه نویسی اندروید 21
نمایش یک صفحه اینترنتی یا کدهای HTML (کار با WebView) و ساخت لینک، در برنامه نویسی اندروید
نمایش یک صفحه اینترنتی یا کدهای HTML (کار با WebView) و ساخت لینک، در برنامه نویسی اندروید 8
حلقه ها (for و while و ...)، در برنامه نویسی اندروید
حلقه ها (for و while و ...)، در برنامه نویسی اندروید 2
نمایش پیام به کاربر (Dialog و AlertDialog و Toast و Notification و ...)، در برنامه نویسی اندروید
نمایش پیام به کاربر (Dialog و AlertDialog و Toast و Notification و ...)، در برنامه نویسی اندروید 11
ویژگی های صفحه نمایش و چرخش آن، در برنامه نویسی اندروید
ویژگی های صفحه نمایش و چرخش آن، در برنامه نویسی اندروید 10
به دست آوردن ویژگی های کلی برنامه اندروید، در برنامه نویسی اندروید
به دست آوردن ویژگی های کلی برنامه اندروید، در برنامه نویسی اندروید 4
به دست آوردن ویژگی های گوشی کاربر، در برنامه نویسی اندروید
به دست آوردن ویژگی های گوشی کاربر، در برنامه نویسی اندروید 5
بازی سازی، در برنامه نویسی اندروید
بازی سازی، در برنامه نویسی اندروید 1
به اشتراک گذاری (share)، در برنامه نویسی اندروید
به اشتراک گذاری (share)، در برنامه نویسی اندروید 5
کار با فایل ها و فولدرها در حافظه خارجی (External Storage)، در برنامه نویسی اندروید
کار با فایل ها و فولدرها در حافظه خارجی (External Storage)، در برنامه نویسی اندروید 15
کار با پوشه های raw و assets ، در برنامه نویسی اندروید
کار با پوشه های raw و assets ، در برنامه نویسی اندروید 2
عملیات های ریاضی، در برنامه نویسی اندروید
عملیات های ریاضی، در برنامه نویسی اندروید 13
کار با دوربین (Camera)، در برنامه نویسی اندروید
کار با دوربین (Camera)، در برنامه نویسی اندروید 3
کار با action bar ، در برنامه نویسی اندروید
کار با action bar ، در برنامه نویسی اندروید 4
کار با کلاس ها (class) ، در برنامه نویسی اندروید
کار با کلاس ها (class) ، در برنامه نویسی اندروید 4
کار با package ها ، در برنامه نویسی اندروید
کار با package ها ، در برنامه نویسی اندروید 2
نرم افزارهای شبیه ساز برای اجرای برنامه های اندروید بر روی سیستم عامل کامپیوتر (مثل ویندوز)
نرم افزارهای شبیه ساز برای اجرای برنامه های اندروید بر روی سیستم عامل کامپیوتر (مثل ویندوز) 2
امنیت، در برنامه نویسی اندروید
امنیت، در برنامه نویسی اندروید 1
Thread ها، در برنامه نویسی اندروید
Thread ها، در برنامه نویسی اندروید 3
سرویس ها (Service)، در برنامه نویسی اندروید
سرویس ها (Service)، در برنامه نویسی اندروید 9
BroadcastReceiver ، در برنامه نویسی اندروید
BroadcastReceiver ، در برنامه نویسی اندروید 0
تاریخ و زمان و تمامی موارد مرتبط با زمان (عملیات های زمان بندی شده و ...)، در برنامه نویسی اندروید
تاریخ و زمان و تمامی موارد مرتبط با زمان (عملیات های زمان بندی شده و ...)، در برنامه نویسی اندروید 11
AsyncTask ، در برنامه نویسی اندروید
AsyncTask ، در برنامه نویسی اندروید 2
آرایه ها (Arrays)، در برنامه نویسی اندروید
آرایه ها (Arrays)، در برنامه نویسی اندروید 3
لیست آرایه ای (ArrayList)، در برنامه نویسی اندروید
لیست آرایه ای (ArrayList)، در برنامه نویسی اندروید 6
رنگ ها (Colors)، در برنامه نویسی اندروید
رنگ ها (Colors)، در برنامه نویسی اندروید 3
Fragment ها و Tab بندی، در برنامه نویسی اندروید
Fragment ها و Tab بندی، در برنامه نویسی اندروید 8
معرفی کتابخانه ها (Libraries)، در برنامه نویسی اندروید
معرفی کتابخانه ها (Libraries)، در برنامه نویسی اندروید 1
ساخت ProgressDialog یا ProgressBar برای نمایش میزان پیشرفت اجرای یک سری عملیات، در برنامه نویسی اندروید
ساخت ProgressDialog یا ProgressBar برای نمایش میزان پیشرفت اجرای یک سری عملیات، در برنامه نویسی اندروید 3
نسخه اندروید (Android version) و API level (نسخه API) ، در برنامه نویسی اندروید
نسخه اندروید (Android version) و API level (نسخه API) ، در برنامه نویسی اندروید 1
لرزاندن گوشی (vibrate)، در برنامه نویسی اندروید
لرزاندن گوشی (vibrate)، در برنامه نویسی اندروید 2
پرداخت درون برنامه ای، در برنامه نویسی اندروید
پرداخت درون برنامه ای، در برنامه نویسی اندروید 1
 پروژه های اندروید Open Source کاربران کلیدستان
پروژه های اندروید Open Source کاربران کلیدستان 2
ساخت امکانات جانبی (جستجو، لیست علاقه مندی، لوگو، منو و ...) برای برنامه اندروید
ساخت امکانات جانبی (جستجو، لیست علاقه مندی، لوگو، منو و ...) برای برنامه اندروید 5
مباحث عمومی، در برنامه نویسی اندروید
مباحث عمومی، در برنامه نویسی اندروید 35

تمام نکاتی که قبل از انتشار برنامه اندروید خود در فروشگاه های اندروید، باید به آنها توجه کنیم

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

بنده نکاتی را ذکر خواهم کرد، چنانچه موردی نیز به ذهن شما رسید، خوشحال می شوم تذکر بدهید تا آن را نیز به این مبحث اضافه نمایم. به هر حال، قصد داریم که این مبحث، یک مبحث جامع شامل تمامی نکات مهم باشد. بنابراین آن را به مرور زمان تکمیل خواهیم کرد.

نکات را در دو دسته ((نکات ضروری)) و ((نکات اختیاری)) شرح خواهیم دادیم و مواردی که در دسته ((نکات اختیاری)) قرار می گیرند، بستگی به خود شما دارد که دوست داشته باشید آنها را در برنامه اندروید خود به کار ببرید یا خیر.

نکات ضروری :

داشتن نام 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 قرار می دادیم :


android:debuggable="true"

اما قبل از انتشار برنامه اندروید در فروشگاه های اندروید، باید این مشخصه را برابر false قرار بدهیم :


android:debuggable="false"

غیر فعال سازی مشخصه allowBackup :

چنانچه می خواهید که امکان پشتیبان گیری (backup) از برنامه اندروید شما وجود نداشته باشد، باید مشخصه android:allowBackup در فایل AndroidManifest.xml از پروژه اندروید را برابر false قرار بدهید :


android:allowBackup="false"

یا در صورتی که می خواهید امکان پشتیبان گیری (backup) وجود داشته باشد، این مشخصه را برابر true قرار بدهید :


android:allowBackup="true"

استفاده از ProGuard برای سخت تر شدن مهندسی معکوس (reverse engineering) و استخراج کدهای فایل apk برنامه اندروید :

مهندسی معکوس کدهای فایل apk امکان پذیر می باشد، اما ProGuard ( کلید شماره 323 ) این امکان را فراهم می کند که عملیات به دست آوردن کدها را سخت تر کنیم.

نکات اختیاری :

تعیین محل پیش فرض برای نصب برنامه اندروید (حافظه داخلی گوشی یا حافظه خارجی گوشی (SD card)) :

شما می توانید محل پیش فرض برای نصب برنامه اندروید را تغییر بدهید (انتخاب بین حافظه داخلی گوشی یا حافظه خارجی گوشی (SD card)). این مورد را در کلید شماره 238 شرح داده ایم.

افزودن لوگو (logo) به برنامه اندروید :

چگونگی افزودن لوگو (logo) را در کلید شماره 242 شرح داده ایم.

افزودن ((لیست علاقه مندی ها)) و ((جستجو در عنوان های آموزشی)) به برنامه اندروید :

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

مباحثی که تشخیص دادیم به عنوان مباحث اولیه در نظر گرفته شوند، پایان یافتند و اکنون می توانید سایر مباحث را بر اساس دسته بندی منوی سمت راست سایت، بر اساس نیاز خود، پیدا کرده و بخوانید.

  • فهرست مباحث
نویسنده علیرضا گلمکانی
شماره کلید 2720
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 3 3 0
ابراهیم
۱۳۹۵/۰۹/۰۷
۱۵:۵۸

خیلی عالی و جامع و کامل بود
خدا خیرتون بده

Javad
۱۳۹۶/۰۵/۳۱
۰۹:۵۷

لایک داری

نصری محسنی
۱۳۹۶/۰۶/۳۰
۰۱:۰۷

عالی بود، خیلی ممنون.

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)

جستجو در کلیدستان، توسط گوگل

جستجو در عنوان کلیدها

دسترسی سریع

کلید
×

شماره کلید


دسته بندی
×

شماره دسته کلید


جستجو
×

جستجو


کلمات کلیدی

راهنمای کلمات کلیدی (کلاس ها، توابع، عناصر و ...) در برنامه نویسی اندروید، بر اساس حرف اول کلمه کلیدی :

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

developer.android.com