php echo jst弹出,How do I print PHP echo on my android app?

连俊智
2023-12-01

问题

I'm fairly new to android and PHP programming and I am currently running into a problem printing my echo statement from my php page, which is as simple as:

echo "Hey there response!";

?>

What I am currently using in my MainActivity is:

setContentView(R.layout.activity_main);

TextView txtView = (TextView) findViewById(R.id.txt);

//ASYNC WAY

new GetData(txtView).execute("");

Where AsyncTask is defined by:

private class GetData extends AsyncTask{

private TextView display;

GetData(TextView view){

this.display = view;

display = (TextView) findViewById(R.id.txt);

}

protected String doInBackground(String... message){

HttpClient httpclient;

HttpGet request;

HttpResponse response = null;

String result = "error0";

try{

httpclient = new DefaultHttpClient();

request = new HttpGet("http://localhost/php/wamp.php");

response = httpclient.execute(request);

} catch (Exception e){

result = "error1";

}

try{

BufferedReader rd = new BufferedReader(new InputStreamReader(

response.getEntity().getContent()));

String line="";

while((line = rd.readLine()) != null){

result = result + line;

}

} catch(Exception e){

result = "error2";

}

return result;

}

protected void onPostExecute(String result){

this.display.setText(result);

}

}

The message in the txtView becomes error2, and I have no idea why.

EDIT

I was originally using a non-AsyncTask method of reading in input stream but I have switch to AsyncTask due to Networking error. The problem still persists though since I am not getting the corrent echo in my application.

回答1:

This is probably too late for yanki but for anybody else that comes across this page.

I tried it with yanki's code and got the same error as him "error 2". I noticed then that I hadn't updated the manifest file to allow internet permissions.

I ran it again and it worked perfectly. So using yanki's code and entering the internet permissions in the manifest file the program should work.

回答2:

Try this,

The problem was you are reading it as byte, you weren't converting it back to char

private String readStream(String url) {

try {

HttpClient httpclient = new DefaultHttpClient();

HttpPost httppost = new HttpPost(Url);

HttpResponse response = httpclient.execute(httppost);

HttpEntity entity = response.getEntity();

InputStream is = entity.getContent();

String result = "";

// convert response to string

new BufferedReader(new InputStreamReader(is, "UTF-8"), 8);

StringBuilder sb = new StringBuilder();

InputStreamReader r = new InputStreamReader(is, "UTF-8");

int intch;

while ((intch = r.read()) != -1) {

char ch = (char) intch;

// Log.i("app", Character.toString(ch));

String s = new String(Character.toString(ch).getBytes(), "UTF-8");

sb.append(s);

}

is.close();

result = sb.toString();

} catch (Exception e) {

Log.e(TAG, "Error converting result " + e.toString());

}

}

回答3:

Why dont you jst use JSON or XML in sending whatever value you want to be displayed in your android app... try these try these

来源:https://stackoverflow.com/questions/22177821/how-do-i-print-php-echo-on-my-android-app

 类似资料: