PDA

View Full Version : بالا نیامدن برنامه در دیوایس اندرویدی



hamedjj
سه شنبه 28 مرداد 1393, 14:17 عصر
سلام
یه برنامه ساختم که از دیتابیس اکسترنال با حجم 900 کیلوبایت استفاده میکنه
برنامه رو امولاتور جواب میده و هیچ مشکلی پیش نمیاد
ولی رو گوشی که نصب میکنم موقع اجرا فقط رو صفحه سفید میمونه و برنامه بالا نمیاد
مثلا بعد از یکی دو بار اجرا کردن میاد بالا و بعد باز هم پیش میاد که بالا نمیاد.
رو تبلت من این مشکل هست ولی رو گوشی دوستم نه .... رو گوشی خودم امتحان کردم این مشکل وجود داره
این مشکل یه دفعه برام پیش اومد و تا الان همچین مشکلی نداشتم
به نظرتون به خاطر حجم بالای دیتابیسه؟؟؟؟
اگر کسی درباره این مشکل چیزی میدونه خواهشا راهنمایی کنه چون خودم هر چی تو نت گشتم جوابی براش پیدا نکردم
فدایی دارین

c0mmander
سه شنبه 28 مرداد 1393, 14:42 عصر
به خاطر ادرس متفاوته..
من یک وقتی با یک دیتای بیس 100 مگاباتی همین مشکل رو داشتم. آدرس داخل گوشی های و سیستم های مختلف فرق میکرد.. نهایتش دوتا راه بیشتر برام نمونده بود:

1- ذخیره فقط در حافظه گوشی و استفاده از توابع خود سی شارپ برای گرفتن آدرس اینترنال حافظه
2- ذخیره در هرجای دلخواه و گرفتن ادرس اون توسط یک فایل پیکر! (که مشکلم با این روش کاملا حل شد)

hamedjj
سه شنبه 28 مرداد 1393, 17:54 عصر
برنامه بعضی موقع اجرا میشه بعضی موقع نمیشه
این نیست که رو یه گوشی انجام بشه رو یکی دیگه نه

barnamenevisjavan
سه شنبه 28 مرداد 1393, 18:53 عصر
مشکل از کدهات هست خواستی بزار یه بررسی کنیم،من برا خودم یه برنامه نوشتم که دیتابیسش اکسترناله حدودای 16 گیگ هم حجمشه :لبخند: برنامه آخ نمیگه شوما به 900 کیلوبایت میگی زیاد؟؟؟؟؟؟؟؟؟؟

smemamian
سه شنبه 28 مرداد 1393, 19:14 عصر
سلام

نه، برای حجم نیست. بیشتر برای query کشیدن هست که این مشکل پیش میاد.

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

hamedjj
سه شنبه 28 مرداد 1393, 22:29 عصر
ممنون از همه
مشکل از دو چیز بود :

1 - در اول برنامه از کد زیر برای ساخت یک فایل استفاده میکردم که باعث میشد بالا آمدون برنامه خیلی سنگین بشه
new File(DIR_APP).mkdirs();

2 - از نوتیفیکیشن parse استفاده کردم که launch کردن برنامه را یه خورده سنگین کرده بود و وقتی که به اینترنت متصل نبود که کلا برنامه وسط کار قفل میکرد
این دو تا با هم جمع شده بودند باعث شده بود برنامه بالا نیاد که parse را در اکتیویتی های دیگه برنامه و ساخت فایل را در اکتیویتی که نیاز داشتم قرار دادم که وقتی وارد این اکتیویتی هم میشی روان بالا نمیاد و یه خورده مکس داره

یه سوال برام پیش اومد اینه که برای حل این مشکل فایل باید چیکار کنم؟
(مثلا یه شرط if که بگه اگر فایل وجود داشت دیگه ازش نساز)

slr560
سه شنبه 28 مرداد 1393, 22:39 عصر
تو شروع اول چک کن ببین اون فایل وجود داره یا نه

File file = new File("Address");
if (file.exists()){
//....
}else {
//...
}

smemamian
سه شنبه 28 مرداد 1393, 23:20 عصر
یه نکته اینکه کل IOهای برنامه (خواندن فایل، نوشتن در فایل) باید در پس زمینه صورت بگیره.