Форум программистов, компьютерный форум CyberForum.ru

На смарт получить данные с сервера - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Ошибка Gradle http://www.cyberforum.ru/android-dev/thread1606584.html
Я устал от этого! Все спокойно работало. Создал новый проект - сборка шла около получаса на первом же этапе (Gradle: Build). Сейчас появляется ЭТО: Скриншот Процесс 3156 - java.exe Как лечить? Может кто сталкивался уже?
Android Android & local Web Server Всем хай. Задача. С мобилы (андройда) через мобильный браузер не могу увидеть Вэб-сервак на котором крутится сайт. Что имеем. на ПК поднят вэб-сервер с айпишником 192.168.0.103 порт 80; Мобильник - андройд 4.4.2, айпишка 192.168.0.100 С ПК мобильник пингуется, но с мобилы не могу увидеть сайт. С других ПК все заходят на вэб-сервер. Стоит роутер ТПЛИНК 741 НД, на самом роутере фаервол... http://www.cyberforum.ru/android-dev/thread1606578.html
Как создать универсальную кнопку share? Android
Как вариант, если зайти в установленный play market, выбрать любое приложение и нажать share, то выскакивает список всех, установленных у меня в телефоне, соц. сетей, месенджеров, облаков. и т.д. Кто знает, откройте пжл секрет, как сделать такую share в своем приложении?
Android Eclipce
помогите решить в есlipce Дано вещественное число X и целое число N (> 0). Найти значение выражения 1 + X +( X^2)/(2!) + … + X^N/(N!) (N! = 1·2·…·N). Полученное число является приближенным значением функции exp в точке X.
Android Android permissions http://www.cyberforum.ru/android-dev/thread1606308.html
Доброго времени суток! Пишу небольшое приложение, которое определяет местоположение пользователя с помощью Google Maps. Не получается настроить разрешение для location. Причина - не проходит проверку условие: MainMapActivity.java: if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED)...
Android Базовый синтаксис Java Условия If Else Внутри класса Всем привет. Я только начинаю кодить на Java до этого имел небольшой опыт JS и AutoIt. Не могу разобраться с синтаксисом, не могу понять что от меня хочет андроид студия. public class FinalTry { подробнее

Показать сообщение отдельно
dajver
 Аватар для dajver
406 / 270 / 18
Регистрация: 18.09.2010
Сообщений: 1,106
11.12.2015, 12:54     На смарт получить данные с сервера
Цитата Сообщение от pixel Посмотреть сообщение
1. Проверить в самом начале, при клике на "Залогиниться" наличие инета и в случае отсутствия выдать сообщение "Инета нет" и прервать работу программы, т.к. смысла в попытка стучаться в закрытую дверь нет никакого.
Дальше советую все гуглить, все ответы есть на stack overflow. Вот один из них как проверить интернет соединение.
Java
1
2
3
4
5
6
public boolean isNetworkAvailable() {
    ConnectivityManager connectivityManager = (ConnectivityManager)getActivity().getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeNetworkInfo = connectivityManager
            .getActiveNetworkInfo();
    return activeNetworkInfo != null;
}
проверяем наличие
Java
1
2
3
4
5
if(isNetworkAvailable()) {
//творим добро
} else {
//говорим что нет инета
}
Премишен в манифесте
XML
1
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Цитата Сообщение от pixel Посмотреть сообщение
2. При наличии инета, проверить доступность сервера (и файла, к которому коннектимся) и в случае отсутствия доступа опять же вывести сообщение об отсутствии доступа (ну мало ли сервер в ауте) и опять же остановить выполнение программы.
Тут уже должны быть настройки сервера, я не серверный программист по этому я таких деталей не знаю, но советую почитать как настроить сервер на отображение разных ошибок, типа 400, 401, 403, 404, 501 и так далее.

Когда настроите дальше просто если приходит одна из этих ошибок выводите сообщение что сервер выключен или еще что то.

Цитата Сообщение от pixel Посмотреть сообщение
3. Если и 1 и 2 выполнены, проверить правильность пары логин/пароль и в случае несовпадения - вывести сообщение "Неверный логин либо пароль" и остановить выполнение программы.
Это должно проверять на сервере, и отдавать ответ "ОК" например, и если этот ОК приходит к вам в приложение тогда делаете дальше переход на другую активити или куда то там.

Цитата Сообщение от pixel Посмотреть сообщение
И еще смущает вот это:
Нет, тут одной строкой никак...
Вообще, советую использовать библиотеки для создания реквестов, их очень много. Одна из них http://loopj.com/android-async-http/, для новичков в самый раз. А вообще надо использовать либу retrofit, но для начала не советую ее использовать, сильно мудреная для человека недавно познакомившегося с андроидом и джавой вообще.

Цитата Сообщение от pixel Посмотреть сообщение
И в случае если использовать поля ввода логин пароль, каким образом реализуется сохранение данных для последующих подключений (не в этом примере, а вообще, где ставится галка "сохранить пароль" - куда эти данные сохраняются?)
Для таких штук в апи делают поле, называется token. это хеш 32 символьный, который хранится на сервере и привязан к конкретному пользователю. ТО есть если вася пупкин зашел в приложение, с ответом ОК, ему должно возвращаться еще поле token вида 3edfg5tyh4edft67jhgbgt78pl3bf556. Вы его сохраняете, кстати по поводу сохранения, его мы делаем почти всегда в SharedPreferences, примерно вот так
Java
1
2
3
4
 PreferenceManager.getDefaultSharedPreferences(context)
                .edit()
                .putString("token", token) //token - который приходит с сервера
                .commit();
а если хотим получить его то делаем вот так
Java
1
2
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
        preferences.getString("token", "");//ваш токен
Так, я отвлекся, в общем. Этот токен нужно передавать на сервер для получения данных по кокнретному пользователю. То есть если вы хотите получить например все новости которые когда либо этот пользователь публиковал, вы отправляете запрос на адрес, и передаете токен для выборки из базы, что бы получить данные только по этому пользователю, и так во всем, все действия...

Надеюсь понятно объяснил
 
Текущее время: 23:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru