나는 안드로이드에서 새로운 서비스 응답을 얻고 있습니다. 그러나 서비스 URL은 browser.when에서 실행 중입니다. 앱 화면을 실행하면 화면이 공백으로 표시되고 서비스가 제공되지 않습니다. 친절하게 저를 도와주세요.OKHttp를 사용하여 나의 편안한 서비스 응답을 얻으십시오
내 조각 :
public class SpecificCountryScholorshipsFragment extends Fragment {
OKHttpRequest okHttpRequest = new OKHttpRequest();
ArrayList<ScholorshipsModel> arrayList;
ListView list
/***********************************************************************************/
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
try {
String getResponse = okHttpRequest.doGetRequest("http://192.168.100.7/scholar/web/app.php/scholarship");
if (getResponse != null) {
//Toast.makeText(getActivity(), getResponse, Toast.LENGTH_LONG).show();
JSONArray jArray = new JSONArray(getResponse);
for (int i = 0; i < jArray.length(); i++) {
JSONObject jRealObject = jArray.getJSONObject(i);
ScholorshipsModel model = new ScholorshipsModel();
model.setScholorship_name(jRealObject.getString("name"));
model.setScholorship_detail(jRealObject.getString("details"));
model.setScholorship_pic(jRealObject.getString("picture"));
arrayList.add(model);
setAdapterValue();
}
}
View view = inflater.inflate(R.layout.scholorship_listing_main, container, false);
list = (ListView) view.findViewById(R.id.Scholorshiplist);
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(getActivity(), "List is clicked ", Toast.LENGTH_LONG).show();
Intent intent = new Intent(getActivity(), ScholorshipDetailActivity.class);
getActivity().startActivity(intent);
}
});
return view;
} catch (JSONException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
/***********************************************************************************/
private void setAdapterValue() {
ScholorshipAdapter adapter = new ScholorshipAdapter(getActivity(), R.layout.scholorship_listing, arrayList);
list.setAdapter(adapter);
}
}
OKHttp 클래스 :
public class OKHttpRequest {
OkHttpClient client = new OkHttpClient();
public static final MediaType JSON
= MediaType.parse("application/json; charset=utf-8");
public String doGetRequest(String url) throws IOException {
try {
Request request = new Request.Builder()
.url(url)
.build();
Response response = client.newCall(request).execute();
return response.body().string();
}
catch (Exception e){
e.printStackTrace();
}
return null;
}
String doPostRequest(String url, String json) throws IOException {
RequestBody body = RequestBody.create(JSON, json);
Request request = new Request.Builder()
.url(url)
.post(body)
.build();
Response response = client.newCall(request).execute();
return response.body().string();
}}
PHP 서비스를 사용하는 경우 브라우저에서 응답을 받지만 모바일에서 API를 호출 할 때 진술을 반향하므로 서비스를 확인하십시오. –
서비스가 제대로 작동하지만 Android에서 호출 할 때 null 응답을 제공합니다 @NoumanShah –
응답 양식 서비스가 나타나지 않아서 오류가 서비스에 있어야한다고 생각합니다. –