manifests目录中的AndroidManifest.xml是当前Android应用程序的清单文件,记录应用中所使用的各种组件,java是Java源代码目录,res是资源目录。
R.java
==============
访问res目录中的资源文件,并不能通过Java IO技术实现,而是通过R.java文件访问。R.java文件是在工程编译时候自动产生的R类。
R类中包含很多静态类,且静态类的名字都与res中的一个目录名字对应,就像是资源字典大全,包含了用户界面、图像、字符串等对应于各个资源的标识符,R类定义了该项目所有资源的索引。例如,在程序代码中访问activity_main.xml布局文件,可以通过表达式R.layout.activity_main访问。
R类还可以访问界面中的视图,如果视图在布局文件中定义id属性,类似代码"android:id=“@+id/btn_1”,那么在程序代码中就可以通过R.id.btn_1表达式访问该视图。
R.java文件路径:Android列表视图下是看不到的,要想找到R文件,就要把项目列表视图切换成Project模式。然后依次点击–>app–>build–>generated–>source–>r–>debug,在debug下的两个选项的子文件中分别有一个R文件,这就是你想要找的R文件(Android Studio高版本就找不到定能找到)。
资源目录(res)
=============
资源是指代码使用的附加文件和静态内容,例如位图、布局定义、界面字符串、动画说明等。
将各类资源放入项目res/目录的特定子目录中。例如,以下是一个简单项目的文件层次结构:
**drawable:**位图文件(png(推荐)、9.png(推荐)、jpg(可用)、gif(不推荐使用))或XML文件,这些文件编译成以下绘制资源。
**layout:**定义用户界面布局的XML文件(定义了Activity或UI组件中的UI的体系结构。)
**mipmap:**不同启动器图标密度的可绘制文件(png(推荐)、jpg(可用)、gif(不推荐使用))。
**values:**参数值目录,存放软件所需要显示的各种文字和一些数据。可以在这个目录下的strings.xml中存放各种文字,还可以存放不同类型的数据,例如colors.xml、dimens.xml和styles.xml等。
**注意:**切勿将资源文件直接保存在res/目录内,因为这样会造成编译错误。
drawable和mipmap的区别:
drawable:图标有固定的尺寸。
drawable:9-Patch图片和Shape资源文件只能放在drawable目录中
mipmap:需要适应屏幕分辨率的图片推荐放在mipmap目录中,可以提高显示性能、占用内存少。
mipmap:系统会对其缩放进行一些性能的优化.图片会更加美观.
**注意:**切勿将资源文件直接保存在 res/ 目录内,因为这样会造成编译错误。
清单文件AndroidMainfest.xml
===========================
每个应用项目必须在项目源设置的根目录中加入AndroidManifest.xml文件(且必须使用此名称)。清单文件会向Android构建工具、Android操作系统和Google Play描述应用的基本信息。
声明应用组件如:
声明应用必须具备的权限,例如应用中使用到的服务权限(如GPS服务、互联网服务和短信服务等等)。
声明应用所需的最低Android API级别。
1、声明应用的Java源代码包名,包名(如com.scc.demo)非常重要,它是应用的唯一标识符。
2、描述应用中的组件,即Activity (活动) 、Service(服务)、Broadcast Receiver (广播接收器)和Content Provider (内容提供者)。
3、声明应用必须具备的权限,例如应用中使用到的服务权限(如GPS服务、互联网服务和短信服务等等)。
4、声明安全控制和测试等信息
**注意:**在Android Studio工程中,AndroidManifest.xml位于manifests根目录下;而在操作系统(如Windows的资源管理器)中,AndroidManifest.xml位于应用的根目录下。
AndroidManifest.xml文件代码如下:
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android=“http://schemas.android.com/apk/res/android”
package=“com.scc.demo”>
<application
android:allowBackup=“true”
android:icon=“@mipmap/ic_launcher”
android:label=“@string/app_name”
android:roundIcon=“@mipmap/ic_launcher_round”
android:supportsRtl=“true”
android:theme=“@style/Theme.Demo”>
<activity
android:name=“.actvitiy.RadioButtonActivity”
android:configChanges=“orientation|screenSize”
android:launchMode=“standard”>
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!**
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!