PDA

View Full Version : گرفتن تصاویر برای گریدویو از اینترنت



Apriliyaa
یک شنبه 28 تیر 1394, 12:24 عصر
سلام
فرض کنید ما یک گرید ویو داریم که قراره توش 100 عکس باشه ...
چون حجم عکسا بالا هست و حجم برنامه ممکنه سربه فلک بکشه ما قصد داریم عکس ها رو در هاستی با لینک مستقیم و ثابتی بریزیم و گرید ویو عکس ها رو از رو آدرس اینترنتیشون بخونه و در برنامه نمایش بده
کسی تا حالا ابن کار رو کرده و بلد؟

من در برنامم به صورت آفلاین می خونم با این کد ها :



GridView grid;
public String[] myImages = {"ax1.png","ax2.png",};


grid = (GridView) findViewById(R.id.grid);
grid.setAdapter(new ImageAdapter(this));
grid.setVisibility(View.INVISIBLE);
grid.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent, View view,

try {
if(position==0)
bm1 = BitmapFactory.decodeStream(getAssets().open("ax1.png"));
else if(position==1)
bm1 = BitmapFactory.decodeStream(getAssets().open("ax2.png"));

} catch (IOException e) {
e.printStackTrace();
}

if(bm1.getWidth()>minsize || bm1.getHeight()>maxsize)
ChangeBitmap1Size();

btnImage1.clearAnimation();
if(source2==null)
{
createanimations();
btnImage2.setAnimation(animation2);
}

imageselected = true ;
bm1Widthzoom = bm1.getWidth();
bm1Heightzoom = bm1.getHeight();
bm1changed = bm1;
editimage = 1;
cropimage1up = 0;
cropimage1left = 0;
cropimage1right = bm1.getWidth();
cropimage1down = bm1.getHeight();
new ProcessingBitmapAsync().execute("");


grid.setVisibility(View.INVISIBLE);



}
});





از چه راهی به هدفم برسم؟

ehsan2883
یک شنبه 28 تیر 1394, 14:54 عصر
همون طور که گفتین ما به دو صورت آفلاین و آنلاین می توینم عکسا رو توی گرید ویو نمایش بدیم. توی حالت آفلاین مسیر عکس رو توی حافظه می خونیم که یک آدرس هست. و توی آنلاین، آدرس URL عکس رو که بازم یک آدرس هست. اوکی؟ پس ما با آدرس عکس سروکار داریم.
حالا برای نمایش عکس می تونید از کتابخونه های مختلفی مثل پیکاسو و Universal Image Loader برای کش و بافرینگ عکس استفاده کنید که برنامه تون بیخودی با مشکل لود عکسا مواجه نشه.
من با کتابخونه Universal کار کردم. کار کردن باهاش خیلی راحته. تنها کاری که شما نیازه انجام بدین، اینه که آدرس عکس بعلاوه آی دی ImageView رو بهش بدین. مابقی کارا رو خودش انجام میده.
کتابخونه رو از گیت هاب بگیرید و مطالعش کنید. اگه نیازی به کمک داشتین، من در خدمتم

Apriliyaa
یک شنبه 28 تیر 1394, 16:18 عصر
همون طور که گفتین ما به دو صورت آفلاین و آنلاین می توینم عکسا رو توی گرید ویو نمایش بدیم. توی حالت آفلاین مسیر عکس رو توی حافظه می خونیم که یک آدرس هست. و توی آنلاین، آدرس URL عکس رو که بازم یک آدرس هست. اوکی؟ پس ما با آدرس عکس سروکار داریم.
حالا برای نمایش عکس می تونید از کتابخونه های مختلفی مثل پیکاسو و Universal Image Loader برای کش و بافرینگ عکس استفاده کنید که برنامه تون بیخودی با مشکل لود عکسا مواجه نشه.
من با کتابخونه Universal کار کردم. کار کردن باهاش خیلی راحته. تنها کاری که شما نیازه انجام بدین، اینه که آدرس عکس بعلاوه آی دی ImageView رو بهش بدین. مابقی کارا رو خودش انجام میده.
کتابخونه رو از گیت هاب بگیرید و مطالعش کنید. اگه نیازی به کمک داشتین، من در خدمتم
بسیار تشکر
اگه همون قسمت از کد برنامتون رو قرار بدید ببینم بسیار عالی میشه