Android--项目框架介绍
2013-03-07 23:13
369 查看
公司最近要开发一款Android平台下的应用,通讯软件,所以年后上班一直在研究Android方面的内容。
使用Eclipse开发的Android,对于一个新建的Android项目,自动生成的项目结构如下图:
自动生成的目录介绍:
src目录:主要是存放编写的Java代码。
assets目录:资源目录。
res目录:存放图片、布局文件、字符串、菜单等文件。
bin目录:输出文件夹,如生成的APK文件。
project.properties:工程属性文件配置。
gen目录:系统自动生成的代码目录,存放R.java.
这个R.java文件是系统自动生成的文件,非常的重要。这个R.java默认有attr、drawable、layout、string等4个静态内部类,每个类对应一种资源。例如在工程中添加一幅图片,那么工程就会在此类的drawable内部类中添加一条数据,如果删除了此图片,工程则会自动删除此条数据。
在res资源文件夹下包含有以下的文件:
Drawable存放工程图片的信息,默认png格式的图片。
Layout存放工程的布局文件以.xml结束。
Values文件夹下存放一个很重要的string.xml,此文件夹存放的是自定义的字符串和数值。
除了这个文件之外,还可以定义arrays.xml(用来定义数组)、color.xml(用来定义颜色和颜色字符串数值)、dimens.xml(用来定义尺寸数值)、styles.xml(用来定义样式)。这些文件只是为了区分资源的类型,一种开发规范,便于开发人员识别修改,其实可以全部定义在string.xml文件中,均可以自动生成到R.java,便于使用。
资源文件分别的格式:
数组:
颜色,使用二进制的RGB值表示:
尺寸:
样式:
在安卓的activity中,均有一个全局的方法,getResource()来获取资源,具体资源的获取方法如下:
AndroidManifest.xml文件介绍
AndroidManifest.xml是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities、services等等),他们各自的实现类,各种能被处理的数据和启动位置。能声明程序中的Activity、ContentProviders、ServersIntent Receivers、permissions和instrumentation(安全控制和测试)。
示例:
其中manifest节点中的一些属性,介绍:
Packgae:包,表示整个java应用程序的主要包名,而且是一个默认的程序名称。
Android:versionCode:表示该工程说生产的apk的版本号,1开始,逐渐递增。
Android:versionName:表示版本的一个名称。类似于:1.0、2.0.
Android:installLoacation:自动寻找安装的地方,ROM或者SDCard,默认属性为自动。可选属性有auto:系统默认、internalOnly:仅仅只能安装在ROM上、preferExternal:会直接安装在sdcard上。
Application节点的一些属性介绍:
Android:icon:表示应用程序的图标,Logo图片。
Android:label:表示应用的工程文字说明。
Activity节点的属性介绍:
Android:name:表示整个应用程序的主程序的名称。
Intent-filter :意图过滤器,用来过滤用户的一些动作和操作。
使用Eclipse开发的Android,对于一个新建的Android项目,自动生成的项目结构如下图:
自动生成的目录介绍:
src目录:主要是存放编写的Java代码。
assets目录:资源目录。
res目录:存放图片、布局文件、字符串、菜单等文件。
bin目录:输出文件夹,如生成的APK文件。
project.properties:工程属性文件配置。
gen目录:系统自动生成的代码目录,存放R.java.
这个R.java文件是系统自动生成的文件,非常的重要。这个R.java默认有attr、drawable、layout、string等4个静态内部类,每个类对应一种资源。例如在工程中添加一幅图片,那么工程就会在此类的drawable内部类中添加一条数据,如果删除了此图片,工程则会自动删除此条数据。
在res资源文件夹下包含有以下的文件:
Drawable存放工程图片的信息,默认png格式的图片。
Layout存放工程的布局文件以.xml结束。
Values文件夹下存放一个很重要的string.xml,此文件夹存放的是自定义的字符串和数值。
除了这个文件之外,还可以定义arrays.xml(用来定义数组)、color.xml(用来定义颜色和颜色字符串数值)、dimens.xml(用来定义尺寸数值)、styles.xml(用来定义样式)。这些文件只是为了区分资源的类型,一种开发规范,便于开发人员识别修改,其实可以全部定义在string.xml文件中,均可以自动生成到R.java,便于使用。
资源文件分别的格式:
数组:
<string-array name="city"> <item >北京</item> <item >上海</item> </string-array>
颜色,使用二进制的RGB值表示:
<color name="bgcolor">#FFCCFF</color>
尺寸:
<dimen name="width">20dp</dimen>
样式:
<sytle name="customText"> <item name="android:textSize">20sp</item> </sytle>
在安卓的activity中,均有一个全局的方法,getResource()来获取资源,具体资源的获取方法如下:
文件 | 取值方式 |
String.xml | getResource().getString(resourceId)、getResource().getText(resourceId) |
Arrays.xml | getResource().getStringArray(resourceId) |
colors.xml | getResource().getDarwable(resourceId)、getResource().getColor(resourceId) |
Dimens.xml | getResource().getDimension(resourceId) |
Styles.xml | 不需要取值 |
AndroidManifest.xml文件介绍
AndroidManifest.xml是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities、services等等),他们各自的实现类,各种能被处理的数据和启动位置。能声明程序中的Activity、ContentProviders、ServersIntent Receivers、permissions和instrumentation(安全控制和测试)。
示例:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="bgxt.demo" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="10" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <activity android:label="@string/app_name" android:name=".SimpleActivity" > <intent-filter > <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
其中manifest节点中的一些属性,介绍:
Packgae:包,表示整个java应用程序的主要包名,而且是一个默认的程序名称。
Android:versionCode:表示该工程说生产的apk的版本号,1开始,逐渐递增。
Android:versionName:表示版本的一个名称。类似于:1.0、2.0.
Android:installLoacation:自动寻找安装的地方,ROM或者SDCard,默认属性为自动。可选属性有auto:系统默认、internalOnly:仅仅只能安装在ROM上、preferExternal:会直接安装在sdcard上。
Application节点的一些属性介绍:
Android:icon:表示应用程序的图标,Logo图片。
Android:label:表示应用的工程文字说明。
Activity节点的属性介绍:
Android:name:表示整个应用程序的主程序的名称。
Intent-filter :意图过滤器,用来过滤用户的一些动作和操作。
相关文章推荐
- 介绍自己的一个Android插桩热修复框架项目QuickPatch
- 介绍自己的一个Android插桩热修复框架项目QuickPatch
- android开源项目和框架
- Android中图片缓存、显示框架Glide的介绍与使用
- Android项目框架搭建 (分析需求、整理资料)
- android-async-http开源项目介绍及使用方法
- Android资源管理框架(Asset Manager)简要介绍和学习计划
- 2017年android常用的框架介绍
- Android的多媒体框架OpenCore(PacketVideo)介绍
- Android项目MVP模式框架+okhttp+rxjava+retrofit网络框架
- Android 网络通信框架Volley基本介绍
- (1)Android开源项目介绍
- 七款android地图 [Map] 开源项目框架分类总汇
- Android 最火高速开发框架AndroidAnnotations简单介绍
- Android的多媒体框架OpenCore介绍
- 持续集成框架jenkins介绍02-持久集成git仓库+maven项目
- Android项目目录结构介绍
- 介绍两个Android开源项目:Android显示GIF动画
- Android RocooFix热修复动态加载框架介绍
- Android测试框架介绍