Android Studio项目结构
来源:互联网 发布:网络在线教育 编辑:程序博客网 时间:2024/05/21 08:55
一、Android工程视图下项目结构
- manfests:
- AndroidManifest.xml: APP的配置信息
- java:主要为源代码和测试代码
- res: 主要为资源目录,存储所有的项目资源
- drawable: 存储一些xml文件,-*dpi表示存储分辨率的图片,适用于不同的屏幕
- layout: 存储布局文件
- mipmap:存储原生图片资源
- values:存储app引用的一些值
- colors.xml:存储一些color的样式
- strings.xml:存储引用的string值
- style.xml: 存储app需要用到的一些样式
二、project工程视图下项目结构
- build:系统生成的文件目录,最后生成的apk文件就在这个目录
- app/libs:为项目需要添加的.jar包或.so包等外接库
- app/src: 项目的源代码,其中androidTest为测试包,main为主要的项目目录和代码,test为单元测试代码。
三、主要文件
(1)、AndroidManifest.xml
- xmlns:android= : 定义了android的命名空间。
- package : 制定本应用内Java主程序的包名。
- application: 声明了每一个应用程序的组件及其属性。
- android:allowBackup:将程序加入到系统的备份和恢复架构中。
- android:icon:显而易见表示APP的图标了。
- android:label:许可列表。
- android:supportsRtl:启用各种RTLAPI来用RTL布局显示应用。
- android:theme:android的主题。
- activity:android:name表示当前的activity的名字,因为工程为MainActivity,所以这个名字就为这个,之后有新的activity的话,也需要添加才可以使用。
- intent-filter:包含了action,data和category三种。
- action:只有android:name属性,常见的是android.intent.action.MAIN,表示此activity是作为应用程序的入口。
- data:指定了希望接受的intent请求的数据URI和数据类型。
- category:android:name属性,常见的是android.intent.category.LAUNCHER,决定应用程序是否显示在程序列表里。
(2)、build.gradle
Android Studio采用Gradle来构建项目。
apply plugin: 'com.android.application'android { compileSdkVersion 25 buildToolsVersion "25.0.2" defaultConfig { applicationId "com.example.a14784.myapplication" minSdkVersion 24 targetSdkVersion 25 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }}dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) compile 'com.android.support:appcompat-v7:25.2.0' compile 'com.android.support.constraint:constraint-layout:1.0.2' testCompile 'junit:junit:4.12'}
- 第一行应用了一个插件,一般有两种值可以选择:com.android.application表示这是一个应用程序模块,com.android.library表示这是一个库模块。应用程序可以直接运行,代码库只能依附于别的应用模块来运行。
- compileSdkVersion指定项目的编译版本。
- buildToolsVersion指定项目构建工具的版本。
- defaultConfig闭包对项目的细节进行配置。
- buildTypes闭包用于指定生成安装文件的相关配置。
- dependencies闭包用于指定当前项目所有的依赖关系。
四、代码流程
(1)、注册代码
文件Android-Manifest.xml,部分代码:<activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter></activity>
这段代码是对MainActivity这个活动进行注册,表示.MainActivty是这个项目的主活动,在手机上点击应用图标时,首先启动的就是这个活动。
(2)、程序入口
上面我们队MainActivity活动进行了注册,这段代码在MainActity.java中。
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); }}
- MainActivity是继承了AppCompatActivity,这是一种向下兼容的Activity,可以将Activity各个版本的特性和功能兼容到Android 2.1中。
- onCreate()方法是一个活动被创建时必须执行的方法。
- setContentView()方法用来引入布局,这里引入的是activity_main。
(3)、布局
上面我们引入了activity_main布局,这个布局在文件app>src>main>res>layoutactivity_main.xml中。
<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.a14784.myapplication.MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" /></android.support.constraint.ConstraintLayout>
阅读全文
0 0
- Android Studio项目结构
- Android Studio 项目结构
- android studio 项目结构
- Android Studio项目结构
- Android Studio项目结构
- Android Studio 项目基本结构
- Android studio Gradle项目结构
- Android Studio 项目目录结构
- Android Studio项目目录结构
- Android Studio 项目结构解析
- Android Studio项目目录结构
- 掌握android studio项目结构
- android studio的项目结构
- android studio 项目结构 汉化
- 初识android studio项目结构
- Android项目Android Studio目录结构
- 揭秘Android Studio项目目录结构
- android studio 1.0 项目结构解析
- logback 配置详解(一)——logger、root
- Spring Cloud实战小贴士:Zuul的饥饿加载(eager-load)使用
- 一个网工的十年奋斗史
- 你可能不知道谷歌浏览器开发工具的其他用处
- 深入理解Java虚拟机学习笔记1
- Android Studio项目结构
- “你若未来”我怎敢老去
- Linux socket编程,对套接字进行封装
- json和jsonp的区别和各种用法
- ansible常用命令
- Centos7下启动tomcat很慢原因及解决方案
- 两种不同的编程学习观点,深度还是广度?
- 游戏圈子--创业股份没拿到,你该怨谁?
- 监控利器之 Prometheus