Retrofit library

0)build.gradle(module:app)
1) MainActivity.java
2) pojo.java
3) JsonAdapter.java
4) Api.java (interface)
5) MainActivity.xml
6) single.xml

dependencies {
    //noinspection GradleCompatible
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.1'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.squareup.picasso:picasso:2.71828'
    compile 'com.squareup.retrofit2:retrofit:2.1.0'
    compile 'com.squareup.retrofit2:converter-gson:2.1.0'
}

MainActivity.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.dixit.jsonparsingretrofit.MainActivity">

<ListView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/id_listview"></ListView>

</LinearLayout>


MainActivity.java

package com.example.dixit.jsonparsingretrofit;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ListView;

import com.google.gson.Gson;

import java.util.ArrayList;
import java.util.List;

import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;

public class MainActivity extends AppCompatActivity {

    ListView lv;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        lv = findViewById(R.id.id_listview);

        getHeros();
    }

    private void getHeros() {

        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl(Api.BASE_URL)
                .addConverterFactory(GsonConverterFactory.create())
                .build();

        Api api=retrofit.create(Api.class);

        Call<List<pojo>> call=api.GetHeroes();

        call.enqueue(new Callback<List<pojo>>() {
            @Override
            public void onResponse(Call<List<pojo>> call, Response<List<pojo>> response) {

                List<pojo> pojolist=response.body();
                ArrayList<pojo> arrayList=new ArrayList<>();

                for (int i=0;i<pojolist.size();i++)
                {
                    pojo p=new pojo();
                    //    name: "Captain America",
//    realname: "Steve Rogers",
//    team: "Avengers",
//    firstappearance: "1941",
//    createdby: "Joe Simon",
//    publisher: "Marvel Comics",
//    imageurl: "https://www.simplifiedcoding.net/demos/marvel/captainamerica.jpg",
//    bio: " Steven

                    p.setName(pojolist.get(i).getName());
                    p.setRealname(pojolist.get(i).getRealname());
                    p.setTeam(pojolist.get(i).getTeam());
                    p.setFirstappearance(pojolist.get(i).getFirstappearance());
                    p.setCreatedby(pojolist.get(i).getCreatedby());
                    p.setPublisher(pojolist.get(i).getPublisher());
                    p.setImageurl(pojolist.get(i).getImageurl());
                    p.setBio(pojolist.get(i).getBio());

                    arrayList.add(p);
                }
                jsonAdapter adapter=new jsonAdapter(MainActivity.this,arrayList);
                lv.setAdapter(adapter);
            }

            @Override
            public void onFailure(Call<List<pojo>> call, Throwable t) {

            }
        });
    }
}

pojo.java

package com.example.dixit.jsonparsingretrofit;

/**
 * Created by dixit on 11-Jun-18.
 */

public class pojo {

//    name: "Captain America",
//    realname: "Steve Rogers",
//    team: "Avengers",
//    firstappearance: "1941",
//    createdby: "Joe Simon",
//    publisher: "Marvel Comics",
//    imageurl: "https://www.simplifiedcoding.net/demos/marvel/captainamerica.jpg",
//    bio: " Steven

    private String name;
    private String realname;
    private String team;

    public String getTeam() {
        return team;
    }

    public void setTeam(String team) {
        this.team = team;
    }

    private String firstappearance;
    private String createdby;
    private String publisher;
    private String imageurl;
    private String bio;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getRealname() {
        return realname;
    }

    public void setRealname(String realname) {
        this.realname = realname;
    }

    public String getFirstappearance() {
        return firstappearance;
    }

    public void setFirstappearance(String firstappearance) {
        this.firstappearance = firstappearance;
    }

    public String getCreatedby() {
        return createdby;
    }

    public void setCreatedby(String createdby) {
        this.createdby = createdby;
    }

    public String getPublisher() {
        return publisher;
    }

    public void setPublisher(String publisher) {
        this.publisher = publisher;
    }

    public String getImageurl() {
        return imageurl;
    }

    public void setImageurl(String imageurl) {
        this.imageurl = imageurl;
    }

    public String getBio() {
        return bio;
    }

    public void setBio(String bio) {
        this.bio = bio;
    }
}


JsonAdapter.java

package com.example.dixit.jsonparsingretrofit;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.squareup.picasso.Picasso;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by dixit on 11-Jun-18.
 */

class jsonAdapter extends BaseAdapter{
    Context context;
    ArrayList<pojo> arrayList=new ArrayList<>();

    public jsonAdapter(Context context, ArrayList<pojo> arrayList) {
        this.context = context;
        this.arrayList = arrayList;
    }

    @Override
    public int getCount() {
        return arrayList.size();
    }

    @Override
    public Object getItem(int i) {
        return null;
    }

    @Override
    public long getItemId(int i) {
        return 0;
    }

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {


        LayoutInflater inflater= (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
        View v=inflater.inflate(R.layout.single,null);

        ImageView imageView;
        TextView textView;

        imageView=v.findViewById(R.id.id_imageview);
        textView=v.findViewById(R.id.id_textview);

        pojo p=arrayList.get(i);
        textView.setText(p.getName() +"\n"+ p.getRealname() +"\n"+ p.getTeam() +"\n"+ p.getFirstappearance() +"\n"+ p.getCreatedby() +"\n"+  p.getPublisher()  +"\n"+ p.getBio());
        Picasso.get().load(p.getImageurl()).into(imageView);
        return v;
    }
}


Api.java (interface)

package com.example.dixit.jsonparsingretrofit;



import java.util.List;
import retrofit2.Call;
import retrofit2.http.GET;

/**
 * Created by dixit on 11-Jun-18.
 */

public interface Api {

    String BASE_URL = "https://simplifiedcoding.net/demos/";

    @GET("marvel")
    Call<List<pojo>> GetHeroes();
}


single.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/id_imageview"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/id_textview"/>
</LinearLayout>

Comments

Popular posts from this blog

Seaborn

Json_ login