ce code fonctionne très bien sur émulateur, mais sur l'appareil réel, il donnejava.net.SocketException: temps de fonctionnement lorsque l'application en cours d'exécution sur l'appareil réel
java.net.SocketException: l'opération a expiré J'ai un script php en cours d'exécution sur mon serveur xampp.
package com.example.new1;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.TextView;
public class MainActivity extends Activity {
TextView tx;
StringBuilder stringBuilder;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tx= (TextView)findViewById(R.id.text);
}
public void func(View view)
{
//tx.setText("Working fine till here.");
new FetchSQL().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.activity_main, menu);
return true;
}
private class FetchSQL extends AsyncTask<String,Void,String>
{
@Override
protected String doInBackground(String... arg0) {
URL url = null;
BufferedReader reader = null;
String myUrl = "http://10.22.35.4:80/conc2.php";
try
{ url =new URL(myUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setReadTimeout(15*10000);
connection.connect();
reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
stringBuilder = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null)
{
stringBuilder.append(line + "\n");
}
// TODO Auto-generated method stub
return stringBuilder.toString();
}
catch(final Exception e)
{
return e.toString();
}
}
protected void onPostExecute(final String result)
{
tx.setText(result);
}
}
}
quand je clique sur le bouton, il prend la amt de jeu ive de temps dans mon code, et ne puis me donner l'erreur dans mon textview. S'il vous plaît aider
mon code php.
<?php
// attempt a connection
$dbh = pg_connect("host=10.22.35.11 dbname=iwmp_dev2 user=postgres ");
if (!$dbh) {
die("Error in connection: " . pg_last_error());
}
// execute query
//$sql = $_POST['pLat'];
$sql = "SELECT officer_name FROM iwmp_officer";
$result = pg_query($dbh, $sql);
if (!$result) {
die("Error in SQL query: " . pg_last_error());
}
$array = array();
// iterate over result set
// print each row
while ($row = pg_fetch_assoc($result, null)) {
$i++;
$array = implode('+',$row);
echo $array;
}
// free memory
pg_free_result($result);
// close connection
pg_close($dbh);
?>
Où avez-vous placé votre fichier php? – Nitish
définir une expiration de connexion http pour votre connexion http http://stackoverflow.com/questions/3075506/http-connection-timeout-on-android-not-working – Raghunandan
S'il vous plaît, reportez-vous à ce post, il peut être utile http: //stackoverflow.com/q/8240338/1292544 – Nitish