بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
دانلود عکس با Bitmap
با سلام
من در قسمتهای مختلف برنامم که یه آپ آموزشی هست و اطلاعاتشو به صورت جیسون از سرور میگیرم.
بیشتر این اطلاعات همراه با عکس هست و من در اکثر جاها به وسیله لیست ویو اطلاعات رو میگیرم. و یرای همین هم با CustomListAdapter کار میکنم. و به وسیله الگویی که برای هر سطر لیست ویو ایجاد کردم.
حالا در این CustomListAdapter هام متد زیر رو برای گرفتن آدرس عکس و تبدیل اون به فرمت بیتمپ ایجاد کردم :
private static Bitmap setImgLink(String img) { Log.i("LOG", "imageURL: " + img); URL url = null; try { url = new URL(img); } catch (MalformedURLException e1) { e1.printStackTrace(); } Bitmap bmp = null; try { bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream()); } catch (IOException e) { e.printStackTrace(); } return bmp; }
و به وسیله این کد درون بدنه CustomListAdapter که همون متد getView هست این کد رو میذارم:
new Thread(new Runnable() { @Override public void run() { final Bitmap tbmap = setImgLink(gallery.get(position).getGalleryAddres()); holder.imageView.post(new Runnable() { @Override public void run() { try{ holder.imageView.setImageBitmap(Bitmap.createScaledBitmap(tbmap,200, 100, false)); }catch (Exception e) { // TODO: handle exception } } }); } }).start();
ولی بیشتر مواقع خطا رخ میده....
اینم لاگ کتم :
09-15 06:12:12.955: I/WindowManager(3383): WIN DEATH: Window{4149c690 com.mosafer3766/com.mosafer3766.ActivityGallery paused=false} 09-15 06:12:12.955: I/WindowManager(3383): WIN DEATH: Window{41603a08 com.mosafer3766/com.mosafer3766.ActivityViewGallery paused=false} 09-15 06:12:12.955: I/WindowManager(3383): WIN DEATH: Window{414856c8 com.mosafer3766/com.mosafer3766.ActivityViewGallery paused=false} 09-15 06:12:12.955: I/WindowManager(3383): WIN DEATH: Window{415b77e8 com.mosafer3766/com.mosafer3766.ActivityViewGallery paused=false} 09-15 06:12:12.955: I/WindowManager(3383): WINDOW DIED Window{415a9e18 com.mosafer3766/com.mosafer3766.ActivityStart_Acsan paused=false} 09-15 06:12:12.955: W/InputDispatcher(3383): Attempted to unregister already unregistered input channel '415a9e18 com.mosafer3766/com.mosafer3766.ActivityStart_Acsan (server)' 09-15 06:12:12.955: W/WindowManager(3383): Failed looking up window 09-15 06:12:12.955: W/WindowManager(3383): java.lang.IllegalArgumentException: Requested window android.os.BinderProxy@4156fe98 does not exist 09-15 06:12:12.955: W/WindowManager(3383): at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:7163) 09-15 06:12:12.955: W/WindowManager(3383): at com.android.server.wm.WindowManagerService.windowForClientLocked(WindowManagerService.java:7154) 09-15 06:12:12.955: W/WindowManager(3383): at com.android.server.wm.WindowState$DeathRecipient.binderDied(WindowState.java:1545) 09-15 06:12:12.955: W/WindowManager(3383): at android.os.BinderProxy.sendDeathNotice(Binder.java:417) 09-15 06:12:12.955: W/WindowManager(3383): at dalvik.system.NativeStart.run(Native Method) 09-15 06:12:12.955: I/WindowManager(3383): WIN DEATH: null 09-15 06:12:13.850: I/ActivityManager(3383): Process com.mosafer3766 (pid 3865) has died. 09-15 06:12:13.850: W/ActivityManager(3383): Force removing ActivityRecord{4146c818 com.mosafer3766/.ActivityGallery}: app died, no saved state 09-15 06:12:13.850: W/NetworkManagementSocketTagger(3383): setKernelCountSet(10041, 0) failed with errno -2 09-15 06:12:15.633: D/dalvikvm(3926): Not late-enabling CheckJNI (already on) 09-15 06:12:15.633: I/ActivityManager(3383): Start proc com.mosafer3766 for activity com.mosafer3766/.ActivityViewGallery: pid=3926 uid=10041 gids={3003, 1015} 09-15 06:12:18.168: W/NetworkManagementSocketTagger(3383): setKernelCountSet(10041, 1) failed with errno -2 09-15 06:12:19.011: I/Process(3383): Sending signal. PID: 3926 SIG: 3 09-15 06:12:19.011: I/dalvikvm(3926): threadid=3: reacting to signal 3 09-15 06:12:19.011: I/dalvikvm(3926): Wrote stack traces to '/data/anr/traces.txt' 09-15 06:12:19.864: W/ActivityManager(3383): Launch timeout has expired, giving up wake lock! 09-15 06:12:19.864: I/Process(3383): Sending signal. PID: 3926 SIG: 3 09-15 06:12:19.864: I/dalvikvm(3926): threadid=3: reacting to signal 3 09-15 06:12:19.864: I/dalvikvm(3926): Wrote stack traces to '/data/anr/traces.txt' 09-15 06:12:21.558: I/Process(3383): Sending signal. PID: 3926 SIG: 3 09-15 06:12:21.558: I/dalvikvm(3926): threadid=3: reacting to signal 3 09-15 06:12:21.558: I/dalvikvm(3926): Wrote stack traces to '/data/anr/traces.txt' 09-15 06:12:21.558: I/Process(3383): Sending signal. PID: 3926 SIG: 3 09-15 06:12:21.558: I/dalvikvm(3926): threadid=3: reacting to signal 3 09-15 06:12:22.417: I/dalvikvm(3926): Wrote stack traces to '/data/anr/traces.txt' 09-15 06:12:23.281: I/Process(3383): Sending signal. PID: 3926 SIG: 3 09-15 06:12:23.281: I/dalvikvm(3926): threadid=3: reacting to signal 3 09-15 06:12:24.190: I/dalvikvm(3926): Wrote stack traces to '/data/anr/traces.txt' 09-15 06:12:24.190: I/Process(3383): Sending signal. PID: 3926 SIG: 3 09-15 06:12:24.190: I/dalvikvm(3926): threadid=3: reacting to signal 3 09-15 06:12:25.078: E/dalvikvm(3926): Unable to open stack trace file '/data/anr/traces.txt': Permission denied 09-15 06:12:25.078: I/Process(3383): Sending signal. PID: 3926 SIG: 3
کسی میدون چکار باید کنم و آیا روش دیگه ای هست بهتر باشه راهنماییم کنید لطفا..
0
0
واقعا کسی نیست یه راهنمایی کنه..این مشکل داره منو اذیت میکنه لطفا راهنمایی کنید (8 سال پیش)
+1
0
دوست عزیز برای لود کردن عکس در لیست بهتره از picasso استفاده کنی. من خودم استفاده میکنم عالی هست و سرعت خوبیم داره و کد نویسی کمتری هم داره (8 سال پیش)
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
mosafer
8 سال پیش
0
0
خب آقا مسعود من استفاده کردم ولی کنده..یا اصلا برای من اون عکسهارو نمیاره بالا!!!!
Picasso.with(mContext).load(gallery.get(position).getGalleryAddres()).into(holder.imageView);
من اینجوری استفاده کردم.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .