很抱歉我的问题模糊不清,但我想知道是否可以通过原生电话应用登录此网站https://oyster.tfl.gov.uk/oyster/entry.do?
我见过许多访问Oyster卡数据的应用程序,但是没有API可以访问这些数据,只能认为他们已经使用用户详细信息登录到网站,然后提取必要的文本以显示在内他们的应用程序。
这是一个示例应用程序,以及登录后实际网站的外观;
答案 0 :(得分:1)
当然,这是一个使用WebView的例子:
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("https://oyster.tfl.gov.uk/oyster/entry.do");
webview.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
view.loadUrl("javascript:document.getElementsByName('j_username')[0].value = '"+ausername+"'");
view.loadUrl("javascript:document.getElementsByName('j_password')[0].value = '"+apassword+"'");
view.loadUrl("javascript:document.forms[0].submit()");
}
});
这将显示网站的常见桌面版本,但如果您需要该网站的专用应用程序,则最好使用某种类型的网站API。如果没有API,您可以使用常规桌面网站,或使用常规HTTP请求对接收到的html进行DOM操作。