一:什么是安卓

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. 《Scalable IO in Java》译文

    <Scalable IO in Java> 是java.util.concurrent包的作者,大师Doug Lea关于分析与构建可伸缩的高性能IO服务的一篇经典文章,在文章中Doug L ...

  2. Java 内存模型详解

    概述 Java的内存模型(Java Memory Model )简称JMM.首先应该明白,Java内存模型是一个规范,主要规定了以下两点: 规定了一个线程如何以及何时可以看到其他线程修改过后的共享变量 ...

  3. c# 控制台console进度条

    1 说明 笔者大多数的开发在 Linux 下,多处用到进度条的场景,但又无需用到图形化界面,所以就想着弄个 console 下的进度条显示. 2 步骤 清行显示 //清行处理操作 int curren ...

  4. Java性能权威指南读书笔记--之二

    新生代填满时,垃圾收集器会暂停所有的应用线程,回收新生代空间.这种操作被称为Minor GC. 老年代被填满时,垃圾收集器会暂停所有应用线程,对其进行回收,接着对堆空间进行整理.这个过程被称为Full ...

  5. (转载)js数组中的find、filter、forEach、map四个方法的详解和应用实例

    数组中的find.filter.forEach.map四个语法很相近,为了方便记忆,真正的掌握它们的用法,所以就把它们总结在一起喽. find():返回通过测试的数组的第一个元素的值 在第一次调用 c ...

  6. HelloDjango 第 07 篇:创作后台开启,请开始你的表演!

    作者:HelloGitHub-追梦人物 文中涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 在此之前我们完成了 django 博客首页视图的编写,我们希望首页展示发布的博客文章列 ...

  7. vue.js中ref及$refs的使用及讲解

    关于ref和$refs的用法及讲解,vue.js中文社区( https://cn.vuejs.org/v2/api/#ref )是这么讲解的: ref 被用来给元素或子组件注册引用信息,引用信息将会注 ...

  8. 《机器学习技法》---GBDT

    1 对决策树使用adaboost 对决策树使用adaboost时,有以下几个问题: (1)adaboost每次更新的样本权重如何应用到决策树中? 由于我们不知道决策树的err目标是什么,因此通常的方法 ...

  9. Lasso估计学习笔记(二)

    先看Lasso估计学习笔记(一),这篇是续的上一篇

  10. 用java自制简易线程池(不依赖concurrent包)

    很久之前人们为了继续享用并行化带来的好处而不想使用进程,于是创造出了比进程更轻量级的线程.以linux为例,创建一个进程需要申请新的自己的内存空间,从父进程拷贝一些数据,所以开销是比较大的,线程(或称 ...