Android学习笔记(一)——android概述
2014-03-17 01:08
295 查看
之前从事java web开发,一直抽不出时间来学习Android,从今天开始正式学习Android,俗话说,好记性不如烂笔头,所以在学习的过程中写一些笔记
一,什么是Android
Android是Google发布的基于linux内核的自由且开放源码的操作系统,主要用于移动设备,目前在移动操作系统的份额已经跃居全球第一。
二,Android开发的主要工具
1,Eclipse:Android开发的IDE(集成开发环境),这个不是必须的,你也可以使用文本编辑器来做开发。
2,Android SDK:Google发布的Android Standard Development Kit,Android标准开发工具包,像java的jdk一样,包含了Android开发常用的类,接口等组件,可以从http://developer.android.com/sdk/index.html上下载
3,Android SDK管理器:可集成在Eclipse中,对SDK的版本进行管理
4,Android模拟器:是一个模拟Android设备运行环境的插件,使你在没有测试用的Android设备(如手机)时,可以方便的将你开发的应用程序在模拟器中运行,该程序在sdk的tools目录下的emulator,可随SDK一起集成进Eclipse
5,DDMS:Dalvik Debug Monitor Service,是Android开发环境中Dalvik虚拟机调试监控服务,是我们开发过程中与Android设备交互和调试的主要方式。
三,开发环境搭建
网上关于如何搭建Android开发环境的资料可谓是五花八门,把SDK,ADT安装并集成到Eclipse的过程很复杂也很容易出错。其实Google已经为我们提供了一个可直接运行的开发环境,在http://developer.android.com/sdk/index.html,直接下载SDK ADT Bundle for Windows,然后解压缩,进入eclipse目录,运行eclipse就可以进行开发了。
四,第一个Android程序
按照惯例,我们写一个HelloWorld,File->New->Android Application Project
这个地方我把Application Name和Project Name故意取不一样,是为了测试他们到底有什么区别。结果是我的磁盘上生成的项目名称为HelloWorld_project,而安装到测试手机上时,手机上显示的应用名是HelloWorld。
这三个名称互相是没有依赖关系的,可以自定义,但一般要符合命名规范,尤其是包名。
下面的下拉框是配置本项目运行所需要的SDK的最低版本,最适宜的SDK版本,编译的SDK版本,程序主题,一般都选默认即可
这一步有几个复选框,create custom launcher icon,勾选后点击下一步会出现下面的那一步,可自定义应用程序的图标;
create Activity是创建一个默认的Activity(视图界面),其它的一般默认即可。
这一步可以为程序配置安装后的图标,可以是图片(Image),剪切图(clipart),文本(Text),还可以对补白,位置,形状,背景色进行设置。
一直点击下一步,最后完成,就创建了一个HelloWorld的Android程序。
四,项目结构说明
项目的文件结构如下:
src目录:项目源代码文件目录,java代码
res目录:主要是用来存放android项目的各种资源文件,res就是resource单词的缩写。该目录几乎存放了android应用所用的全部资源,包括:图片资源、字符串资源、颜色资源、尺寸资源,以及布局文件等。不同的文件存放在不同的目录当中,在res目录下面又有下一级目录:
1,layout目录主要是存放布局文件,比如主界面布局文件activity_main.xml就在这里面。
2,menu目录主要是存放菜单文件,现在在android开发中使用菜单不是很频繁,比如手机很多软件在点击菜单按钮是弹出来的对话框的布局就是放在这个目录当中。
3,valus目录主要是存放一些数值,比如字符串资源存放在strings.xml中:
styles.xml中存放样式资源
4,图片资源:由于图片资源要考虑到不同分辨率的图片,所以就要把不同的图片放到不同的文件目录中,系统会根据手机分辨率去调用适合的分辨率图片资源。drawable-ldpi、drawable-mdpi、drawable-hdpi、drawable-xhdpi这四个目录分辨存放低分辨率、中等分辨、高分辨率、超高分辨率的图片资源。在实际项目中,我们一般会自己新建一个drawable目录用于存放控件在不同状态实现的不同效果,比如按下、选中、松开等状态。
AndroidManifest.xml文件:这是android项目的系统清单文件,也是整个android应用的全局描述文件。清单文件说明了android应用的名称、所使用的图标以及包含的组件等,主要包括:
1、应用程序的包名,该包名将会作为该android应用的唯一标识。
2、应用程序包含的组件,如activity、server、broadcastreceier、contentprovider等,这个就告诉我们在新建一个类继承这些组件时,我们要在清单文件中进行注册一下,否则应用程序在执行时会报错,无法找到相应的类。
3、应用程序兼容的最低版本。
4、应用程序使用系统所要获取的权限,比如你要向sd卡中写入文件就要加入:
gen目录:保存自动生成的、位于android项目包下的R.java文件。
bin目录:存放自动编译生成的二进制文件、资源打包文件以及dalvik虚拟机的可执行文件等。
libs目录:存放引用的一些java包,比如第三方的java包。
assets目录:这个目录保存的文件可以打包在程序里,/res 和/assets的不同点是,android不为/assets下的文件生成ID。如果使用/assets下的文件,需要指定文件的路径和文件名。
android中的资源文件,这些资源文件主要分为两类,一种出于asset目录下,称为原生文件,这类文件在被打包成apk文件时是不会进行压缩的;另一类则是res下的文件,这类文件在打包成apk文件时,会进行小内存优化。asset和res下的文件都是只能读
五,运行程序
Android程序在开发阶段一般可以有两种方式运行,一种是运行在AVD就是Android模拟器中,一种是外设的Android设备中(需要USB连接)。如果没有AVD,需要手动配置一个手机形状的按钮,打开后即可新增AVD。
工具栏上的在项目上右键,Run As->Android Application,选择运行的设备,即可运行。
回到主菜单,我们可以看到程序的名称是HelloWorld,图标是我们之前设定的。
一,什么是Android
Android是Google发布的基于linux内核的自由且开放源码的操作系统,主要用于移动设备,目前在移动操作系统的份额已经跃居全球第一。
二,Android开发的主要工具
1,Eclipse:Android开发的IDE(集成开发环境),这个不是必须的,你也可以使用文本编辑器来做开发。
2,Android SDK:Google发布的Android Standard Development Kit,Android标准开发工具包,像java的jdk一样,包含了Android开发常用的类,接口等组件,可以从http://developer.android.com/sdk/index.html上下载
3,Android SDK管理器:可集成在Eclipse中,对SDK的版本进行管理
4,Android模拟器:是一个模拟Android设备运行环境的插件,使你在没有测试用的Android设备(如手机)时,可以方便的将你开发的应用程序在模拟器中运行,该程序在sdk的tools目录下的emulator,可随SDK一起集成进Eclipse
5,DDMS:Dalvik Debug Monitor Service,是Android开发环境中Dalvik虚拟机调试监控服务,是我们开发过程中与Android设备交互和调试的主要方式。
三,开发环境搭建
网上关于如何搭建Android开发环境的资料可谓是五花八门,把SDK,ADT安装并集成到Eclipse的过程很复杂也很容易出错。其实Google已经为我们提供了一个可直接运行的开发环境,在http://developer.android.com/sdk/index.html,直接下载SDK ADT Bundle for Windows,然后解压缩,进入eclipse目录,运行eclipse就可以进行开发了。
四,第一个Android程序
按照惯例,我们写一个HelloWorld,File->New->Android Application Project
这个地方我把Application Name和Project Name故意取不一样,是为了测试他们到底有什么区别。结果是我的磁盘上生成的项目名称为HelloWorld_project,而安装到测试手机上时,手机上显示的应用名是HelloWorld。
这三个名称互相是没有依赖关系的,可以自定义,但一般要符合命名规范,尤其是包名。
下面的下拉框是配置本项目运行所需要的SDK的最低版本,最适宜的SDK版本,编译的SDK版本,程序主题,一般都选默认即可
这一步有几个复选框,create custom launcher icon,勾选后点击下一步会出现下面的那一步,可自定义应用程序的图标;
create Activity是创建一个默认的Activity(视图界面),其它的一般默认即可。
这一步可以为程序配置安装后的图标,可以是图片(Image),剪切图(clipart),文本(Text),还可以对补白,位置,形状,背景色进行设置。
一直点击下一步,最后完成,就创建了一个HelloWorld的Android程序。
四,项目结构说明
项目的文件结构如下:
src目录:项目源代码文件目录,java代码
res目录:主要是用来存放android项目的各种资源文件,res就是resource单词的缩写。该目录几乎存放了android应用所用的全部资源,包括:图片资源、字符串资源、颜色资源、尺寸资源,以及布局文件等。不同的文件存放在不同的目录当中,在res目录下面又有下一级目录:
1,layout目录主要是存放布局文件,比如主界面布局文件activity_main.xml就在这里面。
2,menu目录主要是存放菜单文件,现在在android开发中使用菜单不是很频繁,比如手机很多软件在点击菜单按钮是弹出来的对话框的布局就是放在这个目录当中。
3,valus目录主要是存放一些数值,比如字符串资源存放在strings.xml中:
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">HelloWorld</string> <string name="action_settings">Settings</string> <string name="hello_world">Hello world!</string> </resources>dimens.xml文件中存放尺寸资源
styles.xml中存放样式资源
4,图片资源:由于图片资源要考虑到不同分辨率的图片,所以就要把不同的图片放到不同的文件目录中,系统会根据手机分辨率去调用适合的分辨率图片资源。drawable-ldpi、drawable-mdpi、drawable-hdpi、drawable-xhdpi这四个目录分辨存放低分辨率、中等分辨、高分辨率、超高分辨率的图片资源。在实际项目中,我们一般会自己新建一个drawable目录用于存放控件在不同状态实现的不同效果,比如按下、选中、松开等状态。
AndroidManifest.xml文件:这是android项目的系统清单文件,也是整个android应用的全局描述文件。清单文件说明了android应用的名称、所使用的图标以及包含的组件等,主要包括:
1、应用程序的包名,该包名将会作为该android应用的唯一标识。
2、应用程序包含的组件,如activity、server、broadcastreceier、contentprovider等,这个就告诉我们在新建一个类继承这些组件时,我们要在清单文件中进行注册一下,否则应用程序在执行时会报错,无法找到相应的类。
3、应用程序兼容的最低版本。
4、应用程序使用系统所要获取的权限,比如你要向sd卡中写入文件就要加入:
<!--添加读取sd卡的权限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>5、其他应用程序访问该程序所需要的权限。
gen目录:保存自动生成的、位于android项目包下的R.java文件。
bin目录:存放自动编译生成的二进制文件、资源打包文件以及dalvik虚拟机的可执行文件等。
libs目录:存放引用的一些java包,比如第三方的java包。
assets目录:这个目录保存的文件可以打包在程序里,/res 和/assets的不同点是,android不为/assets下的文件生成ID。如果使用/assets下的文件,需要指定文件的路径和文件名。
android中的资源文件,这些资源文件主要分为两类,一种出于asset目录下,称为原生文件,这类文件在被打包成apk文件时是不会进行压缩的;另一类则是res下的文件,这类文件在打包成apk文件时,会进行小内存优化。asset和res下的文件都是只能读
五,运行程序
Android程序在开发阶段一般可以有两种方式运行,一种是运行在AVD就是Android模拟器中,一种是外设的Android设备中(需要USB连接)。如果没有AVD,需要手动配置一个手机形状的按钮,打开后即可新增AVD。
工具栏上的在项目上右键,Run As->Android Application,选择运行的设备,即可运行。
回到主菜单,我们可以看到程序的名称是HelloWorld,图标是我们之前设定的。
相关文章推荐
- 【Android学习笔记】Android概述与开发环境搭建
- Android学习笔记二十九:Android Socket编程介绍(示例,出错代码)
- android学习笔记(8)linearlayout与android:layout_weight学习
- 4.Android学习笔记-android的布局
- Android平台下驱动的开发及测试框架概述(五)
- Android Apk打包过程概述:Android是如何打包apk的
- Android学习笔记----解决“com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536”问题
- Android NFC 开发教程(1):概述
- Android学习笔记(5):配置文件AndroidManifest.xml和Android权限
- IM项目,使用openfire服务,Smack的android端概述
- android Apk打包过程概述_android是如何打包apk的
- android 自定义view之概述(一)
- android学习笔记---53_采用网页设计软件界面,以及使用android系统内置的浏览器,利用js调用java方法
- Android学习笔记(一)Android应用程序的组成部分
- Android_SVG概述及生成使用SVG详解
- android学习笔记---59_各种图形的使用介绍,android炫酷效果的实现
- Android 内容提供器---内容提供器基础(概述) .
- android Fragment详解(一):概述
- Android--百度地图学习(第二章)如何给地图覆盖物概述
- Android学习笔记(三)Android项目文件详解