0

私はphpからデータを取得しようとしています.私が直面している問題は、データが巨大な場合にAndroid側で値の半分しか受信されていないことですが、ブラウザからphpページのみを呼び出すと完全な値が得られます.

これがコードです。これはデータ値の小さなセットに対して機能しますが、完全な結果は得られません。

サーバーからデータを取得するための asyncTalk の呼び出し

  DownloadMenu loadData = new DownloadMenu(AdminOperationActivity.this);
                            loadData.execute(ServerPath+"data.php");





public class DownloadMenu extends AsyncTask<String, Void, String>
     {
         ProgressDialog pd;
         Context context;

     public DownloadMenu(Context context) {
            this.context = context;
            pd = new ProgressDialog(context);   
        }
     @Override
     protected void onPreExecute(){

            pd.setMessage("Please wait Downloading Menu...");
            pd.setCancelable(false);
            pd.show();
        }
    @Override
    protected String doInBackground(String... urls) {
            // TODO Auto-generated method stub
        String output = null;
        for (String url : urls) {
            output = getOutputFromUrl(url);
        }
        return output;
    }     
    @Override
    protected void onPostExecute(String output) 
            {
                if (pd.isShowing()) {


                        pd.dismiss();
                }   
            }


    private String getOutputFromUrl(String url) {

        try {
            DefaultHttpClient httpClient = new DefaultHttpClient();
            HttpPost httpPost = new HttpPost(url);
            List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(
                    1);
            nameValuePairs.add(new BasicNameValuePair("hid", edHotelId.getText().toString().trim()));
            httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
            ResponseHandler<String> responseHandler = new BasicResponseHandler();
            String responseBody = httpClient.execute(httpPost,
                    responseHandler);
            Log.d("Hotel Menu Output",responseBody);

        return url;
    }
 }
4

0 に答える 0