2016-06-11 5 views
0

Ich möchte eine Verbindung zu einer MySQL-Datenbank in Android und was ich versucht habe, funktioniert nicht. Meine PHP-Datei ist in Ordnung, ich habe es oft überprüft. Die Fehlermeldung, die ich erhalte, wenn ich auf den Login-Button klicke, ist dieser.Zum Verbinden der MySql-Datenbank von Android meine App, es verbindet sich nicht mit PHP-Datei zeigt Fehler

Exception: failed to connect to /127.0.0.1(port80):connect failed: ECONNREFUSED(Connection Refused) 

Hier ist mein Code mit PHP-Datei um eine Verbindung zu localhost einfügen Daten

package com.broken.nezamulislamar.mysqlblog_1; 
import android.content.Context; 
import android.os.AsyncTask; 
import android.widget.TextView; 

import org.apache.http.HttpResponse; 
import org.apache.http.client.HttpClient; 
import org.apache.http.client.methods.HttpGet; 
import org.apache.http.impl.client.DefaultHttpClient; 

import java.io.BufferedReader; 
import java.io.InputStreamReader; 
import java.io.OutputStreamWriter; 
import java.net.URI; 
import java.net.URL; 
import java.net.URLConnection; 
import java.net.URLEncoder; 

public class SigninActivity extends AsyncTask<String,Void,String>{ 
private TextView statusField,roleField; 
private Context context; 
private int byGetOrPost = 0; 

//flag 0 means get and 1 means post.(By default it is get.) 
public SigninActivity(Context context,TextView statusField,TextView roleField,int flag) { 
    this.context = context; 
    //this.statusField = statusField; 
    //this.roleField = roleField; 
    byGetOrPost = flag; 
} 

protected void onPreExecute(){ 

} 

@Override 
protected String doInBackground(String... arg0) { 
    if(byGetOrPost == 0){ //means by Get Method 

     try{ 
      String username = (String)arg0[0]; 
      String password = (String)arg0[1]; 
      String link = "http://127.0.0.1/Client /jakir.php?username="+username+"& password="+password; 

      URL url = new URL(link); 
      HttpClient client = new DefaultHttpClient(); 
      HttpGet request = new HttpGet(); 
      request.setURI(new URI(link)); 
      HttpResponse response = client.execute(request); 
      BufferedReader in = new BufferedReader(new InputStreamReader(response.getEntity().getContent())); 

      StringBuffer sb = new StringBuffer(""); 
      String line=""; 

      while ((line = in.readLine()) != null) { 
       sb.append(line); 
       break; 
      } 
      in.close(); 
      return sb.toString(); 
     } 

     catch(Exception e){ 
      return new String("Exception: " + e.getMessage()); 
     } 
    } 
    else{ 
     try{ 
      String username = (String)arg0[0]; 
      String password = (String)arg0[1]; 

      String link="http://127.0.0.1/Client/jakir.php?"; 
      String data = URLEncoder.encode("name", "UTF-8") + "=" + URLEncoder.encode(username, "UTF-8"); 
      data += "&" + URLEncoder.encode("email", "UTF-8") + "=" + URLEncoder.encode(password, "UTF-8"); 

      URL url = new URL(link); 
      URLConnection conn = url.openConnection(); 

      conn.setDoOutput(true); 
      OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream()); 

      wr.write(data); 
      wr.flush(); 

      BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); 

      StringBuilder sb = new StringBuilder(); 
      String line = null; 

      // Read Server Response 
      while((line = reader.readLine()) != null) 
      { 
       sb.append(line); 
       break; 
      } 
      return sb.toString(); 
     } 
     catch(Exception e){ 
      return new String("Exception: " + e.getMessage()); 
     } 
    } 
} 

@Override 
protected void onPostExecute(String result){ 
    this.statusField.setText("Login Successful"); 
    this.roleField.setText(result); 
} 
} 

Antwort

0

Sie haben verbunden. I.E Ihr Android-Gerät, nicht der Server.

Sie können ipconfig oder ifconfig oder was auch immer Ihr Betriebssystem verwendet, um das ipv4 des Servers im lokalen Netzwerk zu finden.

Zum Beispiel, vielleicht 192.168.1.100

+0

Ich benutze PHP-Datei Link wie folgt, http://127.0.0.1/Client/jakir.php. 127.0.0.1 Verwendung als meine localhost ip. Mein Betriebssystem ist Windows8.1. Jetzt schlagen Sie mir vor, was kann ich tun. –

+0

Ja, und das ist falsch, wie ich in der Antwort erwähnt habe. Netzwerk 101 sagt Ihnen, dass '127.0.0.1' der localhost ist, der nicht funktioniert, es sei denn, Ihre PHP-Datei und MySQL-Datenbank laufen in Ihrem Android-Gerät (Hinweis, ist es nicht), dann ist das nicht korrekt –

Verwandte Themen