2017-01-14 11 views
1

Android App auf EmulatorIch kann keine Verbindung zum Server herstellen! Warum?

Mein MainActivity:

public class MainActivity extends AppCompatActivity { 

    LoginController loginCtr; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     loginCtr = new LoginController(); 

     final Button button = (Button) findViewById(R.id.loginButton); 
     button.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       login(); 
      } 
     }); 
    } 

    private void login() 
    { 
     try { 
      System.out.println("Check connection!"); 

      Socket s = new Socket("127.0.0.1", 9010); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 
} 

Mein AndroidManifest.xml enthalten:

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 

Mein Server auf Localmachine läuft

I 127.0.0.1 geprüft und 10,0 .2.2 in Android App

+1

Woher wissen Sie, dass es nicht funktioniert? Was wurde erwartet? Was passiert stattdessen? Erhalten Sie Fehlermeldungen? – giusti

+0

Mögliches Duplikat von [Wie kann ich von meinem Android-Gerät auf meinen Localhost zugreifen?] (Http://stackoverflow.com/questions/4779963/how-can-i-access-my-localhost-from-my-android-device) –

+0

Ihr Server läuft nicht auf Ihrem Telefon mit IP 127.0.0.1 –

Antwort

0

Verwenden Sie http://10.0.2.2:8080/, wobei 8080 Ihre Portnummer ist. Wenn Sie nur 10.0.2.2 versuchen, wird es vielleicht nicht funktionieren. oder erstellen Sie eine neue Instanz des Emulators mit dem AVD-Manager und versuchen Sie es zu verwenden. Foe genymotion wird es sein 10.0.3.2

Verwandte Themen