0
내 안드로이드 애플 리케이션에서 게시물을 받고 있지 않습니다. MainActivity에 대한 내 소스 코드입니다.안드로이드에서 wordpress json 파싱
Android 기기에서 직접이 앱을 실행하고 있습니다. 또한 장치에서 인터넷 연결을 사용할 수 있습니다. 그것은 단지 로딩 게시물을 보여주고 mothing 발생 .. :(
내 안드로이드 애플 리케이션에서 게시물을 받고 있지 않습니다. MainActivity에 대한 내 소스 코드입니다.안드로이드에서 wordpress json 파싱
Android 기기에서 직접이 앱을 실행하고 있습니다. 또한 장치에서 인터넷 연결을 사용할 수 있습니다. 그것은 단지 로딩 게시물을 보여주고 mothing 발생 .. :(
당신에게 웹에서 JSON을 얻을 수 있습니까
public class MainActivity extends Activity {
ListView postList;
ArrayList<String> postArrayList=new ArrayList<String>();
ArrayAdapter<String> postAdapter;
Context context;
String feedUrl="http://www.aurangabadhq.com/?json=get_recent_posts";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
context=this;
postList = (ListView) findViewById(R.id.postList);
postAdapter = new ArrayAdapter<String>(this,R.layout.post_list_item, postArrayList);
postList.setAdapter(postAdapter);
PostListTask loaderTask=new PostListTask();
loaderTask.execute();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public class PostListTask extends AsyncTask<Void,Void,Void>{
ProgressDialog dialog;
@Override
protected void onPreExecute() {
dialog= new ProgressDialog(context);
dialog.setTitle("Loading Posts...");
dialog.show();
super.onPreExecute();
}
@Override
protected Void doInBackground(Void... params)
{
HttpClient client=new DefaultHttpClient();
HttpGet getRequest=new HttpGet(feedUrl);
try {
HttpResponse response=client.execute(getRequest);
StatusLine StatusLine= response.getStatusLine();
int statusCode=StatusLine.getStatusCode();
if(statusCode !=200)
{
return null;
}
InputStream jsonStream=response.getEntity().getContent();
BufferedReader reader=new BufferedReader(new InputStreamReader(jsonStream));
StringBuilder builder=new StringBuilder();
String line;
while((line=reader.readLine())!=null)
{
builder.append(line);
}
String jsonData=builder.toString();
JSONObject json=new JSONObject(jsonData);
JSONObject object=new JSONObject("object");
JSONArray posts=new JSONArray("posts");
for(int i=0;i<posts.length();i++)
{
JSONObject post=posts.getJSONObject(i);
postArrayList.add(post.getString("title"));
}
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
dialog.dismiss();
postAdapter.notifyDataSetChanged();
super.onPostExecute(aVoid);
}
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
을이 시도 : 만약
JSONObject json=new JSONObject(jsonData);
JSONArray posts = json.getJSONArray("posts");
for(int i = 0; i < posts.length(); i++) {
JSONObject post=posts.getJSONObject(i);
postArrayList.add(post.getString("title"));
}
확실하지 않음 당신의 json을 검사하지 않았으므로이 작업이 가능합니다. jsonData 문자열을 기록하여 네트워크에서 json을 얻는 지 확인하십시오.
빠른 응답을위한 고맙습니다 ..하지만 여전히 .. 아무 것도 보여주지 않습니다. 내 json을 확인하시기 바랍니다 .. 내가 코드에서 오류가없는 것 같아요 .. 당신은 내 json 여기 "http://www.aurangabadhq.com/?json=get_recent_posts" –
그래서 Log.d ("YourApp ", jsonData); while 문 바로 뒤에는 Logcat에 아무것도 표시되지 않습니까? – user3482211
ddms : 디버거 용 로컬 8600에 바인드 할 수 없음 ddmlib : 호스트 시스템의 소프트웨어에서 설정된 연결이 중단되었습니다. java.io.IOException : 호스트 시스템의 소프트웨어에서 설정된 연결이 중단되었습니다. \t at sun .nio.ch.SocketDispatcher.write0 (네이티브 메소드) \t at sun.nio.ch.SocketDispatcher.write (SocketDispatcher.java:51) \t at sun.nio.ch.IOUtil.writeFromNativeBuffer (IOUtil.java:93) sun.nio.ch.IOUtil.write (IOUtil.java:65) sun.nio.ch.SocketChannelImpl.write (SocketChannelImpl.java:487) –