menusearch
javapro.ir

جلسه چهارم: کار با کتابخانه Android networking

جستجو
شنبه ۱ دی ۱۴۰۳ | ۱۹:۵۲:۱۴
۱۳۹۸/۱۱/۱۵ سه شنبه
(5)
(0)
جلسه چهارم: کار با کتابخانه Android networking
جلسه چهارم: کار با کتابخانه Android networking

اموزش پروژه محور ساخت اینستاگرام با اندروید

 

 

به نام خدا

 

در برنامه نویسی اپلیکیشن برای ارتباط با سرور کتابخونه های متعددی وجود دارد ولی برنامه نویس ها طبیعتا اون کتابخانه ای را انتخاب می‌کنند که از نظر کدنویسی کاربردی تر و بهینه تر باشد.


کتابخونه Android networking هم یه کتابخونه کاربردی و در عین حال بهینه از لحاظ کد نویسیه که در ادامه نمونه ای از کاربردهای آن همراه با مثال آموزش میدیم.


اما قبلش باید چندتا نکته رو عرض کنم.


ما یه درخواست میدیم به سرور و سرور به ما یه پاسخ میده


اما نوع درخواست های ما با هم متفاوته.


خب درخواست ها دو نوع هست post و get

 

خب حالا get چیه؟


در متد get ما اطلاعات رو بصورت (key,value) (کلید،مقدار) میفرستیم به سرور


و احتمالا توی سرچ های روزانه تون هم دیده باشید که توی همون url (ادرس سایتی) که سرچ میکنیم یه علامت سوال دیده میشه(؟).توی متد get بعد از این علامت ما میتونیم ساختار(کلید،مقدار) رو که ارسال کردیم ببینیم.


به عنوان مثال به این شکل خواهد بود:

 

?username =ali

 

•    که اینجا username کلید هست و ali مقداره


و به صورت زیر بهش دسترسی خواهیم داشت:

 

https://javapro.ir/user.php?username=ali

نمونه کد(1)


•    متد get برای ارسال اطلاعات محرمانه مناسب نخواهد بود چون توی ادرس بار مرورگر مثل نمونه کد(1) اطلاعات دیده میشن.

 


اما بریم سراغ متد post


توی این نوع درخواست اطلاعات به صورت پکیج از سمت کلاینت که ما باشیم ارسال میشه به سرور و مثل get ما اطلاعات رو نمیبینیم پس بدیهی است که برای اطلاعات محرمانه گزینه بهتری باشه.


پاسخ ها از سمت سرور هم به صورت json به ما ارسال میشه که در ادامه جلسات توضیح میدیم خدمتتون json چیه.


خب بریم سراغ نمونه کد های استفاده از android networking
     

AndroidNetworking.get("https://javapro.ir/getAllUsers/{pageNumber}")
                .addPathParameter("pageNumber", "0")
                .addQueryParameter(" limit ", "6")
                .addHeaders("token", "0000")
                .setTag("get")
                .setPriority(Priority.HIGH)
                .build()
                .getAsJSONArray(new JSONArrayRequestListener() {
                  @Override
                  public void onResponse(JSONArray response) {
                                 
                  }
                  @Override
                  public void onError(ANError error) {
                   
                  }
              });

نمونه کد(2)


توضیحات:

 

public void onResponse(JSONArray response) {
                                 
                  }

 

•    اینجا سرور به درخواستی که دادیم پاسخ میده

 

public void onError(ANError error) {
                                        }


•    اینجا اگه اروری از سرور بیاد رو هندل میکنیم

 

خب همونطور که در نمونه کد(2) میبینید ما یه درخواست از نوع get دادیم به سرور،یک سری پارامتر رو هم همراه با درخواستمون ارسال کردیم و گفتیم پاسخی که از سرور میاد به صورت ارایه json باشه.


یکی از مزیت های android networking اینه که پاسخ میتونه به صورت دلخواه باشه.


دلخواه باشه یعنی چی؟


یعنی مثلا توی همین اینستاگرام کاربر ما چندتا ویژگی مثل اسم،ایمیل و ... داره


با استفاده از کتابخانه android networking ما میتونیم درخواست ها مبتنی بر همین ویژگی های کاربر باشه فعلا در همین حد باشه وقتی کد نویسی برنامه هم شروع شد نمونه هاشو میبینیم.


خب بریم یه نمونه کد دیگه این بار از نوع post ببینیم:    

 

AndroidNetworking.post("https://javapro.ir/signup")
                .addBodyParameter("firstname", "ali")
                .addBodyParameter("lastname", "alavi")
                .setTag("test")
                .setPriority(Priority.MEDIUM)
                .build()
                .getAsJSONObject(new JSONObjectRequestListener() {
                  @Override
                  public void onResponse(JSONObject response) {
                     
                  }
                  @Override
                  public void onError(ANError error) {
                     
                  }
              });

نمونه کد(3)


•    درخواست بالا همانطور که میبینید از نوع post هست و ما باهاش اسم کاربر رو هم ارسال کردیم.
•    علاوه برا اسم ما میتونیم یک شی جاوا،یا فایل و یا هر چیز دیگه ای رو هم با درخواستمون بفرستیم.


به این صورت که به جای اسم کاربر اینگونه عمل می‌کنیم :

 

addBodyParameter(file)

 

•    این فایل از هر نوعی میتونه باشه

 

از android networking میتونیم برای دانلود فایل از سرور و همچنین اپلود فایل توی سرور هم استفاده کنیم که نمونه کد هاش مشابه زیر هست:


نمونه کد دانلود از سرور:

 

AndroidNetworking.download(url,dirPath,fileName)
                .setTag("download")
                .setPriority(Priority.MEDIUM)
                .build()
                .setDownloadProgressListener(new DownloadProgressListener() {
                  @Override
                  public void onProgress(long bytesDownloaded, long totalBytes) {
                  }
                })
                .startDownload(new DownloadListener() {
                  @Override
                  public void onDownloadComplete() {
                                        }
                  @Override
                  public void onError(ANError error) {
                   
                  }
              });

نمونه کد(4)

توضیحات

 

public void onProgress(long bytesDownloaded, long totalBytes) {
                   
                  }


                 
•    اینجا وقتی دانلود داره انجام میشه رو میتونیم مدیریت کنیم.

 

  public void onDownloadComplete() {
                  }

             
•    اینجا وقتی دانلود تموم میشه

 

                public void onError(ANError error) {
}

 

•    اینجا اگر به ارور بخوریم رو هندل میکنیم    

 

نمونه کد آپلود توی سرور:

 


AndroidNetworking.upload(url)
                .addMultipartFile("image",file)    
                .addMultipartParameter("key","value")
                .setTag("uploadTest")        
                .setPriority(Priority.HIGH)
                .build()
                .setUploadProgressListener(new UploadProgressListener() {
                  @Override
                  public void onProgress(long bytesUploaded, long totalBytes) {
                  }
                })
                .getAsJSONObject(new JSONObjectRequestListener() {
                  @Override
                  public void onResponse(JSONObject response) {
                     
                  }
                  @Override
                  public void onError(ANError error) {
                  }
                });

نمونه کد(5)

توضیحات

 

public void onProgress(long bytesUploaded, long totalBytes) {
                  }

               
•    مدیریت در حین اپلود شدن

 

  public void onResponse(JSONObject response) {
                               
                  }

             
•    مدیریت پاسخ دریافتی از سرور     

 

                   public void onError(ANError error) {
}


•    هندل کردن ارور

 

این تمام چیزی بود که شما باید از android networking میدانستید
این جلسه هم تموم شد.
با ما همراه باشید...


پیروز و موفق باشید


این جلسه آموزشی را می‌توانید بصورت کتاب الکترونیکی (PDF شده) در لینک زیر دریافت کنید.
این جلسه آموزشی را بصورت کامل و مرتب شده در لینک زیر دانلود کنید:(در صورت خرابی لینک گزارش دهید)

 

 

کانال تلگرام آموزش جاوا

 

 

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

لینک دانلود کتاب

 

 


نشر این مطلب با ذکر منبع (لینک سایت) بلامانع است.
برای با خبر شدن از جدیدترین مطالب آموزشی جاوا
عضو کانال تلگرام ما شوید.

نظرات کاربران
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

بستن
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

0 نظر
هدر سایت
دوره برنامه نویسی Spring Core
مشاهده سرفصل ها و ثبت نام در دوره Spring Boot جاواپرو  [کلیک کنید]
آموزش پروژه محور اسپرینگ بوت(Spring Boot)-سیستم دانشگاه
ثبت نام در دوره آموزش Spring security
دوره معماری میکروسرویس ها (Microservices) با استفاده از Spring Boot و Spring Cloud
دوره پرتاب | آموزش پیش نیازهای برنامه نویسی
دوره آموزش مبانی زبان برنامه نویسی جاوا
دوره آموزش مفاهیم پیشرفته زبان برنامه نویسی جاوا
مقدمه ای از زبان برنامه نویسی جاوا(java)
آموزش زبان برنامه نویسی جاوا
آموزش گرافیک در زبان برنامه نویسی جاوا
آموزش مدیریت چیدمان گرافیکی در زبان جاوا
آموزش ساخت بازی دوبعدی در زبان جاوا
Collection ها در زبان برنامه نویسی جاوا
آموزش پروژه محور ساخت برنامه مدیریت بانک با JavaFX
نمونه پروژه های رایگان زبان جاوا
آموزش دیتابیس در زبان برنامه نویسی جاوا
نمونه مثال پایه ای زبان برنامه نویسی جاوا
نمونه مثال String در زبان برنامه نویسی جاوا
آموزش جامع برنامه نویسی JavaFX
آموزش ساخت برنامه آزمون تستی در JavaFX
آموزش برنامه نویسی سوکت در جاوا
آموزش ساخت برنامه دفترچه تلفن با JavaFX
آموزش ساخت ربات ساده تلگرام با زبان جاوا
آموزش ساخت برنامه ماشین حساب با JavaFX
آموزش ساخت برنامه ساده مدیریت ایمیل ها با JavaFX
دوره آموزش Spring Boot
سفارش انجام پروژه زبان برنامه نویسی جاوا(JAVA)
سفارش انجام پروژه برنامه نویسی متلب(MATLAB) با قیمت منصفانه و تحویل به موقع
سفارش انجام پروژه زبان برنامه نویسی سی شارپ (#C)
سفارش انجام پروژه زبان برنامه نویسی سی(C)
سفارش انجام پروژه زبان برنامه نویسی پایتون(Python)
سفارش انجام پروژه زبان برنامه نویسی PHP (پی اچ پی)
سفارش انجام پروژه زبان برنامه نویسی اسمبلی(Assembly)
سفارش انجام پروژه زبان برنامه نویسی جاوا اسکریپت (Javascript)
سفارش انجام پروژه هوش مصنوعی
سفارش انجام پروژه طراحی الگوریتم
سفارش انجام پروژه ساختمان داده ها
سفارش انجام پروژه مهندسی نرم افزار
سفارش انجام پروژه شبکه های کامپیوتری
سفارش انجام پروژه پایگاه داده: دیتابیس (database)
 سفارش انجام پروژه سیستم عامل
سفارش انجام پروژه پاورپوینت(PowerPoint)
سفارش انجام پروژه اکسل (Excel)
سفارش انجام تحقیق و تهیه مقاله
سوالات متداول برنامه نویسی
جدیدترین مطالب