Android开发实践(二)android程序结构简析

不说废话,就简单说说重要的Android程序的文件结构

Src目录包含项目里所有的源文件。当项目一创立,就会包含两个文件R.java和<活动>

<activity>.java 总是根据你的活动来命名:相当于后台,处理所有的业务逻辑和控件的引用

R.java是一个由Android plugin自动产生并添加到你的应用程序中的文件。这个文件包含到drawable,layout和values目录的指针(或者目录里其它的项目)。你不应当必须直接修改这个文件。

gen :编译器为我们自动生成的R.java文件就存放在这里。  l

assets 目录用来放置“原料”文件的。在这个目录中可以包含为流媒体和动画准备的音频文件。  l

bin :生成文件里目录,这里的文件是为虚拟机Dalvik环境下运行的。

apk 文件是Android 的JAVA 虚拟机Dalvik 安装和运行的文件,事实上这个apk 文件将由编译的中间结果和原始文件生成。apk 文件的本质是一个zip 包。

class.dex文件它是给Android 的JAVA 虚拟机Dalvik 运行的字节码文件。  l

res:目录是你项目资源放置并且编译你的应用程序的地方。当你创建一个新的Android项目,res目录包含3个子目录:drawable, layout, 和 values。 你会在很多的项目中使用 drawable 和layout 分别放置并显示图形和布局。而values目录放置遍及程序全局的字符串。

\res\main.xml :前台控件布局文件,用于布局和声明页面上的各种控件

如果引用到res目录,它的内容是被包含在R.java文件中,在src目录中,这个R.java文件是自动生成的,所以不要试图手动修改里面的内容,因为在下次编译的时候,它的内容会重新生成。

AndroidMainfest.xml :是一个指定全局设定的地方。就如同JSP项目中的web.xml文件一样。AndoridManfiest.xml将包括如程序许可,活动,和意向过滤器等的设定。

一般编写代码时,在\res\main.xml中声明和布局好各种控件,在activity类中通过R.java类来引用控件和进行相应的业务逻辑处理,需要注意的是,当你创建了一个类,紧接着就是马上去AndoridManfiest.xml登记一下,不然后面报错了,常常吓出一身汗,都不知道错在哪。。

<activity android:name="com.example.fifthtest.Method"> </activity>

时间: 2024-10-10 13:46:32

Android开发实践(二)android程序结构简析的相关文章

Android开发实践:Android交叉编译工具链的使用

前面2篇文章分别介绍了Android NDK编译的命令行参数,以及如何在任意目录使用Android.mk来编译本地c/c++代码,Andriod.mk和ndk-build只不过是Android官方提供了一套封装过的Android交叉编译环境而已,其实,你可以不用它,而直接通过传统的Makefile文件来编译你的c/c++代码的,本文即介绍如何直接通过传统的Makefile文件来编译可用于Android平台的库文件. 经常搞嵌入式开发的朋友对于交叉编译环境应该并不陌生,说白了,就是一组运行在x86

Android开发实践:Android.mk模板

关于Android NDK开发的文章已经比较多了,我的博客中也分享了很多NDK开发相关经验和技巧,今天简单写了一个 Android.mk 的示例模板,供初学者参考. 本模板主要给大家示例 Android NDK 开发中的如下几个问题: 1. 如何自动添加需要编译的源文件列表 2. 如何添加第三方静态库.动态库的依赖 3. 如何构造一个完整的NDK工程框架 假设我们的项目依赖 libmath.a, libjson.a, libffmpeg.so 这几个第三方库文件,项目包含如下几个模块:algor

【Android开发实践】android.view.InflateException: Binary XML file line #12: Error inflating class fragment问题解决

一般出现的原因是fragment引入的包错了,应该是import android.app.ListFragment;而不是import android.support.v4.app.ListFragment;

Android开发新手教程--Android应用程序结构

一.新HelloWorld工程: 1.打开Eclipse.点击"File"->"New"->"Project"-Android Application Project"": 在弹出的"New Android Application"窗口中输入对应的应用名称.项目名称.包名称,并选择对应的SDK版本号和应用主题: 选择项目保存位置.一路"next"完毕项目创建: 创建后的项目:

C#程序员学习Android开发系列之Android项目的目录结构

今天开始正式学习Android开发的种种细节,首先从最基本的概念和操作学起. 首先看一下Android项目的目录结构. 这是我随便建立的一个test项目,我们重点关注一下几个方面的内容: 1.src目录:存放java源代码的目录,里面建立一个包,包里面有4个java源文件(分别都继承自Activity).由于java要求比较严格,因此要求类名与文件名一致. gen(Generated Java Files)目录:自动产生Java源文件的目录,是由工具自动生成的,一般不需要自己修改.里面主要有一个

Android开发入门教程--Android应用程序结构分析

一.新建HelloWorld项目: 1.打开Eclipse,点击"File"->"New"->"Project"-Android Application Project"": 在弹出的"New Android Application"窗体中输入相应的应用名称.项目名称.包名称,并选择相应的SDK版本和应用主题: 选择项目保存位置,一路"next"完成项目创建: 创建后的项目:

Android开发实践:利用ProGuard进行代码混淆

由于Android的代码大都是Java代码,所以挺容易被反编译的,好在Android ADT为我们集成了混淆代码的工具,一来可以混淆我们的代码,让程序被反编译后基本看不懂,另外还能起到代码优化的作用.发布项目前,建议打开Android的代码混淆功能. Android ADT主要通过ProGuard工具来提供代码混淆,网上也有挺多博客文章讲这个的,但感觉很多都介绍得太过于复杂,这里我就以问答的方式来更加简洁地介绍下ProGuard吧. 1. ProGuard是什么 ProGuard是一个工具,用来

Android开发实践:WIFI连接功能的封装

在上一篇文章<Android开发实践:WIFI扫描功能的封装>介绍了如何利用Andriod的API实现WIFI的扫描,本文则重点讲述一下如何连接WIFI吧,在此,也给出一个封装WIFI连接过程的类,提供简单的接口以供在各个代码工程中复用. 与WIFI扫描类似,WIFI的连接同样是一个耗时的过程,所以需要放到线程中执行,通过回调来通知调用者连接结果.该回调接口的定义如下: public interface WifiConnectListener { public void OnWifiConne

Android开发实践:Java层与Jni层的数组传递

Android开发中,经常会在Java代码与Jni层之间传递数组(byte[]),一个典型的应用是Java层把需要发送给客户端的数据流传递到Jni层,由Jni层的Socket代码发送出去,当然,Jni层也需要把从Socket接收到的数据流返回给Java层.我简单地总结了一下,从Java层到Jni层,从Jni层到JAVA层,各有3种传递方式,下面用代码示例简单地介绍一下. 示例代码的主要文件有两个,一个是Native.java,是Java层的类:另一个是Native.c,是JNI层的文件,关键的地