如题 最近要接一个 Android 项目从隔壁组 本来想着面向 StackOverFlow 编程 东拼西凑搞定就算了
后来估计了一下大概要三四周,本着不浪费时间的原则,想顺便系统化一下 Android 或者说 APP 开发的知识
楼主写过各种语言,但基本都是 Server 端的业务逻辑,没在前端和 app 端干过。
希望书中有类似:
之类的“best practice in general"
不太需要类似
<table>, <tr>
标签之类的具体 /api facing 的东西
对于 UI 组件 我会去看谷歌的官方 doc
对于通用的 App 开发知识,v 友们有推荐的书吗?
1
Ariver 2021-02-09 07:08:30 +08:00 via iPhone
我也想找一本类似这样的
|
2
Elethom 2021-02-09 07:30:51 +08:00 via iPhone
每次刚接触新东西的时候也想要有这样的资料,后来发现还是多看成熟项目的源码择善而从最好,因为根本没人写这样的资料。
|
3
xiangyuecn 2021-02-09 08:45:44 +08:00
你这个想法是把一本能写 200 页的书 活生生变成了 10 页🙄
|
4
HeapOverflow 2021-02-09 08:48:01 +08:00
如果是全新的项目,用 flutter 可能比较简单
|
5
WangHL 2021-02-09 09:08:34 +08:00
UI 绘制和事件监听可以参考官方文档中核心主题部分 [https://developer.android.google.cn/guide] ;最佳实践可以参考阿里巴巴 Android 开发手册 [https://edu.aliyun.com/course/813] ,概述中有 pdf 下载链接,遵守规范中的 [强制] 可以避免很多坑;
|
6
Renco 2021-02-09 09:24:36 +08:00
flutter +1
|
7
MozzieW 2021-02-09 09:40:16 +08:00
我本想说没有这样的书, 然后想了自己看的书, 有的话应该是<App 研发录:架构设计、Crash 分析和竞品技术分析>(从订单历史找的). 但发现可能也不太合适, 原因和我觉得没有这种书一样: 落后.
Android 现在是一个既成熟又年轻的状态. 你可以用过去十年的技术和经验继续构建, 但是这些技术都在慢慢被淘汰. 就连 Java, 逐渐都是 Kotlin. 鉴于题主是后端的, 我觉得拿网络处理来做说明比较容易理解. UI 的开发正常只有一个线程能更新 UI(一般叫主线程, 具体的细节差异忽略). Android 一开始是可以在主线程请求网络的, 这样就导致网络请求时整个页面都停止响应了. 所以网络请求被禁止在主线程调用. 然后就出现了网络请求的封装. 大概带你是这样的: ~~~ New Thread(Runnable(){ |
8
MozzieW 2021-02-09 09:54:51 +08:00
没打完发出去了...
我本想说没有这样的书, 然后想了自己看的书, 有的话应该是<App 研发录:架构设计、Crash 分析和竞品技术分析>(从订单历史找的). 但发现可能也不太合适, 原因和我觉得没有这种书一样: 落后. Android 现在是一个既成熟又年轻的状态. 你可以用过去十年的技术和经验继续构建, 但是这些技术都在慢慢被淘汰. 就连 Java, 逐渐都是 Kotlin. 鉴于题主是后端的, 我觉得拿网络处理来做说明比较容易理解. UI 的开发正常只有一个线程能更新 UI(一般叫主线程, 具体的细节差异忽略). Android 一开始是可以在主线程请求网络的, 这样就导致网络请求时整个页面都停止响应了. 所以网络请求被禁止在主线程调用. 然后就出现了网络请求的封装. 大概带你是这样的: ~~~ New Thread(Runnable(){ result = 网络请求() handler.post(result);// 返回主线程继续 }); ~~~ 这种封装第一个问题是每次请求都要新建线程, 很简单, 用线程池解决. 第二个是里面的 handler 持有了当前页面指针, 可能导致内存泄漏. 所以当时很多文章也介绍怎么避免这个问题(handler 不仅仅网络使用, 所以问题还是挺普遍的). 这种经验还有用吗? 如果你用上现在的 Retrofit 库, 你发现这些问题都没有了, 而且用起来还贼简单. 真有人写书还给你介绍这个, 估计你都觉得作者骗钱的. 但是的确还有些新人抄代码抄到这种东西. 可能我还觉得自己年轻, 觉得这种东西也是不久前才看过. 比如我上面说的书, 里面说 ListView 也是被淘汰了, 现在就算你用 RecyclerView 不自己写一个 BaseAdapter 都不好意思给人看. 感觉都是自言自语, 说个还是自己觉得有用的建议: 找一个还在维护的高仿项目, 看一下网络请求处理, 设计(什么 MVVM, MVP 的随缘), 经典的 iOS 底部 tab 样式实现, 列表页面, 详情页面实现就可以了. 如果了要做的功能, 直接搜'高仿 xxx',基本出来的就是最佳实践. 毕竟万一运气不好, 搭环境估计都得花好几天. |
9
LxExExl OP @xiangyuecn #3 200 页的也可以啊 hhh
@HeapOverflow #4 @Renco #6 工作方面这个项目看看已有代码,网上找找例子几天就能弄完了。用新语言新框架不现实,而且舍近求远,有点浪费时间 (目标是短平快做完需求,回到后端的主线任务上) 工期两周,我觉得不到一周就能做完了,想剩下的时间趁机买买书,报销一下,然后学点以后不管什么编程语言都能用到的知识。 @WangHL #5 谷歌的文档一直在看 对添砖加瓦足够了 阿里那个更像是针对 Android 开发的一些语言规范,对我来说”太深了”,近期和长期都用不上。 我是想找一本类似“clean code”的书,而不是“c++ premier",或者”c 语言程序设计现代方法" 来了解一下”现在想快速开发一个手机 App,语言无关的情况下,分几个模块,有哪些需要注意的,和编程语言无关“ @MozzieW #8 对 这种经验确实只适合面试挑刺了。好像这种书确实不好写,写完了可能就被新技术覆盖了,也许找 medium 之类的博客看看更好,只是很难找到系统的 |
10
zxCoder 2021-02-09 14:02:51 +08:00
没有
|