天天看点

一,创建你的第一个Android项目

1.Android的系统架构

    1,Linux内核层

          这一层为Android设备的各种硬件提供了底层驱动,如显示驱动,相机驱动,蓝牙驱动,WiFi驱动等

    2.系统运行库层

        这一层主要通过 c/c++库来为Android系统提供主要的特新支持,如SQLLite提供了数据库的支持, OpenGl|ES库提供了3D绘图的支持,   这一层还有Android运行时库,提供了一些核心库,能够允许开发者使用java来开发Android应用。 还包含了Dalvik虚拟机

    3.应用框架层

        这一层主要提供了构建应用程序时可能用到的各种API, 开发者可以使用这些API完成程序的构建

    4.应用层

        所有安装在手机上的应用程序都是属于这一层

一,创建你的第一个Android项目

2.Android开发特色

    1.四大组件

        Activity    Service    Broadcast Receiver      Content Provider( 内容提供器,为应用程序之间共享数据提供了可能 )

    2.丰富的系统控件

    3.SQLLite 数据库 (不仅支持标准的SQL语法,还可以通过Android封装好的API进行操作)

    4.多媒体

    5.定位系统

工具简介 :

    JDK    java语言的软件开发包    包含了java的运行环境,工具集合,基础类库等内容

    Android SDK    是谷歌提供的Android开发工具包,在开发Android程序时引入,来使用相关的API

3.创建新的项目与创建虚拟设备

4.将项目切换到project目录(分析目录)

1		.gradle和.idea 
	放的是Android自动生成的一些文件,我们无需关心,也没有必要去修改这些文件
2. app
	项目中的代码,资源等内容几乎都是放在这个目录下面,开发工作也主要集中在这个目录
3.build
	无需过多的关心, 主要包含了一些编译时自动生成的文件
4.gradle
	包含了gradle wrapper的配置文件
5.  .gitignore
	这个文件主要是用来将指定的目录或文件排除在版本控制之外的
6. build.gradle
	这是全局的gradle构建脚本
7.gradle.properties
	这个文件是全局的gradle配置文件,会影响到项目中所有的gradle编译脚本
8.gradlew和gradlew.bat
	分别是用来在命令行执行gradle命令的, gradlew是用来在Linux或者Mac上使用  gradlew.bat是用来在Windows上执行的	
9.local.properties
	这个文件用来指定本机中SDK路径,通常都是自动生成的不需要修改
10.settings.gradle
	用来指定项目中所有引入的模块。由于HelloWord项目中只有一个app模块,因此文件中也就只引入了app这一个模块
	
APP目录的分析
	1.build
		和外层的build类似,包含了一些在编译时自动生成的文件
	2.libs
		如果项目使用了第三方jar包,就需要把这些jar包都放在libs目录下
	3.AndroidTest
		用来编写AndroidTest测试用例的,可以对项目进行一些自动化测试。
	4.java
		放置我们所有java代码的地方
		//所有活动都必须是Activity或者它的子类
		public class HelloWorldActivity extends Activity{
			@override
			protected void onCreate( Bundle savedInstanceState ){
					super.onCreate( savedInstanceState );
					//给当前的活动引入了一个hello_world_layout的布局  Android设计讲究逻辑与视图分离
					setContentView( R.layout.hello_world_layout ); 	//引入了 res/layout/hellow_world_layout的布局
			}
		}
	5.res
		项目所使用到的所有图片图标(drawable目录),布局(layout目录),字符串(values目录)资源等
		引用资源的方式  1.在代码中  R.string.hello_world   2.在XML中通过@string/hello_world
	6.AndroidManifest.xml 
		这个是整个Android项目的配置文件,在程序中定义的四大组件都需要在这个文件里注册
		<activity android:name = ".HelloWorldActivity">
			<intent-filter>  //Android项目的主活动 启动的主页面
				<action android:name="android.intent.action.MAIN" />
				<category android:name="android.intent.category.LAUNCHER" />
			</intent-filter>
		</activity>
	7.test
		用来编写Unit Test 测试用例的,是项目自动化测试的另一种方式
	8.  .gitignore
		这个文件用于将app模块内指定的目录或则文件排除在版本控制之外
	9. app.ini
		Intellij IDEA 自动生成的文件
	10 build.gradle
		这是APP模块的gradle构建脚本,
		第一行一般有com.android.application 表示这是一个应用程序模块 com.android.library 表示这是一个库模块
		dependencies闭包可以指定当前项目所有的依赖关系
           

5.日志工具的使用

    Log.v()     Log.d()        Log.i()    Log.w()    Log.e()

    logt 的使用

    自定义logcat的过滤器