这是我参与「第四届青训营 」笔记创作活动的第1天
一、本堂课重点内容:
- 对于移动互联网的认识
- App开发团队内部的精简结构
- 客户端开发面对的角色
- Android系统架构
- APK构成
- Android开发工具
二、详细知识点介绍:
1、对于移动互联网的认识
在移动互联网的世界中有几个角色:人、手机、客户端开发人员、产品经理、世界。
- 人们通过手机去了解世界
- 产品经理根据人们的需求和世界的信息形成需求
- 由客户端开发人员根据产品经理提供的需求进行App的开发
- 提供信息的是App,手机是App的载体
2、App开发团队内部的精简结构
App开发团队中的角色:产品经理、客户端开发、服务端开发、质量保证人员
- 产品经理负责提供需求和设计
- 服务端向客户端提供数据和内容
- 客户端进行功能和交互的实现,以及对服务端所提供数据和内容的呈现
- 在客户端和服务端的开发完成后,汇总为一个安装包,由质量保证人员进行测试,最后在保证质量的情况下交付给用户
3、客户端开发面对的角色
-
对外(用户):创造用户价值
第一层:页面+逻辑+数据
第二层:多样性需求
第三层:体验+质量+安全+个性化
-
对内(公司):节约成本
第一层:单人效率
第二层:团队和公司效能
-
对自身(个人):打造技术品牌
第一层:基本技能
第二层:打造技术高度
第三层:综合素质
4、Android系统架构
Android系统大致可分为五层,从高到低分别是应用层、应用框架层、系统运行库层、硬件抽象层、Linux内核层。
-
应用层
所有安装在手机上的应用程序都属于这一层,比如系统自带的联系人、短信等程序,自己开发的App等等。
-
应用框架层
这一层主要提供了构建应用程序时可能用到的接口,我们可以使用这些接口来构建自己的App。
-
系统运行库层
- C/C++库,它为Android系统提供了主要特性。如SQLite库提供了数据库的支持,OpenGL|ES提供了3D绘图的支持,Webkit库提供了浏览器内核的支持等。
- Android运行时库,它主要提供了一些核心库,允许开发者使用Java语言来编写Android应用。
-
硬件抽象层
主要提供硬件组件的封装,包括相机、传感器和蓝牙等。当框架API要求访问设备硬件时,Android系统将为该硬件组件加载库模块。
-
Linux内核层
Android系统是基于Linux内核的,这一层为Android设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、Wi-Fi驱动、电源管理等。
5、APK构成
-
AndroidMainfest.xml:声明app中的四大组件(Activity、Service、BroadcastReceiver和ContentProvider),以及权限等
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="cn.edu.jssvc.wangyu.mysmartcity"> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <application android:name="org.litepal.LitePalApplication" android:usesCleartextTraffic="true" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.MySmartCity"> <activity android:name=".News_search"></activity> <activity android:name=".ParkLot_Details" /> <activity android:name=".Register" /> <activity android:name=".Login" /> <activity android:name=".ParkLot" /> <activity android:name=".MainMenu" /> <activity android:name=".Guide" /> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> -
classes.dex:所有编写的java、kotlin等代码
-
res文件夹:资源文件夹,包括图片、颜色、字符串以及搭建的XML布局文件
-
lib文件夹:主要存放C/C++代码编译成的so文件
-
META-INF文件夹:存放签名和证书,用于校验和安全
6、Android开发工具
Android开发的IDE是AndroidStudio,可在Android开发者平台进行下载。
三、总结
在进行本次课程的学习前有一定的Android基础,能够参加这次字节跳动的青训营也很开心,希望能够更好的提升自己,加油!