1.构建一个helloworld的android程序非常简单,直接new 一个android的项目,直接运行,一个helloworld的项目就完成了。这一篇主要详细讲一下android的项目目录结构以及源码关联。看图:
相对于J2EE项目结构的灵活,Android项目的结构显得比较固定,只要你弄清楚每个资源文件里面该放什么东西,就不会出现J2EE中,资源放错地方not found的问题。当然两者的相同之处还是很明显的,android项目中围绕着四大组件构建起来的业务逻辑,在JavaEE中你可以看作是Servlet或者SSH,每一个组件或者每一个框架都负责处理属于自己的东西。AndroidManifest.xml可以看做是web.xml。
src :包含应用程序的所有源代码
gen :gen下面的R类是自动生成的,这是一个非常顽强的类即使把它删除也会自动创建。这个类里面 包含很多内部类,每个内部类对应相应的资源文件。
public final class R {
public static final class attr {
}
//此类对应res资源包下的drawable
public static final class drawable {
//每一张图片都会生成一个唯一的整型标识符
public static final int icon=0x7f020000;
}
//此类对应布局文件layout
public static final class layout {
//位布局文件生成的对应的标识符
public static final int main=0x7f030000;
}
//对应values资源包主要用于国际化
public static final class string {
//为不同的字符串生成相对应的标识符
public static final int app_name=0x7f040001;
public static final int hello=0x7f040000;
}
}
assets: 可以存放一些其他,额外的文件或者资源
res:资源文件包 drawable用于存放图片资源,layout用于存放布局文件,values用于存放程序所
需文字资源。着重说一下drawable,在之前的版本中,只有一个drawable,而2.1版本之后(包括 2.1)出现了drawable-mdpi、drawable-ldpi、drawable-hdpi三个,这三个主要是为了支持多分辨率。
他们的主要区别:
(1)drawable-hdpi里面存放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)
(2)drawable-mdpi里面存放中等分辨率的图片,如HVGA (320x480)
(3)drawable-ldpi里面存放低分辨率的图片,如QVGA (240x320)
系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片。
在开发程序时为了兼容不同平台不同屏幕,建议各自文件夹根据需求均存放不同版本图片。
AndroidManifest.xml:应用程序的描述文件,此文件定义应用程序的Activity,ContentProvider,Service,receiver以及意图过滤器。还定义了应用程序所需要的权限等等。
Default.properties:主要定义了应用程序最低的兼容版本。
Proguard.cfg:主要用于优化,压缩,混淆java字节码文件的工具。
2,开发中经常需要扩展或者自定义某些功能,这就需要对源代码有一些深入的了解。目前android 除了支持平板的3.0以上的版本源码还没有开放。其余版本都可以下载到。说一下如何关联源码。例如我关联android2.2版本的。
然后在Eclipse上新建一个android的程序,右键→properties→Java Buid Path
此时源码已经关联好了,但是还有一个类无法找到。Manifest.java 权限的清单文件。这个类定义了所有需要用到的权限。
重启Eclipse,查找一下该类,看下是否关联上!
有需要源码的留下邮箱。
- 大小: 122 KB
- 大小: 66.5 KB
- 大小: 194.6 KB
- 大小: 92 KB
- 大小: 17.5 KB
分享到:
相关推荐
当我们需要运行一个与其他jar文件有关联jar文件时,如果jar文件里面的MANIFEST.MF文件没有配置好,那在运行时就要报异常:Exception in thread "main" java.lang.NoClassDefFoundError。原因:未找到关联jar文件里面...
Java 读写MANIFEST.MF文件中的属性,采用maven打包MANIFEST.MF配置项,通过io流读取配置项
在目录src/main/kotlin创建名称为dev.tony.helloworld新Package。 创建新文件Main.kt 添加@file:JvmName("Main")并在Main.kt package dev.tony.helloworld Main.kt 。 Gradle(build.gradle) 添加插件id '...
Manifest_UFSFiles_Android.txt
首先,例如c盘根目录下有类HelloWorld.java: public class HelloWorld{ public static void main(String[] args){ System.out.println("Hi, Hello World!"); } } 把HelloWorld.java打jar包并运行: 1。进入...
解析AndroidManifest格式的源码
manifest
android manifest 解密jar
Fix for screensize problem.Add new manifest file inside your two project's and add this to the manifest.For project 9927434[CSharp---Escritorio-Remoto]The problem is with dpiAware.Enjoy the moment.
cxf-manifest cxf-manifest
steam-appmanifest, 在 ~/.steam/steam/SteamApps 中,生成 appmanifest_APPID.acf 文件 Steam AppManifest生成器这是一个简短的python 脚本,可以让 Steam 下载到下载非Linux应用程序中。注:Steam 不会运行没有...
MANIFEST
HelloWorld.java 1.70 KB tmpclasses (0 folders, 2 files, 1.38 KB, 1.38 KB in total.) tmplib (0 folders, 2 files, 1.38 KB, 1.38 KB in total.) Chap5 (7 folders, 2 files, 1.38...
Chrome扩展插件开发Manifest V3案例:把某招聘网站上的招聘信息导出Excel的源码
jquery-manifest插件
android应用程序开发manifest.xml详解
VS2005 SDKV2.0版本导入清单文件.manifest ,提升为管理员权限测试工程
下面是Spring的HelloWorld的程序的文件结构: C:. │ .classpath │ .project │ ├─build │ └─classes │ └─com │ ├─dineshonjava │ │ └─sdnext │ │ └─springConfig │ │ spring.xml │ │ │ ...
用来导入manifest信息的工具
vue开发的商品标签设计插件 && 系统,功能包含:设计,预览,打印