Search in sources :

Example 6 with Book

use of com.shizhefei.test.models.enties.Book in project MVCHelper by LuckyJayce.

the class BooksVolleyDataSource method loadHomeGroup.

private RequestHandle loadHomeGroup(final ResponseSender<List<Book>> sender, final int page) throws Exception {
    String url = "https://www.baidu.com";
    Uri.Builder builder = Uri.parse(url).buildUpon();
    builder.appendQueryParameter("page", String.valueOf(page));
    StringRequest jsonObjRequest = new StringRequest(Request.Method.GET, builder.toString(), new Response.Listener<String>() {

        @Override
        public void onResponse(String response) {
            List<Book> books = new ArrayList<Book>();
            for (int i = 0; i < 30; i++) {
                books.add(new Book("page" + page + "  Java编程思想 " + i, 108.00d));
            }
            mPage = page;
            sender.sendData(books);
        }
    }, new Response.ErrorListener() {

        @Override
        public void onErrorResponse(VolleyError error) {
            sender.sendError(error);
        }
    });
    MyVolley.getRequestQueue().add(jsonObjRequest);
    return new VolleyRequestHandle(jsonObjRequest);
}
Also used : VolleyError(com.android.volley.VolleyError) StringRequest(com.android.volley.toolbox.StringRequest) Uri(android.net.Uri) Response(com.android.volley.Response) Book(com.shizhefei.test.models.enties.Book) List(java.util.List) ArrayList(java.util.ArrayList)

Example 7 with Book

use of com.shizhefei.test.models.enties.Book in project MVCHelper by LuckyJayce.

the class StateHeaderFragment method onCreateViewLazy.

@Override
protected void onCreateViewLazy(Bundle savedInstanceState) {
    super.onCreateViewLazy(savedInstanceState);
    setContentView(R.layout.fragment_recyclerview);
    coolRefreshView = (CoolRefreshView) findViewById(R.id.recyclerview_funnyRefreshView);
    recyclerView = (RecyclerView) findViewById(R.id.recyclerview_recyclerView);
    coolRefreshView.setPullHeader(new DefaultHeader());
    recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
    mvcHelper = new MVCCoolHelper<>(coolRefreshView);
    mvcHelper.setDataSource(new BooksOkHttp_AsyncDataSource());
    // mvcHelper.setAdapter(adapter = new ReBooksAdapter(getContext()));
    // 这里模拟viewAdapter 和 dataAdapter不是同一个的情况
    mvcHelper.setAdapter2(adapter = new ReBooksAdapter(getContext()), new IDataAdapter<List<Book>>() {

        @Override
        public void notifyDataChanged(List<Book> books, boolean isRefresh) {
            if (books.size() > 5) {
                adapter.notifyDataChanged(books.subList(0, 5), isRefresh);
            } else {
                adapter.notifyDataChanged(books, isRefresh);
            }
        }

        @Override
        public List<Book> getData() {
            return adapter.getData();
        }

        @Override
        public boolean isEmpty() {
            return adapter.isEmpty();
        }
    });
    mvcHelper.refresh();
}
Also used : BooksOkHttp_AsyncDataSource(com.shizhefei.test.models.datasource.okhttp.BooksOkHttp_AsyncDataSource) Book(com.shizhefei.test.models.enties.Book) DefaultHeader(com.shizhefei.view.coolrefreshview.header.DefaultHeader) ReBooksAdapter(com.shizhefei.test.view.adapters.ReBooksAdapter) List(java.util.List) LinearLayoutManager(android.support.v7.widget.LinearLayoutManager)

Example 8 with Book

use of com.shizhefei.test.models.enties.Book in project MVCHelper by LuckyJayce.

the class BooksOkHttpNormal_DataSource method loadBooks.

private RequestHandle loadBooks(final ResponseSender<List<Book>> sender, final int page) throws Exception {
    // 这里只是简单的演示OKhttp,你可以再封装哦
    FormBody.Builder formEncodingBuilder = new FormBody.Builder();
    formEncodingBuilder.add("api_key", "75ee6c644cad38dc8e53d3598c8e6b6c");
    Request request = new Request.Builder().url("https://www.baidu.com").post(formEncodingBuilder.build()).build();
    Call call = OkHttpUtils.client.newCall(request);
    call.enqueue(new Callback() {

        @Override
        public void onFailure(Call call, IOException e) {
            // send 要放在最后一句(请求结束)
            sender.sendError(e);
        }

        @Override
        public void onResponse(Call call, Response response) throws IOException {
            final List<Book> books = new ArrayList<Book>();
            for (int i = 0; i < 15; i++) {
                books.add(new Book("page" + page + "  Java编程思想 " + i, 108.00d));
            }
            mPage = page;
            // send 要放在最后一句(请求结束)
            sender.sendData(books);
        }
    });
    return new OKHttpRequestHandle(call);
}
Also used : Call(okhttp3.Call) FormBody(okhttp3.FormBody) Request(okhttp3.Request) IOException(java.io.IOException) Response(okhttp3.Response) Callback(okhttp3.Callback) Book(com.shizhefei.test.models.enties.Book) ArrayList(java.util.ArrayList) List(java.util.List)

Example 9 with Book

use of com.shizhefei.test.models.enties.Book in project MVCHelper by LuckyJayce.

the class BooksOkHttp_AsyncDataSource method loadBooks.

private RequestHandle loadBooks(final ResponseSender<List<Book>> sender, final int page) throws Exception {
    GetMethod method = new GetMethod("https://www.baidu.com");
    method.addHeader("a", "aaaaa");
    method.addParam("api_key", "75ee6c644cad38dc8e53d3598c8e6b6c");
    method.executeAsync(sender, new ResponseParser<List<Book>>() {

        @Override
        public List<Book> parse(Response response) throws Exception {
            Thread.sleep(2000);
            List<Book> books = new ArrayList<Book>();
            for (int i = 0; i < 15; i++) {
                books.add(new Book("page" + page + "  Java编程思想 " + i, 108.00d));
            }
            mPage = page;
            return books;
        }
    });
    // });
    return method;
}
Also used : Response(okhttp3.Response) Book(com.shizhefei.test.models.enties.Book) GetMethod(com.shizhefei.mvc.http.okhttp.GetMethod) List(java.util.List) ArrayList(java.util.ArrayList)

Aggregations

Book (com.shizhefei.test.models.enties.Book)9 ArrayList (java.util.ArrayList)7 List (java.util.List)5 Response (okhttp3.Response)3 GetMethod (com.shizhefei.mvc.http.okhttp.GetMethod)2 Uri (android.net.Uri)1 LinearLayoutManager (android.support.v7.widget.LinearLayoutManager)1 Response (com.android.volley.Response)1 VolleyError (com.android.volley.VolleyError)1 StringRequest (com.android.volley.toolbox.StringRequest)1 BookDetailDataSource (com.shizhefei.test.models.datasource.BookDetailDataSource)1 BooksOkHttp_AsyncDataSource (com.shizhefei.test.models.datasource.okhttp.BooksOkHttp_AsyncDataSource)1 ReBooksAdapter (com.shizhefei.test.view.adapters.ReBooksAdapter)1 DefaultHeader (com.shizhefei.view.coolrefreshview.header.DefaultHeader)1 PtrClassicFrameLayout (in.srain.cube.views.ptr.PtrClassicFrameLayout)1 IOException (java.io.IOException)1 Call (okhttp3.Call)1 Callback (okhttp3.Callback)1 FormBody (okhttp3.FormBody)1 Request (okhttp3.Request)1