- 浏览: 76548 次
- 性别:
- 来自: 北京
最近访客 更多访客>>
文章分类
- 全部博客 (86)
- Java_Develop (6)
- Develop about Android (11)
- Develop about C (3)
- Develop about C++ (13)
- Develop about Objective-C (8)
- Develop about XML&DOM4J (6)
- Develop about JSP (7)
- Develop about Servlet (14)
- develop about MySql (4)
- Develop about Java_Socket (1)
- Develop about Java_Thread (4)
- Develop about IOS (8)
最新评论
-
eric_weitm:
在效率本身上而言,引用也有优势。另外,在编译器实现时,指针的传 ...
C++中的 引用和指针区别
Android开发之:第一个应用程序及工程文件及结构详解
在昨天我们配置好了Eclipse的Android ADT和SDK,现在我们开始新建第一个Android应用程序:helloWorld;打开File菜单—>New—>other—>Android Project
如图所示:
Porject name:是你要开发的工程项目的名字;
Create new project in workplac,是说在工作空间中创建一个新的项目;
Create project from existing source,可以从外部引入一个项目打开;
Create project from existing sample,从外部引入一个实例项目打开;
然后,Location提供的是workplace的默认路径。剩下的操作默认即可,直接Next,
接着是选择开发平台,也就是Android程序要在哪个平台上开发测试,这里最好选择与之前配置好的模拟器版本一致,这里我们选择Android2.3.3,
继续下一步,如图;
Application name,是项目的名称,这个名称会在手机应用下面和打开后的标题处显示;
package name,是java源文件的存放包名,也就是src下的包名;
create activity,是多选框,提示是否创建的类后面加不加activity。例如:我们要创建的类为:helloworld,如果勾选,那么系统自动生成的类名为:helloworldactivity;如果不勾选,生成的类名则为:helloworld;
Minimun SDK,是开发环境使用的最低SDK版本;
写好Application name后点击Finish完成,这样我们就完成了自己的第一个Android应用程序;
================================================
现在我们开始测试刚建好的程序:
在项目名称上点击鼠标右键,选择run as—>Android Application,然后选择测试使用的模拟器(提示:如果有真机,最好用真机测试,所有结果以真机测试为准),然后Finish打开虚拟机后,系统自动为我们运行显示出测试结果;
==================================================================================================================================
现在介绍一下工程文件的构成:
如图所示:
如上图所示,我们创建的helloworld项目中包含的一级目录和文件有:
【src】,【gen】,【Android2.1】,【assets】,【bin】,【res】,AndroidManifest.xml,proguard.cfg,project.properties。
现在我们足一分析:
【src】:用来存放源文件。这个目录我们并不陌生,在java中我们非常熟悉了,是用来存放java代码的目录,而这个目录下的子目录(包):cn.class3g.Android.hello,是我们新建项目时候自定义的包名,其下是我们创建的源文件:helloworldactivity.java源文件。
【gen】:这个目录不用我们开发人员自己维护,但又是非常重要的目录,用来存放由Android开发工具所生成的目录,该目录下的所有文件都不是我们创建的,而是由ADT自动生成的。其下有一个与我们创建的包名同名的二级目录,下面有一个R.java文件,非常重要,里面的代码都是自动生成,程序的运行离不开这个文件的配置。
【Android2.1】:这个目录是用来存放Android自身的所有jar包文件。
【assets】:同res目录一样用来存放资源的,但区别是此目录用来存放应用中使用到的类似于视频文件、MP3等媒体文件。
【bin】:目录下的res目录存放了三个子文件夹,如图:
这三个子文件夹中分别有一张png格式的图片,是用来存放高清(高分辨率),中清(中等分辨率)和低清(低分辨率)的图标文件,不同的分辨率照片适应不同的屏幕和运行环境。剩下的三个文件为配置文件,用来打包应用的。
【res】:也是用来存放资源文件的。
layout下的main.xml文件是用来布局的,与在网页中布局中使用HTML文件一样,Android在XML文件中使用XML文件元素来设定屏幕布局。每个文件包含整个屏幕或部分屏幕,被编译进一个视图资源中,可以被传递给Activity.setContentView或被其他布局文件引用。文件保存在工程的res/layout/目录下,被Android资源编辑器编译。
----------------------------------------------
main.xml文件详解:
<?xml version="1.0"encoding="utf-8"?>
<LinearLayout xmIns:android=http://schemas.android.com/apk/res/android
andorid:orientation="vertical"
andorid:layout_width="fill_parent"
andorid:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
</LinearLayout>
在这个文件中,
·<LinearLayout>元素:线性布局,就是在该元素下的所有子元素会根据“orientation”属性的值来决定是按行还是按列逐个显示。
·<TextView>元素:是一个显示控件,其属性text制定在该元素上面显示的文字内容,建议将该文字内容写在string.xml文件中(后面会总结提到),通过“@string/stringName"的方式进行引用。
---------------------------------------------------------------------------------------
res目录下还有一个value子目录,其下有一个string.xml文件,这个文件是用来存放所有文本信息和数值的,在Activity中使用:getResources().getString0resourceId)或getResources().getText(resourceId)获取内容资源。这样做的原因是为了国际化和压缩代码。
---------------------------
string.xml文件详解:
<?xml version="1.0"encoding="utf-8"?>
<resources>
<string name="hello">HelloWorld,HelloActivity!</string>
<string name="app_name">Android,你好!</string>
</resources>
每个string标签声明了一个字符串,name属性指定引用名。
标注:value文件下可有有多个xml文件,不同的类别可以用不同名字的xml文件写,但根元素必须都是<resources>,只有这样才能识别调用资源。
例如:arrays.xml,colors.xml,dimens.xml等。
============================================
然后说一下AndroidManifest.xml文件:
这个文件的作用相当于应用程序的功能清单,这个文件给Android系统所有关于这个应用程序的基本信息,系统在运行任何程序代码之前必须知道这些信息。所有关于权限的内容都要在这里进行定义。
主要功能包括:
命名应用程序的java应用包,包名用来唯一标识应用程序;
描述应用程序的组件——活动、服务、广播接收者、内容提供者:对实现这个组件和公布其功能的类进行命名,使得这些组件可以在特定的条件下被调用启动。
决定应用程序组件运行在哪个进程里面
声明应用程序所必须具备的权限,用以访问受保护的部分API,以及和其他应用程序交互。
声明应用程序其他必备权限,用以组件之间的交互。
列举测试设备Instrumentation类,用来提供应用程序运行时所需的环境哦配置及其他信息,这些声明只在程序开发和测试阶段存在,发布前将被删除。
声明应用程序所需要的Android API的最低版本级别
列举application所需要连接的库文件。
========================
<?xml version="1.0"encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="cn.class3g.android.hello"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="7" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".HelloworldActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<categoryandroid:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
这是文件内容:
首先,<manifest>元素是文件的根元素,是必须有的。xmlns:android是该文件的命名空间。这个文件会使用“http://schemas.android.com/apk/res/android"路径指向的一个文件。
package属性是指定Android应用所在的包。
Android:versionCode是指定应用的版本号。
Android:versionName是版本名称。
----------------------------
<application>元素
这是非常中药的一个元素,开发的组件都会在这个元素下定义(必选)
icon属性是用来设定应用的图标
label属性用来设定应用的名称,属性值所用的表达式"@string/app_name"指向R.java文件中的string静态内部类中的"app_name"属性指向的资源。
等价于:Android:label=“Android,你好!".
-----------------------------------
<activity>元素
这个元素的作用是注册一个Activity信息,当我们创建项目的时候,有一个多选框提示是否create Activity,指定了属性为NameActivity,系统自动创建了一个名为:NameActivity.java文件(Name为项目名称)。
Activity 在android中属于组件,需要在功能清单文件中进行配置。
Activity中的name属性指定的是类名。属性值为: ".NameActivity"中的"."代表的是上面<manifest>元素的package属性中指定的当前包。
所以,".NameActivity"的含义等价于:"com.sharpandroid.activity.NameActivity.java"。
注意:创建create activity就有“.”,反之没有,最好都加上,防止出错。
----------------------------------------------------
<Permissions>权限元素
这个是用来在功能列表文件中添加权限的。
使用语句为:"<uses-permissionandroid:name="android.permission.SEND_SMS"/>
注意:一个功能只能被一个权限保护。
发表评论
-
Android开发——概述及环境搭建
2011-12-05 21:25 666今天开始学习安卓手机软件开发,首先介绍一下Android: ... -
Android开发——手机拨号程序实现
2011-12-06 19:50 962在上一篇文章中,我们实现了第一个程序:helloWorld,并 ... -
Android开发——关于onCreate的解读
2011-12-06 20:34 860当我们创建好一个Android项目后,打开src下的java ... -
Android开发——布局详解(上)
2011-12-07 16:54 740Android开发——布局详解(上) 在昨天的学习中, ... -
多种方式实现Android页面布局的切换
2011-12-08 18:07 1466多种方式实现页面切换 今天老师留的作业如题,要求用三种方 ... -
Android开发——Android生命周期
2011-12-10 20:11 644Activity的三种状态: ... -
Android开发——菜单小问题解决
2011-12-12 20:47 833在写菜单项的时候发现一个不知道的知识点,问题是这样产生的。写好 ... -
Android开发——UI组件详解及注册提交表单实现
2011-12-13 21:44 845今天讲解的内容是UI组件的TextView组件和EditVie ... -
Android开发——跟随手指的小球实现
2012-01-11 14:13 884今天要实现的是一个跟随手指的小球,说白了就是让小球按着手指滑动 ... -
Android开发——实现点击图片切换效果
2012-01-11 14:15 978在资源中添加5张图片,重命名为a-e。 实现java代码如下 ...
相关推荐
02章节可能讲解了Android开发环境的搭建,包括安装Android Studio(虽然题目提及的是Eclipse,但目前官方推荐使用Android Studio),配置SDK,以及创建第一个Hello World应用。 07章节可能涵盖了Android的生命周期...
要强调一点的是:第三章Android中的资源访问,这章节非常不错,将android工程的目录结构、工程内每个文件之间的组合,联系,访问都讲解得非常不错,我觉得掌握工程中的文件组织和目录结构是入门学习的第一阶段。...
第13章“Android应用程序概述及框架”,介绍Android应用程序层的基本概念和应用程序框架,这部分内容是Android自下而上的第4个层次,可以基于源代码或者SDK开发,它们之间的差别非常小。 第14章“Android应用...
- **应用程序开发的结构**:Android应用程序通常由多个组件构成,包括Activity、Service、BroadcastReceiver和ContentProvider等。 - **API参考文档的使用**:官方提供的API文档是开发者了解如何使用各种API的重要...
第1章 android系统概述 1 1.1 基础知识 1 1.1.1 android开发系统的由来 1 1.1.2 移动电话系统开发模式 2 1.1.3 未来移动电话的功能及android的优势 4 1.2 android的开发工作 6 1.2.1 android移植开发 6 1.2.2 ...
Smali开发是Android应用开发与逆向工程中的一种技术手段,用于编辑与操作Android平台上的应用程序包(APK)文件。在开发过程中,Smali是Dalvik字节码的汇编语言,它与Baksmali配合使用,用于对Dalvik执行文件(dex文件...
Android游戏开发是一个涵盖了多个技术领域的综合性工程,涉及到程序设计、图形渲染、用户交互、网络通信等多个方面。在这个“一个自己开发的android游戏小应用”项目中,开发者通过学习和实践,成功地创作了一款游戏...
### 嵌入式Linux应用程序开发详解 #### 一、嵌入式Linux基础 - **Linux发展概述**:自1991年Linus Torvalds发布第一个版本以来,Linux经历了快速的发展,逐渐成为最流行的开源操作系统之一。它不仅被广泛应用于...
7. AndroidManifest.xml配置:应用程序的关键配置文件,包括应用的基本信息、所需权限、活动(Activity)、服务(Service)等声明,对应用的运行至关重要。 8. 测试与调试:使用Android模拟器或真实设备进行功能...
【Android开发与实践详解】 ...综上所述,Android开发涉及多个方面,包括项目创建、AVD管理、关键文件的理解以及程序结构的掌握。通过学习这些基础知识,开发者能够顺利地开始Android应用的开发旅程。
Android应用程序开发可以从一个HelloActivity程序入手,理解应用层程序的开发方式、结构以及API文档的使用方法。开发过程中涉及的源文件结构、编译结构以及工程的建立是基本知识点。 知识点5:Android应用程序框架 ...
书名:《Android底层开发技术实战详解——内核、移植和驱动》(电子工业出版社.王振丽)。本书从底层原理开始讲起,结合真实的案例向读者详细介绍了android内核、移植和驱动开发的整个流程。全书分为19章,依次讲解...
Android 源码是一个庞大的工程,涉及多个领域,包括但不限于操作系统、硬件驱动、虚拟机、应用程序等。理解其目录结构对于深入研究Android系统至关重要。 #### 二、顶层目录介绍 在Android源码的顶级目录中,我们...
在开发第一个Android项目时,需要通过一系列步骤来创建并配置一个基本的应用程序。以下将详细介绍这些步骤: 1. **启动Eclipse** - 首先确保已经安装了Eclipse IDE for Java Developers,并且配置好了Android开发...
【Android截屏程序项目工程...通过这个“android截屏程序项目工程”,开发者不仅能够掌握Android应用开发的基本技能,还能了解到root权限的使用和Android系统更深层次的交互,这对于提升Android开发能力非常有帮助。
4. **应用工程文件结构**: - 源文件夹:包含Activity和业务逻辑代码。 - `R.java`:资源引用文件。 - `AndroidLibrary`:第三方库和依赖。 - `assets`目录:原始文件资源。 - `res`目录:包含各种资源文件。 ...
#### 八、我的第一个程序——Hello World **8.1 HelloWorld项目目录结构** - **src文件夹**:存放源代码文件。 - **gen文件夹**:生成的代码文件。 - **Androidxx文件夹**:包含项目配置文件。 - **assets文件夹**...