突然间发现,可以学的东西好多,自己好多东西不会,好落后了,Android已经出了好多好用又新的东西自己都没花时间去学,不是学不会,只是没去学。
谷歌还是很做实事的,Android更新非常快,包括android系统和相应的api,文档也是越来越丰富(相比早期的简单文档),可以看出谷歌是一家做实事的公司,是一家好公司,做Android,不会错的,关键看自己的学习能力了。
在这个互联网时代,手机、电脑很容易分人的心,经常不记得自己要干什么了,所以这里记录一下自己想学的东西,迷茫的时候就来翻翻这个日志,找点喜欢的东西学一学,不能浪费了自己的青春年华,再说了,现在好像已经是中老年人了行列了,555~~~
谷歌开发者官网(不仅仅是Android):
- 国外站点:https://developers.google.com/
- 国内站点:https://developers.google.cn/china/
谷歌中国官方视频:https://space.bilibili.com/64169458
Android官网:https://developer.android.google.cn/index.html 这里面的东西就够学一辈子,目前最需要学会的是:
Android Jatpack中的组件,特别是:
- Databinding
- Lifecycles
- LiveData
- Navigation
- Paging
- Room
- ViewModel
- WorkManager
- Android KTX
- DownloadManager
- Compose (实现代码写UI)
在Android11的时候推出的三个Jatpack组件
官网其他需要学的:
- Android Studio工具的使用
- NDK开发
- 各个版本平台变化
- 代码示例
- 测试应用
- 质量指南
- Material Design
- 代码实验室
- App Bundle
- Jatpack新功能
- ConstraintLayout布局,也可在百度或各大视频教程网找找视频教程
- 官网搜索Intent发现有很多主题可以学习的
- 图形架构
- 各种安全主题 包含https、数据存储、分享等安全性主题,如密钥、签名等等。还有:https://blog.csdn.net/hehongdan/article/details/103168380、https://mobile-security.gitbook.io/mobile-security-testing-guide/android-testing-guide/0x05g-testing-network-communication、https://www.raywenderlich.com/10056112-securing-network-data-tutorial-for-android、https://developer.android.com/topic/security、https://codelabs.developers.google.com/codelabs/android-network-security-config/#0、
- 应用质量要求:https://developer.android.com/docs/quality-guidelines/core-app-quality#sc
- WebView使用
- 存储访问框架
- 选择物理存储位置
- 从共享存储空间访问文档和其他文件
- 操作时需要输入用户密码
- 使用 Security 库对本地文件进行加密
- 创建权限
- Google官方的对于MediaCodec和MediaMuxer的音视频使用Demo:https://github.com/google/grafika、https://www.bigflake.com/mediacodec/ 这里面还包含有一个游戏的原码:https://github.com/fadden/android-breakout,对游戏进行录屏
- android5.1中的新编解码方式示例:https://github.com/mstorsjo/android-decodeencodetest
- 兼容性测试套件:https://source.android.com/compatibility/cts
- 关于唯一识别id的官方博客
- 使用 Binder 和 Messenger 接口
- 动态加载代码
- 另一个Android安全的主题
- 谷歌提供的安全库 是关于加密解密的,还有:https://developer.android.google.cn/guide/topics/security/cryptography,android密钥库
- 权限系统
- Security库
- 网络请求,里面包含很多示例代码,如Cookie等待
- 查看应用的内存分配
- 屏幕兼容 、https://developer.android.com/training/multiscreen/screendensities?hl=en
- SVG图形的兼容库 可兼容到Android2.1
- WebP图像格式 ,加载的网络图片应该尽量使用这种格式。
- 减小apk大小、https://developer.android.google.cn/studio/build/shrink-code、https://developer.android.google.cn/topic/performance/reduce-apk-size
- 代码混淆
- 管理网络使用情况
- 多apk
- 界面和内容
- 优化下载以实现高效网络访问
- 减少网络耗电
- 依赖注入
- Android测试
- 进程和线程 、https://developer.android.google.cn/topic/performance/threads
- 内存管理
- 避免ANR
- 改善性能
- 多处理器
- 无障碍服务
- AndroidX 封装了Camera2
- WebView的使用
- 在WebView中打印Logcat消息
- 切片 不知道是舍东西
- 谷歌助手
- AppBundle
- RenderScript 是用于在 Android 上以高性能运行计算密集型任务的框架
- 使用 Cronet 执行网络操作
- Volley
- gRPC
- 在传输数据的同时节省电量
- 减少网络耗电量
- 监控网络状态、https://developer.android.com/training/monitoring-device-state/connectivity-status-type
- 使用同步适配器传输数据
- VPN
- SIP
- WIFI、https://developer.android.google.cn/guide/topics/connectivity/wifi-scan
- Touch和Input
- 用户位置
- 用户数据和身份
- 应用数据和文件(存储)
- 后台任务
- 多媒体
- 图片和图形
- 动画,自定义动画
- 下拉刷新 \https://developer.android.google.cn/training/swipe/add-swipe-interface#AddSwipeWidget
- 设备兼容性
- https://material.io/design
- 网络漏洞检测工具
- android7.0行为变更
- 支持库
- GcmNetworkManager
- Firebase 云消息传递
- 关于设置:https://developer.android.google.cn/guide/topics/ui/settings、https://source.android.google.cn/devices/tech/settings/settings-guidelines、
https://developer.android.google.cn/guide/topics/ui/settings/programmatic-hierarchy
https://developer.android.com/studio/write/vector-asset-studio 添加多密度矢量图形,具体教程:https://developer.android.com/guide/topics/graphics/vector-drawable-resources
Android Vector Assert支持android21(android 5.0)及以上版本,低版本可使用兼容库
对PSD文件的支持和限制:https://developer.android.com/studio/write/vector-asset-studio#PSD
对SVG文件的支持和限制:https://developer.android.com/studio/write/vector-asset-studio#svg-support
配置编译变体:https://developer.android.com/studio/build/build-variants.html#workBuildVariants
类图中的六种关系:
https://www.cnblogs.com/qianpangzi/p/10842672.html
https://www.cnblogs.com/xumaojun/p/8521704.html
https://segmentfault.com/a/1190000021317534?utm_source=tag-newest
使用 Image Asset Studio 创建应用图标:https://developer.android.com/studio/write/image-asset-studio
注解Android官方文档:https://developer.android.google.cn/studio/write/annotations.html?hl=zh-cn
Kotlin学习资源:https://developer.android.com/kotlin/resources
https://www.cnblogs.com/yuhanghzsd/p/5466846.html https://blog.csdn.net/qq_27384769/article/details/82886977 Android vector标签 PathData 画图超详解
https://www.jianshu.com/p/0972a0d290e9 Android矢量图(一)–VectorDrawable基础
android生命周期Google大牛文章 https://github.com/JoseAlcerreca/android-lifecycles
https://github.com/Kotlin/anko/blob/master/GOODBYE.md
https://github.com/LouisCAD/Splitties
https://github.com/cashapp/sqldelight
设计模式使用Kotlin:https://github.com/dbacinski/Design-Patterns-In-Kotlin#command
https://github.com/JetBrains/Exposed Kotlin SQL框架
gson教程:https://futurestud.io/tutorials/gson-getting-started-with-java-json-serialization-deserialization 、 https://www.studytrails.com/java/json/java-google-json-introduction/
vector使用:https://developer.android.com/studio/write/vector-asset-studio
字符集常量:StandardCharsets.UTF_8(JDK自带)、Util.UTF_8(OkHttp)、Charsets.UTF_8(Kotlin自带)
https://www.jianshu.com/p/a9d861732445 OkHttp使用gzip时的坑
https://blog.51cto.com/aiwoapp/1625707 如何对请求数据进行GZIP压缩
Android唯一标识符:https://developer.android.com/training/articles/user-data-ids
Kotlin中的泛型:https://www.jianshu.com/p/9f5e355a1e65
https://segmentfault.com/q/1010000000655631 ParameterizedType.getOwnerType()
https://blog.csdn.net/qq_30770095/article/details/79016257 对各种Type理解比较透彻的
https://blog.csdn.net/lkforce/article/details/82466893 对Type理解也很详细
原始类型:一般意义上的java类,由Class类实现,如:Class clazz, clazz就是一个原始类型,它是Class对象,Class实现了Type
参数化类型:ParameterizedType接口的实现类,如:Student stu, stu就是一个参数化类型,它的实现类是:ParameterizedTypeImpl
泛型数组类型:GenericArrayType接口的实现类,如:Student[] stus, stus就是一个泛型数组类型
类型变量:TypeVariable接口的实现类,如:T obj, obj就是一个类型变量
基本类型:int,float等java基本类型,其实也是Class
Type的获得
Class. getGenericInterfaces()
Field. getGenericType()
Method. getGenericParameterTypes()
apk解析工具:
implementation ‘net.dongliu:apk-parser:2.6.10’
Clean架构:https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html
todo:
主要介绍MVP和MVVM
https://github.com/android/architecture-samples
sunflower:
主要介绍Android Jetpack
https://github.com/android/sunflower
GithubBrowserSample
Android Architecture Components与Dagger 2结合使用
https://github.com/android/architecture-components-samples/tree/master/GithubBrowserSample
Lambda表达式官方文档:https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html
具有网络访问权限,用户身份验证等功能的真实生产应用程序
Google I/O App:https://github.com/google/iosched
Santa Tracker:https://github.com/google/santa-tracker-android
tivi:https://github.com/chrisbanes/tivi
guava: https://www.jianshu.com/p/ea44224b9cba
Mockito测试:https://www.cnblogs.com/bodhitree/p/9456515.html
MQTT:
https://blog.csdn.net/asjqkkkk/article/details/80714234
https://www.runoob.com/w3cnote/mqtt-intro.html
https://www.baidu.com/s?wd=activeqm%20mqtt&rsv_spt=1&rsv_iqid=0xb3290b0d00093887&issp=1&f=8&rsv_bp=1&rsv_idx=2&ie=utf-8&rqlang=cn&tn=baiduhome_pg&rsv_enter=1&rsv_dl=tb&oq=mqtt%2520android&inputT=16833&rsv_t=75c8GcJ52X9YMZhndg3%2F3Nt0iFZt60mYHQM0LO1jxTj2Y1xWgQbwwaBUq3JLX1xFWO70&rsv_pq=f2a0473500080fe4&rsv_sug3=28&rsv_sug1=19&rsv_sug7=100&rsv_sug2=0&rsv_sug4=16833
http://www.eclipse.org/paho/clients/android/
https://github.com/eclipse/paho.mqtt.android
https://github.com/mcxiaoke/mqtt 协议翻译
https://github.com/mcxiaoke/RxDocs rxjva翻译
http://mqtt.org/
https://github.com/mqtt/mqtt.github.io/wiki/software?id=software
https://www.eclipse.org/paho/clients/java/
https://www.eclipse.org/paho/clients/android/
hamcrest测试:
https://www.jianshu.com/p/e7d4c3bdac6e
http://www.manongjc.com/detail/6-xuhbaxbkorkosck.html
插件化研究之dexmaker动态生成Activity:https://www.jianshu.com/p/7a9d52e73d05
飞秋2013官方博客:http://blog.sina.com.cn/s/articlelist_3233466723_0_1.html
官方B站视频
实现一个Activity + 多个Fragment:https://www.bilibili.com/video/av54529064/、https://www.youtube.com/watch?v=2k8x8V77CrU
官方腾讯视频
官方掘金
CSDN:https://blog.csdn.net/jILRvRTrc (不知道是不是官网)
官方简书
官方OSChina
哇赛,官方很重视中国市场啊,什么都有!!
百度、腾讯、阿里、美团等的技术公众号
官方微信:
Android 11周:
- https://developer.android.com/11weeksofandroid
- https://android-developers.googleblog.com/2020/07/11-weeks-of-android-android-developer.html
Kotlin语言
- Kotlin书籍和Kotlin官网,以及Android官网上的相关内容
- 协程
Gradle相关书籍
优达学城上的关于Android的视频教程:
国内站点:https://cn.udacity.com/
国外站点:https://www.udacity.com/ 有些教程在国外站点才有
掘金App上的文章
Android11:
- https://developer.android.google.cn/android11
- https://android-developers.googleblog.com/2020/06/unwrapping-android-11-beta-plus-more.html
- Android11的相关视频
- https://developer.android.com/preview
- https://android-developers.googleblog.com/2020/07/11-weeks-of-android-android-developer.html
简书
早期在Android eoe下载的电子书
传智播客的电子书上
国外社交app排行榜:https://www.phb123.com/app/33557.html
不带水印的相机app排行榜
如何知道国外哪些app最流行? :https://www.appannie.com/cn/apps/ios/top/ https://www.qimai.cn/rank https://www.chandashi.com/ranking/index.html
找找各大视频网站有什么可学的,比如:
- CSDN学院Android视频
- 内存泄漏
- Android视频编码和直播推流
- ConstraintLayout
- Android web RTC
- FFMPEG打造万能播放器
- Android C++ OpenGL 教程
- JNI详解
- Gradle
- 腾讯课堂:动脑学院
- 菜鸟窝:音视频开发
Youtube上的视频:
YouTube上查找视频,看一个通常会推荐很多相关的技术视频,学技术很好,只可惜不会英文。
Compose:https://www.youtube.com/watch?v=cuLUk37SLYE
RxJava: https://www.youtube.com/watch?v=NBx1T3MbL4g
书籍
- Java编程思想
第三方工具
日志库:logback,java版和android版
Gradle管理依赖官方文档:https://docs.gradle.org/current/userguide/dependency_management_for_java_projects.html
Rest API、Restful API:https://zhuanlan.zhihu.com/p/91240556