Volley দিয়ে সিম্পল একটা রিকোয়েস্ট কিভাবে করা যায় তা দেখব।
Volley ব্যবহার করার জন্য আমাদের লাইব্রেরীটা যুক্ত করতে হবে। যুক্ত করার জন্য app lebel গ্রেডেল ফাইলে নিজের ডিপেন্ডেন্সিটা যুক্ত করে দিবঃ
compile 'com.mcxiaoke.volley:library:1.0.19'
নেটওয়ার্ক রিকোয়েস্ট করার জন্য আমাদের ইন্টারনেট পারমিশন লাগবে। Manifests এ ইন্টারনেট পারমিশন যুক্ত করবঃ
<uses-permission android:name="android.permission.INTERNET"/>
এবার আমরা রিকোয়েস্ট করতে প্রস্তুত। আমরা সিম্পল স্ট্রিং রিকোয়েস্ট করব। যে কোন URL এ রিকোয়েস্ট করতে পারব এখন। ঐ URL যা থাকবে, তা স্ট্রিং আকারে রিটার্ন করবে। মেথডটিঃ
private void volleyStringRequest(){ StringRequest stringRequest = new StringRequest(JSON_URL, new Response.Listener<String>() { @Override public void onResponse(String response) { Log.d("Result", response); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Toast.makeText(MainActivity.this, error.getMessage(), Toast.LENGTH_LONG).show(); } }); RequestQueue requestQueue = Volley.newRequestQueue(this); requestQueue.add(stringRequest); }
রিকোয়েস্ট করার পর যে রেসপন্স পাবো, তা আমরা Log এ প্রিন্ট দিয়েছি।
সম্পূর্ণ MainActivity.java:
import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.widget.Toast; import com.android.volley.RequestQueue; import com.android.volley.Response; import com.android.volley.VolleyError; import com.android.volley.toolbox.StringRequest; import com.android.volley.toolbox.Volley; public class MainActivity extends AppCompatActivity { public static final String JSON_URL = "https://www.google.com"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); volleyStringRequest(); } private void volleyStringRequest(){ StringRequest stringRequest = new StringRequest(JSON_URL, new Response.Listener<String>() { @Override public void onResponse(String response) { Log.d("Result", response); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Toast.makeText(MainActivity.this, error.getMessage(), Toast.LENGTH_LONG).show(); } }); RequestQueue requestQueue = Volley.newRequestQueue(this); requestQueue.add(stringRequest); } }
এখন আমরা ইচ্ছে করলে এই রেসপন্স কে ভিউতে দেখাতে পারি। তা নিজে নিজে চেষ্টা করতে পারেন।
JSON Array Request করতে চাইলেঃ
private void volleyJsonArrayRequest(){ JsonArrayRequest arrayRequest = new JsonArrayRequest("http://jakir.me/files/post.json", new Response.Listener<JSONArray>() { @Override public void onResponse(JSONArray response) { Log.d("Array request", response.toString()); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Toast.makeText(MainActivity.this, error.getMessage(), Toast.LENGTH_LONG).show(); } }); RequestQueue requestQueue = Volley.newRequestQueue(this); requestQueue.add(arrayRequest); }
JSON Object রিকোয়েস্ট করার জন্যঃ
private void volleyJsonObjectRequest(){ JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.GET, "http://jakir.me/files/simple.json", new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { Log.d("Object request data", response.toString()); } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Toast.makeText(MainActivity.this, error.getMessage(), Toast.LENGTH_LONG).show(); } }); RequestQueue requestQueue = Volley.newRequestQueue(this); requestQueue.add(jsonObjReq); }
ধন্যবাদ ভাই
thanks bro.