// Здесь инициализируется SnetConfig.
// Не забудьте указать атрибут Application в Manifest:
// android:name="top.wecreate.snet.demo.DemoApplication"
SnetConfig.init(new SnetConfigBuilder().setConnectionTimeout(2000));
// Два абстрактных типа, используемые для правильного ответа и ошибки.
public abstract class DemoSnetConnection extends
SnetBaseConnection<String, String> {
public DemoSnetConnection(ConnectionBuilder builder) {
super(builder);
}
// Обработка ошибок в фоновом потоке.
@Override
protected void processExceptionBackground(Exception e) {
setFailResult(e.toString());
}
// Обработка успешных ответов в фоновом потоке.
@Override
protected void processResponseBackground(int responseCode,
Map<String, List<String>> responseHeaders, byte[] responseBody) {
if (responseCode == 200) {
// Вернули корректный ответ, обрабатываем его и устанавливаем.
setSuccessResult(new String(responseBody));
} else {
// Некорректный ответ, обрабатываем его и устанавливаем как ошибку.
setFailResult("Ошибка сети");
}
}
// Используется для тестирования ошибочных ситуаций с помощью локальных данных.
@Override
protected Exception fillTestException() {
return new Exception("исключение теста");
}
// Используется для тестирования успешных ответов с помощью локальных данных.
@Override
protected TestResponse fillTestResponse() {
TestResponse response = new TestResponse();
response.setCode(200);
response.setBody(new String("ответ теста").getBytes());
return response;
}
}
//1. Создание необходимых параметров запроса, таких как url и параметры.
ConnectionBuilder builder = new ConnectionBuilder(
"http://www.wecreate.top/server.php");
Map<String, String> params = new HashMap<>();
params.put("action", "adduserinfo");
builder.setRequestParams(params);
//2. Использование builder для создания запроса.
DemoSnetConnection connection = new DemoSnetConnection(builder) {
@Override
public void onSuccess(String result) {
// TODO Успешный ответ, находится в UI потоке
}
@Override
public void onFail(String result) {
// TODO Ошибка, находится в UI потоке
}
};
//3. Вызов запроса. Два способа вызова.
//connection.post();
connection.get();
Если вы столкнетесь с проблемами при использовании или у вас есть новые идеи и предложения, пожалуйста, свяжитесь со мной через следующие контактные данные:
Это любитель программирования, который всегда стремится улучшить свои навыки.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )