当前位置:首页 » 文件管理 » 安卓文件夹结构

安卓文件夹结构

发布时间: 2023-09-22 13:31:14

⑴ android应用工程文件结构有哪些

在Eclipse中,一个基本的Android项目的目录结构如图所示。



1. src目录--程序文件


在里面保存了程序员辛辛苦苦直接编写的程序文件。和一般的java项目一样,src目录下保存的是项目的所有包及源文件(.java),res目录下包含了项目中的所有资源。例如,程序图标(drawable)、布局文件(layout)和常量(values)等。不同的是,在Java项目中没有gen目录,也没有每个Android项目都必须有的AndroidManifest.xml文件。


.java格式的文件是在建立项目时自动生成的,这个文件是只读模式,不能更改。R.java文件是定义该项目所有资源的索引文件。

2. AndroidManifest.xml文件--设置文件


AndroidManifest.xml是一个控制文件,在里面包含了该项目中所使用的Activity、Service、Receiver

⑵ 与Android应用程序相关的文件目录都有哪些

在搭建Android开发环境及简单地建立一个HelloWorld项目后,本篇将通过HelloWorld项目来介绍Android项目的目录结构。本文的主要主题如下:
1、HelloWorld项目的目录结构
1.1、src文件夹
1.2、gen文件夹
1.3、Android 2.1文件夹
1.4、assets
1.5、res文件夹
1.6、AndroidManifest.xml
1.7、default.properties

图1、HelloWorld项目目录结构
下面将分节介绍上面的各级目录结构。
1.1、src文件夹
顾名思义(src, source code)该文件夹是放项目的源代码的。打开HelloWorld.java文件会看到如下代码:
package helloworld.test; import android.app.Activity; import android.os.Bundle; public class HelloWorld extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } }

可以知道:我们新建一个简单的HelloWorld项目,系统为我们生成了一个HelloWorld.java文 件。他导入了两个类android.app.Activity和android.os.Bundle,HelloWorld类继承自Activity且重 写了onCreate方法。
以下说明针对没有学过Java或者Java基础薄弱的人

@Override

在重写父类的onCreate时,在方法前面加上@Override 系统可以帮你检查方法的正确性。
例如,public void onCreate(Bundle savedInstanceState){…….}这种写法是正确的,
如果你写成public void oncreate(Bundle savedInstanceState){…….}这样编译器回报如下错误——
The method oncreate(Bundle) of type HelloWorld must override or implement a supertype method,
以确保你正确重写onCreate方法。(因为oncreate应该为onCreate)

而如果你不加@Override,则编译器将不会检测出错误,而是会认为你新定义了一个方法oncreate。

android.app.Activity类:因为几乎所有的活动 (activities)都是与用户交互的,所以Activity类关注创建窗口,你可以用方法setContentView(View)将自己的UI放 到里面。然而活动通常以全屏的方式展示给用户,也可以以浮动窗口或嵌入在另外一个活动中。有两个方法是几乎所有的Activity子类都实现的:
onCreate(Bundle): 初始化你的活动(Activity),比如完成一些图形的绘制。最重要的是,在这个方法里你通常将用布局资源(layout resource)调用setContentView(int)方法定义你的UI,和用findViewById(int)在你的UI中检索你需要编程地 交互的小部件(widgets)。setContentView指定由哪个文件指定布局(main.xml),可以将这个界面显示出来,然后我们进行相关 操作,我们的操作会被包装成为一个意图,然后这个意图对应有相关的activity进行处理。
onPause():处理当离开你的活动时要做的事情。最重要的是,用户做的所有改变应该在这里提交(通常ContentProvider保存数据)。
更多的关于Activity类的详细信息此系列以后的文章将做介绍,如果你想了解更多请参阅相关文档。
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
通过R.java我们可以很快地查找我们需要的资源,另外编绎器也会检查R.java列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。
1.3、Android 2.1文件夹
该 文件夹下包含android.jar文件,这是一个Java 归档文件,其中包含构建应用程序所需的所有的Android SDK 库(如Views、Controls)和APIs。通过android.jar将自己的应用程序绑定到Android SDK和Android Emulator,这允许你使用所有Android的库和包,且使你的应用程序在适当的环境中调试。例如上面的HelloWorld.java源文件中 的:
import android.app.Activity; import android.os.Bundle;

这里两行代码就是从android.jar导入包。
1.4、assets
包含应用系统需要使用到的诸如mp3、视频类的文件。
1.5、res文件夹
资源目录,包含你项目中的资源文件并将编译进应用程序。向此目录添加资源时,会被R.java自动记录。新建一个项目,res目录下会有三个子目录:drawabel、layout、values。
drawabel-?dpi:包含一些你的应用程序可以用的图标文件(*.png、*.jpg)
layout:界面布局文件(main.xml)与WEB应用中的HTML类同,没修改过的main.xml文件如下(HelloWorld的就没有修改过):
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> </LinearLayout>

values:软件上所需要显示的各种文字。可以存放多个*.xml文件,还可以存放不同类型的数据。比如arrays.xml、colors.xml、dimens.xml、styles.xml
1.6、AndroidManifest.xml
项目的总配置文件,记录应用中所使用的各种组件。这个文件列出了应用程序所提供的功能,在这个文件中,你可以指定应用程序使用到的服务(如电话服务、互联网 服务、短信服务、GPS服务等等)。另外当你新添加一个Activity的时候,也需要在这个文件中进行相应配置,只有配置好后,才能调用此 Activity。AndroidManifest.xml将包含如下设置:application permissions、Activities、intent filters等。
HelloWorld项目的AndroidManifest.xml如下所示:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="helloworld.test" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".HelloWorld" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>

关于AndroidManifest.xml现在就讲这么多,此系列后面的文章将单独详细介绍。
1.7、 default.properties
记录项目中所需要的环境信息,比如Android的版本等。
HelloWorld的default.properties文件代码如下所示,代码中的注释已经把default.properties解释得很清楚了:
# This file is automatically generated by Android Tools.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must be checked in Version Control Systems.
#
# To customize properties used by the Ant build system use,
# "build.properties", and override values to adapt the script to your
# project structure.

# Indicates whether an apk should be generated for each density.
split.density=false
# Project target.
target=android-7

安卓手机根目录下的各个文件夹有什么作用

作用:

1.res:资源文件。

2.drawable:布局文件。

3.layout:布局文件。

4.anim:动画效果文件。

5.values:取值、字符串等。

6.src:代码,至于src内部的目录名称,取决于具体项目结构。

7.libs:库文件。

⑷ 安卓SD卡文件夹分别是什么意思 文件夹功能介绍

2、Android:存放重要的程序数据,比如google:map的地图缓存,误删掉后地图还需重新下载。 3、backups:包含重要的备份文件,比如联系人导出到SD卡会导入到此文件夹。 4、bugtogo:系统出现问题的时候会形成一些报告文件,存放在此文件夹。 5、data:缓存数据文件夹,与Android类似。例如,“截图助手”截图保存在data\com.edwardkim.android.screenshotitfull\screenshots里。 6、LOST.DIR:卡上丢失或出错的文件会移动到这里,此目录删了会自动生成。 7、SystemAppBackup:SystemAppremove(深度卸载)备份系统文件后,备份文件保存的目录。 8、bugreports:升级系统或刷机,系统和程序发生兼容错误报告列表(包括内存使用全部内容)将保存在这个文件,重起机器可以删除。 9、.keepsafe:隐藏类的软件、加密保存文件地址存放于此。 10、.thumbs:浏览或使用某一软件,以及使用某一文件夹后用于记录次数和内容的文件,随机产生,需要定期不断清除,长时间不清理会大量占用储存卡的有效空间。 11、openfeint:打开联接网络后的一个启动程序,它广泛植入移动类平台发布的软件或游戏,是更新下载或评论反馈信息的记录地址,可删除。 12、com:播放类软件在收看播放影视节目生成的文件将存放于此,可以对制作方反映回馈信息,可以删除。 13、Download(download):大写字母的是网络联接下载文件目录,小写字母的是手机自身(蓝牙,近场等)存放下载传输文件,不要误删。 系统工具类——系统自带工具相关文件夹1、albumart:音乐专辑封面的缓存文件夹。 2、albums:相册缩略图的缓存文件夹。 3、cmp:音乐的缓存文件夹。 4、Playlists:播放列表的缓存文件夹。 5、DCIM:相机随机缓存文件夹,记录功能设置的参数,需要及时清理。一些第三方相机软件拍出的相片也会保存在这里,比如360或晕影相机等。 6、VPN:VPN数据的缓存目录。 7、Mydocuments:手机启用各种程序任务记录的文档,需要定期清除,长时间不清理会占用SD卡较大内存。 8、.nomedia:手机中隐藏的音频、图片文件夹都会在这里显示,可以自设在相关文件夹中。 9、media:使用电话通话录音软件或在线浏览视频等媒体产生的音频文件记录存档将保存在此。 10、.medieval_software:启用蓝牙传输软件时,记录任务保存文件的目录。 11、extracted:解压缩软件默认的解压目录。

安卓系统放在SD卡上的文件夹都有哪些呢

安卓系统下SD卡中有各种文件夹,但是相信很多朋友都不在知道这些文件夹到底是什么,能否删除呢?
1、.android_secure 是官方app2sd的产物,删了之后装到sd卡中的软件就无法使用了。
2、.Bluetooth 顾名思义,用蓝牙之后就会有这个。
3、.mobo 顾名思义,Moboplayer的缓存文件。
4、.QQ 顾名思义,QQ的缓存文件。
5、.quickoffice 顾名思义,quickoffice的缓存文件。
6、.switchpro 顾名思义,switchprowidget(多键开关)的缓存文件。
7、.ucdlres 顾名思义,UC迅雷的缓存文件。
8、albumart 音乐专辑封面的缓存文件夹。
9、albums 相册缩略图的缓存文件夹。
10、Android 比较重要的文件夹,里面是一些程序数据,比如google map的地图缓存。
11、backups 一些备份文件,比如联系人导出到SD卡时会导入到此文件夹。
12、 顾名思义,掌上网络、网络输入法之类程序的缓存文件夹。
13、bugtogo 系统出现问题的时候会形成一些报告文件,存放于此文件夹。
14、cmp 个人初步判断是音乐的缓存文件夹。
15、data 同样是缓存数据的文件夹,与Android性质类似。
16、DCIM 相机的缓存文件夹。
17、documents DocumentsTo Go的相关文件夹。
18、etouch 易行的缓存文件夹。
19、extracted androzip等解压缩软件默认的解压目录。
20、gameloft 顾名思义,gameloft游戏数据包存放的文件夹。
21、handcent 顾名思义handcent(超级短信)数据文件夹。
22、handyCurrency 货币汇率相关的文件夹,装了handycalc(科学计算器)之后才会有。
23、ireader 顾名思义,ireader的缓存文件夹。
24、KingReader 顾名思义,开卷有益的缓存文件夹。
25、LazyList Applanet(黑市场)的缓存目录,也许和其他程序也有关,暂时不太清楚。
26、LOST.DIR卡上丢失或出错的文件会跑这里,此目录无用,删了会自动生成。
27、moji 顾名思义,墨迹天气的缓存目录。
28、MusicFolders poweramp产生的缓存文件夹。
29、openfeint 顾名思义,openfeint的缓存文件夹。
30、Picstore 图片浏览软件建立的一个目录。
31、Playlists 播放列表的缓存文件夹。
32、renren 顾名思义,人人网客户端的缓存文件夹。
33、screenshot 截屏图片保存的目录,screenshot这个软件的。
34、ShootMe顾名思义,shootme截屏后图片文件保存的目录。
35、SmartpixGames SmartpixGames出品游戏的缓存文件夹,比如Jewellust。
36、sogou 顾名思义,搜狗拼音的缓存文件夹。
37、SpeedSoftware RE文件管理器的缓存文件夹。
38、SystemAppBackupSystemApp remove(深度卸载)备份系统文件后,备份文件保存的目录。
39、TalkingFriends talkingtom(会说话的tom猫)录制的视频文件所保存的目录。
40、Tencent 顾名思义,腾讯软件的缓存目录,比如QQ。(与上面的.QQ文件夹并不相同)
41、TitaniumBackup 顾名思义,钛备份备份的程序所保存的目录。
42、TunnyBrowser 感觉是海豚浏览器的缓存目录,但不知道为什么叫这个名字,金枪鱼浏览器
43、UCDLFiles UC迅雷下载文件的保存目录。
44、UCDownloads UC浏览器下载文件的保存目录。
45、VIE Vignette(晕影相机)的缓存目录。
46、yd_historys You 有道词典搜索历史的缓存目录。
47、yd_speech 有道词典单词发音的缓存目录。
48、youmicache 删掉后还会自动生成,悠米广告的缓存目录,广告程序内嵌在其他程序中。
49、新建文件夹 检查下是不是你自己放什么图的文件夹。
50、sina 新浪微博
51、playnow 索尼爱立信的在线商店playnow
52、PlayerPro 好评最多的音乐播放器
53、Mcdonalds 手机里的Mcdonalds软件的缓存,删除后,软件要重新联网下载才能使用。不建议删除。
54、mhc 手机里装了偷拍软件后,偷拍后的文件就在这里。
55、sgsupdate 三国杀 的升级文件的安装包就在这里。
56、bluetooth手机蓝牙接收的文件默认在这里。
相信现在大家对安卓系统下SD卡各种文件夹应该都有所了解了吧,所以一定要慎重删除这些文件夹哦.

⑹ android app文件目录结构

原来,只要把文件写在这里的话,可以不用动态申请权限,只要在manifest里面声明权限就ok了;

应用程序在运行的过程中如果需要向手机上保存数据,一般是把数据保存在SDcard中的。
大部分应用是直接在SDCard的根目录下创建一个文件夹,然后把数据保存在该文件夹中。
这样当该应用被卸载后,这些数据还保留在SDCard中,留下了垃圾数据。

并且在API
6.0之后,根目录文件存储是需要用户授权的,就算你在AndroidManifest.xml中配置了存储权限,用户不授权也是写不进去了。

SD卡读写权限:

如果你想让你的应用被卸载后,与该应用相关的数据也清除掉,该怎么办呢?

通过

可以得到

这个目录里面,一般放一些长时间保存的数据

方法可以获取到 SDCard/ Android /data/你的应用的包名/files/ 目录,一般放一些长时间保存的数据
通过

方法可以获取到

如果使用上面的方法,当你的应用在被用户卸载后,SDCard/Android/data/你的应用的包名/ 这个目录下的所有文件都会被删除,不会留下垃圾信息。并且

这个方法获得的文件存储路径适用于6.0以后系统,只要AndroidManifest.xml配置读写权限了,就不需要用户再授权了。

正常开发中获取存储路径的方法是:

可以看到,当SD卡存在或者SD卡不可被移除的时候,就调用getExternalCacheDir()方法来获取缓存路径,否则就调用getCacheDir()方法来获取缓存路径。前者获取到的就是 /sdcard/Android/data/<application package>/cache 这个路径,而后者获取到的是 /data/data/<application package>/cache 这个路径。

设置->应用->应用详情里面的”清除数据“与”清除缓存“选项分别对应的是data/data/<application package>/和data/data/<application package>/cache

external storage (外部存储):

Environment.getExternalStorageDirectory()SD根目录:/mnt/sdcard/ (6.0后写入需要用户授权)

context.getExternalFilesDir(dir)路径为:/mnt/sdcard/Android/data/< package name >/files/…

context.getExternalCacheDir()路径为:/mnt/sdcard//Android/data/< package name >/cache/…

internal storage(内部存储):

context.getFilesDir()路径是:/data/data/< package name >/files/…

context.getCacheDir()路径是:/data/data/< package name >/cach/…

热点内容
安卓和ios步数哪个准确 发布:2025-01-24 13:12:13 浏览:289
怎么给电脑换配置 发布:2025-01-24 13:04:04 浏览:919
如何修改服务密码10086 发布:2025-01-24 12:44:27 浏览:512
dosftp连接 发布:2025-01-24 12:35:56 浏览:802
编程来炒股 发布:2025-01-24 12:35:14 浏览:854
python正则中括号 发布:2025-01-24 12:32:08 浏览:584
配置排列用英语怎么说 发布:2025-01-24 12:32:00 浏览:607
led流水灯c语言程序 发布:2025-01-24 12:28:15 浏览:46
苹果平板锁屏密码在哪里 发布:2025-01-24 12:16:41 浏览:958
网校c语言 发布:2025-01-24 12:12:15 浏览:787