首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
移动开发
> 详细
Android 基础篇(二)
时间:
2016-05-02 20:02:25
阅读:
234
评论:
0
收藏:
0
[点我收藏+]
标签:
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 基础篇(二)
标签:
原文地址:http://www.cnblogs.com/tyzl/p/5452883.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
关闭苹果IOS app自动更新
2021-07-29
开发一个即时通讯App
2021-07-28
iOS 跳转App Store进行评分
2021-07-26
诺基亚短信生成!太好玩了
2021-07-26
【Azure 应用服务】App Service 配置 Application Settings 访问Storage Account得到 could not be resolved: '*.file.core.windows.net'的报错。没有解析成对应中国区 Storage Account地址 *.file.core.chinacloudapi.cn
2021-07-26
Android系统编程入门系列之界面Activity响应丝滑的传统动画
2021-07-26
uniapp h5,app两端复制文本
2021-07-22
uni-app滚动视图容器(scroll-view)之监听上拉事件
2021-07-21
新型横向移动工具原理分析、代码分析、优缺点以及检测方案
2021-07-19
Android系统编程入门系列之界面Activity交互响应
2021-07-19
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!