文档章节

Android 第三课——项目结构及作用

learn_more
 learn_more
发布于 2014/12/30 21:04
字数 1010
阅读 214
收藏 4

● src—包含项目的.java源文件。 在本例中, 有一个文件:HelloWorldActivity.java。HelloWorld Activity.java文件是活动的源文件,您将在这个文件中编写应用程序的代码。这个Java文件在项目的包名下列出,在本例中这个包名为net.learn2develop.HelloWorld。

注意:这里是就是应用程序的源代码,所有的业务逻辑处理都能在这里找到,虽然也可以在源代码中采用面向对象的方式进行界面编程,但是这种编程方式显然增加了难度,所以Google建议界面相关采用配置文件。

● gen—包含了由编译器生成的 R.java 文件,它引用在项目中能找到的全部资源。不要修改此文件。项目中的所有资源会自动编译到这个类中,所以可以使用这个类引用它们。

注意:R.java 文件其实是一个资源的索引文件,他把res目录下的文件按照索引存储编译成R文件,目的就是为了在程序中快速访问。

● Android 4.0 库—这一项中有一个 android.jar 文件,包含了一个 Android 应用程序所需的所有类库。

● assets—这个文件夹包含了应用程序所用到的所有资产,例如 HTML、文本文件、数据库等。

注意:这个文件和res还是有区别的,首先访问采用的是this.getAsserts().open(url)获取流,然后读取文件。

● bin—这个文件夹包含了生成过程中 ADT 生成的文件。特别是,它会生成.apk 文件(Android 包)。.apk 是 Android 应用程序的二进制文件,包含运行 Android 应用程序所需的一切。

● res—这个文件夹包含了应用程序中使用的所有资源。它还包含了几个子文件夹:drawable-<resolution>、layout 和 values。第 3 章将进一步讨论如何支持具有不同屏幕分辨率和像素密度的设备。

注意:主要存放图片、样式(主题)、布局、常量。这里的文件都会在gen的

R.java文件生成索引,便于应用程序访问,关于索引的规则是:如果是图片,那么索引就是图片的名称而且不需要扩展名;如果是布局文件,那么与图片一样;如果是布局文件中定义的组件,那么是以组件的ID为索引;如果是常量,也就是values文件夹下面的,该文件夹下面可以定义任何xml,但是他们的内容中会用特定的标签定义常量,然而标签就是数据类型,标签的名称就是索引,标签的内容就是常量。所以 @string/hello 会在values文件里查找所有子文件中有如下定义的

 <string name="hello">Hello World, HelloWorldActivity!</string> 

除此之外,res下的文件可以通过重新文件名来定义 横屏、竖屏、国际化、像素

比如,要使用横屏的布局可以这样定义一个文件夹:与layout(默认)同目录下新建 layout-land(横屏);layout-port(竖屏);values-zh(中文);values-zh-rcn(简体中文);drawabel-zh-mdpi 中文时采用图片

 proguard.cfg:用来混淆代码的配置文件,防止别人反编译

● AndroidManifest.xml—这是 Android 应用程序的清单文件。在这一文件中,可以指定应用程序所需的权限,还可以指定其他特性(如意图筛选器、接收者等)。这个文件主要控制应用程序的主题以及activity的显示。另外,清单文件在软件安装的时候被读取。Android中的四大组件(Activity、ContentProvider、BroadcastReceiver、Service)都需要在该文件中注册程序所需的权限也需要在此文件中声明,例如:电话、短信、互联网、访问SD卡


© 著作权归作者所有

learn_more
粉丝 93
博文 240
码字总数 210196
作品 0
深圳
程序员
私信 提问
QT实战-计算器-刘桂林-专题视频课程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_26787115/article/details/83580590 QT实战-计算器—152人已学习 课程介绍 使用Qt Creator开发一个具有运算...

刘某人程序员
2018/04/27
0
0
开源力量公开课第二十四期-为何Hadoop是分布式大数据处理的未来&如何掌握Hadoop?

详情:http://www.osforce.cn/?p=1216 课程题目:开源力量公开课第二十四期-为何Hadoop是分布式大数据处理的未来&如何掌握Hadoop? 开课时间:2013年07月30日 18:30 - 21:30 现场或线上参课:...

程开源
2013/07/19
5
0
【Google官方教程】前言:高效的Bitmap显示

转载声明:Ryan的博客文章欢迎您的转载,但在转载的同时,请注明文章的来源出处,不胜感激! :-) http://my.oschina.net/ryanhoo/blog/88153 译者:Ryan Hoo 来源:https://developer.andro...

RyanHoo
2012/11/09
3.8K
11
在项目中值得学习和利用的Android开源项目分类汇总

http://blog.csdn.net/dianyueneo/article/details/40683285 Android开源项目第一篇——个性化控件(View)篇 包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、Pro......

_FQ_
2014/12/24
18
1
开源力量公开课第二十四期-为何Hadoop是分布式大数据处理的未来&如何掌握Hadoop?

详情:http://www.osforce.cn/?p=1216 课程题目:开源力量公开课第二十四期-为何Hadoop是分布式大数据处理的未来&如何掌握Hadoop? 开课时间:2013年07月30日 18:30 - 21:30 现场或线上参课:...

程开源
2013/07/19
194
2

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 年迈渔夫遭黑帮袭抢

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :#今日歌曲推荐# 分享Elvis Presley的单曲《White Christmas》: 《White Christmas》- Elvis Presley 手机党少年们想听歌,请使劲...

小小编辑
今天
1K
20
CentOS7.6中安装使用fcitx框架

内容目录 一、为什么要使用fcitx?二、安装fcitx框架三、安装搜狗输入法 一、为什么要使用fcitx? Gnome3桌面自带的输入法框架为ibus,而在使用ibus时会时不时出现卡顿无法输入的现象。 搜狗和...

技术训练营
昨天
5
0
《Designing.Data-Intensive.Applications》笔记 四

第九章 一致性与共识 分布式系统最重要的的抽象之一是共识(consensus):让所有的节点对某件事达成一致。 最终一致性(eventual consistency)只提供较弱的保证,需要探索更高的一致性保证(stro...

丰田破产标志
昨天
8
0
docker 使用mysql

1, 进入容器 比如 myslq1 里面进行操作 docker exec -it mysql1 /bin/bash 2. 退出 容器 交互: exit 3. mysql 启动在容器里面,并且 可以本地连接mysql docker run --name mysql1 --env MY...

之渊
昨天
12
0
python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部