2016-10-09 3 views
1

を通じてのLocalServerのアクセス私はこのコードを持っている:アンドロイド

 @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(); 
    } 

だから、それは正確に最初のものですん:それは、電話機が接続されることになっているサーバーのIPを取得する必要があり、それが挿入されます、その後携帯電話がlocalserverに接続してphpファイルにアクセスできるように、URLに追加します。しかし、これをAndroidの携帯電話に搭載すると、クラッシュするだけです。それはなぜそうするのですか?皆さんのご支援をお願いします。

+0

ますので、 'のSystem.out.println(ipv4add)'に何を得るのですか?抽出された値は何ですか? – user1506104

+0

@ user1506104サーバのIPが表示されます。私の場合、それは192.168.1.105を表示します – Paradigm

+0

これはあなたの携帯電話のアドレスです。ローカルネットワークでサーバーのIPを取得しようとしていますか? – user1506104

答えて

0

サーバーのIPを動的に要求する必要はありません。それともあなたですか?あなたにできることは(サーバーのIP設定を確認することで)サーバーの静的IPアドレスを取得し、この

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

に変更し、デプロイする準備が整いましたら、ご

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

を削除しています生きるために、192.168.1.xはライブドメインと交換する必要がありますよう

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

また、マニフェストにこのことを忘れないでください:

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

+0

私は家でそれをテストしているので、それは動的である必要があります。 – Paradigm