5.00 / 1 oy

Android ile Volley Kütüphanesi Kullanımı Örneği

Android uygulaması geliştirme konusunda bir süredir paylaşım yapmadığımı fark ederek yeni bir uygulama eklemek istedim. Daha önceki paylaşımlarımdan bazıları:

bkz: Android uygulamasında hata mesajı göstermek

bkz: Android Studio'da Package Name Nerede Yazar?

bkz: Android uygulamasının paket adını (package name) değiştirmek

bkz: Enlem ve Boylam bilgilerini veren Android Uygulaması

bkz: Android Uygulamasında Spinner Kullanımı

bkz: Sanal Android Cihazlarda (AVD) Konumu Değiştirmek

Volley, Android ile native uygulamalar geliştirirken kullanabileceğiniz bir HTTP kütüphanesi. Volley github sayfasına da buradan ulaşabilirsiniz. Android ile bir uygulama geliştirirken Volley kütüphanesini kullanarak şunları yapabilirsiniz:

- İstekleri takvime bağlamak ve düzenli olarak istekler oluşturmak

- Birden çok isteği aynı anda yönetebilmek

- API'lerden kolaylıkla veri çekebilmek.

Android projenize Volley kütüphanesini entegere edebilmek için module seviyesindeki build.gradle dosyasına aşağıdaki dependency satırını eklemelisiniz:

implementation 'com.android.volley:volley:1.1.1'

android add dependency

implementation satırını kopyalayarak dependency'lerin sonuna eklediğinizde Android Studio'da sağ üstte Sync Now yazısı belirecektir. Bu düğmeye bastığınızda gerekli kurulumlar projenize gerçekleştirilmiş olur.

Volley kütüphanesinin ücretsiz bir JSON API'si ile uygulamasını yapalım. Bunun için canı sıkılan kişilere aktivite önerisi yapan ücretsiz bir servis olan boredapi'yi kullanacağız.

https://www.boredapi.com/api/activity adresine girdiğinizde ve sayfayı tarayıcıda her güncellediğinizde API size farklı bir aktivite önerisinde bulunacaktır. Örneğin;

{"activity":"Make bread from scratch","type":"cooking","participants":1,"price":0.2,"link":"","key":"4809815","accessibility":0.2}

Bu JSON dosyasında;

activity: Aktivite

type: Tür

participants: aktivite için gerekli kişi sayısı

price: Maliyeti

link: Bağlantı

key: anahtar

accessibility: Erişim düzeyi

Şimdi bu API'yi Android uygulamamıza Volley kütüphanesi ile entegre ederek basit bir uygulama geliştirelim.

Not: API url'si mutlaka https ile başlamalıdır, http ile başlayan url'ler hata verecektir.

Not 2 : Uygulamanın çalışabilmesi için AndroidManifest.xml dosyasından internete erişim izni verilmelidir.

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

MainActivity.java dosyası:

package com.utku33.aktivite;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonObjectRequest;
import com.android.volley.toolbox.Volley;
import org.json.JSONObject;

public class MainActivity extends AppCompatActivity {

    RequestQueue requestQueue;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        requestQueue = Volley.newRequestQueue(this);

        JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET,
                "https://www.boredapi.com/api/activity",
                null,
                new Response.Listener<JSONObject>() {
                    @Override
                    public void onResponse(JSONObject response) {
                        Log.i("Erişim başarılı", response + " ");
                    }
                }, new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    Log.e("API response hatası", error.getMessage());
                }
            });

        requestQueue.add(jsonObjectRequest);

    }
}

Logcat çıktısı:

I/Erişim başarılı: {"activity":"Conquer one of your fears","type":"recreational","participants":1,"price":0.1,"link":"","key":"8344539","accessibility":0.1} 

 

utku33

20.02.2021 00:23

Bu soru henüz yanıtlanmamış.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
Android ile Volley Kütüphanesi Kullanımı Örneği

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.