Android–Day01


传输协议跟传输速度

2G GPRS  20~30kB

 

2.5G EDGE 40~70kb

 

3G HSDPA 7.2M/s  adsl

 

4G 16M/s    光纤.

 

95M 每个基站的速度

 

中国电信明推3G 暗推wifi

 

乐phone  乐os

阿里云   android

移动     ophone

其实上面

的都是android系统

 

家庭智能开发

ipv6 

家庭网关:

home gateway.

 

 

 

dalvik 虚拟机

google 公司根据sun公司的规范

自己重新实现的java虚拟机.

 

 

 

jvm工作方式

.java -> .class  ->.jar

 

dalvik 工作方式

.java -> .class -> 优化.dex ->

 

 

 

SDK : standard develope kits

JDK : java develop kits

 

 

android-sdk-windows.zip 开发包

 

sdk是分版本的 最新的版本 r20的版本

adt android develop kits eclipse的一个插件.

adt 的版本要和sdk的版本对应

屏幕大小:常用分辨需要了解一下     

VAG   640*480;

 

QVGA  320*240

 

HVGA  480*320 

 

WVAG  800*480 nexus

 

FWVGA 854*480 X10

 

在创建虚拟机时:Device ram size 模拟的内存大小,默认是250M,一般是512M

创建虚拟机后一般会在C:\Users\Administrator\.android的目录下

里面有以.lock结尾的文件夹,这是虚拟机开启产生的,如果同一个虚拟机开启了多个,那么就会产生冲突,这几个文件夹就是防止这个的,但是如果电脑异常重启之类的情况,这些目录没有删除,那么你再开启虚拟机就会有问题,你可以删除这个带lock的文件

 

avd全称: android virual devices

 

ddms 全称: dalvik debug manager system

   

ddms控制台是emulator control设置

设置网络没有注册

Voice:unregistered默认是home

设置没有3G信号

Data:unregistered默认是home

设置数据下载速度

Speed:HSDPA默认是full

 

模拟打电话:

Incoming number 5556,这个指定给那个虚拟机发送信息

选择Voice点call就可以给5556打电话了不用开虚拟机

模拟发短信

选择SMS–>Message里面添加信息–>发送

 

android需要开启console这个显示组件,用于显示android开启的信息

 

目录结构:

 src 应用程序的源代码.java

 android.jar 开发的时候依赖的jar包

 bin 程序编译后的文件的目录.

 res 应用程序的资源文件.

 layout目录 : 应用程序的布局目录.

 values 字符串资源.

 androidmanifest清单文件: 配置应用程序的信息

Android:versionName=”1.0″这个是在程序信息中显示的版本号

这是个程序最低的开发版本

android 2.1   7

android 2.2   8

android 2.3   9

 

更改应用程序的图标

标签下–>android:icon这里设置你需要的图标

要启动的是那个activity

标签下—>android:name=”.DemoActivity”.点号表示这个是当前程序配置文件中设置的目录

Android:label=”这是程序的是标题设置”

意图匹配:告诉系统我这个activity是应用程序的入口.去掉就找不到程序了

           

               

 

               

           

所以的资源文件都会在R文件中产生一个引用,如果在res的资源文件下建立一个文件夹那么会在R文件中产生一个文件名的内部类,里面的文件名字就是R文件的常量,如果要引用就直接用R.文件夹名.文件名

 

android工程打包过程:

编译生成R.java跟*.java—>生成class文件—>class处理成一个*.dex文件–>然后dex文件跟资源文件打包成apk

apk可以直接解压查看里面的资源文件

 

adb 指令: android debug bridge android调试桥.

adb device 查看所有的连接在电脑上的手机设备(模拟器,真实的手机)

adb shell  来到手机的控制台(终端)

adb push aapt.exe /sdcard/aapt.exe

导入一个文件到sd卡

 

如果eclipse报出来连接异常

adb kill-server 杀死adb的连接调试桥的服务.

adb start-server

 

存在多个adb的僵尸进程

杀死所有的adb.exe,在windows任务管理器里操作

 

R文件找不到的问题.

1.根源就是资源文件有问题.

2.windows下的thumb.db这个缩略图在android资源文件产生的问题,删除这个文件就可以了

3.资源文件名数字也会有问题,中文也有问题只能是英文做为文件名,不能有大写字母

分析错误的原因方法: console  跟 problems里查找错误信息

 

在导入android中工程中必须要有AndroidManifest.xml跟project.properties,如果导入android的示例代码就不能导入,解决方式:

可以建一个工程—->在新建时选择create project from existing source —->Location文件选择示例代码–>点击确定就可以了

default.properties如果别人用的adt版本是R15,14等没有project.properties,可以安照导入示例代码的方法去解决,也可以更改default.properties成project.properties

 

如果打开布局没有局面,说明adt没有被正常加载,解决方法可以关闭这个工程然后再打开这个工程

 

如何学习新知识

1. 搜索引擎 _www.baidu.com  google.com

2. 自主 自主研发 (模仿,抄袭)

android的sdk目录下samples的示例代码/android-8里面就有一些开发常用的例子

3. ctrl+ H 全局搜索 file search

 

如果得到sd卡的大小,这个可以查看系统的源代码,看系统是如何实现

在packages这个源代码包中apps/Setting这是系统设置源代码

在main.xml开发界面中android:inputType=”phone”这样的话点输入框会直接跳全数字键盘

 

开发应用程序 :

1.把ui界面给做出来.

2.实现点击事件.

 

开发打电话程序

1.创建一个意思,表示动作的事件

Intent intent = new Intent();

2.设置动作

Intent.setAction(Intent.Call);

Intent.ACTION_CALL这是拔打电话,这个打电话没有拔号盘

Intent.ACTION_ANSWER这是接听电话

Intent.ACTION_DELETE删除一个文件

Intent.DIAL这也是拔打电话,这是有拔号键盘的打电话

3.指定数据,指定给谁打电话,打电话用tel:打开网页用http://

Intent.setData(Uri.parse(“tel:”+拔打电话号码);

4.激活意图的组件

startActivity(intent);

5.打电话需要在清单文件里加权限

Android.permission.CALL_PHONE

//一般影响设备使用,涉及用户的隐私的,产生费用的操作都是需要加权限的

 

浏览网页

1.创建一个意图,表示动作的事件

Intent intent = new Intent();

2.设置动作,打开网页应该是查看的意图,所以我们使用view

Intent.setAction(Intent.VIEW);

3.指定数据,指定打开那个网页

Intent.setData(Uri.parse(“http://www.baidu.com”);

4.额外的参数

Intent.addCategory(Intent.CATEGORY_BROWSABLE);//说明我们有浏览的功能的

5.激活意图的组件

startActivity(intent);

6.浏览网页需要在清单文件里加权限

Android.permission.INTERNET

上面的action只是一个抽象的动作, 就像上面的intent.VIEW这只是定义了查看的操作,但是想要用那个组件查看,那个用addCategory来指定

 

短信发送器

1.用android的api的短信管理器

SmsManager smsManager = SmsManager.getDefault();

Android.telephony.gsm.SmsManager;这个是2G的短信管理器

Android.telephony.SmsManager:这个是3G的短信管理器,这个兼容2G,通常用这个

2.发送纯文本短信

smsManager.sendTextMessage(destinationAddress,scAddress.text.sentIntent.dliveryIntent);

destinationAddress:目标地址,给那个地址发短信

scAddress:源地址,发短信的地址,在中国不支持可以用null

Text:发送的信息内容

sentIntent:PendingIntent延时的意思,这个动作不会立刻发送,现在可以设置为null

dliveryIntent:送达报告,运营商服务,如果接收短信成功了就会返回一个送达信息,现在可以设置为null

3.权限发送短信权限

Android.permission.SEND_SMS

4.发送短信界面只有一行,有可能是指定了android:inputType=”text”,再设置android:maxLines=”10″,android:minLines=”5″,因为上面的text默认是单行的,可以设置成多行的textMultiLine

5.上面的短信功能不完美,如果字符太多会有问题

短信的最大长度中文一般是70汉字,英文是160字母

可以用SmsMessage.divideMessage(短信内容)//短信就拆分成多条存在ArrayList集合中,然后用循环去发送信息,

 

布署程序到手机上

重点就是找到手机的驱动安装,可以装手机助手这个驱动会自动安装

,最好不要装碗豆夹.

 

Android中显示的单位

在开发中尽量不要用像素

显示的单位

px这个是物理的像素

dip是相对的像素,与设备相关的比例值.不同分辨率手机上会有不责骂

字体的单位

sp比例像素,会跟系统相适应

在开发推荐使用dip,文件使用sp

获取手机像素

getWindowManager().getDefaultDisplay().getWidth()这个是获取手机分辨率对象的宽

getWindowManager().getDefaultDisplay().getHeigh()这个得到高