学习于:https://www.bilibili.com/video/av22836860?p=2

首先,要知道AS的一个基本模型,1个Android project可以有多个module,而每个module对应一个app。

1.

我全部都改了。

2. 一个activity对应一个界面!.finish之后又下面这图:

一个activity对应一个界面!这里关键看两个文件。activity_main.xml文件和MainActivity.java文件,注意两个文件所在路径。通过中介的design和text两个东西的转换,可以用两种形式打开这个xml文件。xml文件对应的就是显示的界面。通过文本可以改变界面,也可以在design界面拖来拖去。 Java文件就负责里面的内部逻辑。

注意这里firstapp,它就是对应我们前面说的module,也就是一个app。

然后再看:

这是text文本时的xml,可以看到这个界面的显示效果就是一个helloworld,和左边的文本相对应。所以,我们很快就理解了什么东西。也就是说,系统默认生成一个activity_main.xml文件,文件里有默认有一个文本框(估计testview就是对应一个文本框),文本框的文本属性值又默认为hell world。也就是通过xml里的标签来控制显示界面。

然后再看左上角的下拉框:

这里的是多种方式显示我们安卓的项目结构。project和Android是我们常用的两种显示项目结构的方式,大家可以查看一下有何差异。

Android项目展示方式主要列出的是我们经常用到的文件,比如xml布局文件和Java文件。如下图,这样看起来就比较舒服,也就是比较精炼。

project则是列出我们项目中的全部文件,在这种结构当中,想要找到我们要修改的文件是比较不好找的,也就是比较系统全面,初看就比较繁琐。初学者建议使用Android界面。

如上的Android界面中,manifests主要是存放全局描述文件,Java存放Java源代码文件,res则是存放资源文件。

manifest里存放又一个Androidmanifests.xml文件。里面是配置整个app的信息。如下:

主要看application这个标签:

icon即是图标(看目录可以找到该图片),估计就是app得显示图标了.label就是前面我们写的application name了。这个感觉应该是app的名字,后面下载到手机上的时候再看看。后面还可以选主题之类的。

然后我们关注activity标签。 这个就是我们前面的Java类的名字,MaianActivity. 也就是说这里就是我们这个app包含的类了。然后下面还有个intent-filter,里面有个Main。没错,这就类似我们Java中的Main函数了。也就是说,这个app运行起来,先去运行这个MaianActivity类

然后是Java节点,

后面有test的都是用于测试的,先不看。

然后看MainActivity类。

public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}
}

继承了一个APP的父类,然后重写了onCreate方法。

setContentView(R.layout.activity_main) :指定当前的这个activity要显示的布局文件。

安卓中有一个很重要的文件,R文件,它是自动生成的并且我们不能对它进行修改。我们在项目中每创建一个资源,都会在这个R文件中生成一个索引,我们可以通过这个索引来引用这个资源。像:R.layout.activity_main 这里的就是,R文件中的layout资源中的名为activity_main的索引。这里的activity_main是和我们资源文件的名称是一样的。只是这里面不加上扩展名,通过这样的方式就可以引用了。

创建项目的时候,可能会创建R文件失败,如下图:

各种红色波浪线,然后这个R还显示红色。这就着创建R文件失败的特征。通过菜单栏中的build --clean project即可解决。

然后看下面的res节点:

先看drawable文件:

可存放各种图片,比如

位图文件(png,jpeg,gif),9patch图片文件(工具9patch生成的可以拉伸而不变形的图片)。

layout:存放安卓中的布局文件,布局文件就是控制窗口显示的内容。进xml文件去看

可以发现显示的16dp并不是确实的,而是另外一些字符串,感觉是其它地方的变量。然后帮你计算一下得到具体数值。

mipmap目录:保存项目当中应用的启动图标。其实里面就是存放了各种分辨率的图片,这样可以保证显示的时候比较好看。如下所示:

那么我们怎么往里面拷贝自己的图片呢?

直接把图片复制到mipmap目录下,然后确认生成哪个分辨率的图片即可。

要放多张图片,则多复制几次,如下图

然后这里的图片就可以在前面的全局位置文件中使用了。

然后drawable和mipmap都可以存放图片,有啥区别呢?

  1. 9-patch图片和shape资源文件都只能放在drawable目录中,否则会报错。

2. 需要适应屏幕分辨率的图片推荐放在mipmap目录中,可以提高显示性能、占用内存更少

values:保存字符串资源,样式资源,尺寸资源等。

然后打开strings.xml

然后联系前面的Androidmanifest.xml文件里的

可以发现就是这个标题就是通过字符串资源来制定的,后面的style也是,点击进去查看基本就理解了相互间的联系和意义。

然后我们来看如何使用我们前面安装的模拟器来运行我们的app:

先打开我们之前创建好的模拟器,点击上面的运行按钮(这里注意左侧已经选择了运行的module了),然后会发现你运行着的模拟器,然后你选择ok即可。

然后会花比较久的时间,10秒钟这样,如下图:

运行非常成功。其实这里就是使用adb命令让模拟器运行这个app的。可以看到,我们前面命名的项目名字显示在最上面。

然后看怎么在手机上运行这个程序:(前面连接啥的我们都连过了,这里就不讲了,可以看视频)

选择后运行即可。

(运行后注意观察手机,可能会出现是否运行操作的请求,默认拒绝!)

然后看我手机上的效果:

下面是运行起来的效果

然后看我的手机屏幕:

这图标就是之前mipmap里面添加的图片。然后看app的名字

和我们之前的空白的activity的名字是一样的。

有没有感觉到小有成就了。哈哈。

然后我们可以再再次project中创建module,file-new-new module 然后选择是在什么场景下使用

第一个是可以在平板和手机上使用,还有在电视里或者可穿戴式设备里使用的app.然后继续创建activity。后面就差不多了。这样一个project就有多个app了,然后运行的时候通过运行按钮旁边的旁边的下拉框就可以选择运行哪个app了。

这里注意,想要复杂点的界面,可以自己拖拽着旁边的控件到屏幕上即可。也可以自己在xml中编辑。然后就是各种修改了。我见的比较多,比如Java界面插件,qt之类的,玩多了就很熟悉。

感觉到这里,这节的内容就结束了。基本的玩就没问题了。可以小小给女票装个逼,哈哈。

欢迎交流讨论。

为什么Android项目mainactivity中有一个变量R_安卓4:第一个安卓程序 AS 安卓项目结构解析 手机运行app 模拟器运行app...相关推荐

  1. 为什么Android项目mainactivity中有一个变量R_博客笔记大汇总,Android优化总结篇

    博客笔记大汇总[16年3月到至今],包括Java基础及深入知识点,Android技术博客,Python学习笔记等等,还包括平时开发中遇到的bug汇总,当然也在工作之余收集了大量的面试题,长期更新维护并 ...

  2. 为什么Android项目mainactivity中有一个变量R_【Android开发入门教程】二.Android应用程序结构分析!...

    一.新建HelloWorld项目: 1.打开Eclipse,点击"File"->"New"->"Project"-Android ...

  3. 拳王虚拟项目公社:一个持续收益的虚拟资源平台三种虚拟资源项目

    虚拟资源项目算是一个能持续获取收益的老项目,在之前的众多推文中,我也零散地跟大家分享了各种操作方法.例如我们以前比较常用的,将精准用户引导进入我们网盘下载资源,然后在资源里设置解压密码,并利用图片密码 ...

  4. 程序员到项目经理:从内而外的提升不看后悔去吧

    从程序员到项目经理(一):为什么要当项目经理 "从程序员到项目经理",这个标题让我想起了很久以前一本书的名字<从Javascript到Java>.然而,从Javascr ...

  5. 西西吹雪:从程序员到项目经理

    "从程序员到项目经理",这个标题让我想起了很久以前一本书的名字<从Javascript到Java>.然而,从Javascript到Java充其量只是工具的更新,而从程序 ...

  6. 华为怎么关Android,华为手机怎么关闭后台运行程序 华为手机关闭后台运行程序方法...

    初次使用华为手机的朋友注意了,华为手机关闭程序时,容易忘记从后台关闭.这样就会导致手机后台运行程序越来越多,手机使用变得越来越慢.那么怎么操作才能从后台上关闭程序呢? 华为手机关闭后台运行程序方法 这 ...

  7. 【转】从程序员到项目经理--西西吹雪

    处男作<程序员第二步-从程序员到项目经理>分娩记之一 也谈谈程序员职业规划的几个问题--我的一些故事 从程序员到项目经理(29):怎样写文档 从程序员到项目经理(28):该死的结果导向(只 ...

  8. Android两个项目整合成一个

    需求 有两个项目A.B.两个项目相互独立,功能业务逻辑均不同.现在需要实现将两个项目整合成一个,打包出一个apk文件,安装也是只安装一个App的过程,展示上也是只展示为主项目A的App,通过主项目A的 ...

  9. Android Studio创建第一个Flutter项目

    一.创建Flutter项目 1.1 file->New–>New Flutter Project 1.2 配置Flutter SDK Path 1.3 填写项目相关信息 二.android ...

最新文章

  1. UDP 编程 客服咨询回复
  2. 计算机安全模式无法进入安全模式,如何解决无法在Windows 10中进入安全模式的问题...
  3. 栈堆的emplace和push_C++(STL):19---deque之删除和emplace用法
  4. 相同VLAN跨交换机通信
  5. oracle层级计算推演,云和恩墨的两道Oracle面试题
  6. 人力资源大数据公司_大数据与人力资源相结合,平衡透明度和隐私
  7. 4.线性和卷积——线性滤波器、非锐化掩蔽原理揭破_4
  8. ISA Server 2004软件防火墙相关配置
  9. SpreadJS 全面支持 Angular2,V10.2 版本即将发布
  10. 关于java接口、父类子类之间调用和强制转换的关系
  11. db powerdesign 入门
  12. ubuntu终端命令停止_解决Linux关闭终端(关闭SSH等)后运行的程序或者服务自动停止【后台运行程序】...
  13. mysql dbutil_DBUtil连接数据库
  14. 【LeetCode】一年中的第几天
  15. java xtend_简化Java语法 Eclipse推出Xtend
  16. docker镜像构建详细说明
  17. echarts给柱状图某个柱子设置颜色
  18. 使用Scratch 3.0制作弹球游戏(一)——课题准备
  19. C语言中的 int** 是什么?这要从int* 和int 说起...
  20. Android 仿卡片消消除

热门文章

  1. Flink的Table和SQL的基本API
  2. 如何建立有效的数据挖掘步骤
  3. 大数据分析平台对企业的重要性
  4. java8彩蛋_随笔,JDK8的新时间工具类
  5. 青岛大学计算机科学与技术类专业,青岛大学2017年大类招生专业类代码及所含专业说明...
  6. redis指定配置文件启动_Redis【简介amp;安装篇】
  7. 高斯消元解线性方程组(浮点高斯消元模板)
  8. c语言求浮点数矩阵的逆程序,逆矩阵求程序!!!谢谢
  9. [转]ie6下CSS存在的BUG
  10. 加快网站速度的最佳做法_(4)避免使用css表达式