zoukankan      html  css  js  c++  java
  • Android 基础篇(二)

    • 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个字节
      • 压缩图片后再加载
  • 相关阅读:
    C# TryParse
    C#委托的学习笔记
    C#基础学习C# 8.0 In a Nut Shell
    Everything学习之三
    Everything学习笔记二
    搜索软件everything帮助文档全文翻译
    Git笔记之基础命令
    Git学习笔记
    附加属性
    日期函数
  • 原文地址:https://www.cnblogs.com/tyzl/p/5452883.html
Copyright © 2011-2022 走看看