V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lincanbin
V2EX  ›  Android

给自己的开源 PHP 轻论坛 Carbon Forum,写了个 Android 客户端,同样开源。

  •  6
     
  •   lincanbin · 2015-11-12 11:02:55 +08:00 · 22889 次点击
    这是一个创建于 3325 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大体已经完成,登录、注册、看帖、发帖、回帖、通知、设置之类的基础功能都没问题了,但是还没确定什么时候跟服务端一起正式发布,先放上来看看有没有 bug 。

    每个使用 Carbon Forum 的网站,都可以修改客户端源码中的接口信息,在三分钟内编译出一个专属于自己的 Android 客户端(服务器端也需要升级到最新版本,要不了多久就会发布的)。

    Carbon_Forum

    Related Information

    Screenshot

    Main

    Topic

    New

    Login Settings

    Notifications

    Push_Service

    Drawer

    Drawer2

    Drawer3

    第 1 条附言  ·  2015-11-12 15:19:58 +08:00

    PHP 服务端源码放错了,是这个才对: https://github.com/lincanbin/Carbon-Forum
    顺便放下手机网页版的链接: http://m.94cb.com/

    110 条回复    2016-02-21 16:12:16 +08:00
    1  2  
    lincanbin
        1
    lincanbin  
    OP
       2015-11-12 11:04:04 +08:00
    对了, API 文档刚开始写,还远远没有写完,所以如果点进去发现一堆死链,不要觉得意外。
    Pastsong
        2
    Pastsong  
       2015-11-12 11:14:51 +08:00
    开源项目支持一下
    millken
        3
    millken  
       2015-11-12 11:31:52 +08:00
    楼主用心了,辛苦了。
    大家多多支持
    R18
        4
    R18  
       2015-11-12 11:32:47 +08:00
    支持
    realpg
        5
    realpg  
       2015-11-12 11:32:48 +08:00
    开源项目支持一下。

    另外,善意的批评可以接受不?

    首页 V2EX 风格,配色好了,细节做完美真的很好看

    但是配色和细节做不好可就丑爆了 这个看脸的时代,真不如演示版做一个跟 V2EX 配色细节一模一样的……哪怕不用做公开的默认主题,就用作演示呢
    huafang
        6
    huafang  
       2015-11-12 11:33:40 +08:00
    加油
    lincanbin
        7
    lincanbin  
    OP
       2015-11-12 11:38:04 +08:00
    @realpg 但是我觉得吧, V2EX 风格,一点都不好看。
    为什么要做一个跟 V2EX 配色细节一模一样的?
    http://www.v2ex.com/t/234682

    又想到了这个帖子, PC 版和手机版和 Android 客户端的界面布局和配色是我自己搭的,我觉得还不错,并不算丑。
    具体我还是问问我的设计师朋友,看看他有什么意见好了。
    quericy
        8
    quericy  
       2015-11-12 11:45:25 +08:00
    吐槽下 pc 上的返回顶部按钮,挡住内容了

    是不是挪到最右边更好点
    lincanbin
        9
    lincanbin  
    OP
       2015-11-12 11:48:20 +08:00
    @quericy 图裂了,返回顶部按钮放到侧栏的原因是,我有个平板,宽度是 2048 的。
    而且这个按钮大部分时候是不会挡到内容的,只有当下滑到一定程度才会出现。
    官网之所有会挡住内容,是因为我放了两个太长的捐赠二维码。
    flydogs
        10
    flydogs  
       2015-11-12 11:51:51 +08:00
    极简论坛 http://simpleforum.org 安利一下
    dai269619118
        11
    dai269619118  
       2015-11-12 11:54:47 +08:00
    正好要找个论坛开源 支持下!!
    dphdjy
        12
    dphdjy  
       2015-11-12 11:57:38 +08:00
    感觉很不错。。。就是 card 看起来好违和。。。
    lincanbin
        13
    lincanbin  
    OP
       2015-11-12 12:02:03 +08:00
    @dphdjy 噫, CardView 我觉得挺好的,有什么问题么?

    整个程序用了不少我觉得还不错的新控件和特性。
    例如 CardView 、 RecyclerView 、 Snackbar 、 TextInputLayout 、 FloatingActionButton 、 TabLayout 、 AppBarLayout 、 CoordinatorLayout ,目前自我感觉良好。

    可能还跟我之前说的那样: http://www.v2ex.com/t/234682
    我自我感觉良好过头了。
    leer561
        14
    leer561  
       2015-11-12 12:05:27 +08:00
    各种元素的圆角不统一呢
    Pastsong
        15
    Pastsong  
       2015-11-12 12:06:03 +08:00
    @lincanbin 主站的 card 有个问题就是上边和左边与背景没有区分,要看到右边和下边才能看出这一个 card
    lincanbin
        16
    lincanbin  
    OP
       2015-11-12 12:07:47 +08:00
    @leer561 各个元素的圆角,我都没改过,就是 Google 给的 support 库里的默认值。
    Google 的默认值应该是最符合 Material Desgin 的了吧。
    lincanbin
        17
    lincanbin  
    OP
       2015-11-12 12:09:21 +08:00
    @Pastsong Card 只是起分割线作用,这样跟背景没有区分就是我想要的效果。
    实际上跟背景有区别的版本我也做过一版,违和感比较重。
    suikator
        18
    suikator  
       2015-11-12 12:11:24 +08:00 via Android
    用户头像压的太厉害了,弄清晰点吧
    lincanbin
        19
    lincanbin  
    OP
       2015-11-12 12:14:17 +08:00
    @suikator 头像有大中小三套,客户端调用的是中,毕竟要考虑流量和速度问题嘛。
    虽然头像在客户端上都做了缓存,但是也不适合使用太大的。

    不过你说的也有道理,现在 FHD 分辨率已经是手机标配了,头像调用个 256*256 也很合理。
    后期加个设置让用户选择要调用的头像清晰度好了。
    Pastsong
        20
    Pastsong  
       2015-11-12 12:38:24 +08:00
    @lincanbin 这个页面的 card 样式可能更清晰一点,你可以参考下

    http://www.getmdl.io/templates/text-only/index.html
    bidu
        21
    bidu  
       2015-11-12 12:46:55 +08:00 via Android
    支持!已 star
    minongbang
        22
    minongbang  
       2015-11-12 12:48:56 +08:00
    LoliconInside
        23
    LoliconInside  
       2015-11-12 12:51:01 +08:00
    餐病姐姐威武
    Yuansir
        24
    Yuansir  
       2015-11-12 13:17:35 +08:00
    支持开源,打开 github 看到这代码风格我就关闭了。。。
    lizhenda
        25
    lizhenda  
       2015-11-12 13:22:52 +08:00
    真强大,收藏了
    20140930
        26
    20140930  
       2015-11-12 13:24:13 +08:00
    @Yuansir 这代码风格怎么了?乡村杀马特的气息?
    Yuansir
        27
    Yuansir  
       2015-11-12 13:28:22 +08:00
    @20140930

    $ID $Type $LUploadResult 随便找几个,我有点强迫症。。。
    lincanbin
        28
    lincanbin  
    OP
       2015-11-12 13:52:31 +08:00 via Android
    @Yuansir 代码风格看个人喜好,下划线命名法,或者驼峰命名法都可以用,只要团队内部统一即可。
    那么帕斯卡命名法自然更加没有问题。

    就是在 C#上都用下划线命名法,在 java 里也用下划线命名法,也是没有问题的。

    但是同时应该注意到,同样命名情况下,帕斯卡命名法比下划线命名法少了一个字节,少占用一字符的编辑器屏幕宽度,网络中也少传输一个字节。
    lincanbin
        29
    lincanbin  
    OP
       2015-11-12 14:01:07 +08:00
    @Yuansir 很多人就因为代码风格,适应不了其他语言常用的风格,无法加入使用该语言的团队,一辈子吊死在了一门语言上。
    http://www.zhihu.com/question/37081884/answer/70400738
    知乎上这个问题就可见一斑。

    有宗教信仰不是坏事,但不能因为自己的信仰就开始肆意批判别的宗教的神,这样岂不是就成了极端穆斯林。代码风格同理。
    yuewolf
        30
    yuewolf  
       2015-11-12 14:07:31 +08:00
    弱弱地问一下 description 会加上吗? LZ 是玩票性质,还是打算一直做下去?
    ChoateYao
        31
    ChoateYao  
       2015-11-12 14:17:09 +08:00
    $Page 首字母大写,我也是醉了。
    lincanbin
        32
    lincanbin  
    OP
       2015-11-12 14:21:59 +08:00
    @yuewolf
    你说我这是什么性质呢?
    longaiwp
        33
    longaiwp  
       2015-11-12 14:57:30 +08:00
    感觉从图里看到有些问题啊。。。比如 2 图的日期。。。
    lincanbin
        34
    lincanbin  
    OP
       2015-11-12 15:05:46 +08:00
    @longaiwp 有什么问题?
    wdlth
        35
    wdlth  
       2015-11-12 15:09:43 +08:00
    PHP 的链接和 Android 的链接放成一样的了……
    XianZaiZhuCe
        36
    XianZaiZhuCe  
       2015-11-12 15:18:01 +08:00 via Android
    加油
    lincanbin
        37
    lincanbin  
    OP
       2015-11-12 15:20:13 +08:00
    @wdlth 感谢提醒,已修正。
    Yuansir
        38
    Yuansir  
       2015-11-12 15:21:27 +08:00
    @lincanbin 额。。。我不是想争论来的,顺便安利下 http://www.php-fig.org/
    Yuansir
        39
    Yuansir  
       2015-11-12 15:39:45 +08:00
    @lincanbin 还有我不是说你用帕斯卡命名法有任何错误,只是为毛代码风格不统一,比如$up = new Uploader($fieldName, $config, $base64, $Prefix, $CurUserName, $DB); 我自己难受就好,处女座
    lincanbin
        40
    lincanbin  
    OP
       2015-11-12 15:45:31 +08:00
    @Yuansir 你知道的,这个库是百度工程师写的,我拿过来改了改就用了。
    考虑 OOP 的好处就是封装,这个库写好了,二次开发也不会有人去改。
    这些库我就没改风格。

    实际上帕斯卡命名法还有一个好处就是避免跟自带函数冲突,像很久以前我实现过一个 array_column ,我命名为 ArrayColumn ,后来 PHP 某个版本也出了一个 array_column 的自带函数,我这种命名就避开了冲突,同时也可以做低版本兼容。
    https://github.com/lincanbin/Carbon-Forum/blob/master/common.php#L179

    同样的还有 PHP 5.6 中新增的 hash_equal 。
    luanluan
        41
    luanluan  
       2015-11-12 15:48:01 +08:00
    你的 HTTPS 哪家的
    lincanbin
        42
    lincanbin  
    OP
       2015-11-12 15:56:50 +08:00
    @luanluan https://www.94cb.com/t/3140
    WoSign 不要钱证书。

    但是实际上加了 SSL 后,握手时间更长了,在恶劣网络环境下(手机 2G 网络),表现其实更糟。
    Jeremy1992
        43
    Jeremy1992  
       2015-11-12 16:11:57 +08:00
    你为何这么吊
    zzutmebwd
        44
    zzutmebwd  
       2015-11-12 16:16:44 +08:00 via Android
    @lincanbin V2EX 审美疲劳+1
    scola
        45
    scola  
       2015-11-12 16:32:59 +08:00 via Android
    每次开启都刷新不好,我喜欢手动刷新
    lincanbin
        46
    lincanbin  
    OP
       2015-11-12 16:35:30 +08:00
    @Pastsong https://www.google.com/design/spec/components/cards.html#cards-usage
    根据官方指引:
    Do.
    1. Cards have rounded corners.
    2. Cards can have multiple actions.
    3. Cards can be dismissible and rearranged.

    实际上 Material Design Lite 虽然也是 Google 出的前端库,但是很多地方不符合 MD 规范。
    仔细对照了一下,我的 Card 是没有问题的。
    lincanbin
        47
    lincanbin  
    OP
       2015-11-12 16:37:52 +08:00
    @scola 每次打开刷新,我觉得是有必要的,想不到有什么打开了客户端,却不看新帖子的理由。
    而且这个客户端占用内存应该也就 20M ,不清理缓存的话,这样再进也不会再次刷新。
    EarlGrey
        48
    EarlGrey  
       2015-11-12 16:41:31 +08:00
    支持!
    lincanbin
        49
    lincanbin  
    OP
       2015-11-12 17:25:49 +08:00 via Android
    噫,我姐要给我买新手机了。
    我已经受够了这个 512 内存的测试了。
    mthli
        50
    mthli  
       2015-11-12 17:31:37 +08:00 via Android
    支持!
    jiezhi
        51
    jiezhi  
       2015-11-12 17:41:39 +08:00
    支持楼主!
    KNOX
        52
    KNOX  
       2015-11-12 17:46:34 +08:00
    我觉得如果导航的 item 这么少可以不用 NavigationView ,直接放在 toolbar 里面,个人见解。
    tangooricha
        53
    tangooricha  
       2015-11-12 19:41:52 +08:00
    目测又要发生让 LZ 心塞的事情了。
    void1900
        54
    void1900  
       2015-11-12 19:43:13 +08:00
    看了下 php 的,很用心,水平也不错,代码很整齐,不过感觉思维是过去式。

    比如 global 这种东西,很久没人用了吧,因为会导致程序结构很乱。

    可以看下框架什么的啊,程序结构会好一点,虽然会消耗性能。
    longaiwp
        55
    longaiwp  
       2015-11-12 20:16:03 +08:00
    @lincanbin 那个日期下面被遮挡了啊,这样都没看出?另外有 API 么(有空也来玩玩---来自 V2EX WP 客户端
    TF
        56
    TF  
       2015-11-12 20:25:02 +08:00
    果然不是只有我糾結這個圓角
    lincanbin
        57
    lincanbin  
    OP
       2015-11-12 20:44:25 +08:00 via Android
    @KNOX item 少是现在,在我的规划中, item 数量在后续版本中会接近 gmail 的。
    总不能做一些不好发展的设计。
    lincanbin
        58
    lincanbin  
    OP
       2015-11-12 20:45:07 +08:00 via Android
    @TF https://www.google.com/design/spec/components/cards.html#cards-usage
    关于 Card 的圆角,是 Google 钦定的。
    miao
        59
    miao  
       2015-11-12 21:15:29 +08:00
    能修改 app 的图标和名称吗?
    lincanbin
        60
    lincanbin  
    OP
       2015-11-12 21:17:44 +08:00   ❤️ 1
    @miao Apache License v2 协议开源的,二进制分发的话,当然怎么样做都可以。
    https://github.com/lincanbin/Android-Carbon-Forum#build-your-carbon-forum-android-client
    这里有提及如何修改。
    miao
        61
    miao  
       2015-11-12 21:26:39 +08:00
    @lincanbin 谢谢. 非常棒. 虽然我不会编译.
    oojiayu
        62
    oojiayu  
       2015-11-12 21:28:07 +08:00
    哈哈,我想起来了,这个项目我赞助过 100 块钱~
    lincanbin
        63
    lincanbin  
    OP
       2015-11-12 21:29:45 +08:00
    @miao 只要下载 Android Studio ,按照上面提及的修改配置、包名、图标、名称。
    按一下生成 apk 按钮,就可以完成了。
    很简单不是么?

    整个过程要不了 3 分钟,或许也可以找你身边做 Android 开发的人代为编译。
    lincanbin
        64
    lincanbin  
    OP
       2015-11-12 21:30:52 +08:00
    @oojiayu https://www.94cb.com/t/2465
    对的呢,你还是非常早期的捐赠用户。
    再次表示感谢。
    lincanbin
        65
    lincanbin  
    OP
       2015-11-12 23:18:53 +08:00


    GitHub 上多了这么多萌妹 Followers ,有点慌。
    robin001
        66
    robin001  
       2015-11-12 23:49:08 +08:00 via iPhone
    lz 的网站老给我一种卡卡的感觉……
    qqjt
        67
    qqjt  
       2015-11-13 00:08:43 +08:00
    @lincanbin 其实这些人和你一样是……
    lincanbin
        68
    lincanbin  
    OP
       2015-11-13 00:26:13 +08:00
    @qqjt 又发现一个萌妹。
    lincanbin
        69
    lincanbin  
    OP
       2015-11-13 00:27:50 +08:00
    @robin001 是帧数不够?还是网络不行?
    不应该啊,我连前端库都没敢用,只用了个 jQuery ,剩下的都自己写。
    我这边无论什么设备都滑得不行。
    johnhsm2333
        70
    johnhsm2333  
       2015-11-13 00:31:34 +08:00
    来支持开源!
    BillowSky
        71
    BillowSky  
       2015-11-13 06:07:13 +08:00
    就喜欢这样的论坛风格,好棒!
    pein
        72
    pein  
       2015-11-13 09:21:58 +08:00
    兹瓷,会有 ios 版吗?
    dmmo
        73
    dmmo  
       2015-11-13 09:33:48 +08:00
    ERR_CONNECTION_TIMED_OUT.. 表示很伤心
    hvsy
        74
    hvsy  
       2015-11-13 09:34:39 +08:00
    哇哦,楼主的论坛速度杠杠的
    dmmo
        75
    dmmo  
       2015-11-13 09:36:40 +08:00
    我居然要翻墙才行.
    caliy
        76
    caliy  
       2015-11-13 09:50:42 +08:00
    质量不错!!
    lincanbin
        77
    lincanbin  
    OP
       2015-11-13 10:09:29 +08:00 via Android
    @dmmo 蛤?我的论坛被墙了?
    我这边是无墙的教育网 IPv6 所以一直都觉得很顺畅。
    dmmo
        78
    dmmo  
       2015-11-13 10:10:54 +08:00
    @lincanbin 我不知道是不是我网络问题, 我这边开了代理才行.
    lincanbin
        79
    lincanbin  
    OP
       2015-11-13 10:11:30 +08:00 via Android
    @pein 开发语言肯定不是问题,有其他语言的基础的话我猜大概花两三天大概就可以学到能用的水平了。
    但是目前没有 mac 也没有 iPhone 也没买开发者账号,从这些东西的价格来看,短时间内很难有 iOS 版。
    lincanbin
        80
    lincanbin  
    OP
       2015-11-13 10:12:42 +08:00 via Android
    @dmmo 我去测速网站试了下,基本所有省份都是通畅的,看来只是你的线路问题了。
    lincanbin
        81
    lincanbin  
    OP
       2015-11-13 11:56:10 +08:00
    @caliy Thanks.
    dphdjy
        82
    dphdjy  
       2015-11-13 14:24:03 +08:00
    lincanbin
        83
    lincanbin  
    OP
       2015-11-13 14:28:42 +08:00
    @dphdjy 这个圆角好像比 Google Play 商店的圆了一点。
    怪了,我没改过圆角啊,这就是默认参数。
    难道 Google 给的 CardView 的圆角默认是不符合 Material Design 的?
    我去量一量这个圆角。
    aitaii
        84
    aitaii  
       2015-11-13 14:43:18 +08:00 via Android
    手机网页版浏览的时候 感觉向上滑动容易向右侧划(也许是我手机的问题)
    lincanbin
        85
    lincanbin  
    OP
       2015-11-13 14:48:35 +08:00
    @aitaii 灵敏度过高的问题,在个别手机上会出现,正在寻求解决方法。
    dphdjy
        86
    dphdjy  
       2015-11-13 15:01:38 +08:00
    刚刚看了 footer 。。。 06-15 维护了好久~~~~~吓死~
    lincanbin
        87
    lincanbin  
    OP
       2015-11-13 15:09:26 +08:00
    @dphdjy 以前有个 ASP 版,因为我去上学,停工了好几年了。

    这个 PHP 版是去年年底才基于那个 ASP 版重构的。
    lincanbin
        88
    lincanbin  
    OP
       2015-11-13 15:10:27 +08:00
    @dphdjy
    你看我也不像那种挖了坑就不填的人吧。
    kiritoalex
        89
    kiritoalex  
       2015-11-13 16:50:15 +08:00
    @lincanbin 这些人都和你一样其实是男的, hhhhhhhhhhh
    nanguo
        90
    nanguo  
       2015-11-13 17:00:35 +08:00
    哈哈,其实 Followers 都是一群宅男
    nanguo
        91
    nanguo  
       2015-11-13 17:07:12 +08:00
    学习学习, V2EX 类型的话题型论坛,很不错,精简实用,感谢楼主无私奉献
    lincanbin
        92
    lincanbin  
    OP
       2015-11-13 18:01:06 +08:00
    @nanguo
    @kiritoalex 你萌这些妹子,就是喜欢装男的。
    WayToPlay
        93
    WayToPlay  
       2015-11-13 19:44:40 +08:00
    很不错,感谢分享
    echopan
        94
    echopan  
       2015-11-13 20:00:31 +08:00
    @lincanbin 卧槽 你把截图弄上去了, Angel Beats 那个是我。
    对了 ,我用 Nexus6 手机测试的时候,下拉刷新点击某一文章会出现 FC 的问题.
    系统版本 Android6.0 , 11 月份安全补丁。
    mikelei8291
        95
    mikelei8291  
       2015-11-13 20:03:31 +08:00
    @lincanbin 不,我以经验者的身份告诉你,顶着个二次元妹子头像的都他妈是死宅
    lincanbin
        96
    lincanbin  
    OP
       2015-11-13 20:21:55 +08:00
    @echopan 嗯嗯,我回头找开个模拟器试试。
    lincanbin
        97
    lincanbin  
    OP
       2015-11-13 20:23:10 +08:00
    @mikelei8291 真是个傲娇的妹子呢。
    sox
        98
    sox  
       2015-11-13 20:46:30 +08:00 via Android
    楼上们都是废话,可爱的当然都是男孩子!
    dphdjy
        99
    dphdjy  
       2015-11-13 21:45:05 +08:00
    @lincanbin

    果然热爱填坑~~

    我都不知道弃了多少了。。。

    话说我也去写个 nodejs 版本~~
    dphdjy
        100
    dphdjy  
       2015-11-13 21:47:08 +08:00
    @lincanbin 还有~你的所有 at 都迷之消失。。。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5538 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 01:55 · PVG 09:55 · LAX 17:55 · JFK 20:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.