一:什么是安卓

1.Android是一种基于Linux的自由及开放源代码的操作系统。

2.Android操作系统最初由AndyRubin开发,主要支持手机。

3.Android一词的本义指“机器人”,同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。

4.优点:开放,平等,方便,硬件复杂。
 
二:Android的体系结构
安卓采用了分层的体系结构。分为四层。
1.应用程序层
系统自带程序和开发人员的程序是完全平等的。
2.应用程序框架层
就是一些应用程序的框架。
3.系统运行库
(1)程序库
包括一些C/C++程序库,通过应用程序为开发者提供服务。
(2)Android运行时库
包括一个核心库,有大多数功能,Android的虚拟机Dalvik也包含在里面。
4.Linux内核
Android的核心服务依赖于Linux内核。
 
三:Android开发的分类
可分为下面两大类:
1.系统移植开发
是在具体硬件上开发,涉及到底层需要移植开发Linux中相关的设备驱动程序及Android本地框架中的硬件抽象层。在移植时只需实现这些接口即可。
2.Android应用程序开发
应用程序开发可以基于硬件设备,也可以基于Android模拟器,处于顶层,使用Android系统提供的Java框架(API)进行开发。
 
四:Android Studio开发环境搭建
1.简介
  (1)是基于IntelliJ IDEA的Android开发环境。
  (2)在安装Android Studio之前需安装Java JDK环境。
2.设置Android SDK
第一次运行时需设置,设置的位置如下:
这里选择的是Android 9.0。
3.创建虚拟设备AVD
(1)简介
   AVD主要是在PC端模拟手机环境来运行Android操作系统平台,每个平台都有自己的内核,系统图像,外观显示,用户数据区和仿真的SD卡等。
创建虚拟环境如下:
这里我已经创建了两个虚拟环境了,如果你没有创建,还需要自己创建。
4.设置环境变量
在环境变量中,系统变量下,需要找到Path变量,并找到Android Studio安装目录下的platform-tools完整路径和tools完整路径,并添加到Path路径:
 
五:创建第一个APP--生成Android应用框架
1.创建项目的方法这里不介绍了,网上一大堆,下面就讲解遇到的问题。
2.创建好的项目结构如下:
3.运行AVD虚拟机,会出现下面的问题:
这时候就需要下面的解决方法:
重启电脑,然后按F2或者F10,进入到BIO中,选择Config --cpu -- Intel-Virtualization Technology 将这个选项开启 。
由于这种方法会很慢,因此大部分不用该方法。
4.在真机上运行程序
在手机上打开开发者模式,并打开USB调试:
 然后再选择如下:
然后手机上就会出现下面的运行成功结果。
 

Android Studio安卓学习笔记(一)安卓与Android Studio运行第一个项目的更多相关文章

  1. Android安装器学习笔记(一)

    Android安装器学习笔记(一) 一.Android应用的四种安装方式: 1.通过系统应用PackageInstaller.apk进行安装,安装过程中会让用户确认 2.系统程序安装:在开机的时候自动 ...

  2. Flutter学习笔记(30)--Android原生与Flutter混编

    如需转载,请注明出处:Flutter学习笔记(30)--Android原生与Flutter混编 这篇文章旨在学习如何在现有的Android原生项目上集成Flutter,实现Android与Flutte ...

  3. Android菜鸟的成长笔记(1)——Android开发环境搭建从入门到精通

    原文:Android菜鸟的成长笔记(1)--Android开发环境搭建从入门到精通 今天在博客中看到好多Android的初学者对Android的开发环境的搭建不熟悉而导致不能进行学习,所以我决定自己写 ...

  4. Android菜鸟的成长笔记(14)—— Android中的状态保存探究(上)

    原文:[置顶] Android菜鸟的成长笔记(14)—— Android中的状态保存探究(上) 我们在用手机的时候可能会发现,即使应用被放到后台再返回到前台数据依然保留(比如说我们正在玩游戏,突然电话 ...

  5. Android菜鸟的成长笔记(11)——Android中的事件处理

    原文:[置顶] Android菜鸟的成长笔记(11)——Android中的事件处理 Android提供了两种方式来处理事件,一个是基于回调的事件处理,另一个是基于监听的事件处理,举个例子: 基于回调的 ...

  6. Android菜鸟的成长笔记(5)——Android系统源代码你下载了吗?

    原文:Android菜鸟的成长笔记(5)--Android系统源代码你下载了吗? 在上一篇中我们用Android系统源代码分析了我们前面写的代码,有的朋友可能就会问怎么才能下载到Google官方的源代 ...

  7. Android菜鸟的成长笔记(15)—— Android中的状态保存探究(下)

    原文:Android菜鸟的成长笔记(15)-- Android中的状态保存探究(下) 在上一篇中我们简单了解关于Android中状态保存的过程和原理,这一篇中我们来看一下在系统配置改变的情况下保存数据 ...

  8. Spring MVC 学习笔记2 - 利用Spring Tool Suite创建一个web 项目

    Spring MVC 学习笔记2 - 利用Spring Tool Suite创建一个web 项目 Spring Tool Suite 是一个带有全套的Spring相关支持功能的Eclipse插件包. ...

  9. Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十五章:第一人称摄像机和动态索引

    原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十五章:第一人称摄像机和动态索引 代码工程地址: https://g ...

随机推荐

  1. golang 时间转换的问题

    一般在获取到时间字符串,需要将时间字符串格式化为golang的"time.Time"对象的时候,通常有2个函数,分别是. time.Parse(layout, value stri ...

  2. RobotFramework_3.SeleniumLibrary操作(一)

    RobotFramework_3.SeleniumLibrary操作(一) *:first-child { margin-top: 0 !important; } body>*:last-chi ...

  3. Angular JS 中 指令详解

    Angular JS的强大功能就在于其可以自定义很多指令,现在就指令做一下详细的剖析. 一个Angular js 指令(directive)需要指定一个唯一的名字(myDirective)和一个函数, ...

  4. 【iOS】receiver type *** for instance message is a forward declaration

    错误原因:没有引入相关的头文件 http://stackoverflow.com/questions/8815200/receiver-type-for-instance-message-is-a-f ...

  5. Python开发异步任务Celery的使用教程!

    1. 生产者消费者设计模式 最常用的解耦方式之一,寻找中间人(broker)搭桥,保证两个业务没有直接关联.我们称这一解耦方式为:生产者消费者设计模式 2.中间人broker 示例:此处演示Redis ...

  6. 大数阶乘(c++实现)

    #include <iostream>using namespace std;#define N 1000int BigNumFactorial(int Num[], int n);voi ...

  7. java8-流的操作

    流的操作 流的使用一般包括三件事: 一个数据源来执行一个查询; 一个中间操作链,形成一条流的流水线; 一个终端操作,执行流水线,并能生成结果 中间操作 操作 类型 返回类型 操作参数 函数描述符 fi ...

  8. Go中的fmt几种输出的区别和格式化方式

    在日常使用fmt包的过程中,各种眼花缭乱的print是否让你莫名的不知所措呢,更让你茫然的是各种格式化的占位符..简直就是噩梦.今天就让我们来征服格式化输出,做一个会输出的Goer. fmt.Prin ...

  9. Linux故障处理最佳实践

    引言 业务中断了! 老板咆哮,主管抓狂,而你就是那个要去处理故障.恢复业务的不幸的人. 你独自一人在阴暗的隔间里.北边是老板的办公室,西边是Team Leader的办公室,南面是茶水间,在那你能泡上一 ...

  10. 【0805 | Day 8】Python进阶(二)

    列表类型内置方法 一.列表类型内置方法(list) 用途:多个爱好.多个武器.多种化妆品 定义:[ ]内可以有多个任意类型的值,逗号分隔元素 # my_boy_friend = list(['jaso ...