写了一个 V2EX 的 android 客户端,欢迎拍砖

2015-05-18 10:08:01 +08:00
 njustyw

V2EX-android

V2EX社区客户端。

其他下载链接

支持功能

其他功能

绝大部分数据是通过调用V2EX的Json API解析得到的,少部分涉及到用户个人信息则是通过Http模拟浏览器请求页面。但是Json API调用有严格的调用次数和时间限制,为了避免这个问题,我将数据缓存到文件系统中,如果用户不手动刷新,则会直接从缓存中读取的,当然这并不能解决根本问题,每个小时180次请求的警戒线还是很容易就突破,这时候服务器返回403禁止访问,会很大的影响用户体验。我在后续版本中会考虑绕过Json API用模拟浏览器访问来代替。

开发相关

开发用的是 Android Studio,除了编译速度感觉略慢一点点,就没有什么其它的大问题了,而且智能提示更智能,此外用 gradle 做库依赖确实方便,真的可以甩 eclipse 几条大街了。

V2EX客户端里面的列表用到了Android兼容库

compile 'com.android.support:cardview-v7:21.0.3'
compile 'com.android.support:recyclerview-v7:21.0.3'

刚开始对于V2EX的主题列表和回帖列表,我都是用ListView实现的。不过后来发现总存在一些问题,在Nexus 5上没什么问题,但是在其他手机上列表会出现一些锯齿。于是我用RecyclerView来重新实现了一遍。CardView则对每个话题Item进行卡片式布局。

这是V2EX-Android中用到的第三方库:
compile 'com.astuetz:pagerslidingtabstrip:1.0.1'
compile 'com.loopj.android:android-async-http:1.4.6'
compile 'com.github.mrengineer13:snackbar:1.1.0'
compile 'com.melnykov:floatingactionbutton:1.3.0'

除此以外,还使用了

反馈

最后,欢迎大家pull request来为V2EX-Android(前往Github地址)添加新功能。

屏幕截图

https://raw.github.com/greatyao/v2ex-ster/snapshots/latest.png

https://raw.github.com/greatyao/v2ex-android/master/snapshots/hot.png

https://raw.github.com/greatyao/v2ex-android/master/snapshots/nodes.png

https://raw.github.com/greatyao/v2ex-android/master/snapshots/favor.png

https://raw.github.com/greatyao/v2ex-android/master/snapshots/topic_details.png

https://raw.github.com/greatyao/v2ex-android/master/snapshots/user_details.png

https://raw.github.com/greatyao/v2ex-android/master/snapshots/topic_add.png

https://raw.github.com/greatyao/v2ex-android/master/snapshots/topic_reply.png

https://raw.github.com/greatyao/v2ex-android/master/snapshots/drawer.png

10066 次点击
所在节点    分享创造
93 条回复
njustyw
2015-05-18 17:26:27 +08:00
@mxymarcos njustyw@gmail.com 或者去 github.com/greatyao/v2ex-android pull request即可
hqlyz
2015-05-18 17:26:36 +08:00
@jianghu52 这个网站有提供了一些API的,见网站底部
njustyw
2015-05-18 17:27:38 +08:00
@jianghu52 干嘛需要 模拟网页post get请求即可
allan1st
2015-05-18 17:27:39 +08:00
给 LZ 提几个 UI 的小问题,如果你觉得想要遵守 Material Design 的话,可以仔细的去这里看看: http://www.google.com/design/spec/material-design/introduction.html。
1. 卡片滥用,非常不美观。
2. Floating Action Button icon 太大,按下没有 elevation 效果。
3. Snackbar 右边应该是一个 Action 而不是『错误』这种词汇。
4. Snackbar 出现的时候不应该遮挡 Floating Action Button
5. Card View 标准圆角是 2dp,你是不是设置的太大了?
6. Swipe down refresh 的小圆圈在有 Toolbar 的情况下应该是从 Toolbar 下方移出的,而不是放大的。
7. Side Drawer 的宽度不对。
8. 汉堡包菜单的图标不对。
9. 『所有节点』的 a-z 被压缩了,长宽比例不对,而且清晰度比较低。
10. 个人比较喜欢头像用圆的 :) 也比较符合 MD
11. 一般左右的 margin 要用 16dp。有些地方不标准。
12. 卡片套卡片很奇怪。
13. 个人 Profile 那里, Twitter/GitHub 的向右箭头是 iOS 的设计风格,Android 基本不用向右箭头的。不过这是小问题也无所谓。
14. 分享按钮的小箭头是不需要的,而且其他按钮是白色的,分享是灰的,然后你的主页的 Toolbar 用的是 dark theme。一些常用的 Material Design 的图标可以去这里下载: http://materialdesignicons.com/
15. 提个小建议,『@XXX』 的 span 应该包括那个 『@』
xcatliu
2015-05-18 18:01:41 +08:00
官方 logo 就挺好的

https://v2ex.com/static/apple-touch-icon.png

我就是用的官方 logo 加了个背景图

https://v2ex.com/t/191420
MASAILA
2015-05-18 18:26:45 +08:00
丑了点
morethansean
2015-05-18 18:30:24 +08:00
@allan1st ……第一眼也是被这 UI 吓得不清
lilyswf
2015-05-18 19:18:04 +08:00
UI改改会好很多。logo我觉得用v2ex原来的就很好。
allan1st
2015-05-18 20:02:15 +08:00
allan1st
2015-05-18 20:03:38 +08:00
jucelin
2015-05-18 21:02:49 +08:00
@kookxiang +1,再把投影角度设定为0,☺
nicktogo
2015-05-18 21:31:09 +08:00
@allan1st 之前起步或许真应该用Android Studio,偷懒下了Eclipse,不过最近的JavaEE、Android项目都已经用了Eclipse,还是先过完这阵子,再转好了。但是感觉Android Studio的code style没有Eclipse好,而且之前折腾好久都不能导入Eclipse原有的,总觉得默认主题看着好不舒服,黑色主题又不习惯。。。说到底还是电脑屏幕不好。。。
Bown
2015-05-18 21:35:07 +08:00
Card不嵌套好一些,看起来挺怪的...
nicktogo
2015-05-18 21:35:47 +08:00
@njustyw 打算之后学习学习楼主的这个项目,感觉主要是JSON解析和Http,门槛应该不会太高吧?
endoffight
2015-05-18 21:38:24 +08:00
登录信息会掉的?
xxstop
2015-05-18 21:58:00 +08:00
不错~值得学习~已Star!
Gonster
2015-05-18 22:07:01 +08:00
确实有点不好看0 ,0
jings
2015-05-18 22:18:50 +08:00
@jings test
Taosky
2015-05-18 23:43:17 +08:00
正在用它回复
Mysdes
2015-05-18 23:50:49 +08:00
随手传播正能量 ಠ◡ಠ

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/191816

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX