Android快速入门 基础知识,系统架构(快速开发第一个安卓应用程序)
发布日期:2021-06-29 15:03:07
浏览次数:3
分类:技术文章
本文共 2884 字,大约阅读时间需要 9 分钟。
一、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、搭建开发环境
下载必要的资源
下载地址: 提取码:7x4l重要资源说明:
android-sdk-windows android软件开发包,作用相当于JDK =jre+eclipseAnroid应用开发工具
此Eclipse已经内置了支持Android开发的插件(ADT)2、设置对应需要的sdk
选择一起解压的android-sdk-windows3、配置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-windows8、打开安卓常用的几个视窗
三、分析项目组成以及目录结构
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是固定大小不会跟着变化转载地址:https://code100.blog.csdn.net/article/details/111322284 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
感谢大佬
[***.8.128.20]2024年04月04日 08时54分17秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
JavaScript 的addEventListener() 事件监听详解!
2019-04-29
上传图片到阿里云OSS和获取上传图片的url的详解 !
2019-04-29
Kafka为什么这么快?
2019-04-29
Java 生产者和消费者面试题
2019-04-29
生产者消费者问题
2019-04-29
本机电脑连接虚拟机redis失败解决方法
2019-04-29
DM365 应用层gpio控制
2019-04-29
linux i2c子系统abc
2019-04-29
力扣的环形链表解法 (Python)
2019-04-29
CSS3 帧动画(Sprite,直译叫雪碧图)
2019-04-29
Java 父线程与子线程相互通信的方法
2019-04-29
Redis 六种淘汰策略和三种删除策略
2019-04-29
Java LinkedHashMap
2019-04-29
JPA 多线程同时对一条数据进行Update的问题
2019-04-29
JPA 多线程对数据进行更新,Update和Insert同时存在的问题
2019-04-29
Java 高性能队列Disruptor
2019-04-29
SpringBoot 使用https
2019-04-29
Java 读写锁
2019-04-29
JVM Minor GC、Full GC和Major GC
2019-04-29
SpringBoot @Scheduled 执行两次的问题
2019-04-29