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"这个是在程序信息中显示的版本号

    <uses-sdk android:minSdkVersion="8"/>这是个程序最低的开发版本

    android 2.1   7

    android 2.2   8

    android 2.3   9

     

    更改应用程序的图标

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

    要启动的是那个activity

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

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

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

                <intent-filter>

                    <action android:name="android.intent.action.MAIN" />

     

                    <category android:name="android.intent.category.LAUNCHER" />

                </intent-filter>

    所以的资源文件都会在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<String>集合中,然后用循环去发送信息,

     

    布署程序到手机上

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

    ,最好不要装碗豆夹.

     

    Android中显示的单位

    在开发中尽量不要用像素

    显示的单位

    px这个是物理的像素

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

    字体的单位

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

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

    获取手机像素

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

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

     

     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值