#php #android #android-studio #android-webview
#php #Android #android-studio #android-webview
Вопрос:
Итак, у меня есть этот код для отображения www.google.com
в виджете WebView в Android Studio, и он работает нормально:
mWebview = new WebView(this);
mWebview.getSettings().setJavaScriptEnabled(true);
final Activity activity = this;
mWebview.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Toast.makeText(activity, description, Toast.LENGTH_SHORT).show();
}
});
mWebview .loadUrl("www.google.com");
setContentView(mWebview );
Я действительно понял это из одного из вопросов здесь, в Stack. Итак, что я хочу сделать, это отобразить мой php-файл вместо этого. Я попытался заменить mWebview .loadUrl("www.google.com");
на mWebview .loadUrl("localhost/index.php");
, но это не сработало. Как мне этого добиться?
Комментарии:
1. localhost на устройстве, очевидно, само устройство, пожалуйста, найдите похожие вопросы здесь, на SO
2. вы используете веб-сервер с php на своем телефоне?
localhost
по сути, это «разговор с самим собой», а «я» — это ваш телефон, поскольку именно там выполняется код.
Ответ №1:
я попробовал это, и это сработало для меня..
wv1=(WebView)findViewById(R.id.webView);
wv1.setWebViewClient(new MyBrowser());
wv1.loadUrl("http://10.0.2.2/your_page.php");
wv1.getSettings().setLoadsImagesAutomatically(true);
wv1.getSettings().setJavaScriptEnabled(true);
wv1.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
Ответ №2:
Я понял, как это работает. @user6880336 вроде правильно, но вместо 10.0.2.2 в качестве IP-адреса он должен быть IP-адресом сервера.
mWebview .loadUrl("192.168.1.105/Lab4/Task1/index.php");
Ответ №3:
Прежде всего, проверьте свой IP-адрес, если вы подключены к сети. Запустите cmd и введите «ipconfig», чтобы получить адрес ipv4. Теперь у вас есть свой IP-адрес, измените localhost на ваш IP-адрес. Очевидно, что если вы используете localhost или 10.0.2.2, ваше приложение может работать неправильно. Помните, что у вас нет базы данных или какого-либо веб-сервера только на вашем устройстве.