1.文件布局
-
java: 我们写Java代码的地方,业务功能都在这里实现
-
res: 存放我们各种资源文件的地方,有图片,字符串,动画,音频等,还有各种形式的XML文件,R.java文件下生成对应的资源id
-
assets: 不会R.java文件下生成对应的资源id
-
drawable: 存放各种位图文件,(.png,.jpg,.9png,.gif等)除此之外可能是一些其他的drawable类型的XML文件
-
layout:该目录下存放的就是我们的布局文件,另外在一些特定的机型上,我们做屏幕适配,比如480*320这样的手机,我们会另外创建一套布局,就行:layout-480x320这样的文件夹!
-
menu: 在以前有物理菜单按钮,即menu键的手机上,用的较多,现在用的并不多,菜单项相关的资源xml可在这里编写,不知道谷歌会不会出新的东西来替代菜单了~
-
values目录:
- demens.xml:定义尺寸资源
- string.xml:定义字符串资源
- styles.xml:定义样式资源
- colors.xml:定义颜色资源
- arrays.xml:定义数组资源
- attrs.xml:自定义控件时用的较多,自定义控件的属性!
- raw目录: 用于存放各种原生资源(音频,视频,一些XML文件等),我们可以通过openRawResource(int id)来获得资源的二进制流!其实和Assets差不多,不过这里面的资源会在R文件那里生成一个资源id而已
- animator:存放属性动画的XML文件
- anim:存放补间动画的XML文件
- XML: 通过@xxx即可得到,比如这里获取文本和图片:
三个比较重要的文件
MainActivity.java,布局文件:activity_main和Android配置文件:AndroidManifest.xml
MainActivity.java
package jay.com.example.firstapp;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
</RelativeLayout>
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="jay.com.example.firstapp" >
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
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>
- LinearLayout(线性布局),
- RelativeLayout(相对布局),
- TableLayout(表格布局)
- FrameLayout(帧布局),
- AbsoluteLayout(绝对布局),
- GridLayout(网格布局)
Android中有六大布局,分别是:
第二章 Layout
- apktool: 获取资源文件,提取图片文件,布局文件,还有一些XML的资源文件
- dex2jar: 将APK反编译成Java源码(将classes.dex转化为jar文件)
- jd-gui: 查看2中转换后的jar文件,即查看Java文件