کار با API در اپلیکیشن اندروید
کار با API در اپلیکیشن اندروید

خب در ابتدای کار ما یک متغیر از نوع لیست و یک Request network نیاز داریم

private HashMap api_all = new HashMap<>(); 	 

private RequestNetwork api; 	

private RequestNetwork.RequestListener _api_request_listener;

خب در کد های بالا هردو آنها را تعریف کردیم حالا باید تعیین کنیم که اگر مشکلی وجود نداشت و درخواست با موفقیت به API ارسال شد نتیجه JSON را در یک متغیر مپ که با نام api_all تعریف کردیم ذخیره کند 

private void initialize(Bundle _savedInstanceState) { 		 		api = new RequestNetwork(this); 		 		_api_request_listener = new RequestNetwork.RequestListener() { 			@Override 			public void onResponse(String _param1, String _param2) { 				final String _tag = _param1; 				final String _response = _param2; 				
api_all = new Gson().fromJson(_response, new TypeToken>(){}.getType()); 			}

 در کد های بالا تمام نتیجه json را ذخیره کردیم یعنی وقتی درخواست ارسال شد نتیجه در متغیر لیست ذخیره میشود .

حالا باید درخواست را به API ارسال کنیم

این کد را در صفحه اصلی قرار میدهیم تا همین که اپلیکیشن باز شد درخواست ارسال شود

private void initializeLogic() { 
		
api.startRequestNetwork(RequestNetworkController.GET, "https://api.com", "", _api_request_listener); 	
}

در کد بالا درخواست را ارسال کردیم ، تا الان به صورت کامل توانستیم به API درخواست ارسال کنیم و نتیجه را ذخیره کنیم 

اکنون یاد میگیریم که چگونه اطلاعات را که در متغیر api_all قرار دادیم را استخراج کنیم 

 

(اطلاعات مانندِ : یک آرایه ، یک رشته ، یک آبجکت .... ) 

private String query = "";

خب در کد بالا ابتدا یک متغیر ایجاد کردیم با نام query که آبجکت مورد نظر رو در این متغیر استخراج کنیم 

query = api_all.get("person1").toString();

در کد بالا متغیر query را برابر کردیم با یک آبجکت person1 این آبجکت از همان نتیجه json است که در متغیر api_all ذخیره کرده ایم

 

کد بالا صرفا یک مثال بود شما میتوانید هر آبجکتی که در فایل JSON به دست آورده اید را به شکل بالا در هر کجا که میخواهید از متغیر مپ مورد نظرتان که نتیجه را در آن ذخیره کردید به دست آورید

طراحی اپلیکیشن اندروید | طراحی وب سایت | شرکت ایده پردازان پاراکس

  • logo-samandehi
  • logo-nezam-senfi
  • samane-tadarokat-electronic
  • logo-bakutel
  • انجمن صنفی کارفرمایی فروشگاه های اینترنتی شهر تهران