Android开发 准备工作-----项目目录分析
工程项目结构解析
下面的工程项目中的主要关注点:

接下来我们对其关键部分进行讲解:
- java:我们写Java代码的地方,业务功能都在这里实现
- res:存放我们各种资源文件的地方,有图片,字符串,动画,音频等,还有各种形式的XML文件
res资源文件夹
这个文件夹下的所有文件,都会在R.java(资源字典)文件下生成对应的资源ID,在Java代码中,我们可以通过资源id来访问这些资源
图片资源:
- drawable:存放各种位图文件,(.png,.jpg,.9png,.gif等)除此之外可能是一些其他的drawable类型的XML文件
- drawable-v24:安卓新版本的图片目录,但不建议放在这个目录,因为老版本和一些机型会访问不到这一目录的资源
- mipmap-anyapi-v26:系统会优先加载这一mipmap中的图片,但只有在API26以上版本才会加载这一文件夹中的资源
- mipmap-hdpi:高分辨率,一般我们把图片丢这里
- mipmap-mdpi:中等分辨率,很少,除非兼容的的手机很旧
- mipmap-xhdpi:超高分辨率,手机屏幕材质越来越好,以后估计会慢慢往这里过渡
- mipmap-xxhdpi:超超高分辨率,这个在高端机上有所体现
注意!!!!!
1.两者区别 ---- drawable存放位图,mipmap存放矢量图(不同像素图标密度的可绘制对象文件,一般为应用启动图标,这样图标才不会因为分辨率不同而失真)
2.在Eclipse创建的Android中,不存在mipmap文件夹,而都是drawable开头的
布局资源:
- layout:该目录下存放的就是我们的布局文件,另外在一些特定的机型上,我们做屏幕适配,比如480*320这样的手机,我们会另外创建一套布局,就行:layout-480x320这样的文件夹!
菜单资源:
- menu:在以前有物理菜单按钮,即menu键的手机上,用的较多,现在用的并不多,菜单项相关的资源xml可在这里编写,现在的新版本中,这一文件夹已经弃用!
values目录:
- demens.xml:定义尺寸资源
- string.xml:定义字符串资源
- styles.xml:定义样式资源
- colors.xml:定义颜色资源
- arrays.xml:定义数组资源
- attrs.xml:自定义控件时用的较多,自定义控件的属性!
- theme主题文件,和styles很相似,但是会对整个应用中的Actvitiy或指定Activity起作用,一般是改变窗口外观的!可在Java代码中通过setTheme使用,或者在Androidmanifest.xml中为
添加theme的属性! PS:你可能看到过这样的values目录:values-w820dp,values-v11,values-night等,前者w代表平板设备,820dp代表屏幕宽度;而v11这样代表在API(11),即android 3.0后才会用到的;night是在启用夜间模式后可见的!
在较新版本(2020.3)的Android Studio中,编辑器合并了这些条件目录,变为了:

调用res文件夹中的资源
Java代码中使用:
Java 文字:
txtName.setText(getResources().getText(R.string.name));
图片:
imgIcon.setBackgroundDrawableResource(R.drawable.icon);
颜色:
txtName.setTextColor(getResouces().getColor(R.color.red));
布局:
setContentView(R.layout.main);
控件:
txtName = (TextView)findViewById(R.id.txt_name);
XML代码中使用:
通过@xxx即可得到,比如这里获取文本和图片:
深入了解三个文件
工程里三个重要的文件: MainActivity.java(应用入口),activity_main(布局文件)和AndroidManifest.xml(清单文件)
MainActivity.java
位置:app > java > com.example.myfirstapp > MainActivity
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;//声明为带标题的Activity,在开启应用时,创建该类实例
public class MainActivity extends AppCompatActivity { //在该类实例创建时,调用该方法@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//通过res文件夹中的layout文件夹的activity_main.xml文件设置页面的布局setContentView(R.layout.activity_main);}
}
这是主 activity。它是应用的入口点。当您构建和运行应用时,系统会启动此Activity 的实例并加载其布局。
activity_main.xml
位置:app > res > layout > activity_main.xml
此 XML 文件定义了 activity 界面 (UI) 的布局。它包含一个 TextView 元素,其中具有“Hello, World!”文本
AndroidManifest.xml
位置:app > manifests > AndroidManifest.xml
AndroidManifest.xml描述了应用的基本特性并定义了每个应用组件。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
