Android工程文件解析
对于刚接触Android开发的新手来说,第一次用Android Studio创建项目时,最要紧的事不是急着写代码,而是先把这个项目的工程目录结构摸清楚。别小看这一步,搞明白了各个文件夹和文件是干什么的,以后写起代码来才会思路清晰,事半功倍。 现在,打开Android Studio,创建一个新的Hel
对于刚接触Android开发的新手来说,第一次用Android Studio创建项目时,最要紧的事不是急着写代码,而是先把这个项目的工程目录结构摸清楚。别小看这一步,搞明白了各个文件夹和文件是干什么的,以后写起代码来才会思路清晰,事半功倍。
现在,打开Android Studio,创建一个新的HelloWorld项目工程,看看它的目录结构具体长什么样。
开发过程中,大部分时间都会集中在src/main目录下操作。这里又主要分为两大块:Ja va和res。Ja va目录是编写代码的核心区域,所有业务功能、逻辑判断都在这里实现。而res目录,顾名思义,就是存放各种资源文件的地方,包括图片、音频、字符串、动画,以及多种形式的XML配置文件。
说到res目录,就不得不提另一个可能不太常见的目录——assets。虽然当前项目中默认没有这个文件夹,但我们可以手动创建。两者的核心区别在于:res下的资源文件会自动在R.ja va中生成对应的资源ID,程序可以直接通过这个ID来访问;而assets目录下的文件则不会自动生成ID,必须借助AssetManager,以二进制流的方式去读取。说白了,R.ja va就像是一张索引字典,res目录下的每一个资源,都会在这里获得一个唯一的标识ID,程序拿到ID就能直接调用,非常方便。这种机制让资源管理变得规范又高效。
接着看图片资源目录的说明示意图。
在Android开发中,mipmap目录专门用来存放不同分辨率的图片资源。不过,如果你用过Eclipse,会发现那个环境里并没有mipmap这个分类,取而代之的是以drawable开头的各种文件夹。虽然名字不一样,但功能基本一致。使用mipmap的好处在于,系统能根据设备屏幕的密度,自动选择最合适的图片资源,这样在图片缩放时性能表现更好。系统会依据屏幕像素密度(比如hdpi、mdpi、xhdpi、xxhdpi等),从对应的目录里加载对应的图片。
但要注意,这个机制并不是绝对的。举个例子,如果所有图片都只放在drawable-hdpi目录里,而设备本身应该加载ldpi的图片,但找了一圈发现没有,系统就会退而求其次,直接加载hdpi里的图片。如果ldpi目录里没有资源,而mdpi和hdpi都有,那系统会选择最接近当前屏幕密度的mdpi资源来加载。核心原则就是:优先选最接近设备密度的可用资源目录。当然,如果想让系统彻底跳过这种自动匹配行为,可以在AndroidManifest.xml配置文件中添加android:anyDensity=false这个属性,强制使用固定密度的资源。
接下来看看布局资源的使用方法。
菜单资源的具体内容,可以看下图。
再来说说values目录的结构和用途。
raw目录是存放音频、视频以及XML等原始资源文件的地方。想要读取这些文件,可以通过openRawResource(int id)方法获取数据流。虽然它和assets目录有点像,但方便之处在于,raw目录里的文件会在R资源类中自动生成对应的资源ID,直接在代码里引用就行,不需要额外处理。
最后来看动画部分,主要分为属性动画和补间动画两种类型。属性动画的XML文件放在专门的目录里,补间动画的XML文件则放在另一个目录下。
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















