这个App是这个:快看漫画
因为时间关系,体验上还有很多改进的地方(请感兴趣的各位在下面写一下改进点啦,谢谢^_^)
为了开发速度和可维护性,用到的基本都是比较成熟的工具库:Retrofit+OkHttp+Picasso等。
在列表界面(带SectionHeader的ListView和GridView)以及内容界面(超过7种不同布局的控件类型,每个item高度不固定)采用的是support-v7新引入的 RecyclerView。
个人感受是比搭配ViewHolder优化后的ListView性能好了很多,同时开发上维护性和扩展性都很不错。详细的开发经验和具体测试数据等有空的时候写出来分享。
再说下问题,从收集到的崩溃报告来看,最严重的问题是这个:IndexOutOfBoundsException in RecyclerView triggered by RecyclerView.onLayout()
希望刚开始学习Android开发的新手和大牛都来关注一下这个工具库。毕竟,现在很多Android应用滑动起来还是卡卡的。
同时这个团队也在招人-->[北京]《对不起,我只过 1%的生活》快看漫画团队招聘!技术经理/Android/iOS/后端工程师
1
CtrlSpace 2015-01-18 01:27:49 +08:00 via Android
工具库?前来关注
|
2
alex110 2015-01-18 02:05:36 +08:00
Retrofit+OkHttp+Picasso
square公司确实是良心公司啊。 我们现在用的volley,我正准备换成okhttp,最主要是因为spdy。 |
3
MASAILA 2015-01-18 07:59:16 +08:00 via Android
赞
|
4
GhostFlying 2015-01-18 09:25:13 +08:00 via Android
我也在用这三个,的确好用
|
5
q84629462 2015-01-18 14:14:09 +08:00
我Android刚入门,
当前使用Android AsyncHttpClient负责网络读取(有时候需要携带cookie读取),json到java对象的转换是自己实现的,读取网络图片是用Android-Universal-Image-Loader 看了楼主的帖子之后有几个问题: 1、android studio v1+ 新建项目 gradle里自带了compile 'com.android.support:appcompat-v7:21.0.3' 但写代码输入recyc都没有提示RecyclerView,难道不是这个support v7? 2、看了一下Retrofit,我现在正在用AsyncHttpClient读取json然后自己写json到java对象的转换,Retrofit不需要这个过程吗? 3、okhttp要自己新建一个线程来用吗?https://raw.githubusercontent.com/square/okhttp/master/samples/guide/src/main/java/com/squareup/okhttp/guide/GetExample.java 看了这个例子感觉是在会阻塞当前线程? 4、picasso自带内存缓存管理和dis缓存管理吗? @fyu2012 @GhostFlying |
6
GhostFlying 2015-01-18 14:23:01 +08:00 via Android
|
7
q84629462 2015-01-18 15:49:25 +08:00
@GhostFlying https://developer.android.com/training/material/lists-cards.html
引用的方法居然放在最后。。。真是猜不透啊。。。 |
8
q84629462 2015-01-18 17:15:49 +08:00
@GhostFlying
build.gradle(Module: app) 的dependencies dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:21.0.3' compile 'com.android.support:recyclerview-v7:21.0.3' compile 'com.squareup.picasso:picasso:2.4.0' } 布局xml文件和代码里已经可以使用RecyclerView了,但运行的时候app崩溃报错 java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.RecyclerView$LayoutManager.onMeasure(android.support.v7.widget.RecyclerView$Recycler, android.support.v7.widget.RecyclerView$State, int, int)' on a null object reference 第一次修改gradle引入组件,求教 |
9
GhostFlying 2015-01-18 18:21:32 +08:00 via Android
@q84629462 一定要实例化 LayoutManager 并且绑定,Adapater 倒是可以慢慢来
|
10
q84629462 2015-01-18 19:22:00 +08:00
|
11
q84629462 2015-01-18 19:25:41 +08:00
@GhostFlying 在2k分辨率的pad上滚动,好像不太流畅,viewholder就两个imageview,几个textview而已
|
12
q84629462 2015-01-18 19:30:35 +08:00
@GhostFlying 找到原因了。。。在onScrollListener那里还没找到怎么判断滚到底就写了加载下一页数据。。。
|
13
zgxltxz 2015-01-19 08:08:07 +08:00 via Android
RecycleView可以在L以下使用?怎么我添加support库后,可以在代码中用但是运行时就崩溃
|
14
sonaive 2015-01-19 08:59:29 +08:00 via Android
@q84629462 onitemclick 还是采用viewcontainer set on click listener,别的方法不如这个好使。
|
15
fyu2012 OP |