1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/bvin_admin-BasicSupportLayer

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

ОсновнойСлойПоддержки

Этот фреймворк поддержки предназначен для всех проектов Android и предоставляет некоторые базовые и удобные услуги.

Использование RequestActivity:

  1. Для запроса можно использовать GsonRequest. Если требуется создать свой запрос, вам потребуется самостоятельно распарсить возвращаемые сервером данные в соответствующий модельный класс, а затем установить Responces.Listener и ErrorListener как this. Если используется RequestFragment, то эти слушатели должны быть установлены как getRequestActivity(), так как RequestFragment также использует RequestActivity для выполнения запросов.
  2. Важно присвоить значение mRequestHolderFragment в RequestActivity для автоматического управления отображением загрузки, ошибок и других состояний. mRequestHolderFragment может использоваться как независимый внешний класс для повторного использования, и этот mRequestHolderFragment находится вместе с RequestFragment внутри RequestActivity.
  3. Методы onRequestStart и onRequestFailure уже реализованы в родительском классе RequestActivity, поэтому нет необходимости выполнять дополнительные действия. Вам следует обрабатывать данные только в методе onRequestSuccess.
public class TestRequestActivity extends RequestActivity<TestRequestActivity.TestModel> {
    String url;
    Map<String, Object> params;

    @Override
    public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
        super.onCreate(savedInstanceState, persistentState);
        parserIntent();
        initData();
        initViews();
        startRequest();
    }
}
```    @Override
    public void parserIntent() {
        super.parserIntent();
        url = getIntent().getStringExtra("/... ");
        params.put(key, value);
    }

    @Override
    public void initData() {
        super.initData();
    }

    @Override
    public void initViews() {
        super.initViews();
        // Fragment for displaying loading
        mRequestHolderFragment = new AbstractRPFragment() {
            @Override
            public void initViews(View rootView) {
                mLoadingFrame = rootView.findViewById(id);
                mEmptyFrame = rootView.findViewById(id);
                mErrorFrame = rootView.findViewById(id);
                tvEmptyTips = rootView.findViewById(id);
                tvErrorSceneTips = rootView.findViewById(id);
                tvLoadTip = rootView.findViewById(id);
            }

            @Override
            public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
                View v = inflater.inflate(R.layout.activity_list_item, container);
                initViews(v);
                return v;
            }
        };
    }```java
    @Override
    public void onRequestStart(Request<TestModel> request) {
        super.onRequestStart(request);
    }
}

```java
public void onRequestSuccess(TestModel result) {
    super.onRequestSuccess(result);
}

@Override
public void onRequestFailure(VolleyError error) {
    super.onRequestFailure(error);
}

private void startRequest() {
    GsonRequest<TestModel> request = new GsonRequest<>(url, params, TestModel.class, this, this);
    addRequest(request);
}

###Стандартный пример RequestHolderFragment

/**
 *
 * @ClassName: RequestHolderFragment
 * @Description: Наследует от `AbstractRPFragment`, требуется реализовать методы `initViews()` и `onCreateView()`,
 * а также загрузить макет и привязать компоненты в подклассах
 * @author: Bvin
 * @date: 2 февраля 2015 г., 10:53:53
 */
public class RequestHolderFragment extends AbstractRPFragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.univ_request_place_holder, container, false);
        initViews(rootView);
        return rootView;
    }

    @Override
    public void initViews(View rootView) {
        mLoadingFrame = rootView.findViewById(R.id.loading_frame);
        mEmptyFrame = rootView.findViewById(R.id.empty_frame);
        mErrorFrame = rootView.findViewById(R.id.error_frame);

        // Ошибка — это вид, который можно нажать для повторной отправки запроса
        mErrorFrame.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                getRequestActivity().reloadRequest();
            }
        });

        tvLoadTip = (TextView) mLoadingFrame.findViewById(R.id.tvLoadTip);
        tvEmptyTips = (TextView) mEmptyFrame.findViewById(R.id.tvEmptyTips);
        tvErrorSceneTips = (TextView) mErrorFrame.findViewById(R.id.tvErrorSceneTips);

        defaultLoadTips = ResourceFinder.findString(getActivity(), R.string.loading_tips);
        defaultEmptyTips = ResourceFinder.findString(getActivity(), R.string.empty_tips);
        defaultSceneError = ResourceFinder.findString(getActivity(), R.string.error_scene_tips);
    }
}
``````java
defaultErrorSolution = ResourceFinder.findString(getActivity(), R.string.error_solution_click_retry);
}

Лicensia

Copyright 2014-2015 Bvin
Лицензировано по лицензии Apache License, Версия 2.0 («Лицензия»); 
вы можете использовать этот файл только в соответствии с Лицензией.
Вы можете получить копию Лицензии по адресу
http://www.apache.org/licenses/LICENSE-2.0

Без ограничений, возложенных применимым законом или письменно согласованного, программное обеспечение, распространяемое в рамках Лицензии, предоставляется «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ ИЛИ УСЛОВИЙ ВОЗМОЖНОГО РОДА, как явленных, так и подразумеваемых. Увидеть Лицензию для конкретного языка, регулирующего права и ограничения в рамках Лицензии.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Это библиотека поддержки, ориентированная на все Android-проекты, которая предоставляет некоторые базовые и удобные услуги. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/bvin_admin-BasicSupportLayer.git
git@api.gitlife.ru:oschina-mirror/bvin_admin-BasicSupportLayer.git
oschina-mirror
bvin_admin-BasicSupportLayer
bvin_admin-BasicSupportLayer
master