Android是在2007年11月5日google公司推出的基于Linux的操作系统;
本意:机器人;
AndroidSDK:开发工具包,类似于JDK,用Java语言编写程序;
AndroidNDK:Native Development Kit , C++语言编写程序;
AndroidSDK下载地址:http://developer.android.com/sdk/index.html
Android其实简单地说就是一个框架,类似于Struts、Hibernate等;
注意:Android开发应用程序的前提:Eclipse中需要JDT(Java Development Tools)和WTP(Web Tools Platform)这两个插件,但是Eclipse3.4版本以上都包含这些插件;
一、搭建Android开发环境
1.安装AndroidSDK
只需要点击SDK Manager.exe 即可进行选择下载,如图所示:
2.安装ADT插件
ADT是Eclipse的一个插件,只需要像往常安装插件一样安装即可;
3.Eclipse中配置Android
4.新建AVD
AVD:Android Virtual Device
(1)点击下图图标:
(2)新建AVD,最简单只需要填写Name,选择Target(SDK)
5.Launch虚拟机
二、Android工程剖析
1:工程的源代码,每个Java文件表示一个Activity,一个Activity简单地说就是一个界面,多个Activity就是表示多个界面;
2:自动生成的索引文件,R文件是只读的,作用是为了方便开发者索引资源(res文件);
3:外部资源,不被R文件索引;
4:hdpi存放高清图片,mdpi存放中等图片,ldpi存放低分辨率图片。
注:其实图片放在3个文件中的哪个并不重要,因为Android会把这三个文件夹都搜索一遍;
5:布局文件,其中定义了Activity的布局,Android原本有5种布局,现在一种已经废除,因此可以说只有4种布局;
6:strings.xml定义字符串常量的文件,其中定义了各种字符串常量;
7:AndroidManifest.xml定义了Android程序的版本、应用程序的图标、应用程序的名字、定义Activity等;
main.xml解析
<?xml version="1.0" encoding="utf-8"?> <!-- XML文档头 -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <!-- 定义线性布局 -->
android:layout_width="fill_parent" <!-- 线性布局的宽度覆盖整个父组件 -->
android:layout_height="fill_parent" <!-- 线性布局的高度覆盖整个父组件 -->
android:orientation="vertical" > <!-- 线性布局组件排列方向按照垂直排列 -->
<TextView <!-- 定义一个文本显示组件 -->
android:layout_width="fill_parent" <!-- 文本显示组件的宽度覆盖整个父组件 -->
android:layout_height="wrap_content" <!-- 文本显示组件的高度覆盖整个父组件 -->
android:text="@string/hello" /> <!--strings.xml文件中的hello字符串常量 -->
</LinearLayout>
FirstAndroidActivity.java
package org.xiazdong;
import android.app.Activity;
import android.os.Bundle;
public class FirstAndroidActivity extends Activity { //每个自定义Activity都继承Activity类
@Override
public void onCreate(Bundle savedInstanceState) { //生命周期函数
super.onCreate(savedInstanceState); //每个生命周期函数都需要调用super.Xxx()函数
setContentView(R.layout.main); //设置界面的布局为main.xml
}
}
三、Activity生命周期
在Android中是通过栈管理Activity的,显示的Activity存放在栈顶;
1.public void onCreate(Bundle savedInstanceState):创建Activity 时调用;
2.protected void onStart():对用户可见之前 调用;
3.protected void onResume():显示界面后,对界面进行操作 时调用;
4.protected void onPause():保存当前Activity数据,转换到下一个Activity之前 调用;
5.protected void onStop():另一个Activity完全遮盖住此Activity 时调用;
6.protected void onRestart():在onStop()函数后被调用,此Activity重新被执行 时调用;
7.protected void onDestroy():销毁Activity 时调用;
附赠一张从网上爬来的图:
四、部署到真机
在真机中运行和部署到真机是不一样的,在真机中运行只需要在应用程序run configuration时选中真机即可,如图所示:
这个功能肯定是很多人希望的,因为在模拟器上跑肯定没有在真机上跑这么爽。
1.注意:连接Android手机时需要在【设置】-->【应用程序】-->【开发】-->勾选【USB调试】;
2.打包Android项目;
3.部署程序
adb install C:\FirstAndroid.apk 即可;
注意:此时不能开启任何模拟器,只能有一个真机,否则会报错;
模拟器快捷键:
(1)Ctrl + F11 横竖屏切换;
(2)F6 滚动球;
常见问题
1.创建AVD时google API 和 AndroidAPI有什么区别?
没有区别,google api创建的虚拟机中增加了一些google的软件;
建议:
(1)因为模拟器开启速度较慢,因此一般都是先开模拟器,然后再运行程序;
(2)常用的视图为LogCat(记录Android程序的输出信息)、FileExplorer(显示文件)、Devices(显示可用设备:主机和模拟器);
注意:
(1)在Android中不能使用System.out.println(),必须使用android.util.Log 进行输出;
(2)在Eclipse中开发Android程序需要一个密钥,而这个密钥的有效期为一年,一年后需要重新生成;此为调试密钥;
(3)为了将自己开发的程序放入真机,需要自己创建一个密钥,伴随在应用程序中;
学习Log
(1)Log.v():任意信息;
(2)Log.e():error信息;
(3)Log.w():warning信息;
(4)Log.i():提示信息;
(5)Log.d():Debug信息;