Android工程各文件夹结构的含义及全代码使用与全解
android的文件系统结构及其引导过程的理解
android的文件系统结构及其引导过程的理解1、android文件系统的结构android源码编译后得到system.img,ramdisk.img,userdata.img映像文件。
其中, ramdisk.img是emulator的文件系统,system.img包括了主要的包、库等文件,userdata.img包括了一些用户数据,emulator 加载这3个映像文件后,会把 system和 userdata分别加载到 ramdisk 文件系统中的system和 userdata目录下。
因此,我们可以把ramdisk.img里的所有文件复制出来,system.img和userdata.img分别解压到 ramdisk文件系统中的system和 userdata目录下。
2、分离android文件系统出来system.img,ramdisk.img,userdata.img映像文件是采用cpio打包、gzip压缩的,可以通过file命令验证:file ramdisk.img,输出:ramdisk.img: gzip compressed data, from Unix, last modified: Wed Mar 18 17:16:10 2009Android源码编译后除了生成system.img,userdata.img之外还生成system和 userdata文件夹,因此不需要解压它们。
Android源码编译后还生成root文件夹,其实root下的文件与 ramdisk.img 里的文件是一样的,不过这里还是介绍怎样把 ramdisk.img解压出来:将ramdisk.img复制一份到任何其他目录下,将其名称改为ramdisk.img.gz,并使用命令gunzip ramdisk.img.gz然后新建一个文件夹,叫ramdisk吧,进入,输入命令cpio -i -F ../ramdisk.img这下,你就能看见并操作ramdisk里面的内容了。
Android程序结构简单讲解
Android程序结构简单讲解
Android程序在创建时,Android Studio就为其构建了基本结构,设计者可以在此结构上开发应⽤程序,因此掌握Android程序结构是很有必要的。
下⾯以HelloWorid程序为例,分析Android 程序结构:
在图中,可以看到⼀个Android程序由多个⽂件以及⽂件夹组成,这些⽂件分别⽤于不同的功能,具体分析如下:
manifests
⽤于存放AndroidManifest xml⽂件(⼜称清单⽂件).该⽂件是整个项⽬的配置⽂件。
在程序中定义的四⼤组件都需要在这个⽂件中注册,另外在该⽂件中还可以给程序添加权限。
在清单⽂件中配置的信息会添加到Android 系统中,当程序运⾏时,系统会找到清单⽂件中的配置信息,然后根据配置信息打开相应组件。
java
⽤于存放所有的Java代码,在该⽂件夹中可以创建多个包,每个包中可以存放不同的⽂件或Activity。
res
⽤于存放Android 程序所⽤到的资源,例如图⽚布局⽂件、字符串等。
drawable ⽬录⽤于存放图⽚及XML⽂件,
layout⽬录⽤于存放布局⽂件,
mipmap⽬录通常⽤于存放应⽤程序图标,系统会根据⼿机屏幕分辨率(hdpi/mdpi/xhdpi/xxhdpi/xxxhdpi)匹配相应⼤⼩的图标,
values⽬录⽤于放置定义的字符串。
Gradle Scripts
⽤于存放项⽬创建的相关⽂件,⽆须修改。
andriod项目生成详细目录介绍
Andriod项目结构针对项目有以下文件目录。
我们一一来说明这些目录的意义。
图1、Andriod项目结构图项目文件说明1.Hello为项目名称2.src文件夹,这个有java基础的人都知道是源文件,这里也就是我们编写andriod项目的主文件源,是用java来编写的。
3.gen文件夹,这个是andriod项目里面尤其重要的一个文件,是工程自动生成的文件,不可更改。
里面有这里面有个R.java文件,如下图所示:图2、R文件4.R文件中有三个内部类,分别表示的是图片(drawable),布局(layout),文件文字(String)的id地址值。
通过这个R文件可以找到我们在页面布局里面的id的地址。
5.bin文件夹,这个文件夹主要是存放apk的。
项目部署时会自动生成一个apk文件存放在这个文件夹下,可以直接部署到手机上使用的。
6.res文件夹,这个文件夹主要存放的是一些资源文件,里面存放的有图片,布局信息,一些值信息。
(1)drawable文件(一般存放系统所需要的图片信息,有三个drawable文件夹,存放的图片信息是按照高,中,低三个层次来划分的。
)(2)layout文件夹,里面有main.xml,这个就是项目的主页面布局文件。
图3、main.xml7.values文件夹,这里有String.xml文件,这里面主要都是一些页面上需要的值信息。
图4、string.xml文件8.AndrriodManifest.xml文件,最后一个文件尤其重要,这个文件就像java WEB开发中的web.xml文件一样,主要是系统的配置信息文档。
如下图所示:图5、AndriodManifest.xml文件。
安卓系统文件夹详细结构及其文件解析
安卓系统文件夹详细结构及其文件解析安卓系统的文件夹结构是一个非常复杂的层次结构,涵盖了各种各样的文件和文件夹,用于管理设备的各种功能和资源。
下面是对安卓系统文件夹结构的详细解析。
1.根目录:- /system:系统级文件夹,包含了系统的核心组件和应用程序。
其中最重要的文件是/ system / bin / 和/ system / xbin / 中的二进制可执行文件。
- /data:包含了应用程序和用户数据的文件夹。
每个应用程序都会被分配一个唯一的文件夹,其中包含了该应用程序的所有数据。
- /cache:用于存储临时文件和缓存文件。
- /mnt:用于挂载外部存储设备和其他文件系统。
2. /system目录:- /system/bin:包含了系统级的可执行文件,例如adb、mount等。
- /system/etc:包含了一些系统配置文件,例如hosts文件用于域名解析。
- /system/framework:包含了系统框架的核心文件,例如Android 的API类库和资源文件。
- /system/lib:包含了系统级的共享库,例如图形渲染库、音频库等。
- /system/media:包含了系统的多媒体资源文件,例如系统的铃声、壁纸等。
- /system/usr:包含了一些系统级的用户应用程序。
3. /data目录:- /data/app:包含了已安装的应用程序的APK文件。
- /data/data:包含了应用程序的数据文件,包括数据库、偏好设置等。
- /data/cache:包含了应用程序的缓存文件。
- /data/misc:包含了一些杂项的系统数据,例如wifi配置文件。
- /data/system:包含了系统级的数据,例如安全证书、用户配置等。
4. /cache目录:- /cache/dalvik-cache:包含了Dalvik虚拟机的缓存文件,用于提高应用程序的启动速度。
- /cache/recovery:包含了刷机时使用的恢复模式的相关文件。
Android项目工程目录详解
Android项目工程目录详解1. Src:该目录中存放的是该项目的源代码,这个目录包含了你即将创建的Java源代码文件,这个目录里的文件是根据package结构管理的,它与普通java项目中的/src目录很相似。
2.Gen:自动生成的文件目录。
该目录下的文件全部都是ADT自动生成的,一般并不需要去修改,该目录下定义了一个R.java文件,该文件相当于项目的字典,为项目中用户界面、字符串、图片等资源都会在该类中创建其惟一的ID,当项目中使用这些资源时,会通过该ID得到资源的引用。
R.java是在建立项目时自动生成的,这个文件是只读模式的,不能更改。
R.java文件中定义了一个类——R,R类中包含很多静态类,且静态类的名字都与res文件夹中的一个名字对应,即R类定义该项目所有资源的索引。
通过R.java我们可以很快地查找我们需要的资源,另外编绎器也会检查R.java列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。
R.java很重要,不能修改不能删除。
3.Android{版本号}:这个目录包含了项目需要的库文件(Jar文件),这和普通Java项目中的/lib目录很相似。
同时其中还包含项目打包时需要的META-INF目录.4.Android Private Libraries:所有的第三方JAR包引入都被放入了Android Private Libraries中5.Android Dependencies:新版本的ADT修改了第三方jar的导入方式,之前可以在工程里面做关联,会在工程上自动添加ReferenceLibrary。
在新版本的ADT环境下,只需要在工程目录下新建libs文件夹,注意是libs不是lib,然后将第三方的jar复制进去,eclipse会自动将这个jar添加到Android Dependencies文件夹下,不必在通过BuildPath自己去修改了,也不需要ReferenceLibrary了。
Android系统文件夹结构名称的说明及怎样获得系统root权限的方法
Android系统文件夹结构名称的说明及怎样获得系统root权限的方法Android系统文件夹结构名称的说明及怎样获得系统root权限的方法\\system\\app该文件夹下的程序为系统默认的组件,主要存放的是常规下载的应用程序,都是以apk格式结尾的文件。
\\system\\app\\AlarmClock.apk 闹钟\\system\\app\\AlarmClock.odex\\system\\app\\Browser.apk 浏览器\\system\\app\\Browser.odex\\system\\app\\Bugreport.apk Bug报告\\system\\app\\Bugreport.odex\\system\\app\\Calculator.apk 计算器\\system\\app\\Calculator.odex\\system\\app\\Calendar.apk 日历\\system\\app\\Calendar.odex\\system\\app\\CalendarProvider.apk 日历提供\\system\\app\\CalendarProvider.odex\\system\\app\\Camera.apk 照相机\\system\\app\\Camera.odex\\system\\app\\com.amazon.mp3.apk 亚马逊音乐\\system\\app\\Contacts.apk 联系人\\system\\app\\Contacts.odex\\system\\app\\DownloadProvider.apk 下载提供\\system\\app\\DownloadProvider.odex\\system\\app\\DrmProvider.apk DRM数字版权提供\\system\\app\\DrmProvider.odex\\system\\app\\Email.apk 电子邮件客户端\\system\\app\\Email.odex\\system\\app\\FieldTest.apk 测试程序\\system\\app\\FieldTest.odex\\system\\app\\GDataFeedsProvider.apk GoogleData提供\\system\\app\\GDataFeedsProvider.odex\\system\\app\\Gmail.apk Gmail电子邮件\\system\\app\\Gmail.odex\\system\\app\\GmailProvider.apk Gmail提供\\system\\app\\GmailProvider.odex\\system\\app\\GoogleApps.apk 谷歌程序包\\system\\app\\GoogleApps.odex\\system\\app\\GoogleSearch.apk 搜索工具\\system\\app\\GoogleSearch.odex\\system\\app\\gtalkservice.apk GTalk服务\\system\\app\\gtalkservice.odex\\system\\app\\HTMLViewer.apk HTML查看器\\system\\app\\HTMLViewer.odex\\system\\app\\IM.apk 即使通讯组件包含MSN、yahoo通\\system\\app\\ImCredentialProvider.apk\\system\\app\\ImProvider.apk\\system\\app\\ImProvider.odex\\system\\app\\Launcher.apk 启动加载器\\system\\app\\Launcher.odex\\system\\app\\Maps.apk 电子地图\\system\\app\\Maps.odex\\system\\app\\MediaProvider.apk 多媒体播放提供\\system\\app\\MediaProvider.odex\\system\\app\\Mms.apk 短信、彩信\\system\\app\\Mms.odex\\system\\app\\Music.apk 音乐播放器\\system\\app\\Music.odex\\system\\app\\MyFaves.apk T-Mobile MyFaves程序\\system\\app\\MyFaves.odex\\system\\app\\PackageInstaller.apk apk安装程序\\system\\app\\PackageInstaller.odex\\system\\app\\Phone.apk 电话拨号器\\system\\app\\Phone.odex\\system\\app\\Settings.apk 系统设置\\system\\app\\Settings.odex\\system\\app\\SettingsProvider.apk 设置提供\\system\\app\\SettingsProvider.odex\\system\\app\\SetupWizard.apk 设置向导\\system\\app\\SetupWizard.odex\\system\\app\\SoundRecorder.apk 录音工具\\system\\app\\SoundRecorder.odex\\system\\app\\Street.apk 街景地图\\system\\app\\Street.odex\\system\\app\\Sync.apk 同步程序\\system\\app\\Sync.odex\\system\\app\\Talk.apk 语音程序\\system\\app\\Talk.odex\\system\\app\\T elephonyProvider.apk 电话提供\\system\\app\\T elephonyProvider.odex\\system\\app\\Updater.apk 更新程序\\system\\app\\Updater.odex\\system\\app\\Vending.apk 制造商信息\\system\\app\\Vending.odex\\system\\app\\VoiceDialer.apk 语音拨号器\\system\\app\\VoiceDialer.odex\\system\\app\\YouTube.apk Youtube视频\\system\\app\\YouTube.odex\\system\\bin该目录下的文件都是系统的本地程序,从bin文件夹名称可以看出是binary二进制的程序,主要是Linux系统自带的组件。
安卓系统文件夹结构及其文件解析(详细)
安卓系统文件夹及其文件解析打开Android文件管理器,会发现里面数十个英文名称命名的文件夹罗列其中,很多功能我们可以从其名字上略有所知,内部大批量的文件却让我们有些一头雾水。
这些文件是什么?有什么用?我们能不能删?这些都是我们脑中充满疑问的。
现在将将Android手机内部文件夹的架构和各文件的功能描述介绍给大家,让大家自己手机的内部资源有个比较透彻的理解,同时也避免了用户误删造成的数据丢失和系统崩溃。
【文件夹功能简介】\system\app这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件。
在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是\data\文件夹中。
\system\bin这个目录下的文件都是系统的本地程序,从bin文件夹名称可以看出是binary二进制的程序,里面主要是Linux 系统自带的组件(命令)\system\etc从文件夹名称来看保存的都是系统的配置文件,比如APN接入点设置等核心配置。
\system\fonts字体文件夹,除了标准字体和粗体、斜体外可以看到文件体积最大的可能是中文字库,或一些unicode字库,从T-Mobile G1上可以清楚的看到显示简体中文正常,其中DroidSansFallback.ttf文件大小。
\system\frameworkframework主要是一些核心的文件,从后缀名为jar可以看出是是系统平台框架。
\system\liblib目录中存放的主要是系统底层库,一些so文件,如平台运行时库。
\system\media\system\media\audio铃声音乐文件夹,除了常规的铃声外还有一些系统提示事件音。
\system\sounds默认的音乐测试文件,仅有一个test.mid文件,用于播放测试的文件。
\system\usr用户文件夹,包含共享、键盘布局、时间区域文件等。
\system\app这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件。
安卓项目目录结构说明
安卓项目目录结构说明安卓项目的目录结构是指在开发安卓应用程序时,项目所使用的文件和文件夹的组织方式。
一个好的目录结构可以使代码的管理更加清晰和高效。
下面是一个典型的安卓项目目录结构的说明。
1. app文件夹:这个是一个安卓项目的主要文件夹,包含了应用程序的源代码文件、资源文件和配置文件等。
以下是该文件夹的主要子文件夹和文件的说明:- manifest文件:在这个文件夹中,有一个AndroidManifest.xml文件,它是一个必需的文件,包含了应用程序的所有组件和权限等信息。
- src文件夹:这个文件夹包含了所有的源代码文件。
通常,该文件夹下还有三个子文件夹:- java文件夹:该文件夹包含了Java代码文件,用于定义应用程序的活动和其他组件。
- res文件夹:这个文件夹包含了应用程序的资源文件,如布局文件、字符串文件、图片文件等。
- AndroidTest文件夹:这个文件夹包含了一些用于测试应用程序的测试代码文件。
- build.gradle文件:这个文件是一个Gradle构建脚本,用于构建和打包应用程序。
2. Gradle文件夹:这个文件夹包含了Gradle构建系统的配置文件。
Gradle是一种用于构建和打包Android应用程序的工具。
- gradle.properties文件:在这个文件中,可以定义一些全局的Gradle配置属性。
- gradle-wrapper.properties文件:3. .idea文件夹:这个文件夹是用于存储IntelliJ IDEA集成开发环境的配置文件。
4. build文件夹:这个文件夹是在构建过程中生成的,包含了构建和打包应用程序所需要的文件。
该文件夹通常包含以下子文件夹和文件:- outputs文件夹:这个文件夹包含了构建和打包应用程序的输出文件,如apk文件。
- intermediates文件夹:这个文件夹包含了构建过程中的一些临时文件。
- generated文件夹:这个文件夹包含了一些自动生成的文件。
安卓系统文件夹详细结构及其文件解析
安卓系统文件夹详细结构及其文件解析Android操作系统是一种基于Linux内核的开源操作系统,它的文件系统也是采用的Linux文件系统结构。
下面我将详细介绍安卓系统文件夹的结构及其文件解析。
1. /system- /bin: 该文件夹存放一些包含Android系统所需的可执行文件,如busybox等。
- /etc: 该文件夹存放一些系统配置文件,如/hosts文件、init.d 文件夹等。
- /lib: 该文件夹存放一些系统库文件,如libc.so、libm.so等。
- /usr: 该文件夹存放一些系统资源文件,如fonts文件夹、keylayout文件夹等。
2. /data- /app: 该文件夹存放已安装的应用程序,每个应用程序都会生成一个以包名命名的子文件夹。
- /cache: 该文件夹存放系统缓存文件,如应用程序缓存、系统临时文件等。
- /data: 该文件夹存放应用程序的数据文件,如数据库文件、SharedPreferences文件等。
- /system: 该文件夹存放一些系统级别的数据文件,如系统配置文件、系统数据库文件等。
- /block: 该文件夹存放块设备文件,如硬盘、U盘等。
- /input: 该文件夹存放输入设备文件,如键盘、鼠标等。
- /graphics: 该文件夹存放图形设备文件,如显示器等。
- /net: 该文件夹存放网络设备文件,如网卡等。
4. /proc- 各个进程的文件夹: 在/proc文件夹下,以进程ID命名的文件夹中存放有关该进程的信息,如进程的状态、资源占用情况等。
5. /sys- 各个设备的文件夹: 在/sys文件夹下,存放了系统的各个设备的相关信息,如CPU、内存、磁盘等设备。
6. /mnt- /sdcard: 该文件夹是外部存储的挂载点,通常被映射为手机的SD 卡。
- /usb: 该文件夹是USB存储的挂载点,用于连接USB存储设备。
7. /root- 该文件夹是Android系统的根目录。
安卓系统文件夹结构及其文件解析
安卓系统文件夹结构及其文件解析安卓系统的文件夹结构是由多个文件夹和文件组成,每个文件夹和文件都有特定的功能和用途。
下面将详细介绍安卓系统文件夹结构及其文件解析。
1.根目录(/)根目录是整个文件系统的起点,它包含了一些重要的目录和文件,例如:- system:系统文件夹,包含了系统的核心文件和程序。
- data:数据文件夹,包含了应用程序的数据和设置。
- dev:设备文件夹,包含了设备的文件和设备节点。
- proc:进程文件夹,包含了正在运行的进程的信息。
- etc:配置文件夹,包含了系统的配置文件。
- mnt:挂载文件夹,包含了已挂载的存储设备。
- sys:系统文件夹,包含了系统的配置和状态信息。
- vendor:供应商文件夹,包含了设备供应商提供的一些文件。
2. system文件夹system文件夹是安卓系统的核心,包含了系统的核心文件和程序。
其中一些重要的子文件夹和文件包括:- app:应用程序文件夹,包含了系统预装的应用程序。
- etc:配置文件夹,包含了系统的配置文件。
- lib:共享库文件夹,包含了系统的共享库文件。
- media:多媒体文件夹,包含了系统的多媒体文件。
- framework:框架文件夹,包含了系统的框架文件。
- priv-app:特权应用程序文件夹,包含了一些特权应用程序。
3. data文件夹data文件夹包含了应用程序的数据和设置。
其中一些重要的子文件夹和文件包括:- app:应用程序文件夹,包含了已安装的应用程序。
- data:数据文件夹,包含了应用程序的数据。
- system:系统数据文件夹,包含了一些系统的数据文件。
- dalvik-cache:Dalvik虚拟机缓存文件夹,包含了应用程序的二进制代码缓存。
- shared_prefs:共享首选项文件夹,包含了应用程序的共享首选项。
4. dev文件夹dev文件夹包含了设备的文件和设备节点。
其中一些重要的文件和文件夹包括:- null:空设备文件,用于丢弃输出。
安卓各种资源介绍及使用方法及工程各文件夹的介绍
安卓各种资源介绍及使⽤⽅法及⼯程各⽂件夹的介绍新建⼀个项⽬⼯程后主要有四个⽂件夹或⽂件.⼀.src⽂件夹(源代码⽬录)。
这个⽂件夹主要是放我们所建⽴的包下的各个应⽤程序的源⽂件,开发android⼤部分程序基本上与这个⽂件夹下和res⽬录下的xml打交道gen⽂件夹(⾃动⽣成⽬录)。
这个⽬录下最关键的⽂件就是R.java。
这个⽂件每个⼈都不应当⼿动的修改。
当我们在xml描述⽂件图像,字符串,界⾯组件,标⽰符id,就会同步更新到R.java。
当然当我们想调⽤某个字符串或图像直接写R.String 字符串名字即可。
res⽂件夹(资源⽂件夹)。
这个⽂件夹下有五个⽂件夹。
前三个是主要是放资源的⽂件夹。
例如图像,图标,声⾳都可以放在这三个⽂件夹下。
values 参数值⽬录,这个⽬录包含XML参数⽂件的描述,可以在此添加⼀些字符串,颜⾊,风格等等。
Layout页⾯布局⽬录,⽤来描述页⾯的编排与界⾯组件。
在values ⽂件夹名字如果改为values-en 表⽰安卓操作系统使⽤英语就会从这个⽂件加下读取字符串⽂件values-zh-rCN 表⽰简体中⽂values-zh-rTW表⽰繁体values-en-rUS 美式英语values-en-rUK英式英语values-en-ja ⽇⽂如果没有指定的话安卓操作系统就默认的使⽤values 这个⽂件夹下的字符串⽂件⼆.AndroidManifest.xml⽂件android功能列表⽂件。
这个功能列表就像⼀台计算机的注册表⽂件差不多。
但我们编写⼀个应⽤程序,所需要的类库,运⾏时的类,activity 服务等都会在此注册,列出来⽂件描述/*表⽰该⽂件是个描述性⽂件*/xmlns:android="/doc/c71c0219b7360b4c2e3f64f5.html /apk/res/android"//LinearLayout表⽰界⾯组件⼀个⼀个⾃上⽽下的排下来,是⼀个线性布局//xmlns:android="/doc/c71c0219b7360b4c2e3f64f5.html /apk/res/android"这是个页⾯标签描述空间,这个⼀般不会编android:layout_width="fill_parent"//android表⽰组件前缀,设置其组件宽度"fill_parent"表⽰填满上层组件android:layout_height="fill_parent"android:orientation="vertical">//orientation 页⾯⾛向属性,"vertical" 垂直,表⽰⾃上⽽下垂直的排列其包含的界⾯组件//其他的布局⽅式有 FrameLayout(框架页⾯布局)TableLayout(表格页⾯布局)AbsoluteLayout(绝对位置页⾯布局)RelativeLayout(相对位置页⾯布局)android:layout_width="fill_parent"android:layout_height="wrap_content"//随着⽂字的长度,⾏数,更改组件的⾼度android:text="@string/hello"/>// android:text="@string/hello 给textView组件赋⼀个值Mainfest ⽂件安桌的列表编辑器相当于系统的注册表package="com.demo.android.bmi"//应⽤程序的包名android:versionCode="1"//开发者内部的版本号android:versionName="1.0">//发给⽤户的版本号//应⽤程序的最低⽀持的sdkandroid:icon="@drawable/ic_launcher"//索引的图标在系统的位置android:label="@string/app_name">//应⽤程序的名字就是在安装到⼿机上的名字android:label="@string/app_name"//这个是⼀个activity 的名字android:name=".BMIActivity">//默认启动的Activity//相当于main程序//这个是表⽰放到⼿机应⽤程序的列表⾥⼀、安卓⽀持的资源种类1.字符串资源2.数组3.颜⾊4.尺⼨5.类型6.主题7.绘画8.动画9.菜单10.布局11.属性12.XML13.RAW14.ASSETS⼆、各资源所在的⽂件夹1.values⽂件夹放⼊的资源字符串颜⾊尺⼨类型主题数组属性对以字符串颜⾊尺⼨以key-values保存其他的⼀其他形式保存名字⾃⼰任意取以.xml结尾即可/doc/c71c0219b7360b4c2e3f64f5.html yout ⽂件夹保存的是布局⽂件⼀个布局⽂件是⼀个View 或者ViewGroup的布局⽂件名任意取以.xml结尾3.menu ⽂件夹保存⼀个菜单资源⼀个⽂件表⽰⼀个菜单包括⼦菜单名字任意取以.xml结尾4.anim⽂件夹保存的是动画资源可以定义动画帧(frame)也可以补间动画(tween)名字任意取以.xml结尾5.xml⽂件夹保存任意类型的xml⽂件资源在运⾏时可以被读取6.drawable ⽂件夹保存的是图像资源保存的格式常⽤的有 bmp png gif jpg ⽂件名必须是英⽂或数字组成如果要以字节流输出图像要把图像资源放到raw⽂件夹下7.raw⽂件夹可以保存任何类型的⽂件但是不会被编译但是会被封装到apk⾥8.assets ⽂件夹可以存放任何⽂件也不会被编译但是⾥⾯的⽂件不会⽣成资源⽂件的id也就是说在R ⽂件⾥不能使⽤R.什么什么的形式但是会封装到apk⾥三、各种资源的定义形式1.字符串资源字符串的值值得注意的是如果字符串的值有单引号或者双引号则需要转换单引号则在外⾯包上⼀层双引号如“abc’def”则值是abc’def如果是双引号则需要转义这个和java⼀样\”abcd\”则输出“abcd”字符串资源的值还可以⽀持占位符形式如下今天是%1$s,当前温度是:%2$d这个意思的含义是%1 %2 表⽰参数的索引位置后⾯$的后⾯s表⽰的是字符串可以代替那个位置 d表⽰是数字可以代替那个位置例如如果上⾯的那个字符串的name是 stringname⼀个textview.setText(getString(R.string.stringname,“星期⼀”,20))则会输出今天是星期⼀当前温度是202.数组资源<数组类型-array name=”数组的名字”>数组元素的值数组元素的值………….3.颜⾊资源#颜⾊值注意颜⾊值的表⽰形式有四种表⽰法1.RGB形式如#000表⽰⿊⾊2.ARGB形式 A表⽰透明度A=0完全透明如#0000表⽰透明⿊⾊3.RRGGBB 第⼀种的扩展4.AARRGGBB 第⼆种的扩展最后要指出的是颜⾊值必须以#开头后⾯跟着16进制的数4.尺⼨资源尺⼨的⼤⼩值得注意的是尺⼨的⼤⼩的单位有如下形式1.px 表⽰屏幕的实际像素2.in 表⽰屏幕的实际物理英⼨⼀英⼨等于2.54厘⽶3.mm 表⽰毫⽶屏幕的实际物理尺⼨4.pt 表⽰⼀个点屏幕的物理尺⼨⼤⼩是1/72 英⼨5.dp 表⽰⼀个与密度⽆关的像素⽐较复杂他的单位不仅仅与实际屏幕⼤⼩有关还与分辨率有关这个单位最为常⽤安卓官⽅建议的6.sp 表⽰与⽐例⽆关的像素与dp类似但是除了适应屏幕密度外还适合⽤户的字体安卓官⽅建议在设置textSize的时候使⽤该单位5.类型资源(众多组件的属性要⽤同⼀个值)值得注意的有上⾯设置属性的值指得是安卓内部设置组件的属性⽐如说android:gravity android:textSize等等属性。
安卓系统文件夹结构及其文件解析(详细)
1:c:/System/cache 文件夹是缓存目录,建议大家定时清空。
2:所有temp文件夹是临时目录建议清空。
3:依次打开C:/system/dmgr,里面有两个文件夹了,各有一个contents的文件夹,进去之后发现里面的文件是不是似曾相识?嘿嘿,这就是平时上网下载的一些视频啦音乐还有一些文本文件,可以安全删除,不放心的话,这里的文件可以直接打开。
4:c盘data目录下的installs是软件的安装目录,可以清空。
5、打开C盘--打开system--删除system.ini文件,重新启动手机,还能恢复这个文件,但是,文件已经没那么大了,再看接收短信彩信,速度已经快多了,机器运行也顺多了。
定期删除以下的文件:c:\cache 缓存目录c:\space\cache 手机照相缩图c:\system\data\music.db 音乐临时文件c:\system\data\cbs\cbtopicsmsgs.dat 若存在定时删除c:\system\temp 临时文件夹c:\system\install 已安装sis纪录文件c:\system\install\install.log 安装软件的日志文件c:\system\apps\applnst\appinst.ini 纪录安装软件的讯息c:\system\apps\photoalbum\photoalbum.ini 图片浏览初始化文件c:\system\mail 讯息储存文件夹c:\data\install 一般应没有档案,若有则删除c:\system\system.ini 纪录系统错误讯息e:\private\10202dce 已安装软体之备份档e:\resource\skins\03d960c95acb3ca6 安装后与已删主题之残留文件智能手机C盘清理技巧---提高运行速度的六种方法定时清理C盘垃圾,是改善手机运行速度的通用方法,下面的几种都是在N95上适用的清理方法:1)文件传送法:首先,把信息的存储指定到机器存储,然后看自己机器内存有多大。
Android中主要资源文件及文件夹介绍
Android中主要资源⽂件及⽂件夹介绍在Android项⽬⽂件夹⾥⾯,主要的资源⽂件是放在res⽂件夹⾥⾯的1:assets⽂件夹是存放不进⾏编译加⼯的原⽣⽂件,即该⽂件夹⾥⾯的⽂件不会像xml,java⽂件被预编译,可以存放⼀些图⽚,html,js, css等⽂件。
2:res⽂件夹⾥⾯的多个⽂件夹的各⾃介绍res/anim/ XML⽂件,它们被编译进逐帧动画(frame by frame animation)或补间动画(tweened animation)对象 res/drawable/ .png、.9.png、.jpg⽂件,它们被编译进以下的Drawable资源⼦类型中, 要获得这种类型的⼀个资源,可以使⽤Resource.getDrawable(id) ;为了获取资源类型,使⽤mContext.getResources().getDrawable(R.drawable.imageId) 注意:放在这⾥的图像资源可能会被aapt⼯具⾃动地进⾏⽆损压缩优化。
⽐如,⼀个真彩⾊但并不需要256⾊的PNG可能会被转换为⼀个带调⾊板的8位PNG。
这使得同等质量的图⽚占⽤更少的资源。
所以我们得意识到这些放在该⽬录下的⼆进制图像在⽣成时可能会发⽣变化。
如果你想读取⼀个图像位流并转换成⼀个位图(bitmap),请把图像⽂件放在res/raw/⽬录下,这样可以避免被⾃动优化。
res/layout/ 被编译为屏幕布局(或屏幕的⼀部分)的XML⽂件res/values/ 可以被编译成很多种类型的资源的XML⽂件。
注意: 不像其他的res/⽂件夹,它可以保存任意数量的⽂件,这些⽂件保存了要创建资源的描述,⽽不是资源本⾝。
XML元素类型控制这些资源应该放在R类的什么地⽅。
尽管这个⽂件夹⾥的⽂件可以任意命名,不过下⾯使⼀些⽐较典型的⽂件(⽂件命名的惯例是将元素类型包含在该名称之中):array.xml 定义数组colors.xml 定义color drawable和颜⾊的字符串值(color string values)使⽤Resource.getDrawable()和Resources.getColor()分别获得这些资源。
安卓系统文件夹结构及其文件解析
安卓系统文件夹结构及其文件解析Android系统的文件夹结构是由一系列目录和文件组成的,用于存储系统文件、应用程序、用户数据等。
以下是Android系统文件夹结构的详细解析。
1. /system:该目录包含了系统级别的文件和应用程序。
主要包含以下几个子目录和文件:- /bin:存放一些系统的可执行文件。
- /etc:存放一些系统的配置文件。
- /lib:存放系统级别的库文件。
- /vendor:存放供应商定制的文件和应用程序。
2. /data:该目录存放应用程序的数据、用户数据等。
主要包含以下几个子目录和文件:- /data/app:存放应用程序的安装包及其相关数据。
- /data/data:存放应用程序的数据。
- /data/system:存放系统级别的数据,如配置文件、登录信息等。
- /data/user:存放用户的数据,如文档、照片等。
3. /cache:该目录存放系统的缓存文件。
主要包含以下几个子目录和文件:- /cache/app:存放应用程序的缓存数据。
- /cache/dalvik-cache:存放Dalvik虚拟机的缓存文件。
- /cache/recovery:存放系统恢复相关的缓存文件。
4. /root:该目录是系统的根目录,包含一些系统级别的文件和目录。
5. /mnt:该目录是挂载点目录,用于挂载外部存储设备和其他文件系统。
6. /proc:该目录是一个虚拟文件系统,用于存放系统和进程相关的信息。
除了以上主要的文件夹,还有一些重要的文件可以解析如下:7. /init.rc:该文件是系统的启动脚本,用于初始化系统的各个组件和服务。
8. /build.prop:该文件包含了系统的一些基本属性和配置,如设备型号、版本号等。
9. /system/framework:该目录存放Android系统的核心框架文件。
10. /system/app:该目录存放系统自带的应用程序。
11. /system/lib:该目录存放系统级别的共享库文件。
Android工程各文件夹结构的含义及全代码使用与全解
Android工程各文件夹结构的含义及全代码使用与全解对Android这些东西一开始听迷惑的,不知道什么东西该放在上面地方,把网上的资源整合一下,放在这里。
1.总述我们建立一个android工程,其结构如下:1.1、src文件夹顾名思义(src, source code)该文件夹是放项目的源代码的。
A. android.app.Activity类:Activity类关注创建窗口与交互,它使用方法setContentView(View)将自己的UI放到里面。
重要的方法:onCreate(Bundle):初始化活动(Activity)。
(1)通过调用setContentView(int)方法加载布局资源(layoutresource)从而实现对UI的定义;(2)另一方面,可以用findViewById(int)在UI中检索到需要编程交互的小部件(widgets)。
主要的思想:setContentView指定由哪个文件指定布局(main.xml),可以将这个界面显示出来,然后我们进行相关操作,我们的操作会被包装成为一个意图(Intent),然后这个意图对应有相关的activity进行处理。
B. android.os.Bundle类:从字符串值映射各种可打包的(Parcelable)类型(Bundle单词就是捆绑的意思,所有这个类很好理解和记忆)。
如该类提供了公有方法——public boolean containKey(String key),如果给定的key包含在Bundle的映射中返回true,否则返回false。
该类实现了Parceable和Cloneable接口,所以它具有这两者的特性。
1.2、gen文件夹该文件夹下面有个R.java文件,R.java是在建立项目时自动生成的,这个文件是只读模式的,不能更改。
R.java文件中定义了一个类——R,R类中包含很多静态类,且静态类的名字都与res中的一个名字对应,即R类定义该项目所有资源的索引。
android工程目录结构超详细介绍
android⼯程⽬录结构超详细介绍It ⼀号男记录是⼀种习惯,更是⼀种进步的过程⽬录视图摘要视图订阅云计算⼤会抢票倒计时⾼校俱乐部“我是Coding之星” CSDN博客今⽇清理缓存android⼯程⽬录结构超详细介绍分类: android 2012-04-27 23:30 1860⼈阅读评论(0) 收藏举报android项⽬构建xmlanteclipse项⽬管理Android Projectssrc/存放源代码的地⽅.bin/编译后的输出⽬录。
这⾥你可以找到.apk⽂件和其他编译后的资源.gen/包含R.java⽂件,这个⽂件是由ADT⾃动⽣成的,请不要随意修改它assets/你能在这⾥放⼊原始的asset ⽂件。
例如⼀些⽂档,这⾥的⽂件会保留原来的⽂件名被编译到.apk⽂件中,并且你还能使⽤⽂件系统的URL机制来读取⽂件,例如使⽤AssetManager类来读取⼀个字节流。
res/包含应⽤程序的资源,如drawable⽂件, layout⽂件, string值.anim/这⾥可以放⼊动画XML⽂件color/这⾥可以放⼊颜⾊XML⽂件drawable/这⾥可以放⼊位图(PNG,JPEG,GIF)还有9-Patch图⽚⽂件,并且也能放置XML⽂件⽤来描述Drawable形状和Drawable对象的多种状态切换layout/这⾥可以放⼊布局XML⽂件menu/这⾥可以放⼊定义菜单的XML⽂件raw/这⾥和assets/差不多都是放⼊原始的asset⽂件。
但访问的⽅式与assets/不同。
这⾥必须⽤R⽂件来引⽤,例如如果需要在这⾥放⼊⼀个bg.ogg⾳频⽂件,那么请这样调⽤R.id.bg 。
⼀般来说这⾥都是放多媒体⽂件values/这⾥可以放⼊许多种类的XML⽂件。
不同于其他res/⽬录下的资源。
这个⽂件夹下的XML⽂件不能由⽂件名直接引⽤。
但XML⽂件中的节点可以控制R⽂件定义的名字。
xml/⼀些⽤来配置App组件的其他XML⽂件。
Android项目中文件夹作用(res文件夹详细介绍)
Android项⽬中⽂件夹作⽤(res⽂件夹详细介绍)1. src:存放所有的*.源程序。
2. gen:为ADT插件⾃动⽣成的代码⽂件保存路径,⾥⾯的R.java将保存所有的资源ID。
3. assets:可以存放项⽬⼀些较⼤的资源⽂件,例如:图⽚、⾳乐、字体等。
4. res:可以存放项⽬中所有的资源⽂件,例如:图⽚(*.png、*.jpg)、⽂本等。
5. res/drawable-hdpi:保存⾼分辨率图⽚资源,可以使⽤Resources.getDrawable(id)可以获得资源类型。
6. res/drawable-ldpi:保存低分辩率图⽚资源,可以使⽤Resources.getDrawable(id)可以获得资源类型。
7.res/drawable-mdpi:保存中等分辨率图⽚资源,可以使⽤Resources.getDrawable(id)可以获得资源类型。
8.res/layout:存放所有的布局⽂件,主要是⽤于排列不同的显⽰组件,在程序中要读取此配置。
9.res/values:存放⼀些资源⽂件的信息,⽤于读取⽂本资源,在本⽂件夹之中有⼀些约定的⽂件名称:· arrays.xml:定义数组数据;(在个这个xml命名的时候可以随便起名,因为最后⽤的时候只是⽤到写在这个xml⽂件中的array的名字)⽐如在arrays.xml⾥:[html]1. <string-array name="reboot_item">2. <item>Reboot</item>3. <item>Recovery</item>4. <item>BootLoader</item>5. </string-array>6.7. 在代码⾥获取:8. String item0 =this.getResources().getStringArray(R.array.reboot_item)[0];9. String item1 = this.getResources().getStringArray(R.array.reboot_item)[1];10. CharSequence[] items = this.getResources().getStringArray(R.array.reboot_item);· dimens.xml:定义尺度,可以使⽤Resources.getDimension()获得这些资源;有时候我们为了维护⼀个⼯程,或者想定义⼀个button样式,或textView样式,这些样式中包含着⽂字的⼤⼩,背景图⽚,前置图⽚等⼀些资源。
安卓系统文件夹结构及其文件解析(详细)
安卓系统文件夹及其文件解析打开Android文件治理器,会发觉里面数十个英文名称命名的文件夹罗列其中,很多功能咱们能够从其名字上略有所知,内部大量量的文件却让咱们有些一头雾水。
这些文件是什么?有什么用?咱们能不能删?这些都是咱们脑中充满疑问的。
此刻将将Android电话内部文件夹的架构和各文件的功能描述介绍给大伙儿,让大伙儿自己电话的内部资源有个比较透彻的明白得,同时也幸免了用户误删造成的数据丢失和系统崩溃。
【文件夹功能简介】\system\app那个里面要紧寄存的是常规下载的应用程序,能够看到都是以APK格式结尾的文件。
在那个文件夹下的程序为系统默许的组件,自己安装的软件将可不能出此刻那个地址,而是\data\文件夹中。
\system\bin那个目录下的文件都是系统的本地程序,从bin文件夹名称能够看出是binary二进制的程序,里面主若是Linux 系统自带的组件(命令)\system\etc从文件夹名称来看保留的都是系统的配置文件,比如APN接入点设置等核心配置。
\system\fonts字体文件夹,除标准字体和粗体、斜体外能够看到文件体积最大的可能是中文字库,或一些unicode字库,从T-Mobile G1上能够清楚的看到显示简体中文正常,其中文件大小。
\system\frameworkframework主若是一些核心的文件,从后缀名为jar能够看出是是系统平台框架。
\system\liblib目录中寄存的主若是系统底层库,一些so文件,如平台运行时库。
\system\media\system\media\audio铃声音乐文件夹,除常规的铃声外还有一些系统提示事件音。
默许的音乐测试文件,仅有一个文件,用于播放测试的文件。
\system\usr用户文件夹,包括共享、键盘布局、时刻区域文件等。
\system\app那个里面要紧寄存的是常规下载的应用程序,能够看到都是以APK格式结尾的文件。
Android工程目录结构
Android⼯程⽬录结构1.src/main/java ⽂件夹 该⽂件夹是做项⽬源代码的。
java⽬录是放置我们所有java代码的地⽅,展开该⽬录,你将会看到有⼀个MainActivity⽂件。
打开该⽂件,会看到如下代码:package com.sdbi.helloworld; //通过packback语句定位该类似于com.sdbi.helloworld包内import android.support.v7.app.AppcompatActivity;import android.os.Bundle; //通过import语句导⼊了两个类。
public class MAinActivity extends AppCompatActivity {@Override //在重写⽗类的onCreate时,在⽅法前⾯加上@Override系统可以帮你检查⽅法的正确性。
protected void onCreate(Bundle savedInstanceState) { //重写了onCreate⽅法super.onCreate(savedInstanceState); //调⽤了⽗类的onCreate()⽅法,⽤来获取Activity的状态setContentView(yout.activity_main); //设定Activity所要显⽰的布局⽂件,它是通过对R类的引⽤来实现的。
位于res/layout.activity_main.xml⽂件}}2、res ⽂件夹资源⽬录,在项⽬中使⽤到的所有图⽚、布局、字符串等资源都在该⽬录下,其中图⽚放在 drawable ⽬录下,布局⽂件放在 layout ⽬录下,字符串放在 values ⽬录下。
drawable:⽤来存放.png/.jpg 等位图⽂件。
layout:⽬录下是程序的布局⽂件,是.xml 形式的布局⽂件。
在 android 应⽤该程序中可以使⽤ xml布局⽂件来描述应⽤程序的布局,同样我们可以在程序中直接通过 Java 来创建⽤户界⾯。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Android工程各文件夹结构的含义及全代码使用与全解对Android这些东西一开始听迷惑的,不知道什么东西该放在上面地方,把网上的资源整合一下,放在这里。
1.总述我们建立一个android工程,其结构如下:1.1、src文件夹顾名思义(src, source code)该文件夹是放项目的源代码的。
A. android.app.Activity类:Activity类关注创建窗口与交互,它使用方法setContentView(View)将自己的UI放到里面。
重要的方法:onCreate(Bundle):初始化活动(Activity)。
(1)通过调用setContentView(int)方法加载布局资源(layoutresource)从而实现对UI的定义;(2)另一方面,可以用findViewById(int)在UI中检索到需要编程交互的小部件(widgets)。
主要的思想:setContentView指定由哪个文件指定布局(main.xml),可以将这个界面显示出来,然后我们进行相关操作,我们的操作会被包装成为一个意图(Intent),然后这个意图对应有相关的activity进行处理。
B. android.os.Bundle类:从字符串值映射各种可打包的(Parcelable)类型(Bundle单词就是捆绑的意思,所有这个类很好理解和记忆)。
如该类提供了公有方法——public boolean containKey(String key),如果给定的key包含在Bundle的映射中返回true,否则返回false。
该类实现了Parceable和Cloneable接口,所以它具有这两者的特性。
1.2、gen文件夹该文件夹下面有个R.java文件,R.java是在建立项目时自动生成的,这个文件是只读模式的,不能更改。
R.java文件中定义了一个类——R,R类中包含很多静态类,且静态类的名字都与res中的一个名字对应,即R类定义该项目所有资源的索引。
看我们的HelloWorld项目是不是如此,如下图:图2、R.java对应res优点:(1)通过R.java我们可以很快地查找我们需要的资源,(2)另外编绎器也会检查R.java列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。
1.3、Android2.2文件夹该文件夹下包含android.jar文件,这是一个Java 归档文件,其中包含构建应用程序所需的所有的Android SDK 库(如Views、Controls)和APIs。
通过android.jar将自己的应用程序绑定到Android SDK和Android Emulator,这允许你使用所有Android的库和包,且使你的应用程序在适当的环境中调试。
例如,源文件中的:import android.app.Activity;import android.os.Bundle;这里两行代码就是从android.jar导入包。
1.4 assets文件夹与res文件夹(1)assets文件夹资源的访问assets文件夹里面的文件都是保持原始的文件格式,需要用AssetManager以字节流的形式读取文件。
1. 先在Activity里面调用getAssets()来获取AssetManager引用。
2. 再用AssetManager的open(String fileName, int accessMode)方法则指定读取的文件以及访问模式就能得到输入流InputStream。
3. 然后就是用已经open file 的inputStream读取文件,读取完成后记得inputStream.close()。
4.调用AssetManager.close()关闭AssetManager。
需要注意的是,来自Resources和Assets 中的文件只可以读取而不能进行写的操作以下为从Raw文件中读取:代码public String getFromRaw(){try {InputStreamReader inputReader = new InputStreamReader( getResources().openRawResource(R.raw.test1));BufferedReader bufReader = newBufferedReader(inputReader);String line="";String Result="";while((line = bufReader.readLine()) != null)Result += line;return Result;} catch (Exception e) {e.printStackTrace();}}以下为直接从assets读取代码public String getFromAssets(String fileName){try {InputStreamReader inputReader = new InputStreamReader( getResources().getAssets().open(fileName) );BufferedReader bufReader = newBufferedReader(inputReader);String line="";String Result="";while((line = bufReader.readLine()) != null)Result += line;return Result;} catch (Exception e) {e.printStackTrace();}}当然如果你要得到内存流的话也可以直接返回内存流!(2)res文件夹里面主要是放资源文件。
2.R文件补充R.java是自动生成的,我们平常引用的资源主要引用这个类的变量。
注意:R类是自动生成的,并且它不能被手动修改。
当资源发生变动时,它会自动修改。
3. 在代码中使用资源下面是一个引用资源的语法:R.resource_type.resource_name 或者 android.R.resource_type.resource_name其中resource_type是R的子类,保存资源的一个特定类型。
resource_name是在XML文件定义的资源的name属性,或者有其他文件类型为资源定义的文件名(不包含扩展名,这指的是drawable文件夹里面的icon.png类似的文件,name=icon)。
Android包含了很多标准资源,如屏幕样式和按钮背景。
要在代码中引用这些资源,你必须使用android进行限定,如android.R.drawable.button_background。
下面是官方给出的一些在代码中使用已编译资源的正确和错误用法的例子:1.// Load a background for the current screen from a drawable resource.2.this.getWindow().setBackgroundDrawableResource(R.drawable.my_background_image);3.4.// WRONG Sending a string resource reference into a5.// method that expects a string.6.this.getWindow().setTitle(R.string.main_title);7.8.// RIGHT Need to get the title from the Resources wrapper.9.this.getWindow().setTitle(Resources.getText(R.string.main_title));10.11.// Load a custom layout for the current screen.12.setContentView(yout.main_screen);13.14.// Set a slide in animation for a ViewFlipper object.15.mFlipper.setInAnimation(AnimationUtils.loadAnimation(this,16. R.anim.hyperspace_in));17.18.// Set the text on a TextView object.19.TextView msgTextView = (TextView)findViewByID(R.id.msg);20.msgTextView.setText(R.string.hello_message);查了SDK Doc,才明白为什么window.setTitle要先Resources.getText,原来setTitle的参数是 CharSequence,Resources.getText(int)返回的是CharSequence;而其他setText的参数有的是 CharSequence,有的是int(这就是Resources变量值)。
同时官方还给了两个使用系统资源的例子:1.//在屏幕上显示标准应用程序的图标2.public class MyActivity extends Activity {3. public void onStart() {4. requestScreenFeatures(FEATURE_BADGE_IMAGE);5. super.onStart();6. setBadgeResource(android.R.drawable.sym_def_app_icon);7. }8.}9.10.//应用系统定义的标准"绿色背景"视觉处理11.public class MyActivity extends Activity12. public void onStart() {13. super.onStart();14. setTheme(android.R.style.Theme_Black);15. }16.}4. xml文件内引用资源1) 引用自定义的资源android:text="@string/hello"这里使用"@"前缀引入对一个资源的引用--在@[package:]type/name形式中后面的文本是资源的名称。
在这种情况下,我们不需要指定包名,因为我们引用的是我们自己包中的资源。