نکاتی برای توسعه اپلیکیشن های اندرویدی: نتیجه تجارب من
امروزه، اندروید نه تنها روی گوشی موبایل، بلکه روی مچ دست، اتاق خواب، ماشین و تقریبا تمام نقاط جهان وجود دارد. با توجه به پیشرفت روزافزون در حوزه اندروید، برنامه نویسان همواره باید خود را به روز نگهدارند. در اینجا نکاتی ارائه میکنیم که می تواند به شما در برنامه نویسی و ایجاد یک برنامه اندروید موفق کمک کند.
درس۱: درس گرفتن از شکست
به یاد داشته باشید که موفقیت یک شبه بدست نمیآید. شما ممکن است برنامههایی بسازید، اما در جذب مخاطب موفق نباشید، ناامید نشوید و از شکست خود درس بگیرید. سعی کنید در ایدههای خود برای برنامهسازی نیازهای انسانی را درنظر بگیرید. خلاق باشید و برنامهای جذابف چالش برانگیز و سرگرم کننده بسازید.
درس۲: شناخت داشتن نسبت به مارکت اندروید
اندروید بازار بزرگتری نسبت به IOS دارد اما مخاطبان IOS هزینه بیشتری را خرج میکنند. برنامههای پیامرسان بسیار محبوب هستند، اما در صدر برنامههای دانلودشده، بازیهای رایگان قرار دارد. چین، هند، برزیل و روسیه در صدر کشورهای مشتریهای برنامههای اندرویدی قرار دارند. با این وجود میخواهیم در مورد برنامه(اپلیکیشن) تصویر پس زمینهای صحبت کنیم که فروش بسیار خوبی داشته است و نکات لازم برای ایجاد آن را بیان کنیم. اولین نکته این است که پسزمینههای زنده از محبوبیت بسیار زیادی برخوردار هستند. نکته دوم این است که برنامه شما اندروید پایینی (مثل ۲٫۱ ) داشته باشد تا بتوانید جامعه هدف خود را گسترش دهید.
باید دقت داشته باشید که اکثر پسزمینههای زنده عرضهشده در موضوع آب و هوا هستند. به همین دلیل باید به دنبال چیز متفاوتتری باشید، چیزی که باعث خنده روی لبان مخاطب شود. ایجاد قابلیت شخصیسازی میتواند میزان محبوبیت پسزمینه شما را افزایش دهد. آنچه ما ساختیم و بسیار موفقیت آمیز بود،
دارای ویژگیهای زیر است:
- ۱۲ اوشی متفاوت برای انتخاب کردن
- محتویات رایگان و قابل خرید
- آپدیت کردن وضعیت آب و هوا
- همگامسازی داده
- خصوصیات فصلی
- سورپرایزهای زیاد
- گربه نینجا
برای ایجاد و توسعه اپلیکیشن های اندرویدی از چه زبان برنامه نویسی استفاده کنیم؟
درس۳: عملی کردن
اوشی یک ایده جالب برای اندروید است. یک پس زمینه را طراحی کنید، مقداری ابر و ستاره و یک خرس درون بالن را در بالا بکشید. اگرچه این امر آسان به نظر میرسد اما اجرای آن در اندروید بسیار دشوار است. در اینجا به چند مشکلی که ممکن است با آن مواجه شوید اشاره میکنیم:
- شتاب سخت افزار: استفاده از GPU برای طراحی بهتر از استفاده از CPU است، اما این کار باعث کاهش شتاب سختافزار میشود.
- OpenGL: اگر به دنبال شتاب سخت افزار هستید باید از OpenGL ES استفاده کنید.
- بارگذاری بیتمپ: این موضوع مربوط به فضای حافظه است. برای هر کانال #ARGB باید ۱ بایت حافظه اختصاص دهید تا یک پیکسل نمایش داده شود.
- شارژ باتری: اگر کارتان خوب نباشد، ویجتها و پسزمینههای زنده باعث سریع خالیشدن باطری میشوند. برای اینکه تصویر پس زمینه متحرکی داشته باشید باید از ابزاری به نام parallax effect استفاده کنید.
ببینید چطور یک فریم از برنامه ترسیم می شود:
canvas.drawBitmap(background, 0 – offsetX / 4, 0, null);
canvas.drawBitmap(weatherOverlay, 0 – offsetX / 2, 0, null);
if (!validDoubleTap) {
canvas.drawBitmap(ooshieNormal, positionX – offsetX, positionY, null);
}
else {
canvas.drawBitmap(ooshieTapped, positionX – offsetX, positionY, null);
}
در اینجا offset همان درصد فاصله ای است که کاربر اسکرول کرده و درواقع یک callback است که موتور والپیپیر ایجاد می کند:
@Override
public void onOffsetsChanged(float xOffset, float yOffset, float xOffsetStep, float yOffsetStep,
int xPixelOffset, int yPixelOffset){
super.onOffsetsChanged(xOffset, yOffset, xOffsetStep, yOffsetStep, xPixelOffset, yPixelOffset);
// athe current offset should be a fraction of the screen offset to achieve parallax
if (!isPreview()) {
float newXOffset = xOffset * 0.15f;
wallpaperDrawHelper.setOffsetX(newXOffset);
if (isVisible() && hasActiveSurface) {
wallpaperDrawHelper.drawFrame(false);
}
}
}
درس۴: با آنچه در اختیار دارید، کار کنید
کنترل کردن بیتمپها روی نتیجه نهایی ما تاثیر بسیار زیادی خواهد گذشت. به جای طراحی سه بیتمپ با طراحی دو بیتمپ میتوان به parallax effect دست پیدا کرد:
- پوشش اوشی: اصلاح و مقیاس بندی دقیق بیتمپ اوشی
- پوشش ترکیبی: ترکیبی از پس زمینه و بیتمپ آب و هوا که با کسری از سرعت اوشی حرکت میکند.
- این کار باعث میشود تا فضای حافظه ذخیرهشود و سرعت طراحی شما افزایش یابد.
- برای راحی بیتمپ و بهینهسازی حافظه به نکات زیر توجه داشته باشید:
- یک بار بیتمپها را ترکیب کنید
- بیتمپهای کمتری طراحی کنید
- فقط در صورت نیاز بازطراحی کنید
- چندین گزینه کنترلی در اختیار مصرف کننده قرار دهید
درس۵: امتحان کردن، امتحان کردن
بسیار بسیار مهم است که قبل از تست برنامه خود، اپلیکیشن خود را منتشر نکنید. نویسنده کد شما هستید و با بررسی آن میتوانید نحوه بهبود آن را بفهمید. بهتر است قبل از انتشار اپلیکیشن خود تست آلفا و بتا را انجام دهید.
تست آلفا: برنامه خود را در اختیار برخی از هم تیمیها و یا افراد آگاه قرار دهید و از آنها بخواهید با بررسی آن نقاط ضعف و باگهای موجود را پیداکنند.
تست بتا: در این مرحله برنامه خود را در اختیار طیف وسیعتری قرار دهید و بازخوردهای این افراد را مورد بررسی قرار دهید.
درس ۶: اجازه دهید دادهها صحبت کنند
ساختن یک اپلیکیشن خوب بسیار خوب است زیرا باید بتوانید نظر مثبت مخاطبان را جلب کنید. ممکن است برنامه برای یک نفر ایدهآل باشد اما فرد دیگری نظر متفاوتی داشته باشد. به همین دلیل باید برنامه خود را مرتبا ارتقا دهید. برای این منظور از گزینههای زیر میتوانید بهره ببرید:
- صداها
- پس زمینههای فصلی
- خصوصیسازی( رنگ پس زمینه، بستههای آب و هوا، پوسته اوشی)
- اوشیهای مخصوص منطقهای
- اوشیهای فراوان و مشخص کردن نحوه بازکردن آنها
در این مرحله باید برنامه خود را در تست بتا قرار دهید و بازخورد یوزرهای خود را مورد بررسی قرار دهید. همچنین میتوانید از برخی امکانات گوگل مثل Mixpanel،Acra،Flurry و غیره استفاده کنید.