关于Android的基础概念
1.关于手机1-4G的概念
G:generation
1G:信号不好,原理:类似无线电双工电台,只能进行语音通话。
2G:比如以前的小灵通,gsm,cdma 功能:支持发彩、wap.baidu.com、图片,但是传输速率非常慢。
3G:联通时代,相对移动来说,联通在3G时代具有很大的优势 。
4G:理想速度 100M/s,全名:lte long time evolution。
最大区别:速率不同,采用制式不同。
Android发展史:
* 2.3 nfc 手机钱包
* 3.0 专门为平板设计 fragment actionbar
* 4.1 平板手机融合
#Android体系结构(4层)(*)
* 最底层是linux
* lib 函数库 等
* Android application framework等
* Application 应用层等
#DVM和JVM区别
* 名字不同
* jvm sun公司
* jvm 基于 栈的结构
* dvm 基于寄存器结构 dvm 把所有的.class文件打包成一个.dex文件
* 最主要因为版权的问题 谷歌才搞了一套dvm 出来
# art模式
* art 空间换时间 4.4
* dvm 时间换空间
# android目录结构
* doc:Android的文档
* platforms:开发的版本
* aapt全名:Android application package tools(Android应用打包工具),最后打包成apk格式。
* adb:Android debug bridge(Android调试桥)。
* dx.bat:通过dx 把所有的.class 文件变成一个dex文件
* source Android的源代码
# adb 环境变量配置 * 配置path:
C:\SoftAZ\Android\adt-64\adt-bundle-windows-x86_64_20140101\sdk\platform-tools
# 常用adb 指令
* adb devices:显示出当前所有的设备。
* adb kill-server:杀死服务 。
* adb start-server:开启服务 。
* adb pull /mnt/sdcard/aa.xls:从手机里把一个文件拉到电脑里。
* adb push:从电脑上快速把一个文件推到手机里 。
* adb shell:快速挂载到linux系统下,进入到Linux的环境。
#创建模拟器
* 市面上常用的手机分辨率
* qvga 240*320
* hvga 320*480
* wvga 480*800 基于开发
* fwvga 480*854
Android的版本对应的api级别,这个只是举例,不代表全部。
Android2.3 ------10
Android3.0------11
Android4.0-------14
Android4.1.2-----16
Android4.3-------18
* 2.3 或者4.1.2 这两个版本比较稳定。
ARM平台和Intel平台的简单比较:
ARM:主要针对的是移动平台,但是arm平台不生成处理器, arm卖标准和方案,目前ARM在移动平台的应用的市场占有率已经很高。 它是无本万利。
Intel:生成的处理器,主要针对pc机和这个笔记本电脑。
#在Eclipse工具下的Android应用目录简单介绍。
* src:源码目录
* assets:资产目录
* gen:自动生成的目录
* lib:各种库。
* res:资源目录
* layout:布局文件
* R文件的作用:是为了引用res资源,它是自动生成。
#开发简单电话拨号器(*)
* 1 画电话拨号器的界面(EditText和Button)
* 2 找到拨打电话号码的button
* 3 给button 设置点击事件
* 4 获取edittext的值
* 5 拨打电话 利用意图对象
Intent intent = new Intent(); //创建一个意图对象
intent.setAction(Intent.ACTION_CALL); // 打电话所对应的动作
intent.setData(Uri.parse("tel:"+number)); //设置要拨打电话的数据
startActivity(intent); // 开启拨打电话的意图
注意:一定不要忘记加call_phone 权限。
# 短信发送器
* 1 画发送短信的界面
* 2 拿到发送按钮 利用 smsmanager
SmsManager smsManager =SmsManager.getDefault();
//我们要分条发送
ArrayList<String> divideMessage = smsManager.divideMessage(content);
for (String div : divideMessage) {
// 分条发送
// destinationAddress发送的地址 、scAddress 短信中心 一般我们写null 就可以了
// text 发送的内容 sentIntent发送成功的报告 一般写 null deliveryIntent发送失败的报告
smsManager.sendTextMessage(address, null, div, null, null); }
* 3 一定不要忘记加权限 <uses-permission android:name="android.permission.SEND_SMS"/>
#4种点击事件(*)
* 1 自己定义一个类:impl OnClickListener
* 2 采用内部类:btn_send.setOnClickListener(new OnClickListener() {},这种用法比较常见。
* 3 class MainActivity extends Activity implements OnClickListener { } ,继承的方法。
* 4 在布局文件button 上声明一个属性 onclick =“click” * 在代码中写
public void click(View v) { System.out.println("第四种点击事件的写法"); }
# 常用5大布局和单位(*)
* 1 线性布局(应用很广范)
* 2 相对布局(应用很广范)
* 3 table表格布局:tablerow 代表一行
* 4 帧布局:(九宫格)它是一层一层画出来的 应用场景:播发器播放的按钮
* 5 绝对布局
# Android中单位 dp sp
* 以后就用这个dp 和 sp
dp:一般用于控件的尺寸(宽高),或者间隔
sp:一般用于字体的尺寸