一、Android
1、什么是Android
Android是一种基于Linux的十织的操作系统
·主要使用于智能设备,如智能手机、平板电脑和智能电视等
由Google公司领头开发并推广,2008年推出第一个版木。
·此系统最初由"安卓之父"Andy Rubin(安迪-鲁宾)开发(2003年)
2、Android能干什么?
3、系统架构
4、DIV和JVM
(1) 首要差别
Dalvik:基于寄存器,编译和运行都会更快些.JVM:基于栈,编译和运行都会慢些
(2) 字节码的区别
Dalvik:执行.dex格式的字节码,是对.class文件进行压缩后产生的,文件变小· JVM:执行.class格式的字节码
(3) 运行环境的区别
Dalvik :一个应用启动都运行一个单独的虚拟机运行在一个单独的进程中.JVM:只能运行一个实例,也就是所有应用都运行在同一个JVM中
二、开发第一个安卓程序
1、搭建开发环境
下载必要的资源
下载地址:
https://pan.baidu.com/s/1XCIl64REqITUjljXluXJ0w
提取码:7x4l
重要资源说明:
android-sdk-windows
android软件开发包,作用相当于JDK =jre+eclipse
Anroid应用开发工具
此Eclipse已经内置了支持Android开发的插件(ADT)
2、设置对应需要的sdk
选择一起解压的android-sdk-windows
3、配置Path环境变量(配置SDK的调试工具)
4、搭建模拟器
(1)创建并启动模拟器
AVD Name :虚拟设备名称
Device :设备型号
Target :系统SDK的版本
CPU/ABI:处理器
Keyboard:是否用硬键盘(不选用软键盘)Skin :不同型号皮肤外形不相同
Memory Otions :内存选项设置
RAM:设备的运行内存
VM Heap:虚拟机堆空间内存
lnternal storage :设备内部存储空间大小SD Card : SD卡内存的大小
1)创建模拟器
2)启动模拟器
等待进度条加载完毕
5、创建项目
创建成功
6、运行项目HelloAndroid
7、解决模拟器创建或启动的问题
电脑的账号名称是中文的需要改成英文(可能安装路径或者配置环境变量的时候有中文)
·描述:在部分电脑上会出现模拟器不能创建或不能启动的问题·原因:默认的路径包含中文目录
·解决办法:
一删除.android文件夹
一配置环境变量:ANDROID_SDK_HOME=D:\android-sdk-windows
8、打开安卓常用的几个视窗
三、分析项目组成以及目录结构
1、源码文件夹
HelloAndroid
src(源码文件夹)
MainActivity:主界面类
gen(自动生成的源码文件夹)
R.java:对应res文件夹
res(资源文件夹)
drawble-xxx:图片文件夹,为了适配不同分辨率的手机
layout :布局,界面的布局文件,功能类似于HTML
values:常量文件夹
strings.xml:包含固定的字符串
在activity_main.xml当中引用,在布局当中引用字符串:@string/name
手机上的文字就会变换
bin:打包后的安卓文件
libs:第三方架包
AndroidManifest.xml(功能清单文件)
2、SDK的文件目录
3、开发调试工具
(1)ADB
widows的cmd当中:使用的是Linux的命令
(2)DDMS
(3)打开以下4个视窗便于调试
- File Explorer视窗
- Devices视窗
- Emulator Control视窗
- 日志工具类:Log
- 测试在MainActivity
- 可能信息过于多找不到对应的信息,添加一个过滤
成功过滤信息
过滤成功
用一个过滤找到两个:使用包名称过滤
过滤成功
过滤不同信息类别
(4)比较Log和System.out
四、实现应用程序简单模拟下载
1、功能描述:
- 点击下载按钮会显示“开始下载”的小提示
- 点击下载按钮后,按钮的文本改为:正在下载中
2、主要技术点
- 应用的创建与运行
- 界面布局的定义与加载
- 点击事件监听
- Toast文本小提示
3、相关API
4、创建项目
创建成功
5、代码实现
(1)在strings.xml当中设置
(2)activity_main.xml当中设置按钮
(3)编写MainActivity类
package com.itzheng.app01_quickstart;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity {
private Button btn_main_download;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 加载布局,并生成对应的视图对象
setContentView(R.layout.activity_main);
// 1、得到Button对象
btn_main_download = (Button)findViewById(R.id.btn_main_download);
// 2、给button设置点击的监听
btn_main_download.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 在回调方法当中:当前点击设置监听的button时候调用
// 1)提示开始下载的文本小提示
//如何从内部类得到外部类(外部类名.this就可以从匿名内部类得到外部类对象 )
Toast toast = Toast.makeText(MainActivity.this, "开始下载....", Toast.LENGTH_SHORT);
toast.show();
// 2)更新button显示的文本
btn_main_download.setText("正在下载当中。。。。。");
}
});
}
}
(4)运行工程
五、手机尺寸相关概念
六、常见手机尺寸参数
七、尺寸单位
px与dp的区别,px是绝对的,dp是相对的
sp和dp sp会跟着手机的字体进行变化,而dp是固定大小不会跟着变化