Android开发知识整理

最近做项目的android打包,把遗忘的android再整理一下。

回顾下来,学习的难点就在掌握其工作环境和工作原理上,尝试之前,先整理这些内容其它的就是如此简单@。@

环境

  1. SDK,NDK 设置,路径中不能存在空格符,android 运行模板项目的时候,会自动下载更新。
  2. Gradle 设置
  3. 界面:四大组件、布局、UI组件、自定义view、动画
  4. 网络:okhttp、Gson等
  5. 数据持久化:SharedPreference、SQLite、文件等
  6. 进程、线程、同步、异步
  7. 辅助开发工具的使用:依赖管理Maven、构建工具Gradle、Crash处理、调试、日志
  8. APP打包、上传、升级

Gradle

是给予Groovy语言,基于Ant和Maven的自动化构建工具。

  • 官方文档:https://docs.gradle.org/current/dsl/
  • 使用文档:http://tools.android.com/tech-docs/new-build-system/user-guide

看一个基本结构的Android多Moudule(也就是gradle中的多Project Multi-Projects Build)的基本项目结构。

├── app 
│   ├── build.gradle #构建脚本
├── module 
│   ├── build.gradle #构建脚本
├── build.gradle #工程构建文件
├── gradle
│   └── wrapper    #先不去管它
├── gradle.properties #gradle的配置
├── gradlew #gradle wrapper linux shell脚本
├── gradlew.bat
└── settings.gradle #工程配置

Framework

  • AIDL、Binder、多进程、事件分发、view
  • handler、looper、MessageQueue
  • 性能优化、JNI
  • 开源框架、开源库:OKhttp、EventBus、Retrofit等
  • 网络通信 volley、retrofit
  • 图片加载 Picasso、Fresco
  • json转换 gson
  • 优化工具:Hierarchy Viewer、OOM检测优化工具MAT、Lint
  • Activity启动模式、标记位、Intent Filter
  • Service启动、绑定
  • 多线程、线程池:AsyncTask、HandlerThread、IntentService、

技术点

  1. Android四大组:Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器
  2. AMS、PMS、Window和View的关系、SystemServer启动过程
  3. 第三方:广告、Crash、统计、应用分发、数据存储、推送、分享、便捷登录、Google Play服务
  4. 资源相关:
    • string 存储全局字符串。
    • dimen 存储尺寸,保存控件的各类尺寸。
    • mipmap 存放应用图标。
    • drawable 存储图片、shape、selector、.9图等图片资源。
    • color 存储全局颜色值。
    • assest 存放静态资源,如html页面等。
    • 屏幕适配 资源文件用各种dpi来区分分辨率达到不同分辨率适配的效果。
  5. 界面相关:
    • Activity Android基本的界面容器,用于显示所有 APP 的内容。需要熟悉 Activity 的生命周期,知道 setContentView、findViewById。
    • Fragment Android碎片化界面容器,用于嵌入显示 APP 指定内容。需要熟悉生命周期、界面绑定、控件绑定。
    • layout文件夹 布局文件文件夹,与Activity、Fragment、Adapter、自定义View一起使用,用于绘制界面布局和内容。
    • adapter 重复界面适配器。用于为重复显示组件如ListView、GridView等组件编写列表项显示内容和显示逻辑。
    • 常用控件 了解控件在XML中的用法及相关接口,如OnCickListener。
    • 容器类 LinearLayout、RelativeLayout、FrameLayout、ScrollView等。
    • 组件类 Button、TextView、EditText、ImageView等。
    • 列表类 ListView、GridView、RecycleView等

你可能感兴趣的:(其他)