Доступ к локальному серверу через 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();
}

Итак, в первую очередь он должен получить IP-адрес сервера, к которому должен быть подключен телефон, затем он будет вставлен в URL-адрес, чтобы телефон мог подключиться к локальному серверу и получить доступ к моим php-файлам. Однако, когда я запускаю это в свой телефон Android, он просто падает. Почему это так? Надеюсь, вы, ребята, можете помочь мне решить это.

1

Решение

Вам не нужно динамически запрашивать 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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]