Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android json中的HTTP Get请求_Java_Android_Json_Http_Get - Fatal编程技术网

Java Android json中的HTTP Get请求

Java Android json中的HTTP Get请求,java,android,json,http,get,Java,Android,Json,Http,Get,嗨,我不明白为什么这不起作用,我正在尝试检索指定url中“offer”之后的内容,然后显示它,但当我在android屏幕上单击offer按钮时,什么都没有发生。如果可以的话,请帮忙。我在舱单上有上网许可 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import org.apache.http.Http

嗨,我不明白为什么这不起作用,我正在尝试检索指定url中“offer”之后的内容,然后显示它,但当我在android屏幕上单击offer按钮时,什么都没有发生。如果可以的话,请帮忙。我在舱单上有上网许可

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONArray;
import org.json.JSONObject;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.widget.ListView;
公共类LoggedIn扩展活动{

AlertDialog alertDialogStores;
ObjectItem[] ObjectItemData = new ObjectItem[5];    

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.logged_in);


    // a button to show the pop up with a list view
    View.OnClickListener handler = new View.OnClickListener(){
        public void onClick(View v) {
            switch (v.getId()) {                    

                case R.id.buttonShowPopUp:
                LoaderTask task = new LoaderTask();
                 task.execute();
                    break;
            }
        }
    };

    findViewById(R.id.buttonShowPopUp).setOnClickListener(handler);

}


class LoaderTask extends AsyncTask<Void , Void ,String>{
    ProgressDialog progressDialog ;
    public LoaderTask(){
        progressDialog = new ProgressDialog(SplashActivity.this);
        progressDialog.setIndeterminate(false);
        progressDialog.setCancelable(false);
        progressDialog.setMessage("Loading app data...");
    }

    @Override
    protected void onPreExecute() {
        super.onPreExecute();

        progressDialog.show();
    }

    @Override
    protected String doInBackground(Void... params) {

        return  connect("http://ec2-54-175-18-179.compute-1.amazonaws.com/customers/37.json");
    }

    @Override
    protected void onPostExecute(String result) {
        super.onPostExecute(result);
        progressDialog.dismiss();
        showPopUp(result);
    }
}

private String convertStreamToString(InputStream is) {
    BufferedReader reader = new BufferedReader(new InputStreamReader(is));
    StringBuilder sb = new StringBuilder();

    String line = null;
    try {
        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }
    } catch (IOException e) {
        e.printStackTrace();
    } finally {
        try {
            is.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    return sb.toString();
}

public String connect(String url)
{
    HttpClient httpclient = new DefaultHttpClient();
    HttpGet httpget = new HttpGet(url);
    HttpResponse response;
    try {
        response = httpclient.execute(httpget);
        //Log.i(TAG,response.getStatusLine().toString());
        HttpEntity entity = response.getEntity();
        if (entity != null) {
            InputStream instream = entity.getContent();
            String result= convertStreamToString(instream);
            instream.close();
            return result;
        }
    } catch (ClientProtocolException e) {
    } catch (IOException e) {
    }
    return null;
}

public void showPopUp(String result){
    try{
        JSONArray jsonArray = new JSONArray(result);
        for(int i = 0 ; i <= 5 ; i++){
            JSONObject o = jsonArray.getJSONObject(i);
            String http_response = o.getString("offer");
            System.out.println("test   "+http_response);
            //ObjectItemData[i] = new ObjectItem(o);

            ObjectItemData[0] = new ObjectItem(http_response);
            ObjectItemData[1] = new ObjectItem(http_response);
            ObjectItemData[2] = new ObjectItem(http_response);
            ObjectItemData[3] = new ObjectItem(http_response);
            ObjectItemData[4] = new ObjectItem(http_response);

            // adapter instance
            ArrayAdapterItem adapter = new ArrayAdapterItem(this, R.layout.list_view_row_item, ObjectItemData);

            // create a new ListView, set the adapter and item click listener
            ListView listViewItems = new ListView(this);
            listViewItems.setAdapter(adapter);
            listViewItems.setOnItemClickListener(new OnItemClickListenerListViewItem());

            // put the ListView in the pop up
            alertDialogStores = new AlertDialog.Builder(LoggedIn.this)
                .setView(listViewItems)
                .setTitle("Offers")
                .show();

        }
    } catch(Exception e){e.printStackTrace();}
    finally{System.out.println("Success");

    }
}
AlertDialog alertDialogStores;
ObjectItem[]ObjectItemData=新ObjectItem[5];
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.logged_in);
//显示带有列表视图的弹出窗口的按钮
View.OnClickListener处理程序=新视图。OnClickListener(){
公共void onClick(视图v){
开关(v.getId()){
案例R.id.按钮显示弹出窗口:
LoaderTask任务=新建LoaderTask();
task.execute();
打破
}
}
};
findViewById(R.id.buttonShowPopUp).setOnClickListener(处理程序);
}
类LoaderTask扩展了AsyncTask{
进行对话进行对话;
公共加载任务(){
progressDialog=新建progressDialog(SplashActivity.this);
progressDialog.setUndeterminate(false);
progressDialog.setCancelable(假);
setMessage(“正在加载应用程序数据…”);
}
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
progressDialog.show();
}
@凌驾
受保护字符串doInBackground(无效…参数){
返回连接(“http://ec2-54-175-18-179.compute-1.amazonaws.com/customers/37.json");
}
@凌驾
受保护的void onPostExecute(字符串结果){
super.onPostExecute(结果);
progressDialog.disclose();
显示弹出窗口(结果);
}
}
私有字符串convertStreamToString(InputStream为){
BufferedReader reader=新的BufferedReader(新的InputStreamReader(is));
StringBuilder sb=新的StringBuilder();
字符串行=null;
试一试{
而((line=reader.readLine())!=null){
sb.追加(第+行“\n”);
}
}捕获(IOE异常){
e、 printStackTrace();
}最后{
试一试{
is.close();
}捕获(IOE异常){
e、 printStackTrace();
}
}
使某人返回字符串();
}
公共字符串连接(字符串url)
{
HttpClient HttpClient=新的DefaultHttpClient();
HttpGet HttpGet=新的HttpGet(url);
HttpResponse响应;
试一试{
response=httpclient.execute(httpget);
//Log.i(标记,response.getStatusLine().toString());
HttpEntity=response.getEntity();
如果(实体!=null){
InputStream instream=entity.getContent();
字符串结果=convertStreamToString(流内);
流内关闭();
返回结果;
}
}捕获(客户端协议例外e){
}捕获(IOE异常){
}
返回null;
}
公共无效显示弹出窗口(字符串结果){
试一试{
JSONArray JSONArray=新JSONArray(结果);
对于(int i=0;i
类装入器任务扩展异步任务{
进行对话进行对话;
公共加载任务(){
progressDialog=新建progressDialog(SplashActivity.this);
progressDialog.setUndeterminate(false);
progressDialog.setCancelable(假);
setMessage(“正在加载应用程序数据…”);
}
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
progressDialog.show();
}
@凌驾
受保护字符串doInBackground(无效…参数){
返回连接(“http://ec2-54-175-18-179.compute-1.amazonaws.com/customers/37.json");
}
@凌驾
受保护的void onPostExecute(字符串结果){
super.onPostExecute(结果);
progressDialog.disclose();
显示弹出窗口(结果);
}
}
私有字符串convertStreamToString(InputStream为){
BufferedReader reader=新的BufferedReader(新的InputStreamReader(is));
StringBuilder sb=新的StringBuilder();
字符串行=null;
试一试{
而((line=reader.readLine())!=null){
sb.追加(第+行“\n”);
}
}捕获(IOE异常){
e、 printStackTrace();
}最后{
试一试{
is.close();
}捕获(IOE异常){
e、 printStackTrace();
}
}
使某人返回字符串();
}
公共字符串连接(字符串url)
{
HttpClient HttpClient=新的DefaultHttpClient();
HttpGet HttpGet=新的HttpGet(url);
HttpResponse响应;
试一试{
response=httpclient.execute(httpget);
//Log.i(标记,response.getStatusLine().toString());
HttpEntity=response.getEntity();
如果(实体!=null){
InputStream instream=entity.getContent();
字符串结果=convertStreamToString(流内);
流内关闭();
返回结果;
}
}捕获(客户端协议例外e){
}捕获(IOE异常){
}
返回null;
}
公共无效显示弹出窗口(字符串结果){
试一试{
JSONArray JSONArray=新JSONArray(结果);
for(int i=0;i
并称之为“完成任务” 新建LoaderTask().execute();

   class LoaderTask extends AsyncTask<Void , Void ,String>{
        ProgressDialog progressDialog ;
        public LoaderTask(){
            progressDialog = new ProgressDialog(SplashActivity.this);
            progressDialog.setIndeterminate(false);
            progressDialog.setCancelable(false);
            progressDialog.setMessage("Loading app data...");
        }

        @Override
        protected void onPreExecute() {
            super.onPreExecute();

            progressDialog.show();
        }

        @Override
        protected String doInBackground(Void... params) {

            return  connect("http://ec2-54-175-18-179.compute-1.amazonaws.com/customers/37.json");
        }

        @Override
        protected void onPostExecute(String result) {
            super.onPostExecute(result);
            progressDialog.dismiss();
            showPopUp(result);
        }
    }

    private String convertStreamToString(InputStream is) {
        BufferedReader reader = new BufferedReader(new InputStreamReader(is));
        StringBuilder sb = new StringBuilder();

        String line = null;
        try {
            while ((line = reader.readLine()) != null) {
                sb.append(line + "\n");
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                is.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return sb.toString();
    }

    public String connect(String url)
    {
        HttpClient httpclient = new DefaultHttpClient();
        HttpGet httpget = new HttpGet(url);
        HttpResponse response;
        try {
            response = httpclient.execute(httpget);
            //Log.i(TAG,response.getStatusLine().toString());
            HttpEntity entity = response.getEntity();
            if (entity != null) {
                InputStream instream = entity.getContent();
                String result= convertStreamToString(instream);
                instream.close();
                return result;
            }
        } catch (ClientProtocolException e) {
        } catch (IOException e) {
        }
        return null;
    }

    public void showPopUp(String result){
        try{
            JSONArray jsonArray = new JSONArray(result);
            for(int i = 0 ; i <  jsonArray.length() ; i++){
                JSONObject o = jsonArray.getJSONObject(i);
                String http_response = o.getString("offer");
                System.out.println("test   "+http_response);
                ObjectItemData[i] = new ObjectItem(http_response);
            }

          //and populate your listview here
        } catch(Exception e){e.printStackTrace();}
        finally{System.out.println("Success");

        }

    }