آموزش دریافت زمان از Api در اندروید
سلام دوستان در این سری از آموزش برنامه نویسی اندروید به آموزش دریافت زمان از Api در اندروید می پردازیم ما در اینجا Api سفارشی خودمان را با استفاده از php ایجاد می کنیم در ادامه با ما همراه باشید.
api ما در آدرس زیر وجود دارد.
1 | https://programchi.ir/api/time.php |
کد php آن برابر با زیر می باشد.
1 2 3 4 5 6 7 | <?php header('Content-Type: application/json'); date_default_timezone_set("Asia/Tehran"); $time = date("g:i:s"); $data[] = array('id'=> '1', 'time' => $time); echo json_encode($data); ?> |
کد بالا زمان را از سرور می گیرد و به صورت یک json برمی گرداند در بالا تهران به عنوان ساعت زمان تنظیم شده است.
در صورتی که کد بالا را اجرا کنید یک json همانند زیر را مشاهده خواهید کرد.
1 2 3 4 5 | [ {"id":"1", "time":"8:16:00" } ] |
البته زمان آن متفاوت خواهد بود.
وارد فایل Build.gradle از نوع Module شده و در بخش dependencies خط زیر را اضافه کنید.
1 | compile 'com.android.volley:volley:1.0.0' |
پروژه را sync کنید ما از کتاب خانه volley برای پارس (Parse) یا همان تجزیه json استفاده می کنیم.
وارد MainActivity.java شده کد زیر را در آن قرار دهید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | package ir.php; import android.app.Activity; import android.content.Context; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.Toast; 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.JsonArrayRequest; import com.android.volley.toolbox.Volley; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; public class MainActivity extends AppCompatActivity { private String mJSONURLString = "https://programchi.ir/api/time.php"; private Context mContext; private Activity mActivity; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mContext = getApplicationContext(); mActivity = MainActivity.this; RequestQueue requestQueue = Volley.newRequestQueue(mContext); JsonArrayRequest jsonArrayRequest = new JsonArrayRequest( Request.Method.GET, mJSONURLString, null, new Response.Listener<JSONArray>() { @Override public void onResponse(JSONArray response) { try { for (int i = 0; i < response.length(); i++) { JSONObject student = response.getJSONObject(i); String time = student.getString("time"); Toast.makeText(MainActivity.this, time, Toast.LENGTH_SHORT).show(); } } catch (JSONException e) { e.printStackTrace(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { } } ); requestQueue.add(jsonArrayRequest); } } |
در بالا مقدار time از سرور گرفته شده و یک Toast برای شما نمایش پیدا می کند همانطور که می بینید از کتاب خانه volley برای پارس json استفاده کردیم کتاب خانه بسیار قوی است.
این آموزش هم به پایان رسید.
موفق و پیروز باشید.
داداش خیلی ممنون که اینقدر سریع پیگیری میکنی
سایت خیلی خوبی داری تا میتونم تبلیغتو میکنم
خواهش می کتم شما لطف داری ممنون.
موفق و پیروز باشید.