دربرنامه نویسی اندروید (جاوا) برای برنامه نویسی موبایل
یکی از متداول ترین ارور ها NullPointerException هست ، و اگر بتونیم
بیشتر این ارور ها را قبل از وقوع جلوگیری کنیم ، برنامه ای روان و بدون
اکسپشن های اعصاب خورد کن خواهیم داشت.
NullPointerException زمانی رخ
میده که قصد داریم مثلا از یک لیستی که null هست ، عملیات get یا size یا
هر عملیات دیگری را انجام دهیم. ویا یک رشته (String) را می خواهیم با یک
رشته دیگر که مقدار آن null هست مقایسه گنیم و یا در اندروید و مخصوصا در
صفحاتی که از چند thread استفاده شده یک thread وظیفه گرفتن اطلاعات از
اینترنت را دارد و بعد از دریافت اطلاعات قصد بروز رسانی صفحه (UI) را
دارد اما قبل از اتمام کار صفحه بسته شده است و زمان استفاده از context
ارور NullPointerException می دهد .
در این جا چند روش ساده برای جلوگیری از این اکسپشن را قرار میدهم :
۱ : زمان استفاده از متد equals() و equalsIgnoreCase() رشته ای را که مطمئن هستید null نیست اول قرار دهید
۲ . برای گرفتن مقدار رشته (String) به جای toString() از String.valueof() استفاده کنید .
اگر
بر روی یک شئ که null باشده toString() را فراخوانی کنید ،
NullPointerException رخ می دهد ، در صورتی که اگر از String.valueOf()
استفاده کنید در صورت null بودن مقدار "null" را برمیگرداند .
۳ . از متد و لایبرری های امن (safe) استفاده کنید :
لایبرری های زیادی هستند که زمان null بودن اکسپشن نمی دهند :
مثلا به جای استفاده از isEmpty() می توانید از StringUtils.isEmpty(null)استفاده کنید
.
در متد ها مخصوصا متد هایی که قصد برگرداندن یک لیست را دارند null
برنگردانید : به جای برگرداندن null یک کالکشن خالی یا یک مقدار خالی را
برگردانید (مثلا یک رشته خالی "" ) در این صورت از بروز این اکسپشن در
جاهایی که از این متد استفاده کرده اید جلوگیری می کنید.
در ضمن میتوانید از خدمات وب یونیک در زمینه تولید نرم افزار موبایل که روی پلتفرم های موجود از جمله J2ME, Windows Mobile, BlackBerry, iPhone/iPad, Android ارائه می گردد،استفاده نمایید.
خوش اومدین
مطلب مفیدی بود..