J'ai la base de données sur mon localhost (XAMPP), je fais l'application qui va chercher les données de la base de données. Je peux voir ma base de données dans le navigateur. Mais ne peut pas voir sur mon appareil Android. Pouvez-vous aider: j'ai ajouté la permission InternetImpossible d'extraire les données de ma base de données, serveur localhost
Voici mon code:
public class MainActivity extends AppCompatActivity {
String JSON_STRING;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void getJSON(View view){
new BackgroundTask().execute();
}
class BackgroundTask extends AsyncTask{
String json_url;
@Override
protected void onPreExecute() {
json_url="http://10.0.2.2/ContactDB/readdata.php";
}
@Override
protected String doInBackground(Object[] params) {
try {
URL url=new URL(json_url);
HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection();
InputStream inputStream=httpURLConnection.getInputStream();
BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(inputStream));
StringBuilder stringBuilder=new StringBuilder();
while((JSON_STRING=bufferedReader.readLine())!=null){
stringBuilder.append(JSON_STRING+"\n");
}
bufferedReader.close();
inputStream.close();
httpURLConnection.disconnect();
return stringBuilder.toString().trim();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onProgressUpdate(Object[] values) {
super.onProgressUpdate(values);
}
@Override
protected void onPostExecute(Object o) {
TextView textView = (TextView) findViewById(R.id.textview);
textView.setText((CharSequence) o);
}
}
}
Et ceci est ma part de serveur PHP, il fonctionne correctement, à mon avis quelque chose de mal avec mon JSON aller chercher une partie .
<?php
$servername = "127.0.0.1";
$username = "root";
$password = "12345";
$dbname = "contactsdb";
// Create connection
$connect = mysqli_connect($servername,$username,$password,$dbname);
if ($connect === false){
die ("Error:Couldn't connect");
}
$sql = "SELECT * FROM contacts";
$result = mysqli_query($connect, $sql);
$response = array();
while($row = mysqli_fetch_array($result)){
$output[]=$row;
}
print json_encode($output);
// Close connection
mysqli_close($connect);
?>
pouvez-vous ajouter votre structure json? –
Sur le navigateur il ressemble à ceci [{"0": "1", "id": "1", "1": "Hakob", "nom": "Hakob", "2": "abc @ email .com "," email ":" [email protected] "}, {" 0 ":" 2 "," id ":" 2 "," 1 ":" Arsen "," nom ":" Arsen ", "2": "[email protected]", "email": "[email protected]"}] –
utilisez retrofit et Gson =) – Natan