آموزش و دوره های رایگان برنامه نویسی( طراحی وب و اندروید) سایتاپ سئو

در سایتاپ با آموزش های اندروید،asp.et MVC و همچنین SEO و بهینه سازی وب با همراه باشید.همچنین با اخبار روز در زمینه های امنیت و هک و اخبار روز تکنولوژی را در سایت ما میتوانید بخوانید.


آموزش عملی ارتباط با سرور با رتروفیت

سایتاپ سئو

آموزش ارتباط با سرور به وسیله رتروفیت

 

در این قسمت به آموزش کار با کتابخانه معروف رتروفیت میپردازیم.همانطور که گفتیم، رتروفیت یک لایبراری برای ارتباط با سرور و ارسال و دریافت اطلاعات به صورت جی سان است.

این آموزش ها را به صورت قدم به قدم جلو میرویم.

 

1. اضافه کردن وابستگی های کتابخانه رتروفیت

* آموزش پیاده سازی کتابخانه رتروفیت *

دو وابستگی زیر را در ابتدا به پروژه اضافه میکنیم.

compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'

 

 

 

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

* آموزش پایه ارتباط با سرور به وسیله رتروفیت *

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

کد های کلاس زیر به صورت زیر است.

 



import java.util.concurrent.TimeUnit;

import okhttp3.OkHttpClient;

import retrofit2.Retrofit;

import retrofit2.converter.gson.GsonConverterFactory;



/**

 * Created by Asus on 29/10/2016.

 */



public class ApiClient {

    public static final String BASE_URL="http://your_domain/.../";



    private static Retrofit retrofit = null;

    private static String TAG=ApiClient.class.getSimpleName();





    public static Retrofit getClient() {





        if (retrofit==null) {

            OkHttpClient client=new OkHttpClient.Builder()

                    .readTimeout(20, TimeUnit.SECONDS)

                    .connectTimeout(20, TimeUnit.SECONDS)

                    .build();

            retrofit = new Retrofit.Builder()

                    .baseUrl(BASE_URL)

                    .client(client)

                    .addConverterFactory(GsonConverterFactory.create())

                    .build();

        }

        return retrofit;

    }



}

 

 

نکات کد بالا:

  • BASE_URL  چیست؟این همان آدرس سایت و وب سرویس درون آن سایت است. http://your_domain.ir/webservice  و به این صورت است.ادامه ی url  ها را در جاهای دیگر میدهیم.
  • Timeout  را نیز در در کد بالا برابر با 20 قرار دادیم.

 

 

3. درک کردن جی سان و فیلد هایش توسط سایت jsoneditoronline

*  استفاده از جی سان تستی برای استفاده از رتروفیت *

خوب فرض کنید قرار است ما این json  زیر را دریافت کنیم.پس json زیر را درون سایت https://jsoneditoronline.org/ و در ادیتور سمت چپ کپی کنید.(ابتدا جی سان پیش فرض درون ادیتور سمت چپ را پاک کنید و سپس این جی سان زیر را درونش کپی کنید.)

 

{

 "error": false,

 "posts": [

 {

 "body": "body 1",

 "image_url": "url 1",

 "sender": {

 "last_name": "last_name 1",

 "name": "name 1"

 },

 "title": "title 1"

 },

 {

 "body": "body 2",

 "image_url": "url 2",

 "sender": {

 "last_name": "last_name 2",

 "name": "name 2"

 },

 "title": "title 2"

 },

 {

 "body": "body 3",

 "image_url": "url 3",

 "sender": {

 "last_name": "last_name 3",

 "name": "name 3"

 },

 "title": "title 3"

 },

 {

 "body": "body 4",

 "image_url": "url 4",

 "sender": {

 "last_name": "last_name 4",

 "name": "name 4"

 },

 "title": "title 4"

 }

 ]

}

توی این جی سان قرار است ما لیستی به نام  post که درونش چندین فیلد مثل title, body, image_url  و...  است را دریافت کنیم.همچنین این جی سان درنش یک فیلد فرستنده به نام  sender  نیز دارد.

خوب پس برای دریافت این اطلاعات و فیلد های جی سان در اپ خود،نیاز به ساخت یک مدل داریم.یک مدلی که با این جی سان ما مطابقت داشته باشد.یعنی هر فیلدی که در جی سان داریم،یه فیلد هم در مدل برای آن میسازیم.

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

 

 

                                 

 

 

 

ما جی سان را درون سایت گفته شده کپی کردیم تا بهتر بتوانیم آن را درک کنیم.همانطور که میبیند جی سان ما در خروجی اش(در ادیتور سمت راست) دارای یک فیلد به نام errors و یه آرایه به نام posts است.

با کمی دقت در خروجی جی سان،میبینیم که هر post  دارای فیلد هایی به نام title, body, image_url   و همچنین  sender  است که خود فیلد sender درونش دارای دو فیلد name , last_name  است.

 

خوب،حالا ما به سراغ ساخت مدل میرویم.

آبی بنوشید و یک استراحتی کنید!چرا که خواندن مطالب طولانی بی وقفه ممکن است باعث شود به خوبی متوجه عمق مطلب نشوید.

در پست بعد به ادامه ی این مبحث و ساخت مدل میپردازیم.

موضوع این پست:

آموزش کار با کتابخانه رتروفیت برای ارتباط با سرور

ادامه پست بالا:

ارتباط با سرور به وسیله رتروفیت -بخش سوم

 

دسته بندی
android
retrofit

برگشت به صفحه اصلی

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

#به نام یکتا برنامه نویس هستی


تلگرام من

alitaheri_4

بنده علی طاهری دانشجوی رشته نرم افزار و علاقه مند به برنامه نویسی هستم.اولین بار در 14 سالگی با وبلاگ نویسی پا در عرصه وب و سئو گذاشتم.در حال حاضر در برنامه نویسی اندروید با زبان جاوا و تحت وب با asp.net فعالیت دارم.همچنین بسیار علاقه مند به سئو هستم.