2016-10-09 3 views
1

Ich habe diesen Code:Zugriff auf Local durch Android

 @Override 
public void onCreate(Bundle savedInstanceState) { 
    try { 
     super.onCreate(savedInstanceState); 
     InetAddress ip; 
     mWebview = new WebView(this); 
     mWebview.getSettings().setJavaScriptEnabled(true); 
     final Activity activity = this; 
     String ipv4add; 
     mWebview.setWebViewClient(new WebViewClient() { 
      public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { 
       Toast.makeText(activity, description, Toast.LENGTH_SHORT).show(); 
      } 
     }); 
     ip = InetAddress.getLocalHost(); 
     ipv4add = ip.getHostAddress().toString(); 
     System.out.println(ipv4add); 
     mWebview .loadUrl(ipv4add+"/Lab4/Task1/index.php"); 
      mWebview.getSettings().setLoadsImagesAutomatically(true); 
      mWebview.getSettings().setJavaScriptEnabled(true); 
      mWebview.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); 
     setContentView(mWebview); 
    } catch (UnknownHostException e) { 
     e.printStackTrace(); 
    } 

es also genau das, was tut, ist zuerst: es sollte den Server-IP erhalten, die das Telefon werden soll verbunden, nach dann, dass es eingefügt wird in die URL, damit sich das Telefon mit dem lokalen Server verbinden und auf meine PHP-Dateien zugreifen kann. Jedoch, wenn ich dieses in mein Android-Handy starte, stürzt es einfach ab. Warum tut es das? Hoffentlich könnt ihr mir helfen, das zu lösen.

+0

so was hast du auf 'System.out.println (ipv4add)'? Was ist der exportierte Wert? – user1506104

+0

@ user1506104 Es zeigt die IP des Servers an. Wie für meine, es zeigt 192.168.1.105 – Paradigm

+0

Dies ist die Adresse Ihres Telefons. Versuchen Sie die IP Ihres Servers in Ihrem lokalen Netzwerk zu erhalten? – user1506104

Antwort

0

Sie müssen die IP Ihres Servers nicht dynamisch anfordern. Oder tust du? Was Sie tun können, ist die statische IP-Adresse Ihres Servers erhalten (von Ihrem Server die IP-Konfiguration überprüft) und

mWebview .loadUrl("http://your.ip.address.here/Lab4/Task1/index.php");

auf diese ändern und entfernen Sie Ihre

ip = InetAddress.getLocalHost(); 
ipv4add = ip.getHostAddress().toString(); 

Sobald Sie bereit sind, zu implementieren zu leben, haben die 192.168.1.x mit Ihrer Live-Domäne ersetzt werden wie

mWebview .loadUrl("http://www.yourdomain.com/Lab4/Task1/index.php");

Auch

, vergessen Sie nicht, diese in Ihrem Manifest:

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

+0

Nun, es muss dynamisch sein, da ich es nur zu Hause teste. – Paradigm

Verwandte Themen