خانه / آموزش اندروید / آموزش ارسال و دانلود تصاویر در اندروید

آموزش ارسال و دانلود تصاویر در اندروید

سلام دوستان در این مقاله نحوه ارسال تصاویر در یک اپلیکیشن اندروید آموزش داده می شود. برای انجام این کار از کتابخانه Retrofit  استفاده خواهیم کرد . این کتابخانه به ما این امکان را می دهد چندین درخواست را به سرور ارسال کنیم و همچنین از آن برای آپلود کردن فایل ها از اپلیکیشن به سرور استفاده کنیم . خوب بریم سراغ آموزش و ساخت پروژه  . همچنین کد های سمت سرور این پروژه با PHP و پایگاه داده MySQL می باشد. با آموزش استفاده از کتابخانه Retrofit برای ارسال تصاویر در اپلیکیشن اندروید با ما همراه باشید .

 فهرست:

1.ساختمان APIs

  •     ایجاد پایگاه داده MySQL
  •     ایجاد پروژه PHP
  •     تعریف ثابت
  •     اتصال به پایگاه داده
  •     دایرکتوری ارسال
  •     بررسی فایل ارسال و دانلود
  •     مدیریت فرمان API

2. آموزش Upload فایل با Retrofit

  •      ایجاد یک پروژه جدید
  •      افزودن کتابخانه ها
  •      ایجاد کلاس مدل برای پاسخ
  •      ایجاد رابط API
  •      آپلود فایل
  •      ایجاد رابط کاربری
  •      بررسی مجوز خواندن ذخیره سازی
  •      انتخاب یک فایل
  •      گرفتن مسیر مطلق از Uri
  •      ارسال فایل

3.بارگیری تصاویر برگشت

4.بارگیری مجدد فایل کد منبع

 

ساخت APIs

در این اپلیکیشن قصد داریم فایلی را به سرور ارسال کنیم  . بنابراین در سمت سرور  باید فایل را بگیریم و آنرا روی سرور ذخیره کنیم . برای انجام این وظایف API ایجاد می کنیم. در اینجا از سرور XAMPP استفاده می کنیم . شما میتوانید از هر سرور دیگری استفاده کنید.

ایجاد پایگاه داده MySQL

اولین گام ایجاد پایگاه داده است و ما به یک پایگاه داده که در زیر نمایش داده شده نیاز داریم

آموزش استفاده از کتابخانه Retrofit

پایگاه داده

 می توانید از SQL زیر برای ایجاد پایگاه داده فوق استفاده کنید.

ایجاد پروژه PHP

برای ایجاد پروژه php در اینجا از PHP Storm استفاده می کنیم .اما شما می توانید از notepad++, sublime و چیز دیگری استفاده کنید.

یک پروژه جدید با نام  ImageUploadApi  داخل پوشه  c:/xampp/htdocs   ) htdocs  ) ایجاد می کنیم.

تعریف ثابت ها

ابتدا یک فایل با نام Constants.php برای تعریف تمام ثابتهای مورد نیاز ایجاد می کنیم.

اتصال به پایگاه داده

حالا  می خواهیم به پایگاه داده مان متصل شویم . برای این منظور یک کلاس PHP به نام DbConnect.php ایجاد می کنیم و کدهای زیر را می نویسیم.

پوشه آپلود

یک پوشه درون پروژه خود با نام uploadsایجاد کنید.

در این پوشه تمام تصاویر آپلود شده توسط کاربر را ذخیره خواهیم کرد.

ارسال تصویر در اندروید

دوره آموزش اندروید

ذخیره و بازیابی فایل آپلود و دانلود

حالا ما یک کلاس دیگر با نام FileHandler.php برای ذخیره و بازیابی تصاویر ایجاد می کنیم

API مدیریت فرمانها

برای اینکار یک فایل PHP با نام Api.php ایجاد کرده و  تمامی فرمانهای API را کنترل خواهیم کرد.

اکنون APIمان را تست می کنیم و برای اینکار می توانیم از REST Client استفاده کنیم.در اینجا ازPOSTMAN استفاده شده است.

آپلود تصویر در اندرویدتست API

API خوب کار می کند.حالا به بخش اندروید برویم.

آموزش آپلود فایل با کتابخانه Retrofit 

قسمت اصلی از اینجا شروع می شود.گام اول همیشه ایجاد یک پروژه جدید اندروید می باشد.

ایجاد یک پروژه جدید

یک پروژه جدید با نام RetrofitFileUpload ایجاد می کنیم.

زمانی که پروژه به طور کامل بارگذاری شد Retrofitو GSON را به آن اضافه می کنیم.

افزودن کتابخانه ها

داخل فایل build.gradle برنامه شوید و خطوط داده شده زیر را در بلوک dependencies وارد نمایید.

اکنون پروژه خود را هماهنگ (sync)  کنید

ایجاد کلاس مدل برای پاسخ

پاسخی که ما از سرور بعد از آپلود فایل دریافت می کنیم :

برای خواندن پاسخ با لا از سرور یک کلاس مدل ایجاد خواهیم کرد.یک کلاس با نام MyResponse.java ایجاد کرده و کدهای زیر را می نویسیم.

ایجاد رابط API

حالا به یک رابط برای تعریف همه فرمانهای API نیاز داریم.پس یک رابط با نام Api.java ایجاد کرده و کدهای زیر را می نویسیم.

آپلود کردن فایل

   ایجاد رابط کاربری

برای ارسال  وگرفتن یک فایل ما به یک فایل انتخابگر نیاز داریم . بنابراین یک دکمه ایجاد می کنیم وبا ضربه زدن بر این دکمه اکتیویتی فایل انتخابگر را باز می کنیم.

یک دکمه درون activity_main.xml.ایجاد کنید.

بررسی خواندن مجوز ذخیره سازی

در صورتیکه اپلیکیشن از ورژن بالاتر Lollipop اجرا شود پیغام مجوز دسترسی از ما درخواست خواهد شد اما همچنین باید مجوز مورد نیاز را در فایل manifest نیز وارد کنیم . مجوزی که اینجا لازم است مربوط به خواندن می باشد تا از آن برای آپلود تصاویر استفاده کنیم . ایتدا ما باید بتوانیم از مکان ذخیره سازی تصاویر فایل ها را بخوانیم و سپس فایل را آپلود کنیم .

پس فایل AndroidManifest.xml را باز کنید و مجوز خواندن را تعریف کنید.

مجوز اینترنت را به این صورت تعریف کردیم زیرا به آن نیاز داریم.اما چون نیازی به مجوز اینترنت در زمان اجرا نداریم.پس در onCreate() کد زیر را اضافه می کنیم.

اگر برنامه مجوز خواندن از ذخیره ساز را نداشته باشد کد بالا برنامه را متوقف می کند و صفحه تنظیمات را باز می کند.

انتخاب یک فایل

ما کدهای زیر را در رویداد کلیک دکمه اضافه میکنیم برای اینکه فایل انتخابگر را باز کنیم.

هم اکنون باید نتیجه این گزینه فایل انتخابگر را پیگیری کنیم. برای انجام اینکار باید متد () onActivityResultرا Override کنیم.

ما  نشانی اینترنتی تصویر را داریم اما کافی نیست . ما به مسیر واقعی تصویر نیاز داریم . برای اینکار یک متد دیگر ایجاد می کنیم.

گرفتن مسیر واقعی از Uri

برای گرفتن مسیر واقعی از متد زیر استفاده میکنیم.

آپلود فایل

حالا برای آپلود کردن فایل  متد  ()upLoadFile را ایجاد می کنیم.

تمام کدهای MainActivity.java به شرح ذیل است :

حالا برنامه خود را اجرا کرده و آن را امتحان کنید  .

 

دوره آموزش اندروید

 

 

 

درباره‌ی دولت آبادی

همچنین ببینید

آموزش اندروید

گزارش دوره آموزش اندروید – جلسه هفتم

در جلسه هفتم از دوره آموزش اندروید مهندس آذرنیوا مدرس دوره به آموزش ساخت اپلیکیشن تعاملی …

1 Star2 Stars3 Stars4 Stars5 Stars (امتیازی داده نشده است)
Loading...

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

ایمیلتان را وارد کنید تا همین الان این آموزش ارزشمند را دریافت کنید
 HTML 5 دوره آنلاین  
برایم ایمیل شود
نگران نباشید ، ایمیل های مزاحم نمی فرستیم
close-link
ایمیلتان را وارد کنید تا همین الان این آموزش ارزشمند را دریافت کنید
 چهار فیلم آموزشی  
برایم ایمیل شود
نگران نباشید ، ایمیل های مزاحم نمی فرستیم
close-link