第一天


#金兴
#1.1G-4G的介绍
1. G generation  
2. 1G 大哥大 只能进行通话 不能发短信 安全性差
3. 2G wap.baidu.com  支持上网  彩信业务 
4. 3G 沃 www.baidu.com          7.2M/s 
5. 4G  lte long time evolution  100M/s
6. 主要区别 网速率的不同  
7. 5G 华为  大公司卖标准 小公司卖产品  arm:并不生产处理器    10G/s
  
#2.Android操作系统介绍
    安迪鲁宾研发
   
#3.Android历史介绍
    Android版本对应api级别
    3.0 ---11  只能用于平板上
    2.3----10 支持NFC(近场通信技术) 早期最稳定版本
    2.2 ---8
    4.1.2  是4.0之后比较稳定的版本,4.*同时支持平板和手机
  
#4.Android系统架构(重点*)
采用的是分层架构
    第一层:应用层Application  主要使用java开发
    第二层:应用框架层Application Framework    采用java+JNI
    第三层:Android底层类库层 Libraries、Dalvik虚拟机函数库和虚拟机层   采用c/c++
    第四层:linux内核层 linux kernel 采用c开发
   Android试运行在Linux内核基础之上的。
    第二层要调用第三层  通过 JNI
   
#5.两种虚拟机的不同 (重点)
 1、架构不同:JVM使用栈架构;Dalvik使用的是寄存器,数据是加载到CUP的寄存器上的。
 2、JVM加载的.class文件,Dalvik加载的是.dex文件,对内存的分配情况做了优化。
   
    jvm(java虚拟机): sun oracle  基于栈的架构 执行指令需要向CPU寻址,速度较慢
    dvm(dilvik虚拟机):  谷歌     基于寄存器(CPU的一个组成部分)的架构  无需寻址速度较jvm快
  ART模式(了解)  :  程序在安装时需要预编译,将机器吗转换机器码,好处:程序运行时
  无需时时转换,运行速度较快;缺点:安装时间较长,存储空间较大
#6.SDKManger的使用
 可以在里面管理SDK版本的下载和卸载。
    sdk 
 
#7.模拟器的简介及创建
   VGA 480* 640
   QVGA 240*320
   HVGA 320*480
   WQVGA 240*400
   FWVGA 480*854
   WVGA 480*800
   AVD: Android virtual Device

#8.DDMS介绍
 DDMS:Device Definition Monition Service
#9.SDK目录
 add-ons:存放高级应用的API的文件 预留的一个附加目录
 build-tools:构建工具
 docs:开发文档
 extras:存放依赖的第三方的包  开发郑小红额外提供的一些工具及jar包
 platforms:各个平台的文件  不同版本android的核心jar包
 adb:android debug brigde   android调试桥
 
 sources:API的源代码文件
 system-images:系统的镜像文件
 tools:工具文件
#10.创建HelloWorld
    部署apk文件的过程:
    IDE判断adb是不是正在工作,用adb把apk文件上传到模拟上,模拟器安装apk文件,开启应用软件。
#11.Android工程的目录结构
 src/  java源代码存放目录
 gen/ 自动生成目录
    gen 目录中存放所有由Android开发工具自动生成的文件。目录中最重要的就是R.java文件。 这个文件由Android开发工具自动产生的。Android开发工具会自动根据你放入res目录的资源,同步更新修改R.java文件。正因为R.java文件是由开发工具自动生成的,所以我们应避免手工修改R.java。R.java在应用中起到了字典的作用,它包含了各种资源的id,通过R.java,应用可以很方便地找到对应资源。另外编绎器也会检查R.java列表中的资源是否被使用到,没有被使用到的资源不会编绎进软件中,这样可以减少应用在手机占用的空间。
 res/ 资源(Resource)目录
    在这个目录中我们可以存放应用使用到的各种资源,如xml界面文件,图片或数据。
 libs/ 支持库目录
    程序开发时需要的一些三方的jar包可以放在这个目录,系统会自动把里面的jar包,添加到环境变量。
 assets资源目录
     Android除了提供/res目录存放资源文件外,在/assets目录也可以存放资源文件,而且/assets目录下的资源文件不会在R.java自动生成ID,所以读取/assets目录下的文件必须指定文件的路径,如: file://android_asset/xxx.3gp
 AndroidManifest.xml 项目清单文件
     这个文件列出了应用程序所提供的功能,以后你开发好的各种组件需要在该文件中进行配置,如果应用使用到了系统内置的应用(如电话服务、互联网服务、短信服务、GPS服务等等),你还需在该文件中声明使用权限。
 project.properties 项目环境信息,一般是不需要修改此文件
 
#12.Android的打包过程
    是把Android的应用程序打包成一个.apk文件,.apk文件可以安装在手机或者模拟器上。
    如果是签名打包,是在打包的过程中,对文件进行了加密。
    投放到Android市场上的应用软件必须签名。
      aapt: Android application package tools 打包apk文件
      签名:
      adb :Android debug bridge 
#13.ADB命令
 — 常见命令:
 adb devices  列出所有的设备
 adb shell 挂载到linux的空间 可以执行liux指令
 adb  install xxx.apk 如果有多个设备,我们可以指定设备   adb install –s  emulator-5554 D:/xxx.apk
 adb shell 挂载到linux空间
    adb push 把文件推到手机里 
    adb pull 把文件从手机里拉出来
 ctrl + F11 横竖屏的切换
#14.电话拨号器(重点)
 开发项目的步骤:
 
 1、理解需求,弄明白需求后在写代码;
    2、在Android工程中设计UI界面;
    3、代码实现业务逻辑;
  电话拨号器的代码:
  //初始化布局文件中的控件
     et_phone = (EditText) findViewById(R.id.et_phone);
        Button bt_call  = (Button) findViewById(R.id.bt_call);
       
       
        //获得EditText控件里面的数据
       
       
        bt_call.setOnClickListener(new OnClickListener() {
   
   @Override
   public void onClick(View v) {
    //拨打电话号码
    //获取数据框中的电话号码
    String phone = et_phone.getText().toString().trim();
    //创建一个拨打电话的意图
    Intent intent = new Intent();
    //设置拨打电话号码的动作
    intent.setAction(Intent.ACTION_CALL);
    //设置拨打的电话号码
    intent.setData(Uri.parse("tel://"+phone));
    //开启拨打电话的意图
    startActivity(intent);
   }
  });
#15.四种点击事件
     (1)采用内部类的方式去实现OnClickListener
     (2)匿名内部类
     (3)当前类imp OnClickListener
     (4)onclick

   1、设置按钮的单击事件的监听器,创建匿名内部类
        bt_call.setOnClickListener(new OnClickListener() {
   
   @Override
   public void onClick(View v) {
    //拨打电话号码
    String phone = et_phone.getText().toString().trim();
    Intent intent = new Intent();
    
    intent.setAction(Intent.ACTION_CALL);
    System.out.println("phone="+phone);
    intent.setData(Uri.parse("tel://"+phone));
    startActivity(intent);
   }
  });
 2、创建一个内部类
 private class MyOnClickListener implements OnClickListener{
  @Override
  public void onClick(View v) {
   //拨打电话号码
   String phone = et_phone.getText().toString().trim();
   Intent intent = new Intent();
   
   intent.setAction(Intent.ACTION_CALL);
   System.out.println("phone="+phone);
   intent.setData(Uri.parse("tel://"+phone));
   startActivity(intent);   
  }
  
 }
 //别忘记给按钮添加一个单击事件的监听器
 bt_call.setOnClickListener(new MyOnClickListener());

 3、在布局文件中给按钮添加一个单击事件的响应方法,然后在代码中实现这个方法
 (1)在布局文件中给按钮添加一个单击事件的响应方法
  <Button
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:text="拨打"
       android:id="@+id/bt_call"
       android:onClick="call"
      />
 (2)在代码中实现这个方法
 //view 表示的是按钮这个视图
 public void call(View view){
  //拨打电话号码
  String phone = et_phone.getText().toString().trim();
  Intent intent = new Intent();
  
  intent.setAction(Intent.ACTION_CALL);
  System.out.println("phone="+phone);
  intent.setData(Uri.parse("tel://"+phone));
  startActivity(intent);  
 }
 
 
#16.五种布局
 
1. 线性布局(重点) 分水平和垂直2种
2. 相对布局:各个组件都是按照相对位置来摆放。 
3. 帧布局: 一层一层绘制
4. 表格布局 
5. 绝对布局  已经被谷歌废弃

6. 工作中常用的就是各种布局的嵌套使用
   
 
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值