Search in sources :

Example 1 with Book

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

the class BooksDataSource method loadBooks.

private List<Book> loadBooks(int page) throws Exception {
    // 这里用百度首页模拟网络请求,如果网路出错的话,直接抛异常不会执行后面的获取books的语句
    HttpUtils.executeGet("https://www.baidu.com");
    Thread.sleep(1000);
    List<Book> books = new ArrayList<Book>();
    for (int i = 0; i < 20; i++) {
        books.add(new Book("page" + page + "  Java编程思想 " + i, 108.00d));
    }
    this.page = page;
    return books;
}
Also used : Book(com.shizhefei.test.models.enties.Book) ArrayList(java.util.ArrayList)

Example 2 with Book

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

the class BooksOkHttp_SyncDataSource method loadBooks.

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

        @Override
        public List<Book> parse(Response response) throws Exception {
            Thread.sleep(1000);
            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 data;
}
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)

Example 3 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 4 with Book

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

the class BookDetailActivity method onCreate.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_bookdetail);
    nameTextView = (TextView) findViewById(R.id.name_textView);
    authorTextView = (TextView) findViewById(R.id.author_textView);
    descriptionTextView = (TextView) findViewById(R.id.description_textView);
    contentTextView = (TextView) findViewById(R.id.content_textView);
    PtrClassicFrameLayout contentLayout = (PtrClassicFrameLayout) findViewById(R.id.rotate_header_list_view_frame);
    mvcHelper = new MVCUltraHelper<Book>(contentLayout);
    // 设置数据源
    mvcHelper.setDataSource(new BookDetailDataSource());
    // 设置适配器
    mvcHelper.setAdapter(dataAdapter);
    // 加载数据
    mvcHelper.refresh();
}
Also used : PtrClassicFrameLayout(in.srain.cube.views.ptr.PtrClassicFrameLayout) Book(com.shizhefei.test.models.enties.Book) BookDetailDataSource(com.shizhefei.test.models.datasource.BookDetailDataSource)

Example 5 with Book

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

the class MyDataSource method loadMore.

@Override
public List<Object> loadMore() throws Exception {
    List<Object> list = new ArrayList<>();
    for (int i = 0; i < 20; i++) {
        list.add(new Book("Java编程思想 " + i, 100));
    }
    hasMore = false;
    return list;
}
Also used : Book(com.shizhefei.test.models.enties.Book) ArrayList(java.util.ArrayList)

Aggregations

Book (com.shizhefei.test.models.enties.Book)10 ArrayList (java.util.ArrayList)7 List (java.util.List)5 Response (okhttp3.Response)3 GetMethod (com.shizhefei.mvc.http.okhttp.GetMethod)2 BookDetailDataSource (com.shizhefei.test.models.datasource.BookDetailDataSource)2 Uri (android.net.Uri)1 LinearLayoutManager (android.support.v7.widget.LinearLayoutManager)1 View (android.view.View)1 TextView (android.widget.TextView)1 Response (com.android.volley.Response)1 VolleyError (com.android.volley.VolleyError)1 StringRequest (com.android.volley.toolbox.StringRequest)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