文档章节

【Android学习笔记】三、项目的目录结构与安装及启动过程分析

tanyixiu
 tanyixiu
发布于 2014/05/09 17:44
字数 645
阅读 20
收藏 0

一、src文件夹:存放java代码的源文件

二、gen文件夹:由开放工具自动生成的java源文件

       R.java文件:用于登记各种资源的id,这些id是由编译器在你放入资源的时候生成的,可以通过id去引用资源。

       在修改、编译的时候,最好不要把R文件打开,否则很慢。

三、res文件夹:存放资源文件

      drawable文件夹:存放各种分辨率的图片。同一张图,制作几个不同分辨率的版本,手机可以自动匹配。

      layout文件夹:存放界面文件.

      values文件夹:存放应用中的使用到字符串、尺寸、颜色等资源。文字多时,可以在values文件夹下建立多个xml文件。

      anim文件夹:存放定义动画的xml文件

      xml文件夹:在Activity中使用getResources().getXML()读取该目录下的资源文件

      raw文件夹:存放应用使用到的原始文件,如音效文件等。编译软件时,这些数据不会被编译,他们被直接加入到程序安装包里。为了在程序中使用这些资源,调用getResources().openRawResource(R.raw.somefilename).

  

四、assets文件夹:也是存放资源文件,但是存放的资源不会在R文件中生成id

五:project.properties文件:告诉开发工具,面向哪个版本开发的。

六:AndroidMainfest.xml文件:项目的清单文件,列出应用提供的功能,相当于配置文件

      Activity节点,用于配制activity这种类型的组件。

            android:name 属性:如果xxActivity在应用所在的package下,可以用.xxActivity,或者直接xxActivity;

                                            如果是在package子包下,则要点就不能省略。

                                            如果不在package下,则要把应用的路径写全。

                                            建议:不管在不在package下,都要写全路径。

            android:label 属性:窗口的标题

            intent-filter节点:意图过滤器,匹配意图(你想做的事),对数据进行过滤。如果匹配就do,如果不匹配就do nothing

                  <action/><category/> 把应用图标添加到启动列表中。只能应用在一个activity里面。

       清单文件,是在软件安装的时候,被操作系统读取的。


七、应用的安装过程:

      .java --> .class --dx-> .dex -->打包(签名,debug.keystore文件中)  --> .apk

      创建进程 -- 创建主线程 -- 在主线程中实例化Activity -- 操作系统会把应用有关的信息(context)存放进Activity中,然后调用OnCreate方法。

       

© 著作权归作者所有

共有 人打赏支持
tanyixiu
粉丝 15
博文 19
码字总数 3894
作品 0
成都
程序员
私信 提问
Android--面试中遇到的问题总结(三)

《Android 开发工程师面试指南 LearningNotes 》,作者是陶程,由梁观全贡献部分。大家可以去知乎关注这两位用心的少年。这份指南包含了大部分Android开发的基础、进阶知识,不仅可以帮助准备...

sealin
2017/02/22
0
0
Android 进阶学习笔记整理

一.android系统架构图及各层介绍 1. 应用层:应用是用java语言编写的运行在虚拟机上的程序,比如通讯录,日历,电话,短信,浏览器等。 2. 应用框架层:这一层是编写Google发布的核心应用时所...

FunCode
07/22
0
0
React Native Android 源码分析之前期准备

前言 React Native 是目前最流行的跨平台框架,并且是 Facebook 团队开源的项目。架构及实现技术上都有很高的研究价值,本系列就来分析一下 React Native 的一些核心代码。 此系列文章针对的...

骑摩托马斯
07/09
0
0
Flutter学习总结----第一章、Flutter基础

Flutter学习总结: 更多相关内容和示例代码,请看我的github: https://github.com/AweiLoveAndroid/Flutter-learning 第1章、基础入门 1.1 Flutter简介 1.1.1 跨平台框架的发展历史 详情请看...

AWeiLoveAndroid
06/21
0
0
Android adt bundle 开发环境配置及第一个“Hello world”程序运行

最近在学习Android 顺便记录下学习过程当作复习吧,这是写的第一篇正式博客。 一、jdk环境配置 二、android adt bundle 下载 三、安装SDK 四、模拟器及真机调试 五、第一个程序 Hello world!...

程序猿付显
2014/07/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

linux脚本中父shell与子shell 执行的几种方式

本文主要介绍以下几个命令的区别: shell subshell source $ (commond) `commond` Linux执行Scripts有两种方式,主要区别在于是否建立subshell 1. source filename or . filename 不创建sub...

问题终结者
14分钟前
1
0
安装jdk和Tomcat

12月12日任务 16.1 Tomcat介绍 16.2 安装jdk 16.3 安装Tomcat Tomcat介绍 Tomcat是apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由apache、Sun和其他一些...

robertt15
15分钟前
3
0
Beetl 免费视频

来自 https://my.oschina.net/gking?q=Beetl ,Beetl终于有人录制视频了 项目git地址:https://gitee.com/gavink/beetl-blog 视频地址:下载下来会更清晰,视频比较长,可使用倍速看 百度网盘...

闲大赋
28分钟前
0
0
isEmpty和null的区别

isEmpty和null的区别: 1.一个是对象为空(IsNull),一个是值为空(IsEmpty) 2.IsNull指任务类型变量是否为空包括对象类型的变量。 IsNull函数: 功能:返回Boolean的值,指明表达是否不包...

DemonsI
54分钟前
3
0
Centos7 安装mysql与php

https://blog.csdn.net/qq_36431213/article/details/79576025 官网下载安装mysql-server 依次使用下面三个命令安装 wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.r......

Yao--靠自己
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部