Android 目录结构
Android 目录结构 - .gradle包含了gradle程序构建根据,app包含完整程序代码,gradle包含了wrapper配置文件
在build.gradle中更换maven的url,换成国内的阿里云地址可以解决下载慢的问题
maven {
name "aliyunmaven"
url "http://maven.aliyun.com/nexus/content/groups/public/"
}
local.properties文件中配置sdk的路径,如:
sdk.dir=G\:\\SDK
settings.gradle文件中包含项目信息
app包中,libs为开发所需要的第三方库
src为项目源代码文件,包含三个目录,分别是AndroidTest用于自动化测试,test文件为单元测试代码 ,main为程序主代码
main中包含了Java程序代码
res结构目录中包含各种资源
res资源目录
1.drawable-?dpi(l,h,m,x) :定义了Android应用中不需要的不同分辨率下的资源文件,其中:l (low), m (medium), h (high), x (extra high) 设置资源文件的分辨率
2.values:Android应用界面上需要显示各类文本标签文字信息(strings, styles, colors)
3.layout:Android下定义的界面布局文件,放在xml文件中
4.Menu:存放系统菜单项和上下文菜单项
主程序结构分析:
HelloWorld文件源码分析
import androidx.appcompat.app.AppCompatActivity; //向下兼容的类
import android.os.Bundle; //传递信息
public class MainActivity extends AppCompatActivity { //继承向下兼容父类
@Override //重写父类的onCreate方法
protected void onCreate(Bundle savedInstanceState) { //savedInstanceState存储临时信息
super.onCreate(savedInstanceState); //调用父类的onCreate,将临时信息传递给父类
setContentView(R.layout.activity_main); //将资源文件加载到layout文件中的activity_main.xml文件中
}
}
引用资源
两种情况:一种是在代码中引用资源;另一种是在资源中引用资源
代码引用资源格式:[packageName.]R.resourceType.resourceName
packageName代表包的名称,R类:程序自动生成,每个内部类代表一类资源,每个资源都有一个代表资源的静态常量
resourceType代表资源类型,resourceName地表资源名称,对应资源的文件名在XML文件中定义的资源名称属性
资源中引用资源,引用格式:@[packageName:] @表示对资源的引用
资源的属性在activity_main.xml文件中
<TextView
android:id="@+id/textView2"
android:layout_width="127dp"
android:layout_height="28dp"
android:layout_marginEnd="96dp"
android:layout_marginRight="96dp"
android:text="Hello"
app:layout_constraintEnd_toEndOf="parent"
tools:layout_editor_absoluteY="93dp" />
AndroidMainifest.xml为安卓程序的配置文件,
android:allowBackup="true"//是否可以备份
android:icon="@mipmap/ic_launcher" //在资源中访问资源