安卓基础1:安卓基础提要、拨号器及布局
安卓基础1:安卓基础提要、拨号器及布局
1g-4g简介
1g:模拟制式
产物:大哥大
特点:1、通话锁定在一定频率,只能打电话
2、通过可调频电台可以窃听通话;
3、模拟质
2g:数字制式
产物:小灵通,诺基亚
特点:1、可以发短信和彩信
2、可运行简单的java程序
3g:无线通信技术与国际互联网通信技术相结合的通信技术
产物:android ios等只能手机
特点:能处理图像,音乐,视频等多种媒体形式,网速相对2g很快
4g:3g与WLan(LTE: long time evolution)相结合
特点:上网速度特别快,带宽100M
各代移动通信技术主要区别:1、网速不同2、处理的内容不同
5g:
华为正在研究,大公司卖标准,小公司卖产品,arm并不生产处理器
按说操作系统简介:
Android是由安迪鲁滨逊团队开发的
Anroid名称:来自游戏角色
Android图标:上厕所的灵感
Android应用:手机、平板、电视、可穿戴设备、智能家居等等
Android进化史:
代表性版本: 2.3版本:系统稳定,且支持NFC技术
3.0版本:专为平板设计的,新特性:增加新特性
4.1.2版本:非常稳定的版本
5.0版本:增加新特性
以食物命名
安卓系统架构:
安卓系统框架:(重点)
1、 Application:应用层(我们安装的所有应用都属于这一层):java开发
2、 application famwork:应用框架层:Java+JNI(java native interface)开发(实现java调用c++)
3、 liberies 和dalvik;函数库和虚拟机层:c++开发
4、 Linux kernal;linux驱动层:c开发
虚拟机:
Jvm:java虚拟机
Dvm:dalvik虚拟机
Jvm vs Dvm
1、 架构不同:jvm基于栈的架构(需要cpu执行出栈操作);Dvm基于寄存器架构(寄存器是cpu组成部分,执行命令操作无需寻址可直接操作,所以相对较快)
2、 执行文件不同:jvm:.class文件;dvm:执行.dex文件
3、 开发公司不同:JVM:sum公司开发;DVM:google开发
4、 虚拟机数据封装结构:
Jvm:每个.class独立成包
Dvm:将多个.class进行整合,形成.dex;只有一个头
Art模式(Android runtime):(空间转时间)
安卓4.4之前:在dvm上运行,这种模式需要翻译器,每次运行时都要进行翻译;
缺点:造成卡和费电等;
Art模式(安卓5.0以后出现):在应用安2装时进行预编译,将apk文件编译成机器码,避免了每次的编译过程;
缺点:安装时比较慢,编译的机器码需要占用一定的存储空间
开发环境的搭建:
1、 JDK
2、 Eclips/studio
3、 Android sdk(softwaredeveloper kits)
Adt-bundle(androiddeveloper kits bundle)
Aapt(androidapplication package tool ):打包和解包用工具
文件夹:
Add-ons:附加预留的文件;eg:谷歌眼镜开发的app,相关jar
Build-tools:构建工具,编译程序用
Docs:开发文档
Extras:歪歪的一些jar或工具
Platforms:androidsdk不同版本核心jar
Paltforms_tools:打包相关的一些平台工具:aapt,adb
Sources:源码
System-images:系统镜像文件,构建虚拟机时应用
Tools:只有少数指令需要我们手动调用
项目目录结构
见杨哥笔记
Android SDKManager介绍
是一个可视化管理android sdk的工具,这个工具会读取sdk目录下的配置文件的显示;
模拟器的简介及创建
常用的屏幕尺寸与分辨率:
1、3.2…QGVA….320*80
2、5.1…….480*800
3、4.7…….320*80
DDMS介绍
Dalvik debug moniter service(Dalvik虚拟机调试显示服务)
主要应用:
1、devices列出当前电脑所连接的android设备,可以debug和结束进程
2、Logcat可以查看程序运行时的日志信息,帮助我们调试程序
3、file explore列出当前设备的所有目录
创建helloword工程
三种方式部署android程序
1、 右击项目选择 Run as
2、 点击菜单栏上的运行按钮
3、 快捷键Ctrl+f11
ADB:(android degug bridge)
电脑与手机之间联系的桥梁;
(使用之前需要配置环境变量,配置adb的位置)
安卓打包过程:
电话拨号器(重点)
项目流程
1、 产品经理射击产品需求及产品原型图
2、 设计师更具原型图射击UI
3、 构架手要写产品框架,接口文档
4、 程序员根据UI做相应的展示布局及代码逻辑开发
5、 测试人员测试
6、 运营上线各个市场
7、 商务人员做商务推广
代码:
四种方法写按钮点击事件
1、 匿名内部类
2、 创建一个类实现onclickListener,创建一个对象设置给button的onclivklistener
3、 让当前activity实现onclickListener,传onclicklistener参数时传this即可,特别合适按钮多的情况
4、 在布局文件中为空间添加一个onclick属性,在对应的Activity中创建一个与属性值对应的方法,注意:public,view(因为onclick这里通过反射的方法实现,因为为非暴力反射,因此为public,同时需要获得.class对象则要传入view对象)
Android中常用布局
线性布局(LinerLayout)
linnerLayout的两个属性:vertical horizontial
Padding:当前控件距离子控件的距离
Margin:当前控件距离父控件的距离
Layout_gravity:当前控件,相对父控件的对齐方式
Gravity:当前控件里面的内容相对于当前控件的对齐方式
相对布局(RelativeLayout)
帧布局(FrameLayout)
一层套一层;eg:电影屏幕中的开始和暂停按钮;
表格布局(TableLayout)
在表格不居中,一个TableRow控件代表一行,TableRoe代表一列
绝对布局(AbsoluteLayout)