大家用 android 原生开发时,使用 Java 或者 kotlin 分别用什么框架 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
neilq
V2EX    Android

大家用 android 原生开发时,使用 Java 或者 kotlin 分别用什么框架

  •  1
     
  •   neilq 2020-03-07 20:59:32 +08:00 15876 次点击
    这是一个创建于 2111 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我主业是.net 开发,最近通过现有项目边开发边学习 android 原生,项目使用 java 和 mvp 框架开发,模型绑定用 ButterKnife,带了 rxJava, 然后发现写一个简单 call api,从 apiService, 到 model, 到 presenter, 到 view interface, 再到 activity 要套 4,5 层,感到很困扰。

    我跟着官网用 kotlin 学习时,发现官方自带 mvvm 的。

    请问下各位 android 大佬,平时在工作项目中做原生开发时, 如果用 java 开发,一般用什么框架,是什么也不用 findViewbyId+handler 一把梭,还是用一些三方的 mvvm,mvp 框架, 如果用 kotlin 开发呢?

    25 条回复    2020-03-12 16:34:17 +08:00
    meteor957
        1
    meteor957  
       2020-03-07 21:10:03 +08:00 via Android   1
    kotlin+mvvm,mvp 实在是无法接受…… 不过 我是前端 也在自学……
    nodzhang
        2
    nodzhang  
       2020-03-07 21:14:20 +08:00   1
    kotlin 用 MVVM 设计模式,Google 提供了很多框架,jetpack 里的就够用了
    huruwo
        3
    huruwo  
       2020-03-07 21:21:37 +08:00   1
    jetpack
    charlieputon
        4
    charlieputon  
       2020-03-07 21:39:29 +08:00 via Android   1
    没用过 mvp,kotlin 只有和 mvvm 才最搭
    shingkit
        5
    shingkit  
       2020-03-07 21:43:53 +08:00   1
    LIveData + ViewModel + kotlin android extension(替代 findViewbyId),java 的话就换成 butterknife
    kwanzaa
        6
    kwanzaa  
       2020-03-07 21:58:21 +08:00   1
    Jetpack 里面玩玩就行。
    300
        7
    300  
       2020-03-07 22:04:37 +08:00   1
    嘿嘿,刚写的。入门的话可以看看我这个
    https://github.com/ohyooo/MVVMBaseProject
    mxalbert1996
        8
    mxalbert1996  
       2020-03-08 00:17:23 +08:00 via Android   1
    AS 3.6 已经是正式版了,该用 View Binding 了
    WebKit
        9
    WebKit  
       2020-03-08 01:44:53 +08:00 via Android   1
    想降低麻烦,建议用 kotlin MVP
    hyyou2010
        10
    hyyou2010  
       2020-03-08 02:56:04 +08:00   1
    不要首选第三方各种框架,要首选 jetpack 那一套,当然已有项目就另说,只能跟着原先的走

    findViewbyId+handler 一把梭 一般问题也不大,可能不优雅点
    Lin0936
        11
    Lin0936  
       2020-03-08 08:54:08 +08:00 via Android   1
    现阶段用一套 jetpack 就很舒服了,而且都是可选项。
    Yyyye
        12
    Yyyye  
       2020-03-08 08:59:22 +08:00   1
    现阶段确实是 jetpack.
    daozhihun
        13
    daozhihun  
       2020-03-08 10:06:30 +08:00   1
    自带的 live、room 就可以,但是如果是初学者入门,还是可以先玩玩最基础的 findById、asyncTask 之类的
    jdgui
        14
    jdgui  
       2020-03-08 11:17:20 +08:00   1
    用的 java,用的 mvp 的思路多一点。用 ButterKnife,很少 findViewById
    zhgg0
        15
    zhgg0  
       2020-03-08 11:33:00 +08:00   1
    写安卓向来都是什么都不用一把梭。
    gavin6liu
        16
    gavin6liu  
       2020-03-08 12:45:35 +08:00   1
    Jetpack +1,能不用第三方就不用
    neilq
        17
    neilq  
    OP
       2020-03-08 14:15:06 +08:00
    感谢大家的建议
    ufan0
        18
    ufan0  
       2020-03-08 17:15:13 +08:00
    我才发现我写了一年多的安卓都是直接干......
    WebKit
        19
    WebKit  
       2020-03-08 18:05:05 +08:00 via Android
    mvvm 真的问题很多。kotlin 也不用 findviewbyid
    maokabc
        20
    maokabc  
       2020-03-08 22:57:05 +08:00 via Android
    开始直接梭,然后维护蛋疼,后面用 mvvm 重构
    Frytea
        21
    Frytea  
       2020-03-09 09:27:45 +08:00   1
    @ufan0 同,没用过框架不知道框架的好
    0xZhangKe
        22
    0xZhangKe  
       2020-03-09 10:04:01 +08:00
    Kotlin+MVVM
    youngxhui
        23
    youngxhui  
       2020-03-09 11:08:16 +08:00
    官方 jetpack
    F1ReKing
        24
    F1ReKing  
       2020-03-10 11:36:36 +08:00
    jetpack+View Binding
    fengwei23
        25
    fengwei23  
       2020-03-12 16:34:17 +08:00
    jetpack
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3239 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 11:41 PVG 19:41 LAX 03:41 JFK 06:41
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86