1、Android的系统架构java
Linux内核层:主要为Android设备提供底层驱动android
系统运行库层:为Android系统提供主要特性支持,另外还提供了一些核心库可以容许开发者使用Java语言编写Android应用数据库
应用框架层:主要提供了构建应用程序可能用到的各类API架构
应用层:全部安装在手机上的应用程序都属于应用层app
2、Android应用开发的特点框架
四大组件:Activity(活动)、Service(服务)、Broadcast Receiver(广播接收器)、Content Provider(内容提供器)ide
丰富的系统控件:如Button ListView 等布局
SQLite数据库:自带的轻量级运算速度极快的嵌入式关系型数据库测试
强大的多媒体:如音乐、视频、录音、拍照等gradle
地理位置定位:轻松实现LBS功能
3、分析第一个Android项目
app:项目代码、资源等所有在该目录下(主要目录)
build:包含了编译时自动生成的文件
libs:第三方jar包目录
androidTest:编写测试用例的,用于自动化测试
java:存放java源代码的目录(主要目录)
res:项目资源目录,如图片、布局、字符串等(主要目录)
AndroidMainifest.xml:本项目的配置文件(常常用到)
Build.gradle:app模块构建脚本(重要)
4、分析Helloword项目代码
AndroidMainifest.xml
//对HelloWorldActivity这个活动进行注册,没有注册的活动是不能使用的 <activity android:name=".HelloWorldActivity"> <intent-filter> //表示该活动是主活动,点击应用启动首先运行这个活动 <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
HelloWorldActivity.java
//全部活动必须继承自AppCompatActivity这个活动基类 public class HelloWorldActivity extends AppCompatActivity { //onCreate方法是这个活动建立时必会执行的方法 @Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); //引入该活动的布局 setContentView(R.layout.hello_world_layout); } }
hello_world_layout.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/hello_world_activity" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.helloworld.HelloWorldActivity"> //这就是控件,看到的HelloWorld文字信息 <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" /> </RelativeLayout>
5、其余知识
在代码中经过R.string.app_name格式来引用字符串
在XML中经过@string/app_name格式来引用字符串