lincanbin
V2EX  ›  Android

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

  •  6
     
  •   lincanbin · Nov 12, 2015 · 30504 views
    This topic created in 4014 days ago, the information mentioned may be changed or developed.

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

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

    Carbon_Forum

    Related Information

    Screenshot

    Main

    Topic

    New

    Login Settings

    Notifications

    Push_Service

    Drawer

    Drawer2

    Drawer3

    Supplement 1  ·  Nov 12, 2015

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    有宗教信仰不是坏事,但不能因为自己的信仰就开始肆意批判别的宗教的神,这样岂不是就成了极端穆斯林。代码风格同理。
    yuewolf
    yuewolf
    Nov 12, 2015
    30
    弱弱地问一下 description 会加上吗? LZ 是玩票性质,还是打算一直做下去?
    ChoateYao
    ChoateYao
    Nov 12, 2015
    31
    $Page 首字母大写,我也是醉了。
    lincanbin
    lincanbin
    OP
    Nov 12, 2015
    32
    @yuewolf
    你说我这是什么性质呢?
    longaiwp
    longaiwp
    Nov 12, 2015
    33
    感觉从图里看到有些问题啊。。。比如 2 图的日期。。。
    lincanbin
    lincanbin
    OP
    Nov 12, 2015
    34
    @longaiwp 有什么问题?
    wdlth
    wdlth
    Nov 12, 2015
    35
    PHP 的链接和 Android 的链接放成一样的了……
    XianZaiZhuCe
    XianZaiZhuCe
    Nov 12, 2015 via Android
    36
    加油
    lincanbin
    lincanbin
    OP
    Nov 12, 2015
    37
    @wdlth 感谢提醒,已修正。
    Yuansir
    Yuansir
    Nov 12, 2015
    38
    @lincanbin 额。。。我不是想争论来的,顺便安利下 http://www.php-fig.org/
    Yuansir
    Yuansir
    Nov 12, 2015
    39
    @lincanbin 还有我不是说你用帕斯卡命名法有任何错误,只是为毛代码风格不统一,比如$up = new Uploader($fieldName, $config, $base64, $Prefix, $CurUserName, $DB); 我自己难受就好,处女座
    lincanbin
    lincanbin
    OP
    Nov 12, 2015
    40
    @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
    luanluan
    Nov 12, 2015
    41
    你的 HTTPS 哪家的
    lincanbin
    lincanbin
    OP
    Nov 12, 2015
    42
    @luanluan https://www.94cb.com/t/3140
    WoSign 不要钱证书。

    但是实际上加了 SSL 后,握手时间更长了,在恶劣网络环境下(手机 2G 网络),表现其实更糟。
    Jeremy1992
    Jeremy1992
    Nov 12, 2015
    43
    你为何这么吊
    zzutmebwd
    zzutmebwd
    Nov 12, 2015 via Android
    44
    @lincanbin V2EX 审美疲劳+1
    scola
    scola
    Nov 12, 2015 via Android
    45
    每次开启都刷新不好,我喜欢手动刷新
    lincanbin
    lincanbin
    OP
    Nov 12, 2015
    46
    @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
    lincanbin
    OP
    Nov 12, 2015
    47
    @scola 每次打开刷新,我觉得是有必要的,想不到有什么打开了客户端,却不看新帖子的理由。
    而且这个客户端占用内存应该也就 20M ,不清理缓存的话,这样再进也不会再次刷新。
    EarlGrey
    EarlGrey
    Nov 12, 2015
    48
    支持!
    lincanbin
    lincanbin
    OP
    Nov 12, 2015 via Android
    49
    噫,我姐要给我买新手机了。
    我已经受够了这个 512 内存的测试了。
    mthli
    mthli
    Nov 12, 2015 via Android
    50
    支持!
    jiezhi
    jiezhi
    Nov 12, 2015
    51
    支持楼主!
    KNOX
    KNOX
    Nov 12, 2015
    52
    我觉得如果导航的 item 这么少可以不用 NavigationView ,直接放在 toolbar 里面,个人见解。
    tangooricha
    tangooricha
    Nov 12, 2015
    53
    目测又要发生让 LZ 心塞的事情了。
    void1900
    void1900
    Nov 12, 2015
    54
    看了下 php 的,很用心,水平也不错,代码很整齐,不过感觉思维是过去式。

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

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

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


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

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

    果然热爱填坑~~

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

    话说我也去写个 nodejs 版本~~
    dphdjy
    dphdjy
    Nov 13, 2015
    100
    @lincanbin 还有~你的所有 at 都迷之消失。。。
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   656 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 121ms · UTC 18:33 · PVG 02:33 · LAX 10:33 · JFK 13:33
    ♥ Do have faith in what you're doing.