Я искал в интернете способ сделать это около недели, и я просто не могу понять это.
Я пытаюсь реализовать приложение, которое мой колледж может использовать, чтобы пользователи могли легко входить в различные службы в кампусе. В настоящее время это работает так: они заходят на онлайн-портал, выбирают, какую услугу они хотят, вводят свои имя пользователя и pwd и нажимают кнопку «Войти». Данные формы отправляются по почте (включает несколько скрытых значений, а также только имя пользователя и pwd) в соответствующий сценарий входа, который затем регистрирует их и загружает службу.
Я пытался решить проблему двумя способами. Сначала я попробовал WebView, но, похоже, он не хочет поддерживать все HTML, которые обычно заставляют эту форму работать. Я получаю все необходимые мне элементы, поля для пользователя и pwd, а также кнопку входа, но нажатие на кнопку ничего не делает. Я задавался вопросом, нужно ли мне добавить обработчик onclick для него, но я не вижу, как кнопка реализована в html веб-просмотра, не используя отдельный элемент android.
Другой возможностью было использование виджетов xml для создания формы с хорошим относительным макетом, который, кажется, загружается быстрее и выглядит лучше на экране Android. Я использовал поля EditText для ввода, виджет счетчика для выбора службы и виджет кнопки для входа в систему. Я знаю, как настроить обработчики onclick и item для кнопки и счетчика, соответственно, но я не могу понять, как отправить эти данные через POST, чтобы запустить браузер. Я могу выполнить намерение с помощью URL-адреса действия, но не могу получить данные POST для подачи в него.
Итак, вот что у меня сейчас ...
HttpParams params = new BasicHttpParams();
HttpClient client = new DefaultHttpClient(params);
HttpPost post = new HttpPost(action);
String endResult = null;
try
{
post.setEntity(new UrlEncodedFormEntity(myList));
}
catch (UnsupportedEncodingException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
try
{
String response = client.execute(post, new BasicResponseHandler());
endResult = response;
}
catch (ClientProtocolException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
Так что мой вопрос сейчас ... как мне взять экран endResult, который должен быть страницей, возвращаемой после того, как я вошел в свой сервис, и отобразить ее в браузере?