几年前因为喜欢逛 V2EX ,但是又没找到好用的第三方 App ,作为一个 iOS 开发者,就自己开发了一款 iOS 上的 V2EX App 「伟途亦可思」。不收费,也没有任何广告,维护了大概 2 、3 年,后面由于时间问题,就没怎么维护了,但是每天自己也在用,到现在积累了 3w 多的用户,每天也还有不少 V 友在用伟途亦可思逛 V 站。
今年年初的时候,迫于信号和电量的双重折磨,一个用了十多年 iPhone 的果粉彻底转到 Android 了。。。现在我的 iPhone 就是开车的时候当导航,其余时间基本不用了。然后就想着开发一个 Andriod 版的伟途亦可思,由于我一直也不太喜欢 flutter 的体验,所以还是选择用 Android 原生开发,到现在第一版功能基本完成了,因为也是我第一次开发 Android App ,所以时间也花了不少。
目前 Andriod 版本对比 iOS 版本有几个新增功能:
说明: 由于我是第一次开发 Andriod App ,经验不足。还有一个是我只有一部 vivo x100 pro 真机测试过(测试也不是很充分),所以第一版 App 可能会有一些 bug 或者适配问题。后续会慢慢优化,如果在使用的过程中碰到任何问题,欢迎反馈给我。
下面看图
Apk 我还没有上架 Google Play ,感觉有点麻烦,先放在蓝奏云,想用的 V 友可以下载试用,后续有时间我应该还是会上架 Google Play 。
今天更新了一个版本,本来想上传到Google Play,但是注册开发者完成以后,需要提交什么地址证明文件。。。不知道提交什么,还是先直接放网盘吧,加了版本说明,以后每个版本更新了什么可以直接在版本说明中查看。
今天更新了v1.0.2,新增了版本检查更新功能,因为Google Play可能一时半会弄不好,先放网盘更新,以后可以点击关于 -> 检查新版本,进行版本检查。
1
enchilada2020 135 天前 via Android
赞 现在在用 v2er 但好像也不维护了 很多节点报错刷不出来
|
2
ydatong OP @enchilada2020 我自己每天都在用,有时间肯定会修修 bug ,更新更新功能
|
3
hero1874 135 天前
赞 已下载使用
|
5
laodouchi 135 天前
支持一下。
|
6
laodouchi 135 天前
打开刷不出内容:java.io.l0Exception: Unexpectedresponse code: 403
|
7
yl20181003 135 天前
用上了,很漂亮
|
11
Esen 135 天前
iOS 上就没一个好用好看的,自己做又懒
|
12
78786381 135 天前
用它来回复一下
|
14
poorcai 135 天前 via Android
不错,下载试试
|
15
DoitsQ 135 天前
感谢分享,好东西
|
16
ydatong OP |
17
xubingok 135 天前
连不上...代理关和开都试过了...
|
19
wangweitung 135 天前
下载试用了不错,期待继续更新
|
21
HkMuxxx 135 天前
注册时间太短了 想看水深火热
|
22
yinxs2003 135 天前
额,和之前软件比又什么优势呢?
|
23
HugeCucumber 135 天前
感觉滑动比较卡 功能界面喜欢
|
24
ydatong OP @HugeCucumber 第一版开发我没太注意性能问题,可以在 app 的反馈里面提一下,附上你的手机型号,后面我会针对对性能问题专门优化一下
|
25
weakself 135 天前
用它回复一下👍👍👍
|
26
Xushet 135 天前
有人试过 Google 登录吗?我好像出错登不上了
|
27
iOCZS 135 天前
坐等开源
|
28
newte88 135 天前
赞
|
30
SiWXie 135 天前 via iPhone
@enchilada2020 确实,作者对问题视而不见,目前版本已经没有消息通知已经很久了 ರ_ರ 心塞。
|
32
Mystery0 135 天前 via Android
@enchilada2020 节点报错是因为解析页面的时候帖子数量超过一定值加了一个逗号导致解析报错了,我 fork 了一个版本修复了这个问题
https://github.com/Mystery00/Android/releases/tag/2.1.8-218 |
33
mICROsTONE 135 天前
感谢,求暗黑模式
|
34
dobelee 135 天前 via Android
支持。
|
35
azhangbing 135 天前
感谢 来自一个安卓开发的认可
|
36
ydatong OP @mICROsTONE 暗黑模式肯定会有,但是工作量有点大,我先优先把功能做完,后面会加的
|
37
ydatong OP |
38
star505 135 天前
为什么我谷歌登录之后,邮件提醒是 Linux 设备登录。。
|
39
alsa 135 天前
可以用,没问题
|
41
ldlywt 135 天前
好用好用
|
42
wangranche 135 天前
名字起的是真的好啊 太有巧思了
|
43
sammyM 135 天前 via iPhone
支持一下,正在用 iOS 版回复
|
44
UglyOrange 135 天前
好像没有暗黑模式
|
45
followNew 134 天前
|
46
muhahaha 134 天前
已经安装使用,提交个 BUG,小米 14 下边有个黑边
|
47
ydatong OP @UglyOrange 后面肯定会加,但是可能要等一等
|
49
GK998 134 天前
|
50
Rh1 134 天前 via Android
iOS 版忠实用户,换了 Android 后一直在用另一个。 现在必须重新支持
|
52
manshisan 134 天前
感谢🙏,已使用。
|
53
RoccoShi 134 天前
看上去不错,支持 google 搜索这点很棒
|
54
tanranran 134 天前
什么技术栈开发的
|
55
Philippa 134 天前 via iPhone
这个 app 不支持发图片
|
56
azhangbing 134 天前
java.lang.RuntimeException: Unable to resume activity {com.ydatong.v2ex/com.ydatong.v2ex.Main.MainTabBarActivity}: kotlin.UninitializedPropertyAccessException: lateinit property tabItem has not been initialized
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:5181) at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:5214) at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:57) at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:45) at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:190) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:101) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2572) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:224) at android.os.Looper.loop(Looper.java:318)这个属性,在后台回到前台的时候,还有一个问题切 tab 没有自动加载数据 at android.app.ActivityThread.main(ActivityThread.java:8677) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:561) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1013) Caused by: kotlin.UninitializedPropertyAccessException: lateinit property tabItem has not been initialized at com.ydatong.v2ex.Business.Topic.Activity.TopicListFragment.getTabItem(TopicListFragment.kt:36) at com.ydatong.v2ex.Business.Topic.Activity.TopicListFragment.onResume(TopicListFragment.kt:84) at androidx.fragment.app.Fragment.performResume(Fragment.java:3039) at androidx.fragment.app.FragmentStateManager.resume(FragmentStateManager.java:607) at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:306) at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:112) at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1647) at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3128) at androidx.fragment.app.FragmentManager.dispatchResume(FragmentManager.java:3086) at androidx.fragment.app.Fragment.performResume(Fragment.java:3048) at androidx.fragment.app.FragmentStateManager.resume(FragmentStateManager.java:607) at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:306) at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:112) at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1647) at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3128) at androidx.fragment.app.FragmentManager.dispatchResume(FragmentManager.java:3086) at androidx.fragment.app.FragmentController.dispatchResume(FragmentController.java:273) at androidx.fragment.app.FragmentActivity.onResumeFragments(FragmentActivity.java:458) at androidx.fragment.app.FragmentActivity.onPostResume(FragmentActivity.java:447) at androidx.appcompat.app.AppCompatActivity.onPostResume(AppCompatActivity.java:245) at android.app.Activity.performResume(Activity.java:9090) at android.app.ActivityThread.performResumeActivity(ActivityThread.java:5171) ... 13 more 发现个 bug 记得初始化 |
57
KamenReborn 134 天前
非常好用,尽快上架吧😄
天下苦没有好用的 v2 客户端久矣 |
58
sakuramanstein 134 天前 via Android
感觉不错
|
59
foam 134 天前
谢谢作者。反馈个不确定是否该客户端的问题: 登录后自动签到了(显示今日已签到),但是余额变动列表里没有今天(6 月 21 日)的入账。
查看官网的余额列表,也是一样的表现。 |
60
hiccup00 134 天前 via Android
@KamenReborn v2er 不能用?
|
62
azhangbing 134 天前
切 tab 不是不会加载 是没 loading (体感是空白)
|
63
azhangbing 134 天前
第一次很厉害了
|
64
louzhichen 134 天前 via iPhone
不错 正在用 ios 版本
|
65
kid1412621 134 天前
iOS 那个我用的你的,Android 你会开源出来不?有空可以帮改 bug (学习)😂
|
66
WalterHs 134 天前
诚恳建议:UI/UX 可以好好改改,本来挺好的 V2EX 到你这里看着毫无打开的欲望,像极了各种广告的聚合网页,很多地方设计的就像是国内的广告的样式,V2EX 其实是个比较简约漂亮的网站~
|
67
wOuv7i4e7XxsSOR1 134 天前
「伟途亦可思这个名字实在是 low ,冲这个名字都懒得下载
|
68
neochen13 134 天前
安卓版本!!!真的很不错啊
|
69
AbysmalSorrow 134 天前
希望能增加暗黑模式
|
70
oneisall8955 134 天前
是用上了,好评
|
71
cquzc 134 天前
赞,谢谢分享。后续版本希望能增加深色模式和检查更新
|
72
JeffreyChen8848 134 天前
不常用 Google Play ,希望也能开个 GitHub 仓库传安装包
|
73
ydatong OP @azhangbing 谢谢反馈,我看一下,后面有问题可以直接在 app 的反馈里面提交,这样我修复以后可以通知你
|
75
ydatong OP @azhangbing 后面我看看能不能加一个骨架屏,第一版很多细节没考虑
|
77
Fxshiny 134 天前
mark !下好了来看看不过应用名的名字是不是~~
|
78
WestXu 134 天前
ios 从别的 app 打开 V2EX 链接不会跳转到这个 app ,而是会进入 safari ,希望可以改进
|
79
hawran 134 天前 via Android
支持,希望未来能遵循 material you 设计规范(最新版本的 whatsapp 都改过来了),沉浸底部的导航条,加入匹配系统设置的黑暗模式。
|
80
solupro 134 天前
感谢,iOS 在使用,后来转 Android 没找好合适的 APP
|
81
1StpKlosr2Me 134 天前
终于等到了,感谢
|
82
mitoop 134 天前
用它来回复下 设备小米 pad 6s pro 正常
|
83
linrongbin 134 天前 via Android
赞,是开源项目吗?
|
84
ropon 134 天前
iOS 还会更新么?
|
86
ydatong OP @linrongbin 暂时不打算开源,第一次写 Android ,感觉没太大参考价值
|
87
linrongbin 134 天前
@ydatong 也可以考虑通过 app 给自己弄点收益,这样长期来看也可以促进开发者持续维护下去。
|
88
linrongbin 134 天前
@ydatong 毕竟上架 app store 之类的,都要出钱的,不可能一直用爱发电。
|
89
KisPower 134 天前 via iPhone
巧了。苹果端看的😂
|
90
ydatong OP @linrongbin 谢谢支持,现在确实有这个想法,每年 Apple 开发者还在续费,昨天想注册 Google Play 开发者发现也要付费,或许可以加一点广告,但是肯定会保证体验的情况下
|
91
dryadent 134 天前
换了啥 Android 手机,好奇
|
95
Donaldo 134 天前
@ydatong #94 抱歉,可能是我没说清楚,我是说这种回复通知,是您这个 app 注册到 fcm/apns 这种服务上,然后走推送,还是定期后台刷新一下拉取再走本地通知呢?
|
96
zsh2517 134 天前
说句题外话,我第三次看到这个帖子,才反应过来 『伟途亦可思』 是 『伟( V )途( two, 2 )亦( E )可思( X )』的含义。之前想了好久为啥叫这个名字
|
97
SteveRogers 134 天前 via iPhone
ios 版本确实好用
|
100
Christli 134 天前
正在用,很不错
但是想刷新页面得划到顶部下拉刷新,是不是可以添加双击底部 Button 来刷新的功能 |