Android Day1_快速入门

---1--------------------------------------------------

手机制式

3G、4G中的G:generation

1G:大哥大  通话是锁定在一定频率的

2G:GSM、CDMA等数字手机  稳定的通话质量、可上网WAP等

GSM:2G网   G

EDGE:2.5G网   E

3G:网速更快、手机性能变强了  多种媒体形式,提供视频通话等

3G:       3G   国内3G标准有3个

3.5G:    H

4G:网速更快,高清在线视频,视频会议等

TD-LTE:

FDD-LTE :

买手机注意网络制式:

2G制式:

GSM:移动/联通

CDMA:电信

3G制式:

WCDMA:联通            世界范围

TD-SCDMA:移动       移动、巴基斯坦

CDMA2000:电信       日本、电信

4G制式:

FDD-LTE:电信/联通

TD-LTE:移动/电信/联通

1G制式:

彻底退出历史舞台

2G   拨号上网   带宽12.2K每用户

3G   宽带上网   带宽384~2M每用户

4G   光纤到户   带宽可以达到100M每用户

---2----------------------------------------------------------------------

JVM和DVM的区别:

JVM:

.java->.class->.jar

基于架构:基于栈的架构

栈:内存中的一个数据结构

DVM:

.java->.class->.dex(有且仅有一个,提高效率)->.apk

基于架构:基于寄存器的架构

寄存器:CPU中的一个存储单元

寄存器里保存的是DVM内存里内容的指针

比如说一个应用,要操作硬盘本地的一个图片的话,第一步把图片读取到内存之中才可以操作,把图片读到内存中的是图片的内存地址,有个指针,JVM内存地址是保存在栈里的,DVM内存地址保存在寄存器中;

CPU读取寄存器里内容的速度肯定快于读取栈里的内容的速度,所以这里DVM更快一步了;

Android的新虚拟机ART:

Dalvik:应用每次运行的时候,字节码都需要通过即时编译器转换为机器码,这会拖慢应用的运行效率。

ART:应用在第一次安装的时候,字节码就会预先编译成机器码(预先把Java指令转换为C指令,再把这个C指令保存在本地,下次运行的时候就直接运行预先转换好的C指令),使其成为真正的本地应用,应用的启动和执行速度都会显著提升;

但是ART比Davik应用占用内存更多些,因为ART虚拟机除了保存应用本身的这个字节码之外,还要保存预先编译好的机器码,而不用每次执行再取编译,这是一种牺牲存储效率换执行效率的方式;

---3-----------------------------------------------------------------------

SDK目录结构   见图片

---4-----------------------------------------------------------------------

模拟器—创建   见图片

RAM是手机的运行内存,是来运行程序的,程序运行的快慢,就看RAM剩余空间了,就是好比电脑内存条;

ROM则是手机的自带空间,让你用来放东西,如电脑里面的硬盘

RAM在断电后不能储存数据,就是说RAM断电后数据就没了,RAM存数据必须要通电

ROM在断电后可以储存数据。

一般硬盘、U盘都属于ROM类型,内存条是RAM

---5-----------------------------------------------------------------

创建Android项目   见视频

Android体系结构

---6----------------------------------------------------------------

Android项目的目录结构

Activity:应用被打开时显示的界面

--src:项目代码

|---包 com.ithmac.hello

|---MainActivity.java

(java类,这个类是自动生成的,就是最初看到的hello界面,可以改)

--gen:

|---包 com.ithmac.hello:应用是否可以debug

|---BuildConfig.java

(自动生成的,不要去改)

|---R.java :项目中所有资源文件的资源id

(自动生成的,不要去改)

(里面有很多静态final类)

(里面定义了很多静态整型常量:这些静态整型常量全都是在安卓中所使用到的资源id)

--Android4.3:编译的版本

|---android.jar-D:\adt-bundl......

(android的jar包,之所以能用android的API就是因为导入了jar包)

--Android Dependencies

|---android-support-v4.jar - D:\workspace\......

(为了兼容高版本特性能在低版本系统上用,是个兼容包,系统自动导入的,有的情况下可删除,不过是在libs下删除)

(真实位置是在libs下)

--libs:导入第三方jar包

|---android-support-v4.jar

(这里兼容包不是第三方包,但也放在这里)

--assets:存放资源文件,比方说mp3、视频文件

(这个文件夹下的资源是没有资源id的,用IO流来读取引用)

--bin:存放应用编译打包后的文件

|---classes.dex

|---项目名字.apk

(eclipse自动打包)

--res:存放资源文件

(存放在此文件夹下的所有资源文件都会生成资源id)

(资源id不能出现中文,文件名不能一样,要符合java命名规范)

|---drowable-hdpi:存放图片资源

|---center.png                    安

(72*72)

|---drpwable-ldpi

|---center.png

(屏幕分别率最小)

|---drpwable-mdpi                卓

|---center.png

(48*48)

|---drpwable-xdpi                  适

|---center.png

(96*96)

|---drpwable-xxdpi                配

|---center.png

(144*144)

--layout:存放布局文件,安卓中所有布局文件都是xml文件

(把布局文件通过资源id指定给activity,界面就会显示出该布局文件定义的布局)

--menu:菜单配置文件夹,保存菜单的配置文件,决定菜单的样式

--values:R.java中没有values内部类

|---strings.xml:存放字符串资源,每个资源都会有一个资源id,name就是其id

(R.java中有个string内部类)

|---dimens.xml:长度资源文件,定义长度的资源id

(dp:安卓中的长度单位,长度不固定)

320*480            20dp           20px

720*1280          20dp           40px

|---styles.xml:样式和主题资源文件,定义样式和主题,name即是其资源id

--values-sw600dp

--values-v11

--values-us

1)dimens.xml做屏幕适配的,多个values,每个values下对应一个dimens.xml

2)国际化,多个国家的文字需要多个values,一个values下只能有一个strings.xml ,每个strings.xml对应一种语言,直接创建values-us文件夹就可以

---7--------------------------------------------------------------------

Android的配置文件(清单文件)

---AndroidMainfest.xml

指定应用的包名

<manifest

package="com.itheima.helloworld"

(应用在系统中的唯一识别,和代码包没什么关系,只是碰巧名字一样,也可以起得不一样)

android:versionCode="1"   应用的版本号,谁大谁是高版本  系统看的

android:versionName="1.0"   给人看的

>

<application

android:icon="@drowable/center"    指定downloud中的应用图标

android:label="@string/app_name"  指定downloud中的应用名字

>

<activity   如果里面没有自己指定的 label,icon,就会用<application里定义的label,icon

android:name="com.ithemac.hello.MainActivity"

android:label="@string/lizhi"            指定屏幕应用名字

android:icon="@drowable/photo2"  指定屏幕应用图标

>

<intent-filter>  决定安卓应用的入口界面,哪个界面里有它,哪个界面就是安卓入口界面

<action android:name="android.intent.action.MAIN"/>

<category android:name="android.intent.category.LAUNCHER"/>

</intent-filter>

data/data/com.itheima.helloworld(上面代码指定的包名)

Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器。

Android的四大组件在使用前全部需要在清单文件中配置

---project.properties

target=android-18  这里也可以修改编译版本

---8----------------------------------------------------------------------------

程序打包和安卓的过程   见图片

.apk的安装路径:

第三方应用保存路径:data/app

系统应用保存路径:system/app

data/data/包名文件夹:

系统为每一个应用所生成专属文件夹,用来保存应用在运行过程中产生的文件

1.生成.apk文件

1)编译所有的.class文件,生成.dex文件

2)编译resources文件

1>xml资源文件从文本格式编译转换为二进制格式

2>生成资源索引表resources.arsc,相当于是一个资源索引表

(Android资源打包工具aapt在编译和打包资源的过程中,会执行以下两个额外的操作:

1. 赋予每一个非assets资源一个ID值,这些ID值以常量的形式定义在一个R.java文件中。

2. 生成一个resources.arsc文件,用来描述那些具有ID值的资源的配置信息,它的内容就相当于是一个资源索引表。

有了资源ID以及资源索引表之后,Android资源管理框架就可以迅速将根据设备当前配置信息来定位最匹配的资源了。)

3>准备未编译文件

4>清单文件AndroidManifest.xml文件转换为二进制

5>使用debug.keystore对整个应用程序进行打包、签名

2.加载.apk文件到模拟器中

把apk文件加载到/data/local/tmp/xxx.apk

安装完成后系统自动删除.apk安装包

3.安装应用

安装路径:

第三方应用保存路径:data/app

系统应用保存路径:system/app

data/data/包名文件夹:

系统为每一个应用所生成专属文件夹,用来保存应用在运行过程中产生的文件,也是内部存储空间的路径

---9------------------------------------------------------------------------

DDMS

Dalvik debug monitor service

Dalvik虚拟机的调试的监控服务

DDMS:

Devices:

罗列出所有当前与你的eclipse所建立连接的安卓设备

File Explorer:

查看文档目录结构

Emulator Control:

模拟器控制

|---speed:设置模拟器的网速  调试在低网速下会不会有bug

|---Incoming number:来电号码

|---SMS:短信(只能发短信,不能收短信,还不能发中文)

(测试和短信相关的代码)

|---voice:打电话

DDMS中的选项卡可以直接拖到java界面使用

 

 ---10-------------------------------------------------------------------------

ADB:进程  占用5037端口

Android debug bridge(安卓调试桥  )

1)建立eclipse和android设备之间的连接

cmd中可以通过adb指令控制abd进程:

adb start-server    启动adb指令

adb kill-server  杀死adb指令

adb install  E:\yyh.apk 安装adb指令

adb ininstall 应用包名  卸载adb指令

adb devices 列出与开发环境建立连接的android设备的列表

adb shell 进入安卓的命令行

|---ls  列出安卓目录

|---cd data  进入data目录

|---ps  列出当前我的安卓设备上的所有进程

netstat -ano(window指令) 查看当前系统环境下端口的占用情况

因为adb占用端口号是5037,里面应该运行adb相关进程,但有时会被其他流氓程序占用进程,所以把这个流氓进程找出来,杀死

---11-------------------------------------------------------------------------------

安卓中布局中所有的组件都要指定宽、高,否则会报错

---12 -----------------------------------------------------------------------------

电话拨号器     按钮的点击事件第1种方法:内部类

---13-------------------------------------------------------------------------------------------

按钮的4种点击事件

时间: 2024-11-06 03:40:31

Android Day1_快速入门的相关文章

Bmob 开发Android程序快速入门--小demo

注册Bmob帐号 在网址栏输入www.bmob.cn或者在百度输入Bmob进行搜索,打开Bmob官网后,点击右上角的“注册”,在跳转页面填入你的姓名.邮箱.设置密码,确认后到你的邮箱激活Bmob账户,你就可以用Bmob轻松开发应用了. 网站后台创建应用 登录账号进入bmob后台后,点击后台界面左上角“创建应用”,在弹出框输入你应用的名称,然后确认,你就拥有了一个等待开发的应用. 获取应用密钥和下载SDK 选择你要开发的应用,点击该应用下方对应的“应用密钥” 在跳转页面,获取Application

Android开发快速入门(环境配置)

Android是一种激动人心的开源移动平台,它像手机一样无处不在,得到了Google以及其他一些开放手机联盟成员(如三星.HTC.中国移动.Verizon和AT&T等)的支持,因而不能不加以学习,否则你承担不起为此付出的代价. 好在Android开发入门很容易,即使没有Android手机都没关系,只需有一台可供安装Android SDK和设备模拟器的计算机即可. 本章首先介绍如何安装所有的开发工具,然后再创建一个可运行的应用——Android版“Hello, World”.如果你并非Androi

Android SQLite快速入门教程

SQLite是Android平台软件开发中会经常用到的数据库产品,作为一款轻型数据库,SQLite的设计目标就是是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够.下面我们一起来看看针对Android平台的SQlite 3的使用. 以下概念都是在Android平台的SQlite限制下的理解:  数据库基础概念 SQlite 通过文件来保存数据库,一个文件就是一个数据库. 数据库里又包含数个表格: 每个表格里面包含了多个记录: 每个记

一起学Google Daydream VR开发,快速入门开发基础教程一:Android端开发环境配置一

原文因涉及翻墙信息,被强制删除,此文为补发! 准备工作 进入Google Daydream开发者官网,开启准备工作,官网地址:https://vr.google.com/daydream/developers/ -------------------------------------------------------------------------------------------------------------------- Google Daydream开发者网址: https

【Android快速入门3】布局简介及例子

目前自学到布局部分,下面演示了不同布局的基本训练,涵盖的内容还是不错的,而且简单易懂,分享给大家. 1.LinearLayout流式布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_pa

Xamarin.Android快速入门

一.准备工作 1.创建一个空的解决方案,并命名为Phoneword 2.右击解决方案 新建->新建项目 并命名为Phoneword_Droid 二.界面 1.打开Resources文件夹->layout文件夹双击打开Main.axml 2.然后将会出现下面的界面 3.接着我们选择这个Button并删除(按下Delete),并从左边的工具箱中拖拽一个 Text(Large) 控件到该界面中,如下所示: 4.同时还要通过属性窗口修改Text的值: 5.紧接着拖拽一个Plain Text控件到之前的

【Android快速入门1】目录结构及adb命令(以API19为例)

目录结构 src: 存放java代码gen: 存放自动生成文件的. R.java 存放res文件夹下对应资源的idproject.properties: 指定当前工程采用的开发工具包的版本libs: 当前工程所依赖的jar包.assets: 放置一些程序所需要的媒体文件.bin: 工程的编译目录. 存放一些编译时产生的临时文件和当前工程的.apk文件. res(resources): 资源文件. drawable: 存放程序所用的图片. layout: 存放android的布局文件. fragm

一张思维导图,告诉你Android新手如何快速入门

本博客出自公众号安卓应用频道:http://mp.weixin.qq.com/s?__biz=MzA3MDMyMjkzNg==&mid=2652261947&idx=1&sn=80ab40c249105108e0a03a3aa160eb2e&scene=0#wechat_redirect ↓↓ Android知识体系框架 ↓↓ 接下来,我们具体讲一讲各个部分的内容. 四大组件 UI 设计 常见View的使用 网络 线程和进程 数据存储 进阶学习 编程基础 网络协议 数据库

Hello, Android 快速入门

Hello, Android Android 开发与 Xamarin 简介 在这两节指南中,我们将 (使用 Xamarin Studio或 Visual Studio)建立我们的第一个 Xamarin.Android 应用程序 并理解使用Xamarin 开发Android 应用程序的基本原理的.在这个系列,我们将介绍有关工具的使用. Android开发相关的概念.构建和部署 Xamarin.Android 的应用程序所需的步骤. Hello, Android 快速入门 在本演练中,我们要创建一个