android中的wordpress json解析
我没有在我的Android应用程序中获得帖子。这是我的MainActivity源代码 我正在Android设备上直接运行此应用程序。并且在我的设备上启用了Internet连接。它仅显示加载柱和封存发生的情况..:android中的wordpress json解析,android,json,wordpress,Android,Json,Wordpress,我没有在我的Android应用程序中获得帖子。这是我的MainActivity源代码 我正在Android设备上直接运行此应用程序。并且在我的设备上启用了Internet连接。它仅显示加载柱和封存发生的情况..: public class MainActivity extends Activity { ListView postList; ArrayList<String> postArrayList=new ArrayList<String>(); ArrayAdap
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);
}
}您能够从web获取Json吗 试试这个:
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 Thanx用于快速响应。。但是。。什么也看不出来。!请检查我的json。。我想代码中没有错误。。你可以在这里检查我的json,所以如果你把Log.dYourApp,jsonData;就在while声明之后,Logcat中是否显示任何内容?ddms:无法绑定到调试器的本地8600 ddmlib:已建立的连接被主机中的软件中止java.io.IOException:已建立的连接被主机中的软件中止,位于sun.nio.ch.SocketDispatcher.write0Native方法java:51在sun.nio.ch.IOUtil.writeFromNativeBufferIOUtil.java:93在sun.nio.ch.IOUtil.WriteOutil.java:65在sun.nio.ch.SocketChannelImpl.writeSocketChannelImpl.java:487com.android.ddmlib.jdPacket.WriteAndConsumejdPacket.java:213在com.andAndroid.ddmlib.Client.sendAndConsumeClient.java:675java:342在com.android.ddmlib.Client.requestAllocationStatusClient.java:521在com.android.ddmlib.DeviceMonitor.createClientDeviceMonitor.java:831在com.android.ddmlib.DeviceMonitor.openClientDeviceMonitor.java:799在com.android.ddmlib.DeviceMonitor.deviceClientMonitorLoopDeviceMonitor.java:617位于com.android.ddmlib.DeviceMonitor.access$100DeviceMonitor.java:44位于$3.runDeviceMonitor.java:576