• ADB进程

* adb指令
* adb install xxx.apk
* adb uninstall 包名
* adb devices
* adb start-server
* adb kill-server
* adb shell
* ls
* ps
* rm
* cd
* adb push 文件路径/文件名 sdcard/文件名
* adb pull sdcard/文件名

  • Android开发环境

* sdk
* eclipse
* adt:eclipse插件

  • DDMS

* 查看Android设备
* 控制台输出
* 给模拟器打电话发短信

  • Android项目目录结构

* assets:较大资源文件,没有资源id,使用io流读取
* libs:第三方jar包
* res:资源文件,有资源id

  • 按钮点击事件

* 设置侦听
* onClick属性

  • android五种常见布局

* 线性
* 相对
* 帧
* 表格:TableRow
* 绝对

  • Log

* 控制台输出分5个等级
* Log.v
* Log.e

  • 单元测试框架

* AndroidTestCase
* 指令集和类库

  • 数据存储

* 文件读写:内部存储、外部存储路径
* SharedPreference
* 键值对形式保存数据
* 保存到xml文件
* 数据库SQLite数据库
* ContentProvider
* 把数据保存在别人的私有文件中

  • XML生成解析

* XmlSerializer,序列化器
* DOM、SAX、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就把消息取出,交给Handler,触发handleMessage调用
* 发送消息:sendMessage
* 把消息发到创建Handler的那个线程的消息队列
* 消息携带数据
    * what
    * obj
    * setData:Bundle

  • Android四大组件

* Activity
* service
* broadcastReceiver
* contentProvider

  • Activity

    • * 生命周期:

* oncreate
* onstart
* onresume
* onpause
* onstop
* ondestroy
* onrestart

    • * 启动方式:

* startActivity
* startActivityForResult
* 回调onActivityReslut

    • * 启动模式:

* 标准
* singleTop
* singleTask
* singleInstance

  • Intent

* Activity跳转
* Service启动
* 广播发送
* 显式意图:指定目标Activity/Service的字节码
* 隐式意图:设置intent对象去匹配intent-filter
* 可以封装数据
    * 八大基本数据类型及其数组
    * String及其数组
    * bundle
    * 实现了序列化接口的对象
        * Serializable
        * Parcelable

  • 广播接收者

* 通过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. 【转】Pro Android学习笔记(十二):了解Intent(下)

    解析Intent,寻找匹配Activity 如果给出component名字(包名.类名)是explicit intent,否则是implicit intent.对于explicit intent,关键 ...

  2. Android学习笔记(十二)——实战:制作一个聊天界面

    //此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 运用简单的布局知识,我们可以来尝试制作一个聊天界面. 一.制作 Nine-Patch 图片 : Nine-Pa ...

  3. Android学习笔记(十二)BroadcastReceiver的有序广播和优先级

    前两篇博文中简单整理了普通广播,其实还有有序广播,有序广播在开发中也是比不可少的,可以给广播接收者设定优先级来控制接受顺序,并却可以中断广播传递等等. 一.两种Broadcast: · 普通广播(No ...

  4. Android学习总结(十二)———— BaseAdapter优化

    一.BaseAdapter的基本概念 对于Android程序员来说,BaseAdapter肯定不会陌生,灵活而优雅是BaseAdapter最大的特点.开发者可以通过构造BaseAdapter并搭载到L ...

  5. Android学习笔记(十二)——使用意图传递数据的几种方式

    使用意图传递数据的几种方式 点此获取完整代码 我们除了要从活动返回数据,也经常要传递数据给活动.对此我们能够使用Intent对象将这些数据传递给目标活动. 1.创建一个名为PassingData的项目 ...

  6. Android学习路线(十二)Activity生命周期——启动一个Activity

    DEMO下载地址:http://download.csdn.net/detail/sweetvvck/7728735 不像其他的编程模式那样应用是通过main()函数启动的.Android系统通过调用 ...

  7. Android学习笔记(十二)

    Fragment是一种可以嵌入在活动当中的UI片段,它能让程序更加合理和充分地利用大屏幕的空间. 碎片的简单用法:新建一个FragmentTest项目,然后新建一个左侧碎片布局left_fragmen ...

  8. Android学习笔记(十二) 线程

    Android中的线程和Java中的线程使用方法类似,参考(四)Java基础知识回顾 MainThread与WorkerThread UI相关的线程都运行在主线程(MainThread/UIThrea ...

  9. Android 学习笔记进阶十二之裁截图片

    package xiaosi.cut; import java.io.File; import android.app.Activity; import android.content.Intent; ...

  10. Android学习笔记进阶十二之裁截图片

    package xiaosi.cut; import java.io.File; import android.app.Activity; import android.content.Intent; ...

随机推荐

  1. C#遍历List并删除某个或者几个元素的方法

    C#遍历List并删除某个或者几个元素的方法,你的第一反应使用什么方法实现呢?foreach? for? 如果是foreach,那么恭喜你,你答错了.如果你想到的是用for,那么你只是离成功进了一步. ...

  2. .net 4.0 ValidateRequest="false"

    在安装了Visual Studio 2010 Beta2之后,当页面输入框默认情况下输入"<"或者">"的时候.按照访问策略,这将导致一些安全问题, ...

  3. C语言:其他进制数转换为十进制(方法一)

    #include<stdio.h> #include<math.h> #include<string.h> //其他任意进制转换为十进制 int main() { ...

  4. 最常用App开发工具更新总结

    程序员都知道,App常用开发工具有Sublime Text 3.Webstorm.Eclipse和APICloud Studio等,那么这些开发工具在2016年又有什么重大更新呢? 1.APIClou ...

  5. 解决MyEclipse吃内存以及卡死的方法

    前言:MyEclipse5.5 大小 139M:MyEclipse6.5 大小 451M:MyEclipse7.0 大小 649M!下载服务器又是国外的...下载速度累人也就罢了,只要你工作性能一流. ...

  6. Android百度地图开发(一)之初体验

    转载请注明出处:http://blog.csdn.net/crazy1235/article/details/42614603 做关于位置或者定位的app的时候免不了使用地图功能,本人最近由于项目的需 ...

  7. HTTP报文

    HTTP报文分为请求报文(request message)与响应报文(response message). 一.报文的组成部分 一个HTTP报文由3部分组成,分别是: (1).起始行(start li ...

  8. mysql 常见的几个错误问题

    Mysql常见的几个错误问题及解决方法: 1.问题: mysql DNS反解:skip-name-resolve 错误日志有类似警告: 点击(此处)折叠或打开 120119 16:26:04 [War ...

  9. Leetcode: Strobogrammatic Number III

    A strobogrammatic number is a number that looks the same when rotated 180 degrees (looked at upside ...

  10. Codeforce Round #214 Div2

    我是不是快要滚蛋了,这次CF爆0? 居然第一题都过不去了,妈蛋附近有没有神经病医院,我要去看看! 精力憔悴! 第一题,我以为要恰好这么多钱,不能多余,想想这也没必要,不符合逻辑,及自己就是这么傻逼! ...