Что мне нужно, чтобы приложение моего телефона подключалось к базе данных https? - PullRequest
0 голосов
/ 30 июня 2011

Я хочу создать приложение, которое взаимодействует с базой данных.Аналогия была бы приложением YouTube, например.Он подключается к безопасному хосту (требует логин и пароль), а затем возвращает результаты пользователей на основе их запроса.

Мне нужно приложение, чтобы:

  • Получить пользователяИнформация для входа (желательно делать это безопасным способом и не хранить ее в незашифрованном виде на телефоне пользователя - это, я думаю, легко решается с помощью GetPassword, поэтому не стоит беспокоиться об этом)
  • После того, как пользователь нажмет кнопку «Войти» Аутентификацияпользователь на моем сайте (вообще не знаю, как вообще исследовать, как это сделать. Я знаю, где находится исходный код страницы входа из обычного браузера, но не уверен, что делать)
  • Какделать запросы на основе того, кто пользователь?(например, их электронная почта и другие связанные данные).

Я хотел бы получить некоторые конкретные примеры, а также общие сведения, и если бы существовал учебник для способа заставить телефонное приложение общаться с серверомМне бы это тоже понравилось.Или любой другой учебник по этому вопросу.

1 Ответ

1 голос
/ 30 июня 2011

Вы можете использовать запросы HttpPost и HttpGet для связи с сервером. HttpGet отправляет параметры в URL (например: http://mysite.com/index.html?username=admin&password=cleartext).. Это явно не предпочтительный метод для безопасной информации. HttpPost отправляет данные в пакете, который зашифрован с использованием https. Вот пример отправки введенных пользователем данных в веб-страница.

    EditText usernameText = (EditText)findViewById(R.id.username);
    EditText passwordText = (EditText)findViewById(R.id.password);
    String postParameters = "u=" + usernameText.getText() + "&p=" + passwordText.getText();
    try {
        DefaultHttpClient kccClient = new DefaultHttpClient();

        HttpPost postRequest = new HttpPost("http://www.mywebsite.com/login.php");
        HttpEntity postEntity = new StringEntity(postParameters);
        postRequest.setHeader("Content-Type", "application/x-www-form-urlencoded");
        postRequest.setEntity(postEntity);

        HttpResponse postResponse = kccClient.execute(postRequest);
        HttpEntity postResponseEntity = postResponse.getEntity();

        responseText.setText(EntityUtils.toString(postResponseEntity));
    } catch(Exception e) {
        responseText.setText(e.getMessage());
    }

Чтобы использовать безопасное соединение, просто измените веб-URL на https://www.mywebsite.com/login.php.

...