• ADB进程
  • adb指令

    • adb install xxx.apk
    • adb uninstall 包名
    • adb devices
    • adb start-server
    • adb kill-server
    • adb shell –> 进入Linux的命令行
      • ls –> 显示文件及包名
      • ps –> 列举所有运行的进程
      • rm –> 删除文件
      • cd –> 切换目录
    • adb push 文件路径/文件名 sdcard/文件名 –> 把文件放进去
    • adb pull sdcard/文件名 –> 把文件拉出来,在哪个里面执行就拉倒哪
  • Android开发环境

    • sdk –> 软件开发工具包
    • eclipse –> Android Studio 代替了eclipse
    • adt:eclipse插件 –> Android开发工具
  • DDMS –> 调试服务
    • 查看Android设备
    • 控制台输出
    • 给模拟器打电话发短信
  • Android项目目录结构
    • assets:较大资源文件,没有资源id,使用io流读取
    • libs:第三方jar包
    • res:资源文件,有资源id
  • 按钮点击事件
    • 设置侦听
    • onClick属性
  • android五种常见布局
    • 线性 –> 竖直是上下无效,水平是左右无效
    • 相对
    • 帧 –> 只能上下左右对齐父元素
    • 表格:TableRow –> 表示行,子节点表示列
    • 绝对
  • Log –> 自定义等级和Tag
    • 控制台输出分5个等级
    • Log.v –> 打印冗余信息
    • Log.e
  • 单元测试框架
    • AndroidTestCase
    • 指令集【instrumentation : targetPackage 目标的包,及你要测哪个包】和类库【uses-library】
  • 数据存储
    • 文件读写:内部存储、外部存储路径
    • SharedPreference
      • 键值对形式保存数据
      • 保存到xml文件
    • 数据库SQLite数据库
    • ContentProvider
      • 把数据保存在别人的私有文件中
  • XML生成解析
    • XmlSerializer,序列化器
    • DOM(将整个文档全部加载到内存中)、SAX、PULL 【后两个都是读取一行解析一行,单Google推荐用pull】
    • pull事件类型
      • START_DOCUMENT
      • END_DOCUMENT
      • START_TAG
      • END_TAG
      • TEXT
  • SQLite数据库
    • SQLiteOpenHelper:创建数据库
    • 构造方法的4个参数
    • SQLiteDatabase:增删改查
    • 主键:_id
  • ListView:用于显示列表
    • 条目是一个View对象,可以用布局文件填充而来
    • 设置Adapter
    • getCount:获取条目总数
    • getView:获取View对象作为条目显示
    • 条目一旦划出屏幕,就会被缓存
    • 下一次getView方法调用时,会把缓存传进去
  • 网络请求
    • URL对象封装网址
    • 打开连接对象
    • 对连接对象做设置
      • 请求方式get/post
      • 连接/读取超时
    • 发送请求,获取相应码
    • 服务器通过流把请求的数据交给客户端
  • 消息队列机制
    • 主线程[本身就是一个死循环]创建时,就会创建MessageQueue和Looper对象
    • 程序员创建Handler对象
    • 消息队列中有消息,Looper【有Looper线程才能创建消息队列】就把消息取出,交给Handler,触发handleMessage调用,子线程没有Looper,只能自己创建,这样才能创建Handler
    • 发送消息:sendMessage
      • 把消息发到创建Handler的那个线程的消息队列
    • 消息携带数据
      • what
      • obj
      • setData:Bundle
  • Android四大组件
    • Activity
    • service
    • broadcastReceiver
    • contentProvider
  • Activity
    • 生命周期:

      • oncreate
      • onstart
      • onresume
      • onpause
      • onstop
      • ondestroy
      • onrestart
    • 启动方式:
      • startActivity
      • startActivityForResult –> 销毁时返回数据
      • 回调onActivityReslut –> 返回数据
    • 启动模式:
      • 标准 –> 默认,stander
      • singleTop –> 不在栈顶就创建
      • singleTask –> 栈中有就不创建,将它上面的都销毁掉
      • singleInstance –> 系统会用到【来电界面】,我们一般不用,保证内存中只有一个
  • Intent
    • Activity跳转
    • Service启动
    • 广播发送
    • 显式意图:指定目标Activity/Service的字节码 【本地应用,直接用.class等】
    • 隐式意图:设置intent对象去匹配intent-filter 【远程应用】
    • 可以封装数据
      • 八大基本数据类型及其数组
      • String及其数组
      • bundle
      • 实现了序列化接口的对象
        • Serializable –> java提供,本地化、持久化保存对象或与服务器做数据交互用它
        • Parcelable –> Android 自己定义,用于内存中传递
  • 广播接收者
    • 通过intent-filter定义接收什么广播
    • 可以设置优先级,对于有序广播有效
    • 有序广播
      • 按照优先级区分接收的先后顺序
    • 无序广播
      • 不分先后顺序
      • 不能拦截,不能修改广播内容
  • Service
    • 启动方式

      • startService

        • 服务进程
        • 服务跟Activity没有一毛钱关系
        • onCreate-onStartCommand-onDestroy
      • bindService
        • 进程优先级不变
        • 服务和Activity同生共死
          • onCreate-onBind-onUnbind-onDestroy
    • 进程优先级
      • 前台进程
      • 可见进程
      • 服务进程
      • 后台进程
      • 空进程
      • 先杀优先级低的,相同优先级,LRU【最近最少使用】算法定生死
  • AIDL –> 安卓接口定义语言,用于进程通信
    • 把接口文件后缀名改成aidl
    • aidl中默认都是public,不需要也不允许定义访问修饰符
    • 中间人对象继承Stub
    • 把aidl复制到启动者的应用中,包名必须一致
    • 绑定时获得中间人对象,Stub.asInterface强转
  • ContentProvider:
    • 共享私有数据
    • 提高安全性,可以定义共享规则
    • Uri匹配器
      • 匹配Uri末尾携带的内容
    • ContentObserver:接收通知,内容提供者改变数据库时会发通知
  • 播放器
    • MediaPlayer:音乐视频
    • SurfaceView:视频播放
      • surfaceHolder
      • 可见时创建,不可见时销毁
  • 摄像头

    • 启动系统自带的Activity

      • 自定义

        • Camera:负责拍照
        • SurfaceView:显示预览界面
  • 图片处理

    • 加载图片时会解析图片的所有像素信息
    • 内存中使用ARGB保存像素信息,也就是32位色,占用4个字节
    • 压缩图片后再加载

Android 基础篇(二)的更多相关文章

  1. php基础篇-二维数组排序 array_multisort

    原文:php基础篇-二维数组排序 array_multisort 对2维数组或者多维数组排序是常见的问题,在php中我们有个专门的多维数组排序函数,下面简单介绍下: array_multisort(a ...

  2. 深入理解gradle编译-Android基础篇

    深入理解gradle编译-Android基础篇 导读 Gradle基于Groovy的特定领域语言(DSL)编写的一种自动化建构工具,Groovy作为一种高级语言由Java代码实现,本文将对Gradle ...

  3. JavaScript笔记基础篇(二)

    基础篇主要是总结一些工作中遇到的技术问题是如何解决的,应为本人属于刚入行阶段技术并非大神如果笔记中有哪些错误,或者自己的一些想法希望大家多多交流互相学习. 1.ToFixed()函数 今天在做Birt ...

  4. android基础篇学习心得

    android技术中,线程.进程.JNI.IPC和各个小框架结构是基本功.在跟随高焕堂老师的android程序猿到架构师之路系列视频中 学习完基础篇之后,颇有些心得,记录下来. android开发就是 ...

  5. Qt入门之基础篇 ( 二 ) :Qt项目建立、编译、运行和发布过程解析

    转载请注明出处:CN_Simo. 题解: 本篇内容主讲Qt应用从创建到发布的整个过程,旨在帮助读者能够快速走进Qt的世界. 本来计划是讲解Qt源码静态编译,如此的话读者可能并不能清楚地知道为何要静态编 ...

  6. NIO相关基础篇二

    转载请注明原创出处,谢谢! 上篇NIO相关基础篇一,主要介绍了一些基本的概念以及缓冲区(Buffer)和通道(Channel),本篇继续NIO相关话题内容,主要就是文件锁.以及比较关键的Selecto ...

  7. Hybrid APP基础篇(二)->Native、Hybrid、React Native、Web App方案的分析比较

    说明 Native.Hybrid.React.Web App方案的分析比较 目录 前言 参考来源 前置技术要求 楔子 几种APP开发模式 概述 Native App Web App Hybrid Ap ...

  8. docker+k8s基础篇二

    Docker+K8s基础篇(二) docker的资源控制 A:docker的资源限制 Kubernetes的基础篇 A:DevOps的介绍 B:Kubernetes的架构概述 C:Kubernetes ...

  9. Python基础篇(二)_基本数据类型

    Python基础篇——基本数据类型 数字类型:整数类型.浮点数类型.复数类型 整数类型:4种进制表示形式:十进制.二进制.八进制.十六进制,默认采用十进制,其他进制需要增加引导符号 进制种类 引导符号 ...

随机推荐

  1. Java 容器(list, set, map)

    java容器类库的简化图: (虚线框表示接口, 实线框表示普通的类, 空心箭头表示特定的类实现了接口, 实心箭头表示某个类可以生成箭头所指的类对象) 继承Collection的主要有Set 和 Lis ...

  2. (转)java DecimalFormat用法

    DecimalFormat 是 NumberFormat 的一个具体子类,用于格式化十进制数字. DecimalFormat 包含一个模式 和一组符号 符号含义:   0 一个数字   # 一个数字, ...

  3. JavaScript 基础回顾——数组

    JavaScript是无类型语言,数组元素可以具有任意的数据类型,同一个数组的不同元素可以具有不同类型.数组的元素设置可以包含其他数组,便于模拟创建多维数组. 1.创建数组 在JavaScript中, ...

  4. GIF

  5. NOIP模拟赛20161016R1

    1.传教士(bishop) 问题描述: panzhili王国的疆土恰好是一个矩形,为了管理方便,国王jjs将整个疆土划分成N*M块大小相同的区域.由于jjs希望他的子民也能信教爱教(”打拳”神教),所 ...

  6. 一分钟搞定AlloyTouch图片轮播

      一分钟搞定AlloyTouch图片轮播 轮播图也涉及到触摸和触摸反馈,同时,AlloyTouch可以把惯性运动打开或者关闭,并且设置min和max为运动区域,超出会自动回弹.除了一般的竖向滚动,A ...

  7. Mui沉浸模式以及状态栏颜色改变

    沉浸模式只需要设置下就可以  ios:  打开应用的manifest.json文件,切换到代码视图,在plus -> distribute -> apple 下添加UIReserveSta ...

  8. 简单的angular购物车商品小计

    <!DOCTYPE html> <html lang="en" ng-app="shopApp"> <head> <m ...

  9. java多线程系类:JUC锁:01之框架

    本章,我们介绍锁的架构:后面的章节将会对它们逐个进行分析介绍.目录如下:01. Java多线程系列--"JUC锁"01之 框架02. Java多线程系列--"JUC锁&q ...

  10. BZOJ 4423 【AMPPZ2013】 Bytehattan

    Description 比特哈顿镇有n*n个格点,形成了一个网格图.一开始整张图是完整的. 有k次操作,每次会删掉图中的一条边(u,v),你需要回答在删除这条边之后u和v是否仍然连通. Input 第 ...