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

安卓开发也太难了吧, 显示个图片列表也这么难.

  •  
  •   arnosolo · 2022-12-30 20:46:09 +08:00 · 4881 次点击
    这是一个创建于 454 天前的主题,其中的信息可能已经有所发展或是发生改变。
    第 1 条附言  ·  2023-01-01 14:53:52 +08:00
    感谢各位大佬指路, jetpack compose 非常好用. 我还有一个问题就是 Android 上有没有类似 canvas 或者 svg 的 api, 以后需要绘制一些球形进度条之类的组件.
    29 条回复    2023-01-04 16:34:42 +08:00
    ajaxgoldfish
        1
    ajaxgoldfish  
       2022-12-30 20:47:11 +08:00 via Android
    有现成的组件库的
    caotian
        2
    caotian  
       2022-12-30 21:01:50 +08:00
    看看 jetpack compose, 显示个列表跟 web 一样简单
    xmumiffy
        3
    xmumiffy  
       2022-12-30 21:02:31 +08:00 via Android
    这是通过 实现一个图库应用 来教你 Android 开发各个具体知识点。只是想实现个显示图片的功能就算从零开始自己写也就一两百行就行了
    cgpiao
        4
    cgpiao  
       2022-12-30 22:03:23 +08:00
    安卓不能说是难,而应该说是啥都没有。
    跟 iOS 开发比起来,安卓什么都要自己写,开发体验差的离谱。
    WebKit
        5
    WebKit  
       2022-12-30 22:33:13 +08:00 via Android
    原生开发都比 web 相对难度更高一些。不过熟练了这些都很简单。
    WebKit
        6
    WebKit  
       2022-12-30 22:34:20 +08:00 via Android
    @ajaxgoldfish 这个真没有。最多就是对 adapter 做了一个封装。具体的布局,请求还是要自己写
    WebKit
        7
    WebKit  
       2022-12-30 22:34:37 +08:00 via Android
    @caotian compose 现在性能还是不行
    xlsepiphone
        8
    xlsepiphone  
       2022-12-30 22:40:58 +08:00
    Recyclerview 都难了吗?不就是 adapter 的设计模式吗?
    superedlimited
        9
    superedlimited  
       2022-12-30 22:47:54 +08:00
    的确是比 web 前端麻烦一点的
    silvernoo
        10
    silvernoo  
       2022-12-30 22:54:08 +08:00
    有现成的模板代码可以用,不过也很繁琐
    maninfog
        11
    maninfog  
       2022-12-30 23:12:09 +08:00 via iPhone   ❤️ 2
    @xlsepiphone 还别说,我现在回想一下 RecyclerView 还真挺复杂的… 先别说初学者大多被 ViewHolder 复用特性坑一下。就算 adapter 写熟练了,写个自定义 Item Decoration ,不看网上模版代码还不太容易写出来; RecyclerView Header 和 Footer ,不用轮子自己写起来很麻烦,官方后面都补了个轮子;还有滑动嵌套处理以及各种焦点问题;另外遇到多 type ,代码处理不好 adapter 会超级膨胀;还有自定义 LayoutManager ,这会了已经算是独门绝技了;还想起以前做上拉刷新或者一些滑动监听,写各种判断代码以及加各种 Listener…… 总的感觉就是确实是很强大,把它作为底层啥都能做,但是真的就是太 Raw 了,要精通要花很多工夫
    liveoppo
        12
    liveoppo  
       2022-12-30 23:31:57 +08:00
    还有个类似的,常见的,也难:view pager
    现在回想一下,安卓开发比 react 、vue 真是麻烦太多了,还好现在有 compose 了。
    pansongya
        13
    pansongya  
       2022-12-30 23:32:08 +08:00 via iPhone
    先要了解适配器模式
    shellwen
        14
    shellwen  
       2022-12-31 00:16:04 +08:00 via Android   ❤️ 1
    快跑,去用 Jetpack Compose
    winterbells
        15
    winterbells  
       2022-12-31 08:21:21 +08:00 via Android   ❤️ 1
    超麻烦的,写个 demo 都要花很久。
    debuggerx
        16
    debuggerx  
       2022-12-31 10:06:47 +08:00 via Android
    所以说 flutter 对比原生开发简直是降维打击
    matrix1986
        17
    matrix1986  
       2022-12-31 10:26:29 +08:00
    用 flutter 啊
    meteor957
        18
    meteor957  
       2022-12-31 10:40:55 +08:00 via Android
    我是前端,adapter 那一套能把人给看吐了。
    meteor957
        19
    meteor957  
       2022-12-31 10:41:07 +08:00 via Android
    用 compose
    meteor957
        20
    meteor957  
       2022-12-31 10:42:34 +08:00 via Android
    难倒不算难,主要是感觉很繁琐
    xieren58
        21
    xieren58  
       2022-12-31 15:55:11 +08:00
    用 jetpack compose, 比 web 还简单...
    zxCoder
        22
    zxCoder  
       2022-12-31 19:35:58 +08:00
    是的,如果是先学 web 前端再去学原生,简直反人类
    debuggeeker
        23
    debuggeeker  
       2023-01-01 16:38:39 +08:00   ❤️ 3
    安卓开发难的是适配,行业内经典问题之一,就举个例子。用户上传头像,选择手机里的一张图片。正常的获取,肯定是通过 sdk 接口,查询出来图片的缩略图,APP 用列表展示,重点来了,每个版本,每个厂都可能修改获取图片的接口,你写好的代码,在你手机能用,到了客户哪里可能挂了,经常讨论的是鸿蒙系统,特别难搞,api 被魔改了,拿不到数据。
    安卓难的是,你开发的时候,面向标准 sdk 开发,官方的 AOSP ,但是市面上设备他们拿到平台代码后都喜欢改!甚至把标准接口改狗屎一样,你的代码在魔改了的系统上跑! iOS 就是面对官方 sdk 开发,因为系统就只有他们有。web 也有这样问题,跑在不同内核上,你写的代码可能不兼容!遇到这样问题,你可以把一个谷歌浏览器安装包给他,装完了,环境就解决了,但是手机,你能送一个给客户嘛?
    TArysiyehua
        24
    TArysiyehua  
       2023-01-01 18:02:11 +08:00
    会 web 和 android ,flutter 的说一句。
    1. android 不算难,但是通用组件确实没有 web 多。web 一般就用那几套 UI 标准,android 要抄 ios 的 UI (交互),自然什么都要自定义。
    2. 楼主说的是显示图片,但是链接是其实是一个列表,这个列表的功能还非常强大(可回收可复用,节省内存)。同样的组件在 web 也需要配不少东西。
    3. 如果都加都是从原生支持的标签或 view 开始自定义,web 比 android 要复杂不少。
    4. futter 写得速度也跟 android 差不多(不考虑需要原生平台支持的)
    5. ios 开发挺快而且大部分有现成的(因为没有大部分就一句话:做不了)
    arnosolo
        25
    arnosolo  
    OP
       2023-01-01 18:44:08 +08:00
    @debuggeeker 感觉好像一脚踩入了一个深坑.
    debuggeeker
        26
    debuggeeker  
       2023-01-02 18:06:18 +08:00
    @arnosolo 没事的,时间长了你就发现 50 年入 g 军
    lmislm
        27
    lmislm  
       2023-01-03 11:06:28 +08:00
    @TArysiyehua 我有一个其他问题啊,大佬会这么多。职业方向走的哪条路。我写过三年前端,目前是写一年多的安卓,对未来很迷茫
    TArysiyehua
        28
    TArysiyehua  
       2023-01-03 12:18:36 +08:00
    @lmislm 我现在的方向是大前端。但是我个人认为,能选后端选后端,后端才是最好的选择,无论是自身职业还是后续发展都很有优势。
    客户端现在真的是人满为患,岗位就这么多,人却非常多。根本原因是客户端的开发成本较高(相对于 h5 ),只有少部分公司才有能力有资金支持, 这也就导致了客户端人多坑少。
    而前端虽然岗位多,但是人也确实贼多,入门基本都选前端或者会点前端,只能说饿不死吧,发展很快就到了上限。
    后端我个人认为是最好的选择,虽然是后端现在也是杀的通红,但是高级的后端掌握公司的核心,发展的上限是最高的。
    lmislm
        29
    lmislm  
       2023-01-04 16:34:42 +08:00
    @TArysiyehua 选后端?那我这种“杂”经验能找什么后端工作。目前在一家一线金融公司,不知道往哪跳。能加绿色软件,SnNlckxpdQ==,感激不尽!前辈!!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3013 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 15:03 · PVG 23:03 · LAX 08:03 · JFK 11:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.