App的工程框架
对于我刚下载的Android studio,来说一说它的框架结构
Project项目结构:


.gradle:Gradle编译系统,版本由wrapper指定
.idea:IDE所需要的文件
.app:开发项目的所有代码和资源文件
.build:app模块编译输出的文件
.libs:放置引用的类库文件
.src:放置应用的主要文件目录
.androidTest:单元测试目录
.main:主要的项目目录和代码
.java:项目的源代码
.res:项目的资源
.drawable:存放各种位图文件
.values:存放各种配置资源,颜色,尺寸,样式等
.AndroidManfest.xml:项目的清单文件
.Gradle Scripts:gradle编译相关的脚本
以上就是Android studio的大致结构
再此基础上了运行了简单的“Hello Word!"的项目
MainActivity.java:
package com.example.myapplication;
import androidx.appcompat.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);
}
}
activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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=".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" /> </androidx.constraintlayout.widget.ConstraintLayout>
1.MainActivity继承AppCompatActivity,即main先调用一个对象的父对象上的函数
@Override中文意思就是重写,在java里面我们继承来的,我们要使用就要重写。覆盖掉原来的oncreate方法,我们帮其重写一个oncreate,按照我们的想法去执行这个方法。
2.antivity_main.xml中的TextView就是类似于javaweb里面的html标签,用于书写程序的显示代码
3.MainActivity.java和activity_main.xml的联系:
android手机系统只会运行java程序,java代码的程序表示你要启动一个内容视图为activity_main.xml文件,这时候就会去找activity_main.xml文件,然后转换成各种各样的控件。
显示样例(Hello Word):

App的工程框架的更多相关文章
- 滴滴Booster移动APP质量优化框架 学习之旅 二
推荐阅读: 滴滴Booster移动App质量优化框架-学习之旅 一 Android 模块Api化演练 不一样视角的Glide剖析(一) 续写滴滴Booster移动APP质量优化框架学习之旅,上篇文章分 ...
- 基于WebDriverAgent代理服务,实现iOS手机app自动化测试的框架搭建
iOS自动化测试一直使用的appium,iOS系统升级至10.0 Xcode8.0之后, 改用WebDriverAgent代理服务作为server,编写了一套基于WebDriverAgent服务 ap ...
- 精品干货丨APP常用导航框架
文章目的:在整体上把握移动端App的导航框架,理解每种导航所具有的优点.局限性和其所适用的范围. 文章用心:典型APP案例(源码:http://www.jinhusns.com/Products/Do ...
- React Native是一套使用 React 构建 Native app 的编程框架
React Native是一套使用 React 构建 Native app 的编程框架 React Native at first sight what is React Native? 跟据官方的描 ...
- IOS开发-基于WebDriverAgent代理服务,实现iOS手机app自动化测试的框架搭建
导引 iOS自动化测试一直使用的appium,iOS系统升级至10.0 Xcode8.0之后,改用WebDriverAgent代理服务作为server,编写了一套基于WebDriverAgent服务 ...
- 滴滴Booster移动APP质量优化框架 学习之旅 三
推荐阅读: 滴滴Booster移动App质量优化框架-学习之旅 一 Android 模块Api化演练 不一样视角的Glide剖析(一) 滴滴Booster移动App质量优化框架-学习之旅 二对重复资源 ...
- 滴滴Booster移动APP质量优化框架 学习之旅
推荐阅读: 滴滴Booster移动App质量优化框架-学习之旅 一 Android 模块Api化演练 不一样视角的Glide剖析(一) 一.Booster简介 Booster是滴滴最近开源一个的移动应 ...
- 基于mui的H5套壳APP开发web框架分享
前言 创建一个main主页面,只有主页面有头部.尾部,中间内容嵌入iframe内容子页面,如果在当前页面进行跳转操作,也是在iframe中进行跳转,而如果点击尾部按钮切换模块.页面,那就切换ifram ...
- 2022年Python顶级自动化特征工程框架⛵
作者:韩信子@ShowMeAI 机器学习实战系列:https://www.showmeai.tech/tutorials/41 本文地址:https://www.showmeai.tech/artic ...
随机推荐
- 在远程服务器上执行本地的shell脚本
在远程服务器上执行本地的shell脚本 [root@localhost zzx]# sh echoip.sh 192.168.67.131[root@localhost zzx]# ssh root@ ...
- oracle基础知识小结
一.查看oracle用户.角色信息1.查看所有用户 select * from all_users; select * from user_users; 2.查看用户或角色系统权限 select * ...
- 七十九、SAP中数据库操作之更新数据,UPDATE的用法
一.我们查看SFLIGHT数据库,比如我们需要改这条数据 二.代码如下 三.执行效果如下,显示“数据更新成功” 四.我们来看一下SFLIGHT数据库,发现已经由DEM更改为了AAA了
- Essay写作的五大陷阱如何避免?
相信ESSAY写作对留学生来说印象非常深刻,由于国外不同的教育模式,老师动不动就是一篇essay.可是在大家都拥有相同的GMAT或者GPA以及雅思分数的情况下.大家如何才能够脱颖而出呢?下面BayDu ...
- 腾讯云服务器上搭建 2.176.3-1.1 版本的Jenkins,jdk 11
[root@VM_0_12_centos fonts]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) [root@VM_0 ...
- 吴裕雄--天生自然C++语言学习笔记:C++ 引用
引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字.一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量 C++ 引用 vs 指针 引用很容易与指针混淆,它们之间有三个主要的 ...
- windows driver 映射小文件
NTSTATUS status; UNICODE_STRING strFileSrc = RTL_CONSTANT_STRING(L"\\??\\C:\\网络调试工具.exe"); ...
- LARGE_INTEGER 64位的输出格式
%016I64x 第一个016是指当最左边无数据时用00填充:后面的I64x是__int64的前缀要求格式十六进制输出.
- IBGP的自己下一跳,指定源命令。
neighbor router-id update-source loopback int 当两者并不是以物理接口为搭建邻居的时候,就得使用指定源,充当TCP接口. neighbor router-i ...
- 64.Python中ORM查询条件:in和关联模型
定义模型的models.py文件中示例代码如下: from django.db import models class Category(models.Model): name = models.Ch ...