Menu

Fashion Trendy
  • Drop Down

    • Abstract
    • Model
    • Techo
    • Options
  • Photography Pictures Product

    Drop Menu

    • Crystal
    • Digital
    • Graphs
    • Settings
  • Menu

    Dunia Program Komputer

    Blog Ini Membahas Tentang Hal Yang Berkaitan Dengan Komputer

    • Home
    • Troubleshooting
      • Personal Computer
        • Programming
        • Networking
      • Handphone
        • Empty
        • Empty
        • Empty
        • CSS 4
        • Empty
      • Empty
        • Empty
        • Empty
    • Empty
      • Empty
        • Sub Item
        • Sub Item
      • Empty
        • Sub Item
        • Sub Item
    • Empty
    • Contact Us
    Go
    Home » Unlabelled » Tutorial Parsing Data JSON dengan Retrofit

    Tutorial Parsing Data JSON dengan Retrofit

    Tutorial Parsing Data JSON dengan Retrofit. Retrofit adalah Rest Client untuk android dan java dari squareup. Pada tutorial ini kita akan membuat aplikasi android untuk menjelaskan penggunaan HTTP GET REQUEST menggunakan library retrofit. Untuk tutorial retrofit ini, kita menggunakan data json yang sederhana dari web API.
    http://api.teknorial.com/contohjson/ 

    {  
        "admin": { 
           	 "id"  :1,
          	  "nama":"Reza Maulana",  
          	  "email":"rflash95@gmail.com",
          	  "alamat":"Jl. Sukandroid ", 
         	  "status":"Aktif" 
        }  
    }
     
    Kita sudah melihat data admin dari json,sekarang kita akan mencoba 
    mengambil data ini dengan aplikasi kita menggunakan library retrofit.
     

    Tutorial Retrofit dengan Android Studio

    1. Buat Project android baru.
    2. Import Retrofit 2.0 dan converter-gson di build.gradle dalam dependencies.
    compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4' compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta4'
    3. Tambahkan internet permission di AndroidManifest.xml
    <uses-permission android:name="android.permission.INTERNET"/>4. Buatlah package baru dengan nama models. Dengan menggunakan retrofit kita tidak perlu parsing sendiri, kita perlu membuat model agar retrofit dapat melakukan parsing dengan library nya. Ada dua cara membuat model yaitu dengan cara manual dan otomatis. Cara manual bisa dipelajari di tutorial ini dan cara otomatis bisa menggunakan jsonschema2pojo, pastekan kode json dari http://api.teknorial.com/contohjson/ ke dalam jsonscheme2pojo seperti gambar berikut


     
     Kemudian klik preview untuk mengecek hasil generate ,download zip dan masukan kedalam package models seperti gambar berikut.

      note : Ketika kita menggunakan code hasil generate dari jsonschematopojo, kita melihat error seperti gambar berikut
     Secara default javax.annotation tidak ada di library android, tapi kita bisa menambahkannya di dependency
     
    provided 'org.glassfish:javax.annotation:10.0-b28'

    ,tetapi kamu bisa menghapus annotation dan menggunakan hasil generate itu.

    5. Buat Interface untuk menghandel request kita. Saya membuatnya dengan nama RestApi.java.
    package com.teknorial.retrofit2tutorial.rest;
    
    import com.teknorial.retrofit2tutorial.models.Models;
    
    import retrofit2.Call;
    import retrofit2.http.GET;
    
    /**
     * Created by Teknorial on 06/02/2016.
     */
    public interface RestApi {
    
        @GET("contohjson")
        Call<Models> getDataAdmin();
    }
    6. Buka activity_main.xml dan modifikasi seperti berikut.
    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context="com.teknorial.retrofit2tutorial.MainActivity">
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:text="ID"
            android:id="@+id/txt_id"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true" />
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:text="Nama"
            android:id="@+id/txt_nama"
            android:layout_below="@+id/txt_id"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true" />
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:text="Email"
            android:id="@+id/txt_email"
            android:layout_below="@+id/txt_nama"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true" />
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:text="Alamat"
            android:id="@+id/txt_alamat"
            android:layout_below="@+id/txt_email"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true" />
    
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:text="Status"
            android:id="@+id/txt_status"
            android:layout_below="@+id/txt_alamat"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true" />
    </RelativeLayout>
    

    7. Buka MainActivity.java dan modifikasi seperti berikut.
    package com.teknorial.retrofit2tutorial;
    
    import android.app.ProgressDialog;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.widget.TextView;
    
    import com.teknorial.retrofit2tutorial.models.Models;
    import com.teknorial.retrofit2tutorial.rest.RestApi;
    
    import retrofit2.Call;
    import retrofit2.Callback;
    
    import retrofit2.Response;
    import retrofit2.Retrofit;
    import retrofit2.converter.gson.GsonConverterFactory;
    
    public class MainActivity extends AppCompatActivity {
    //ROOT_URL dari web service
    public static final String ROOT_URL = "http://api.teknorial.com/";
    
    //definisi tampilan
    private  TextView txt_id;
    private  TextView txt_nama;
    private  TextView txt_email;
    private  TextView txt_alamat;
    private  TextView txt_status;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
             txt_id = (TextView) findViewById(R.id.txt_id);
             txt_nama = (TextView) findViewById(R.id.txt_nama);
             txt_email = (TextView) findViewById(R.id.txt_email);
             txt_alamat =(TextView) findViewById(R.id.txt_alamat);
             txt_status = (TextView) findViewById(R.id.txt_status);
    
            //Memanggil method untuk mengambil data
            getData();
    
        }
        private void getData(){
            //ketika aplikasi sedang mengambil data kita akan melihat progress dialog muncul
            final ProgressDialog loading = ProgressDialog.show(this, "Fetching Data","Please wait..",false,false);
    
            Retrofit retrofit = new Retrofit.Builder()
                    .baseUrl(ROOT_URL)
                    .addConverterFactory(GsonConverterFactory.create())//GsonConverter untuk parsing json
                    .build();
            RestApi service = retrofit.create(RestApi.class);
            Call<Models> call = service.getDataAdmin();
            call.enqueue(new Callback<Models>() { //Asyncronous Request
                @Override
                public void onResponse(Call<Models> call, Response<Models> response) {
                    try {
                        loading.dismiss(); //progress dialog dihentikan
    
                        //dapatkan hasil parsing dari method response.body()
                        String id = response.body().getAdmin().getId().toString();
                        String nama = response.body().getAdmin().getNama();
                        String email = response.body().getAdmin().getEmail();
                        String alamat = response.body().getAdmin().getAlamat();
                        String status = response.body().getAdmin().getStatus();
    
                      
    
                        txt_id.setText("ID : "+ id);
                        txt_nama.setText("Nama : "+nama);
                        txt_email.setText("Email : "+email);
                        txt_alamat.setText("Alamat : "+alamat);
                        txt_status.setText("Status : "+status );
                    }catch (Exception e){
                        e.printStackTrace();
                    }
                }
    
                @Override
                public void onFailure(Call<Models> call, Throwable t) {
    
                }
    
                }
                );
        }
    }
    
    Run Aplikasi yang sudah kita buat dan hasil akan seperti screenshot berikut.


    Unknown
    2 Comments
    Wednesday, September 6, 2017

    facebook

    twitter

    google+

    fb share

    About Unknown

    Related Posts
    < Previous Post Next Post >

    2 comments

    avatar
    Reply
    Unknown delete February 28, 2018 at 11:49 PM

    kalo bentuk api nya kaya gini gimana gan


    {
    "data": {
    "sliding_banners": [
    {
    "id": 1,
    "image_url": "https://omegastore-prod.s3.amazonaws.com/banners/LOWRES/Slide/Feb_All%20Produk.jpg",
    "type": 0,
    "navigation_type": null,
    "navigation": null,
    "created_at": "2017-12-28 04:44:55",
    "updated_at": "2017-12-28 04:44:58"
    }
    ]
    }
    }

    avatar
    Reply
    Unknown delete August 28, 2018 at 7:10 PM

    mas, api nya gak bisa di akses lagi

    Powered by Blogger.

    Weekly Posts

    • cara membuat sharing CDROM
      agar CDROM kita dapat digunakan secaaara bersama-sama maka harus melakukan perintah sharing ke flashdisk tersebut , dengan cara-cara sebag...
    • PERANGKAT LUNAK PENGOLAH KATA
      Perangkat Lunak Word Processor (selanjutnya disebut pengolah kata) adalah suatu program pengolah dokumen berisi teks dan gambar yang memilik...
    • Tutorial ListView dengan Sumber Data JSON
      Tutorial ListView dengan Sumber Data JSON . Pada tutorial ini kita belajar menggunakan library retrofit untuk parsing data JSON dan Loggin...
    • Membuat Aplikasi WebView di Android Studio
      Membuat Aplikasi WebView di Android Studio. Pada tutorial kali ini, saya akan membahas tentang pemrograman android dimana kita akan mengg...
    • Memulai aplikasi Microsoft Word 2007
      Dalam lingkungan MS Windows kita bisa mengakses sebuah aplikasi Microsoft Word 2007 yang sudah di install, melalui lebih dari satu cara, ant...

    About Me

    Unknown
    View my complete profile

    Blog Archive

    • ▼  2017 (17)
      • ►  October (6)
      • ▼  September (11)
        • Memperbaiki AVD yang Tidak Bisa dihapus di Android...
        • Memperbaiki HAX is not Running di Android Studio
        • Membuat WebService dengan Slim Framework
        • Tutorial ListView dengan Sumber Data JSON
        • Tutorial Parsing Data JSON dengan Retrofit
        • Membuat Database SQLite di Aplikasi Android
        • Tutorial Membuat Fragment dalam Activity
        • Membuat Aplikasi WebView di Android Studio
        • Mengenal Activity pada Aplikasi Android
        • Membuat Project Android di Android Studio
        • Mengenal Lebih Dekat dengan Android Studio
    • ►  2016 (21)
      • ►  December (21)

    Social Share

    Like us On Facebook

    Labels

    • Bahasa Program
    • cara membuat sharing pada cd rom
    • cara membuat sharing pada flashdisk
    • cara membuat sharing pada Harddisk
    • Cara memformat flashdisk
    • cd rom
    • debian
    • ENIAC
    • ENIAC Keyboard Computer
    • Flashdisk
    • Format
    • Gejala Kerusakan Internet
    • Gejala Kerusakan Jaringan
    • Gejala Kerusakan Pc
    • Harddisk
    • HDD
    • HTML
    • Jaringan
    • Java
    • Jenis-Jenis Keyboard
    • Keybord zaman dahulu
    • komponen-computer
    • komponen-komponen
    • komponen-komponen computer
    • Komputer
    • Komputer pertama
    • LAN
    • Lan Card
    • linux
    • LOCAL AREA NETWORK
    • Mandriva
    • Membuka File di Microsoft Word
    • menguji jaringan lan
    • Menutup
    • Microsoft Office
    • Microsoft Word
    • Microsoft Word 2007
    • mikrotik
    • Network
    • operating system
    • Operator
    • Password di Microsoft Office
    • Perangkat Lunak Pengolah Kata
    • Program
    • Programming HTML
    • share
    • sharing
    • sistem operasi
    • Software
    • TABEL
    • TOPOLOGI
    • TOPOLOGI LAN
    • Unix
    • windows
    • Wireles Local Area Network
    • WLAN

    Copyright Dunia Program Komputer 2014 . Template Created by