• Android基础第一天


    2G、3G、4G技术:
         网络通讯技术:1g-->2g-->3g-->4g ..5g
         1 功能变强
         2 速度变快  
         3g:第三代移动通信技术 
     
    Android起源:
         android:机器人
         android:是google公司开发的基于Linux2.6的免费开源操作系统
         升级:
              1.5 Cupcake(纸杯蛋糕) 
              1.6 Donut(甜甜圈)
              2.1 Eclair(闪电泡芙)
              2.2 Froyo(冻酸奶)
              2.3 Gingerbread(姜饼)
              3.0 Honeycomb(蜂巢)   只是给平板电脑使用的系统
              4.0 Ice cream SandWich(冰激凌三明治)三合一  手机  电视  平板 
              4.1 Jelly Bean (果冻豆 )
              4.2 Jelly Bean (果冻豆 )
              5.0 Lime Pie  (酸橙派)
     
    体系结构:
         Android的四层架构图     :
              1.applicaitons:应用程序层
              2.applicaitons frameword:应用框架层(api层)
              3.libraries(库,c语言库):里面是c语言的开源框架
                 Android runtime:(dalvik vm) 达尔维克虚拟机。每一个应用程序都是运行在虚拟机里面。
              4.linux kernel(内核)驱动:他是Android工程师添加的,进程间的通讯,ipc , c代码。存在安全问题。
     
    dalvik虚拟机和jvm的区别
         为什么不是jvm  而要搞一个dalvik vm:
               jvm 在设计上是考虑pc 不是移动设备
              特点:1 速度快  2 功耗低 
         区别:
                1 识别的文件不同    jvm:.class 文件 .jar (压缩文件很多.class)   dalvik vm:.dex文件  只是一个文件 一次加载所有的内容  
                2 架构不同:jvm:基于堆栈(内存条)    dalvik vm:基于寄存器(cpu) 
                3 dvm:16M   20M
     
    art模式:
         android runtime :android 4.4才开始有的。在应用程序安装的时候,就把.dex文件编译成为系统所能识别的文件。android系统设计是不好滴。基于虚拟机。
     
    sdk目录结构:
         环境的搭建:
                   不要放置在中文目录 或者有空格的目录。
         目录结构:
              add-ons:google map
              docs:文档 
              extras:额外:升级后的一些支持包  希望在低版本中也可以使用。
              platforms:开发平台
              platfrom-tools:平台工具  
              aapt:把应用程序打包成apk的工具     adb shell  进入android的文件系统
      cd  /mnt/sdcard  
      cd ..  退到上一级
     pwd  显示当前所在位置
              adb 工具:android debug  bridge 安卓调试桥  连接  手机、模拟器
              sample:例子 
              sources:源码(只是部分的源码)  关联源码
              system-images:镜像文件  安装系统 
              tools:工具
     
    adb环境变量配置:
         把adb.exe所在的目录配置在path里面就可以了。
     
    adb指令:
         adb shell  进入android的文件系统
         cd  /mnt/sdcard  
         cd ..  退到上一级
         pwd  显示当前所在位置
     
    ddms使用:
         Devices:设备列表
         Logcat:日志
         Emulator Control:模拟器控制台
         File Explorer:文件列表
     
    Android开发eclipse工程的目录结构:
         Android系统里面不可能出现两个包名相同的应用。
              src:源码 java
              gen:自动生成的java文件
              Android 4.12:Android的版本
              Android Dependencies:安卓的依赖包,支持包
              assets:资产
              bin:临时生成的
              libs:第三方的库 jar包
              res:资源(自动编译在R.java)
              drawable-hdpi(ldpi,mdpi,xhdpi,xxhdpi):图片
              layout:布局(xml)
              values(values-v11,values-v14):字符串
              AndroidManifest.xml:清单文件(配置文件 web.xml)
              project.properties:配置应用的版本号
         吧res目录下所有的资源映射到R.java文件,方便编程
     
    应用程序的图片和名称:
         packge = xxx:包名
         Android:versionCode=”1“:版本号,升级
         <application:应用节点
         Android:icon="@drawable/ic_launcher":应用的图标
         Android:lable="@string/app_name":应用的标题
         <activity:界面
         Android是基于组件的开发:基于四大组件:activity     service     broadcastReceiver     provider
         j2ee也是基于组件的开发:基于三大组件:servlet     filter     listener
         图像显示:Graphical Layout
         XML显示:activity_main_xml
     
    xml代码解析:
         xmls:tools ="http://schemas.android.com/tools":相对布局
         android:layout_width="match_parent":布局的宽
         android:layout_height="match_parent":布局的高
         match_parent:匹配父类
         <TextView:文本显示控件
         wrap_content:包裹内容
         android:layout_centerHorizontal="true":水平居中
         android:layout_centerVertical="true":垂直居中
         android:text="@string/hellow_world":显示内容
     
    apk生成和安装的流程:
         1.打包 appt.exe
         2.上传 adb
         3.安装
         4.启动
     
    点击事件的写法:
         LinearLayout线性布局,orientation:方向
              <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                   xmlns:tools="http://schemas.android.com/tools"
                   android:layout_width="match_parent"
                   android:layout_height="match_parent"
                   android:orientation="vertical"
                   tools:context=".MainActivity">
         提示信息,输入的限制类型:
              TextView,EditText,Button
         找到控件:
              et_number = (EditText) findViewById(R.id.et_number);
              bt_dial = (Button) findViewById(R.id.bt_dial);
         给按钮设置监听:
              bt_dial.setOnClickListener(new OnClickListener() { ... })--->匿名内部类
         按钮点击的时候调用:
              public void onClick(View v) { ... }
         获取号码:
              String number = et_number.).toStrgetText(ing();
         判断一下号码是否为空:
              if(TextUtils.isEmpty(number)) { ... }
         提醒用户 this:当前的类对象:
              Toast toast = Toast.makeText(MainActivity.this, "亲,号码为空", Toast.LENGTH_LONG);
         显示:
              toast.show();
         拨号:在系统里面有一个拨号的组件已经存在,激活电话应用里面的拨号组件:
              Intent intent = new Intent();--->意图对象,组成:动作和数据
         设置动作:
              intent.setAction(Intent.ACTION_CALL);
         数据:
              Uri data = Uri.parse("tel:"+number);
         设置数据:
              intent.setData(data);
         激活activity的组件:
              startActivity(intent);
         拨号的组件需要权限,该组件对外暴露的时候他要求这样的权限
         <user-permission android:name="android.permission.CALL_PHONE"/>
     
    短信发送器:
         真实手机的部署程序的方法:
              1.准备真实安卓手机
              2.给手机安装驱动
              3.打开开发者模式
              4.run as
     
    常见的布局(线性,相对,表格,绝对,帧布局)
         线性布局:
           Line arLayou  t线性布局,orientation:方向
         相对布局:
              android:layout_toLeltOf-->位于左边
              android:layout_toRightOf-->位于右边
              android:layout_above-->上面
              android:layout_below-->下面
              和什么对齐:
              android:layout_alignLelt-->左边
              android:layout_alignTop-->顶部
              android:layout_alignRight-->右边
              android:layout_alignBottom-->底部
              和父元素:
              android:layout_alignParentLelt-->左边
              android:layout_alignParentTop-->顶部
              android:layout_alignParentRight-->右边
              android:layout_alignParentBottom-->底部
              android:layout_centerInParent
              android:layout_centerHorizontal
              android:layout_centerVertical
              宽:
              android:layout_width
              高:
              android:layout_height
              外边距:
              android:layout_margin
         帧布局:
              特点:一层一层的显示
              <FrameLayout></FrameLayout>
              布局居中:
              android:layout_gravity="center"
         表格布局:
              特点:一行,一列
              <TableLayout></TableLayout>
              android:layout_weight="1"-->权重:比重
              android:gravity="center"-->控件里面的内容居中
         绝对布局:
              注意:开发中不要使用
              <AbsoluteLayout></AbsoluteLayout>
     
    常见单位:
         dip     px(像素:不要使用)
         如果是长度的单位:dp     dip
         文字的大小:sp
     

  • 相关阅读:
    CF1056G
    mysql xtrabackup 备份恢复
    linux yum源配置
    mysql 第24章 优化
    mysql 第23章 监控
    mysql 第22章 高可用MMM、MHA
    mysql 第21章 集群
    mysql 第20章 复制
    mysql 第19章 备份恢复
    mysql 第18章 导入导出
  • 原文地址:https://www.cnblogs.com/yuhudashen/p/7818536.html
Copyright © 2020-2023  润新知