آموزش انتخاب عکس از گالری در برنامه نویسی اندروید
سلام دوستان امیدوارم سلامت باشید در این سری از آموزش برنامه نویسی اندروید به آموزش انتخاب عکس از گالری در برنامه نویسی اندروید می پردازیم در این آموزش برای اینکه عکس را از گالری خود گوشی به دست بیاریم از Action مربوط به Intent گالری استفاده خواهیم کرد در ادامه با ما همراه باشید.
همانطور که گفتیم برای اینکه یک عکس را گالری گوشی انتخاب کنیم و لازم نباشه کلی کد برای آن بنویسیم می توانیم از یک کد بسیار ساده استفاده کنیم.
برای اینکه یک عکس را از گالری گوشی انتخاب کنید لازم است تا دسترسی خواندن حافظه را اضافه کنید.
پس وارد فایل AndroidManifest.xml شده و سپس دسترسی زیر را به آن اضافه کنید.
1 | <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> |
بعد از اینکار شما باید Runtime Permission را بررسی کنید برای اینکار باید از آموزش های قبلی استفاده کنید
آموزش RunTime Permission در برنامه نویسی اندروید
یک کد اضافی دیگر نیز برای شما قرار میدهیم که کار این کد گرفتن یک Uri یا مسیر عکس انتخاب شده است و در خروجی به شما یک Bitmap میدهد کدی که در ادامه قرار میدهیم از خطای Memory Leak جلوگیری می کند.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | private Bitmap decodeUri(Uri selectedImage) throws FileNotFoundException { BitmapFactory.Options o = new BitmapFactory.Options(); o.inJustDecodeBounds = true; BitmapFactory.decodeStream(getContentResolver().openInputStream(selectedImage), null, o); final int REQUIRED_SIZE = 140; int width_tmp = o.outWidth, height_tmp = o.outHeight; int scale = 1; while (true) { if (width_tmp / 2 < REQUIRED_SIZE || height_tmp / 2 < REQUIRED_SIZE) { break; } width_tmp /= 2; height_tmp /= 2; scale *= 2; } BitmapFactory.Options o2 = new BitmapFactory.Options(); o2.inSampleSize = scale; return BitmapFactory.decodeStream(getContentResolver().openInputStream(selectedImage), null, o2); } |
موفق باشید.
سلام.من برای استفاده از gallery نیاز به api14داشتم بعد دانلود و نصب اون بازهم مشکلم حل نشد.البته پروژه جدیدی رو با همین apiساختم و gallery عمل کرد.ولی من میخوام روی برنامه ای که درحال نوشتنش هستم کار کنه که با اندروید 4.3هستش.چکار باید کنم که روی پروژههای قبل دانلود این api کار کنه.لطفا کمکم کنید.
سلام کلا این کد رو باید عوض کنید.
ممنونم ازتون مشکلم حل شد.
سلام ببخشید میخواستم ببینم اگه ی عکس رو انتخاب کنیم از گالری چطوری باید آدرس عکس رو بدست بیاریم
سلام مرسی از راهنمایتون فقط ببخشید چه جوری ادرس عکسو از تو گالری درون یک ادیت تکست قرار بدم
سلام من عکس از گالری انتخاب میکنم ولی عکس به صورت افقی در میاد چیکار باید انجام بدم ؟! اکثر عکس ها به صورت افقی نمایش داده میشن
سلام اگر بخواییم به کاربر این امکان رو بدیم که به جایه یک عکس 5 یا تعداد بیشتری عکس رو انتخاب بکنه ؟؟