Android开发自学笔记(二):工程文件剖析

无论使用何种IDE开发Android,集成官方Android SDK并创建Android工程之后,该工程都会默认包括一整套Android项目文件,这个工程都可以直接run在你的真机或者模拟器上。

本文主要简单剖析这个默认的完整的一套项目工程的文件结构,这样我们在开发我们自己的项目的时候才能熟练做到有的放矢。

AndroidManifest.xml

这个AndroidManifest.xml文件可谓是整个Android工程的灵魂架构师,它不仅定义了你的Android程序运行时所需的功能特性,同时也定义了该Android程序所需权限以及Android核心组件。

这里简单介绍目前我们所遇到最重要的节点元素之一:<uses-sdk> 。

这个节点定义了你的应用的设备兼容性问题,我们都知道Android设备五花八门,但不同的设备都是有Android版本,比如我们常听说的Android2.2, 2.3,平板专用的Android3.0和现在的Android4.x,这些版本都有定义好的SDKVersion,所在这个节点里面我们得指定最小Android版本(android:minSdkVersion)以及目标Android版本(android:targetSdkVersion)这两个属性。所以应该形如:

代码如下:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" ... >
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="19" />
...
</manifest>

其中最小Android版本指定为8,并且指定目标版本为19,需要注意的是:

1.android:targetSdkVersion应设置尽可能的高,这个属性的作用是当设备的SDK version和指定的目标版本一致,无需设备打开兼容功能;

2.android:minSdkVersion而这个属性则提现了你的应用向下兼容程度,一旦设备的SDK version低于这个数字,则无法安装出现下述错误:

代码如下:

Installing com.example.HelloWorld
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.example.HelloWorld"
pkg: /data/local/tmp/com.example.HelloWorld
Failure [INSTALL_FAILED_OLDER_SDK]

1.如果不显式指定targetSdkVersion,则默认等同于minSdkVersion;
2.另外,我们有时会看到android:maxSdkVersion,其作用和minSdkVersion相反,这个属性主要体现在Android 1.5, 1.6, 2.0, 和2.0.1中,这些老的系统一旦在做完系统更新时,会重现验证并安装老系统中安装的应用程序,一旦发现maxSdkVersion低于升级之后的新系统,则新系统不予安装这些应用。

src/

src目录,顾名思义存放的是应用程序的源码文件,当然程序在编译之后这个目录就不复存在了,否则源码被人家盗了不是?

res/

res目录是指资源文件resource的存放目录,这个目录包含了一些子目录。

比如存放图片的目录drawable-xxx,在现在的默认环境中,一般有4个类似的目录,分别用来存放不同分辨率的图片(drawable-xhdpi/hdpi/mdpi/ldpi),好的应用为了尽可能多的适配多种不同分辨率的机型,是需要做多套不同分辨率的图片,并分别存放在这4个目录中。

res目录下还有用来存放定义用户界面GUI(应用程序界面)的布局文件,这些布局文件则存放在layout目录下;

另外还有一个用来存放定义变量集的xml的目录,即values,这个目录可以定义颜色和字符串等变量集合。

(0)

相关推荐

  • Android开发自学笔记(一):Hello,world!

    Android当道,现在学习Android开发还晚吗?写下这个问题的时间是–2014年6月15号,我会回答:不晚,Android至少还能在活跃10年!所以答应自己从今天开始自学Android开发. 搭建Android开发环境,lorinnn使用了和大部分开发者不一样的开发环境,lorinnn使用的是Intellij+Genymotion方案,不为其他,只为速度,只为编程jeek的追求:) 在链接:Intellij IDEA + Android SDK + Genymotion Emulator打

  • Android开发必备:秒杀真机超快模拟器Genymotion介绍

    第一,这货速度太快,第二,模仿真机环境,第三,秒杀任何Android模拟器包括真机,不多说上图,我忒忙! 官网: http://www.genymotion.com/ 镜像图片可以创建多个模拟器 关键是有一切Google的服务,在Google眼里就是一个真机 骚年不知道外界的Android,已经发生了翻天覆地的变化!

  • 分享Android开发自学笔记之AndroidStudio常用功能

    相关下载: Android Studio v1.3 官方最新版(apk应用开发工具) http://www.jb51.net/softs/83206.html Android Studio 官方最新版下载地址(支持国内下载)http://www.jb51.net/softjc/83204.html 一.界面区介绍 1.项目组织结构区,用于浏览项目文件,默认Project以Android组织方式展示. 2.设计区,默认在打开布局文件时为设计模式,可直接拖动控件到界面上实现所见即所得,下方的Desi

  • Android开发自学笔记(五):使用代码控制界面

    酷酷的外表已经具备了,那就开始让我们真正把它的功能给实现起来吧,外强中干,花拳绣腿可不行哦,我们需要真正的本领,需要一颗自强不息的心哦,常常想想自己的梦想什么,这样才不会迷失自己,才会在茫茫的世界中找到自己前进的方向!我不会告诉你我刚看过<voice of China session 3>哦. 从上两节教程中,我们已经会搭出如下美美的布局了,欢迎翻页查阅:) Android自学开发第四篇之布局上 Android自学开发第五篇之布局下 添加第二个layout 关于layout布局我们不再赘述,这

  • Android开发自学笔记(三):APP布局上

    hello,大家好,本文主要介绍如何开始开发一个美观.有情调.人见人爱的Android应用程序,已知我们在市面上有不少布局极其精美,在视觉上让人爱不释手的应用程序,如果让我们着手开发,我们该如何下手? 在移动互联网公司都有这样几个部门–UX/UE及UI,UX有的也称作UE是指做用户体验的是User Experience的缩写,这些人一般都毕业于美术学院专门搞设计,我们上面说到那些精美的程序往往都是由他们的手先设计出效果图,然后交由UI,也称GUI即Graphic User Interface或者

  • Android开发自学笔记(二):工程文件剖析

    无论使用何种IDE开发Android,集成官方Android SDK并创建Android工程之后,该工程都会默认包括一整套Android项目文件,这个工程都可以直接run在你的真机或者模拟器上. 本文主要简单剖析这个默认的完整的一套项目工程的文件结构,这样我们在开发我们自己的项目的时候才能熟练做到有的放矢. AndroidManifest.xml 这个AndroidManifest.xml文件可谓是整个Android工程的灵魂架构师,它不仅定义了你的Android程序运行时所需的功能特性,同时也

  • Android开发自学笔记(六):声明权限和Activity

    不好意思哦,上一篇Android自学开发第六篇代码控制界面挖了个坑,如果运行不起来的同学,请注意查看本篇文章. Android Project的灵魂大师AndroidManifest.xml终于要登场了,我们可以亲切的称呼它为AM文件,认识和学会配置AM文件则是是学习Android非常重要的基础知识. AM文件定义了该Android App的需要请求的权限,需要生命的组件以及按其他App交互的一些信息,我想我需要进一步详解AM文件,期待我更新吧! 好,回到这个坑中来,我们已经使用连续的一系列文章

  • Android开发自学笔记(四):APP布局下

    篇幅较长遂分成上下两篇,上一篇我们已经快要一气呵成了,但是美中不足的是,这个界面并不能讨得美工MM的欢心,美工MM曾寄希望于您,却交出这么作出这么一副死型样,我都替你汗颜. 这个图搜索按钮看起来马马虎虎,但是这个搜索框真是有失我在美工MM心中的水准啊,这是因为我们把EditText和Button都的宽度都设置成按自身内容长度自适应,所以这一篇我们就来润润色,修一修这个布局. Android在布局中引入了权重的概念,即如果给设定ViewGroup的总权重是,然后可以将权重分给它的子元素View各几

  • Android 开发随手笔记之使用摄像头拍照

    在Android中,使用摄像头拍照一般有两种方法, 一种是调用系统自带的Camera,另一种是自己写一个摄像的界面. 我们要添加如下权限: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.CAMERA"/> 1.调用系统Camera 调用系统

  • Android开发实现读取Assets下文件及文件写入存储卡的方法

    本文实例讲述了Android开发实现读取Assets下文件及文件写入存储卡的方法.分享给大家供大家参考,具体如下: 调用一个反编译的.so文件,查看起加密和解密情况,需要解析上万的数组,而so文件加密解密都是通过Byte来进行,又需要把String字符串转化为 Byte,当把数据直接写在代码中就会提示多Byte数组过大.最后把数组写到Assets文件加下,读取txt文本文件. 读取Assets方法如下: public String getFromAssets(String fileName) {

  • Android开发学习笔记之通过API接口将LaTex数学函数表达式转化为图片形式

    本文将讲解如何通过codecogs.com和Google.com提供的API接口来将LaTeX数学函数表达式转化为图片形式.具体思路如下: (1)通过EditText获取用户输入的LaTeX数学表达式,然后对表达式格式化使之便于网络传输. (2)将格式化之后的字符串,通过Http请求发送至codecogs.com或者Google.com. (3)获取网站返回的数据流,将其转化为图片,并显示在ImageView上. 具体过程为: 1.获取并格式化LaTeX数学表达式 首先,我们在这个网站输入LaT

随机推荐