- 浏览: 4086 次
- 性别:
- 来自: 重庆
文章分类
最新评论
Android学习笔记
目录
Android学习笔记 1
1. 布局 4
1) 线性布局(LinearLayout) 4
2) 帧布局(FrameLayout) 4
3) 网格布局(Grid View) 4
4) 相对布局(Relative Layout) 5
5) 绝对布局(AbsoluteLayout) 5
6) 表格布局(TableLayout) 5
2. 基本控件 5
1) TextView 文本组件 5
2) EditText 编辑框组件 6
3) Button按钮组件 6
4) RadioButton单选按钮 6
5) CheckBoxButton 复选框 6
6) ImageView图片视图 6
7) ImageButton图片按钮 7
8) TimePicker时间选择器 7
9) DatePicker日期选择串 7
10) Spinner 下拉列表 7
3. 事件 7
1) 单击事件OnClickListener 7
2) 单选按钮事件 OnCheckedChangeListener 7
3) 日期控件事件 OnDateChangerListener 8
4) 时间控件事件 OnTimeChangerListener 8
5) 下拉列表事件 OnItemSelectedListener 8
6) 按键事件 OnKeyListener 8
7) 长按事件 OnLongClickListener 9
8) 焦点改变事件 OnFocusChangeListener 9
9) 触摸事件 OnTouchListener 9
4. 复杂控件 9
1) 信息提示框组件 Toast 9
2) 进度条组件 ProgressBar 10
3) 拖动组件SeekBar 10
4) 评分组件RatingBar 10
5) 状态开关按钮组件 ToggleButton 10
6) 状态开关组件 Switch 10
7) 时钟组件 AnalogClock 和 DigitalClock 10
8) 计时器控件 Chronometer 11
9) 滚动控件 ScrollView 11
10) 列表视图控件 ListView 11
11) SimpleAdapter 封装复杂数据 11
12) ListActivity类 11
13) ListView事件 12
14) 自动文本提示组件 AutoCompleteTextView 12
15) 网格视图组件 GridView 12
16) 可展开列表组件 ExpandableListView 12
17) 画廊视图组件 Gallery 12
18) AdapterViewFilpper组件 13
19) StackView组件 13
20) 图片切换组件ImageSwitcher 14
21) 文本切换组件TextSwitcher 14
22) 日历组件CalendarSwitcher 15
23) 数字组件NumberPicker 15
24) 搜索框组件SearchView 16
25) 选项卡组件TabHost 16
26) 对话框组件Dialog 16
27) 日期选择对话框组件DatePickerDialog 17
28) 时间选择对话框组件TimePickerDialog 17
29) 进度条对话框组件ProgressDialog 17
30) 缩放控制组件ZoomControls 18
31) 滑动抽屉组件SlidingDrawer 18
32) 菜单组件Menu 18
33) 活动条组件ActionBar 20
5. Activity 组件 20
1) Android 应用主配置文件AndroidManifest.xml 20
2) 启动和关闭Activity 21
3) 使用Bundle、Intent 进行Activity 数据交互 21
4) Activity 的生命周期 23
5) Activity 的4 种加载模式 24
6. Fragment 组件 24
1) 创建Fragment 24
2) ListFragment 实例 24
3) Fragment 与Activity 通信 24
4) DialogFragment 实例 24
5) PreferenceFragment 实例 24
6) WebViewFragment 实例 24
7) Fragment 生命周期 24
7. Android 数据存储 24
1) SharedPreferences 24
2) 文件存储 24
3) SQLite 数据库存储 24
4) 解析XML 文件 24
8. ContentProvider 组件 24
1) ContentProvier 组件介绍 24
2) ContentResolver 25
3) Uri 介绍 25
4) ContentProvider 程序实现 25
5) android 系统的ContentProvider 使用 25
9. Service 组件 25
1) 开发Service 组件 25
2) 绑定Service 组件 25
3) Service 生命周期 25
4) IntentService 25
10. BroadcastReceiver 组件 26
1) 定义BroadcastReceiver 26
2) 发送广播 26
3) 发送有序广播 26
4) 接收系统广播消息 26
11. Android 网络通信 26
1) Http 方式交互 26
2) Socket 方式交互 26
3) WebView 组件 26
1.布局
所有的布局可以嵌套使用
1)线性布局(LinearLayout)
方向 orientation
水平方向 horizontal
垂直方向 vertical
对齐方式 gravity
Right 右对齐
Left 左对齐
center_vertical 垂直居中
……
center_vertical|center_horizontal 水平垂直居中
2)帧布局(FrameLayout)
就是一层一层叠在一起,后面的会遮挡前面的元素
3)网格布局(Grid View)
因为grid view 是android 4.0中新添加的,所以使用风格布局时先设置清单文件中的minSdkVersion 为14.
columnCount 设置多少列
rowCount 设置多少行
特殊需求
一个单元格占多行/列
设置layout_columnSpan/layout_rowSpan 配合layout_gravity=”fill”
4)相对布局(Relative Layout)
相对布局就是相对某一个控件进行摆放,可以通过控制将组件摆放在一个参考组件的上下左右。
layout_below =“@+id/参照组件”
5)绝对布局(AbsoluteLayout)
绝对布局在高版本中已经废弃了,但是还是可以使用
绝对布局就是通过 layout_x 、layout_y 设置值调整位置
单位: dp
6)表格布局(TableLayout)
TableRow 行
collapseColumns 隐藏指定的列 “,”分隔
shrinkColumns 允许被收缩 指定的列 “,”分隔
stretchColumns 拉伸指定的列“,”分隔
2.基本控件
1)TextView 文本组件
单位:px 像素 、dp 不依赖像素、sp
属性名 功能 备注
公共属性
2)EditText 编辑框组件
属性
属性名 功能 备注
android:inputType 设置编辑框类型
3)Button按钮组件
4)RadioButton单选按钮
配合RadioGroup使用
设置默认选中按钮
checkedButton @+ 指定按钮的id
5) CheckBoxButton 复选框
Checked=”true”默认选中
6)ImageView图片视图
最大/最小宽高
min/maxHeight
minmaxWidth
adjustViewBounds 自适应
7)ImageButton图片按钮
使用background属性设置图片
8)TimePicker时间选择器
9)DatePicker日期选择串
setIs24HourView 设置日期为24小时制
10)Spinner 下拉列表
Prompt 提示文字信息
Entries 设置数据
3.事件
1)单击事件OnClickListener
使用两种方式
匿名对象
New OnClickListener(){};
实现OnClickListener的类
2)单选按钮事件 OnCheckedChangeListener
使用两种方式
匿名对象
实现OnClickListener的类
例:
单选组件对象.getId==checkedId
说明这个组件被选中
3)日期控件事件 OnDateChangerListener
实现
添加私有内部类 实现 OnDateChangedListener
注意:月份从0开始
注册事件
日期控件对象..init(date.getYear,date.getMonth,date.getDayOfMonth,new 事件监听类/接口);
给定默认值
4)时间控件事件 OnTimeChangerListener
监听事件类
可以使用匿名内部类或者使用内部类实现OnTimeChangerListener接口
注册事件
时间控件对象.setOnTimeChangedListener();
5)下拉列表事件 OnItemSelectedListener
在内部类中实现OnItemSelectedListener接口
重写的两个方法。
onItemSelected
Position 选中项的下标
id
通过arrayAdaper适配器 填充数据
获取选中的值
.getSelected.ItemtoString();
onNothingSelected
6)按键事件 OnKeyListener
一般用于验证文本数据
在事件监听类中实现OnkeyListener
Int keyCode 按键code a :29 b:30
KeyEvent event
按键动作
KeyEvent .ACTION_DOWN 按键按下
KeyEvent .ACTION_UP 按键松开
7)长按事件 OnLongClickListener
在内部类中实现OnLongClickListener接口,重写相应方法,注册事件即可。
8)焦点改变事件 OnFocusChangeListener
内部类实现OnFocusChangeListener接口,重写方法,注册事件
通过View.getId() 和组件.getId()判断是否是想要的组件获得焦点
Boolean hasFocus true : 获取焦点 false: 失去焦点
9)触摸事件 OnTouchListener
触摸事件 一般用于获取坐标
4.复杂控件
1)信息提示框组件 Toast
Toast.makeText(getApplicationContext(), "短时间通知!",
Toast.LENGTH_SHORT).show()
长时间通知 Toast.LENGTH_LONG
短时间通知 Toast.LENGTH_SHORT
自定义通知
获取Toast对象
获取tomat布局
添加要添加的组件
例:
Toast myToast -=Toast.
Toast custom = Toast.makeText(getApplicationContext(),
"Hello!", Toast.LENGTH_SHORT);
LinearLayout line = (LinearLayout) custom.getView();
ImageView pig = new ImageView(getApplicationContext());
pig.setImageResource(R.drawable.pig2);
line.addView(pig, 0);
custom.show();
2)进度条组件 ProgressBar
环形进度条
通过style属性设置进度条样式
Widget.AppCompat.ProgressBar
水平进度条
通过style属性设置进度条样式
Widget.AppCompat.ProgressBar.Horizontal
Visibility 属性
Gone 隐藏
Invisible 隐藏占位
Visible 显示
更新UI操作放在Handler中 主线程
3)拖动组件SeekBar
拖动事件监听接口 OnSeekBarChangeListener
4)评分组件RatingBar
评分监听事件接口 OnRaingBarListener
5)状态开关按钮组件 ToggleButton
设置开关显示文本
textOff
textOn
开关状态监听事件接口 OnCheckedChangedListener
6)状态开关组件 Switch
同上
7)时钟组件 AnalogClock 和 DigitalClock
8)计时器控件 Chronometer
Chronometer
Start 开始计时
Stop 停止计时
//设置基准时间
setBase(long time); SystemClock.elapsedRaltime();
9)滚动控件 ScrollView
用ScrollView包裹所有的组件
10)列表视图控件 ListView
分隔线
Divider 分隔颜色
DividerHeight 设置高度
初始化数据
Entries属性指定string-array数组xml
使用适配器
11)SimpleAdapter 封装复杂数据
首先使用
1、ListView
2、添加布局文件用于复件的列表项 例如qq
3、通过Adapter 设置数据
使用写的项目,
12)ListActivity类
这个类本身相当于一个ListView
使用时:
新建复杂列表项
继承ListActivity
调用父类的setListAdapter()
初始化数据并显示
详细参考:listActivity项目
13)ListView事件
列表项的事件
OnItemSelectedListener 列表项选中事件监听 已经废弃
OnItemClickListener 列表项单击事件监听
OnItemLongClickListener 列表项长按事件监听
14)自动文本提示组件 AutoCompleteTextView
添加Adapter 适配器
设置adapter
15)网格视图组件 GridView
numColumns 设置行显示的列数
设置数据 Adapther
16)可展开列表组件 ExpandableListView
组件
ExpandableListView
适配器:
BaseExpandableListAdapter
事件:
OnGroupClickListener 分组单击事件
OnChildClickListener 子项单击事件
OnGroupExpandListener 分组展开事件
OnGroupCollapseListener 分组关闭事件
例子:QQ好友列表
17)画廊视图组件 Gallery
组件
Gallery
适配器
BaseAdapter
说明
在高版本中已经废弃。取而代之的是PageView
18)AdapterViewFilpper组件
说明
属性
适配器
BaseAdapter
方法
方法名 功能 备注
flipInterval 设置自动播放图片的间隔时间
startFlipping 自动播放
stopFlipping 停止自动播放
showNext 下一张
showPrevious 上一张
19)StackView组件
说明
实现堆叠的效果
属性
属性名 功能 备注
loopViews 循环视图列表滚动
适配器
BaseAdapter
方法
方法名 功能 备注
showNext 下一张
showPrevious 上一张
20)图片切换组件ImageSwitcher
说明
浏览图片,用于切换
属性
属性名 功能 备注
事件
适配器
方法
方法名 功能 备注
setFactory 设置返回的视图
setImagesResource 设置图片id
setInAnimation 设置图片进入时动画 R.anim
setOutAnimation 设置图片结束时动画 R.anim
21)文本切换组件TextSwitcher
说明
切换文字
属性
属性名 功能 备注
事件
适配器
方法
方法名 功能 备注
setFactory 设置返回的视图
setText 设置文本 id
setInAnimation 设置文本进入时动画 R.anim
setOutAnimation 设置文本结束时动画 R.anim
22)日历组件CalendarSwitcher
说明
一个日历组件,提供获取年月日
属性
属性名 功能 备注
事件
OnDateChangeListener
月份加一
适配器
方法
方法名 功能 备注
23)数字组件NumberPicker
说明
滚动数字。。
监听
OnValueChangeListener 获取值接口
方法
方法名 功能 备注
setValue 设置默认值
setMinValue 设置最小值
setMaxValue 设置最大值
24)搜索框组件SearchView
说明
用于搜索数据,
监听
OnQueryTextListener 实现接口
方法
方法名 功能 备注
onQueryTextSubmit 获取提交文本信息
onQueryTextChange 输入的内容改变时,触发方法
25)选项卡组件TabHost
布局
添加组件TabHost 声明 android:id="@android:id/tabhost" 最外层
添加TabWidget 声明 android:id="@android:id/tabs" 不包含内容
添加FrameLayout 声明 android:id="@android:id/tabcontent" 包含选项卡内容
Code
主类继承TabActivity 已经废弃
添加 TabHost 成员属性;
获取tabHost getTabHost();
实例化选项并添加到:
TabSpecab1=tabHost.newTabSpec("tab1").setIndicator("群组").setContent(R.id.tab1);
tabHost.addTab(tab1);
26)对话框组件Dialog
简单对话框
Dialog
方法:
方法名 功能 备注
setTitle 设置标题
setIcon 设置
setMessage 设置提示信息内容
setNegativeButton 添加取消按钮
setPositiveButton 添加确定按钮
Show 显示对话框
Create 创建对话框
例:
Dialog dialog = new AlertDialog.Builder(this).setTitle("提示")
.setMessage("确认删除数据?").setIcon(R.drawable.info)
Dialog.show();
单选对话框
设置setSingleChoiceItems方法指定选项
多选对话框
设置setMultiChoiceItems指定列表项数组
列表对话框
添加setItems 指定数据列表
自定义对话框
添加自定义view.xml
创建对话框并设置setView()
27)日期选择对话框组件DatePickerDialog
创建 DatePickerDialog对象并设置指定的年月日调用 show()方法
28)时间选择对话框组件TimePickerDialog
创建 TimePickerDialog对象并设置指定的时分调用 show()方法
29)进度条对话框组件ProgressDialog
方法名 功能 备注
dismiss 隐藏对话框
onstart
Show 显示对话框
setProgressStyle 设置进度条样式 ProgressDialog“.”常量
30)缩放控制组件ZoomControls
方法名 功能 备注
setZoomSpeed(long speed) 设置缩放速度
setIsZoomInEnabled 允许放大
setIsZoomOutEnabled 允许缩小
setOnZoomInClickListener 设置放大按钮事件监听
setOnZoomOutClickListener 设置缩小按钮事件监听
31)滑动抽屉组件SlidingDrawer
属性
SlidingDrawer组件
Content 指定抽屉里的内容
Handle 指定抽屉柄
注:抽屉柄和和内容放到SlidingDrawer中 添加id content、Handle
监听
方法名 功能 备注
setOnDrawerOpenListener 打开抽屉监听
setOnDrawerCloseListener 关闭抽屉监听
setOnDrawerScrollListener 打开关闭这个动作监听
32)菜单组件Menu
选项菜单(optionMenu)
重写Activity的方法
方法名 功能 备注
onCreateOptionsMenu 创建选项菜单
onOptionsItemSelected 选中某个菜单项
onOptionsMenuClosed 壮志关闭菜单
Menu的方法
方法名 功能 备注
add 添加菜单项到选项菜单里
setIcon 设置选项图标
getTitle 获取当前选项文本
getItemId 获取当前选项id
子菜单
代码添加菜单
添加一个菜单项
SubMenu addSubMenu=ment.addSubMent();
通过菜单项添加子项目
subMenu.add();
Xml添加菜单
添加menu.xml
添加子菜单项
SubMenu addSubMenu=ment.addSubMent();
super.getMenuInflater().inflate(指定xml,addSubMenu);
上下文菜单
上下文菜单是为某个组件添加的,有点像OnLongClick 事件监听
注册给某个组件
registerForContextMenu(View v);
重写Activity onCreateContextMenu创建主菜单
弹出菜单(PopupMenu)
PopupMenu pop = new PopupMenu(this, v); v:当前组件
方法名 功能 备注
getMenu 获取菜单对象,然后添加菜单项目
setOnMenuItemClickListener 设置弹出菜单单击事件
Show() 显示弹出菜单
33)活动条组件ActionBar
启用禁用
ActionBar 方法
方法名 功能 备注
getActionBar 获取 ActionBar
Hide() 隐藏 actionBar
Show() 显示 actionbar
setDisplayShowHomeEnabled 设置程序图标是否隐藏
显示选项菜单
启动程序图标导航
添加搜索框
实现Tab导航
实现下拉导航
5.Activity 组件
1)Android 应用主配置文件AndroidManifest.xml
android.intent.action.MAIN
软件信息
package="com.example.activitydemo" 指定的包路径
android:versionCode="1" 当前应用版本
android:versionName="1.0" 版本名
Application
android:allowBackup="true" 是否允许备份程序数据
android:icon="@drawable/info" 设置图标
android:label="@string/app_name" 指定程序显示的名称
android:theme="@style/AppTheme" 指定主题
使用版本
<uses-sdk
android:maxSdkVersion="23" 最大支持android 6.0
android:minSdkVersion="8" 最小支持 android 2.1
android:targetSdkVersion="21" /> 目标版本 android 4.4
意图过滤器
<intent-filter>
设置默认activity
<action android:name="android.intent.action.MAIN" />
在桌面显示启动
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
权限 - permission
参考:api
2)启动和关闭Activity
添加类继承Activity
在清单文件中声明Activity
打开Activity
Intent intent=new (Content,Activity.class);
this.startActivity(intent);
关闭Activity
This.finish()
3)使用Bundle、Intent 进行Activity 数据交互
Bundle 一般是用来传送对象 (需要序列化);
发送数据
实例化bundle
通过bundle.put(key,value);添加键值对数据
实例化 Intent
使用intent.putExtras(bundle)添加到意图中
接收数据
获取Intent对象
Intent intent = this.getIntent();
获取 Bundle 对象
Bundle bundle = intent.getExtras();
获取数据
Bundle.get(key);
发送带返回数据的
startActivityForResult(int requetCode,Intent intent);
发送请求码和意图对象
目标Activity设置返回数据
Intent intent=new Intent();实例化意图对象
Inetent.putExtra(key,value);设置返回数据
setResult(resultCode,Intent);返回响应码和意图对象
获取返回的数据
重写onActivityResult()方法
通过请求码和响应码 获取返回的数据
int requestCode 请求码
int resultCode 响应码
Intent data 返回的意图
4)Activity 的生命周期
生命周期
方法名 功能 备注
onCreate 创建
onStart 开始
onResume 恢复
onPause 暂停
onStop 停止
onDestory 销毁
Activity四种状态
活动状态 当前Activity位于前台,用户可见
暂停状态 其它Activity位于前台,Activitys可见,不能获取焦点
停止状态 该Activity不可见,失去焦点;
销毁状态 该Activity结束
5)Activity 的4 种加载模式
在清单文件中,设置Activity android:launchMode=”standard|single|……”
standard
标准模式,一调用startActivity()方法就会产生一个新的实例。
singleTop
如果已经有一个实例位于Activity栈的顶部时,就不产生新的实例,而只是调用Activity中的newInstance()方法。如果不位于栈顶,会产生一个新的实例。
singleTask
会在一个新的task中产生这个实例,以后每次调用都会使用这个,不会去产生新的实例了。
singleInstance
这个跟singleTask基本上是一样,只有一个区别:在这个模式下的Activity实例所处的task中,只能有这个activity实例,不能有其他的实例。
6.Fragment 组件
1)创建Fragment
2)ListFragment 实例
3)Fragment 与Activity 通信
4)DialogFragment 实例
5)PreferenceFragment 实例
6)WebViewFragment 实例
7)Fragment 生命周期
7.Android 数据存储
1)SharedPreferences
SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个key-value(键值对)。
获取SharedPreferences两种方式
方法名 功能 备注
getSharedPreferences() 获取SharedPreferences实例 调用Context对象
getPreferences() 获取SharedPreferences实例 调用Activity对象
SharedPreferences的四种操作模式
属性 功能 备注
Context.MODE_PRIVATE 为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容
Context.MODE_APPEND 模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件.
Context.MODE_WORLD_READABLE 用来控制其他应用是否有权限读写该文件
Context.MODE_WORLD_WRITEABLE 表示当前文件可以被其他应用读取或写入
写入数据
SharedPreferences实例的edit()方法获取获取Editor获取实例
通过edit put添加要存储的值
数据类型可以是 boolean、int、long、float、String、Set<String>
写入数据时调用commit();提交方法;
读取数据
直接使用SharedPreferences实例 get数据类型(key,default)
注:当没有找到相应的key时 使用默认值
2)文件存储
输入输出流
方法名 功能 备注
openFileInput(String name) 获取FileInputStream 输入流
openFileOutput(String name, int mode) 获取FileOutputStream 输出流
操作权限:
属性 功能 备注
MODE_PRIVATE 用0表示默认值,只能够创建文件的应用程序访问该文件,每次文件写入为覆盖方式。
Context.MODE_APPEND 模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件.
MODE_WORLD_READABLE 只有读权限。
MODE_WORLD_WRITEABLE 只有写权限。
常用的方法
参考 API
3)SQLite 数据库存储
SQLite 和 mysql 差不多,基本sql语法可以拿来使用。
数据库操作
打开或创建test.db数据库
SQLiteDatabase db = openOrCreateDatabase("test.db", Context.MODE_PRIVATE, null);
注意点:创建数据库时设置编码
修改android_metadata 字段locale 值为 zh_CN(中国) en_US (美国)
当数据库不存在时,创建数据库
表操作
方法名 功能 备注
execSQL(String sql,Object[]) 执行ddl、dml sql语句 object占位符对应值
Insert() 返回记录影响条数
update() 返回记录影响条数
delete() 返回记录影响条数
rawQuery() Cursor 对你
表记录操作
CURD
例:
person.name = "david";
person.age = 33;
//ContentValues以键值对的形式存放数据
ContentValues cv = new ContentValues();
cv.put("name", person.name);
cv.put("age", person.age);
//插入ContentValues中的数据
db.insert("person", null, cv);
Cursor对象 方法
方法名 功能 备注
move(int offset) 以当前位置为参考,移动到指定行
moveToFirst() 移动到第一行
moveToLast() 移动到最后一行
moveToPosition(int position) 移动到指定行
moveToPrevious() 移动到前一行
moveToNext() 移动到下一行
isFirst() 是否指向第一条
isLast() 是否指向最后一条
isBeforeFirst() 是否指向第一条之前
isAfterLast() 是否指向最后一条之后
isNull(int columnIndex) 指定列是否为空(列基数为0)
isClosed() 游标是否已关闭
getCount() 总数据项数
getPosition() 返回当前游标所指向的行数
getColumnIndex(String coulmnName) 返回某列名对应的列索引值
getString(int columnIndex) 返回当前行指定列的值
4)解析XML 文件
Dom
Sax
Pull
创建xml
1.输出流 创建xml 文件
FileOutputStream out = new FileOutputStream(filePath + "users.xml");
2.得到工厂实例
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
3.序列化
XmlSerializer xs = factory.newSerializer();
4.设置输出编码
xs.setOutput(out, "utf-8");
5.设置xml文档 编码 true:不使用dtd 格式
xs.startDocument("utf-8", true);
6.设置开始标签
xs.startTag(null, "users");
7.设置标签属性
xs.attribute(null,”标签属性”,”属性值”)
8.设置结束标签
xs.endTag(null, "users");
9.刷新缓冲区
xs.flush();
解析xml
1.创建解析器对象
XmlPullParser paser = Xml.newPullParser();
2.进行解析
paser.setInput(input,"utf-8");
3.产生第一个解析事件
int eventType = paser.getEventType();
4.可以使用循环判断是否继续解析
while(eventType!=XmlPullParser.END_DOCUMENT){
eventType=Paser.next();//进行下一次解析
}
参考:android解析XML总结(SAX、Pull、Dom三种方式)附带DOM4J、JDOM
8.ContentProvider 组件
1)ContentProvier 组件介绍
2)ContentResolver
3)Uri 介绍
4)ContentProvider 程序实现
5)android 系统的ContentProvider 使用
9.Service 组件
1)开发Service 组件
2)绑定Service 组件
3)Service 生命周期
4)IntentService
调用操作系统Service
10.BroadcastReceiver 组件
1)定义BroadcastReceiver
2)发送广播
3)发送有序广播
4)接收系统广播消息
11.Android 网络通信
1)Http 方式交互
2)Socket 方式交互
3)WebView 组件
目录
Android学习笔记 1
1. 布局 4
1) 线性布局(LinearLayout) 4
2) 帧布局(FrameLayout) 4
3) 网格布局(Grid View) 4
4) 相对布局(Relative Layout) 5
5) 绝对布局(AbsoluteLayout) 5
6) 表格布局(TableLayout) 5
2. 基本控件 5
1) TextView 文本组件 5
2) EditText 编辑框组件 6
3) Button按钮组件 6
4) RadioButton单选按钮 6
5) CheckBoxButton 复选框 6
6) ImageView图片视图 6
7) ImageButton图片按钮 7
8) TimePicker时间选择器 7
9) DatePicker日期选择串 7
10) Spinner 下拉列表 7
3. 事件 7
1) 单击事件OnClickListener 7
2) 单选按钮事件 OnCheckedChangeListener 7
3) 日期控件事件 OnDateChangerListener 8
4) 时间控件事件 OnTimeChangerListener 8
5) 下拉列表事件 OnItemSelectedListener 8
6) 按键事件 OnKeyListener 8
7) 长按事件 OnLongClickListener 9
8) 焦点改变事件 OnFocusChangeListener 9
9) 触摸事件 OnTouchListener 9
4. 复杂控件 9
1) 信息提示框组件 Toast 9
2) 进度条组件 ProgressBar 10
3) 拖动组件SeekBar 10
4) 评分组件RatingBar 10
5) 状态开关按钮组件 ToggleButton 10
6) 状态开关组件 Switch 10
7) 时钟组件 AnalogClock 和 DigitalClock 10
8) 计时器控件 Chronometer 11
9) 滚动控件 ScrollView 11
10) 列表视图控件 ListView 11
11) SimpleAdapter 封装复杂数据 11
12) ListActivity类 11
13) ListView事件 12
14) 自动文本提示组件 AutoCompleteTextView 12
15) 网格视图组件 GridView 12
16) 可展开列表组件 ExpandableListView 12
17) 画廊视图组件 Gallery 12
18) AdapterViewFilpper组件 13
19) StackView组件 13
20) 图片切换组件ImageSwitcher 14
21) 文本切换组件TextSwitcher 14
22) 日历组件CalendarSwitcher 15
23) 数字组件NumberPicker 15
24) 搜索框组件SearchView 16
25) 选项卡组件TabHost 16
26) 对话框组件Dialog 16
27) 日期选择对话框组件DatePickerDialog 17
28) 时间选择对话框组件TimePickerDialog 17
29) 进度条对话框组件ProgressDialog 17
30) 缩放控制组件ZoomControls 18
31) 滑动抽屉组件SlidingDrawer 18
32) 菜单组件Menu 18
33) 活动条组件ActionBar 20
5. Activity 组件 20
1) Android 应用主配置文件AndroidManifest.xml 20
2) 启动和关闭Activity 21
3) 使用Bundle、Intent 进行Activity 数据交互 21
4) Activity 的生命周期 23
5) Activity 的4 种加载模式 24
6. Fragment 组件 24
1) 创建Fragment 24
2) ListFragment 实例 24
3) Fragment 与Activity 通信 24
4) DialogFragment 实例 24
5) PreferenceFragment 实例 24
6) WebViewFragment 实例 24
7) Fragment 生命周期 24
7. Android 数据存储 24
1) SharedPreferences 24
2) 文件存储 24
3) SQLite 数据库存储 24
4) 解析XML 文件 24
8. ContentProvider 组件 24
1) ContentProvier 组件介绍 24
2) ContentResolver 25
3) Uri 介绍 25
4) ContentProvider 程序实现 25
5) android 系统的ContentProvider 使用 25
9. Service 组件 25
1) 开发Service 组件 25
2) 绑定Service 组件 25
3) Service 生命周期 25
4) IntentService 25
10. BroadcastReceiver 组件 26
1) 定义BroadcastReceiver 26
2) 发送广播 26
3) 发送有序广播 26
4) 接收系统广播消息 26
11. Android 网络通信 26
1) Http 方式交互 26
2) Socket 方式交互 26
3) WebView 组件 26
1.布局
所有的布局可以嵌套使用
1)线性布局(LinearLayout)
方向 orientation
水平方向 horizontal
垂直方向 vertical
对齐方式 gravity
Right 右对齐
Left 左对齐
center_vertical 垂直居中
……
center_vertical|center_horizontal 水平垂直居中
2)帧布局(FrameLayout)
就是一层一层叠在一起,后面的会遮挡前面的元素
3)网格布局(Grid View)
因为grid view 是android 4.0中新添加的,所以使用风格布局时先设置清单文件中的minSdkVersion 为14.
columnCount 设置多少列
rowCount 设置多少行
特殊需求
一个单元格占多行/列
设置layout_columnSpan/layout_rowSpan 配合layout_gravity=”fill”
4)相对布局(Relative Layout)
相对布局就是相对某一个控件进行摆放,可以通过控制将组件摆放在一个参考组件的上下左右。
layout_below =“@+id/参照组件”
5)绝对布局(AbsoluteLayout)
绝对布局在高版本中已经废弃了,但是还是可以使用
绝对布局就是通过 layout_x 、layout_y 设置值调整位置
单位: dp
6)表格布局(TableLayout)
TableRow 行
collapseColumns 隐藏指定的列 “,”分隔
shrinkColumns 允许被收缩 指定的列 “,”分隔
stretchColumns 拉伸指定的列“,”分隔
2.基本控件
1)TextView 文本组件
单位:px 像素 、dp 不依赖像素、sp
属性名 功能 备注
公共属性
2)EditText 编辑框组件
属性
属性名 功能 备注
android:inputType 设置编辑框类型
3)Button按钮组件
4)RadioButton单选按钮
配合RadioGroup使用
设置默认选中按钮
checkedButton @+ 指定按钮的id
5) CheckBoxButton 复选框
Checked=”true”默认选中
6)ImageView图片视图
最大/最小宽高
min/maxHeight
minmaxWidth
adjustViewBounds 自适应
7)ImageButton图片按钮
使用background属性设置图片
8)TimePicker时间选择器
9)DatePicker日期选择串
setIs24HourView 设置日期为24小时制
10)Spinner 下拉列表
Prompt 提示文字信息
Entries 设置数据
3.事件
1)单击事件OnClickListener
使用两种方式
匿名对象
New OnClickListener(){};
实现OnClickListener的类
2)单选按钮事件 OnCheckedChangeListener
使用两种方式
匿名对象
实现OnClickListener的类
例:
单选组件对象.getId==checkedId
说明这个组件被选中
3)日期控件事件 OnDateChangerListener
实现
添加私有内部类 实现 OnDateChangedListener
注意:月份从0开始
注册事件
日期控件对象..init(date.getYear,date.getMonth,date.getDayOfMonth,new 事件监听类/接口);
给定默认值
4)时间控件事件 OnTimeChangerListener
监听事件类
可以使用匿名内部类或者使用内部类实现OnTimeChangerListener接口
注册事件
时间控件对象.setOnTimeChangedListener();
5)下拉列表事件 OnItemSelectedListener
在内部类中实现OnItemSelectedListener接口
重写的两个方法。
onItemSelected
Position 选中项的下标
id
通过arrayAdaper适配器 填充数据
获取选中的值
.getSelected.ItemtoString();
onNothingSelected
6)按键事件 OnKeyListener
一般用于验证文本数据
在事件监听类中实现OnkeyListener
Int keyCode 按键code a :29 b:30
KeyEvent event
按键动作
KeyEvent .ACTION_DOWN 按键按下
KeyEvent .ACTION_UP 按键松开
7)长按事件 OnLongClickListener
在内部类中实现OnLongClickListener接口,重写相应方法,注册事件即可。
8)焦点改变事件 OnFocusChangeListener
内部类实现OnFocusChangeListener接口,重写方法,注册事件
通过View.getId() 和组件.getId()判断是否是想要的组件获得焦点
Boolean hasFocus true : 获取焦点 false: 失去焦点
9)触摸事件 OnTouchListener
触摸事件 一般用于获取坐标
4.复杂控件
1)信息提示框组件 Toast
Toast.makeText(getApplicationContext(), "短时间通知!",
Toast.LENGTH_SHORT).show()
长时间通知 Toast.LENGTH_LONG
短时间通知 Toast.LENGTH_SHORT
自定义通知
获取Toast对象
获取tomat布局
添加要添加的组件
例:
Toast myToast -=Toast.
Toast custom = Toast.makeText(getApplicationContext(),
"Hello!", Toast.LENGTH_SHORT);
LinearLayout line = (LinearLayout) custom.getView();
ImageView pig = new ImageView(getApplicationContext());
pig.setImageResource(R.drawable.pig2);
line.addView(pig, 0);
custom.show();
2)进度条组件 ProgressBar
环形进度条
通过style属性设置进度条样式
Widget.AppCompat.ProgressBar
水平进度条
通过style属性设置进度条样式
Widget.AppCompat.ProgressBar.Horizontal
Visibility 属性
Gone 隐藏
Invisible 隐藏占位
Visible 显示
更新UI操作放在Handler中 主线程
3)拖动组件SeekBar
拖动事件监听接口 OnSeekBarChangeListener
4)评分组件RatingBar
评分监听事件接口 OnRaingBarListener
5)状态开关按钮组件 ToggleButton
设置开关显示文本
textOff
textOn
开关状态监听事件接口 OnCheckedChangedListener
6)状态开关组件 Switch
同上
7)时钟组件 AnalogClock 和 DigitalClock
8)计时器控件 Chronometer
Chronometer
Start 开始计时
Stop 停止计时
//设置基准时间
setBase(long time); SystemClock.elapsedRaltime();
9)滚动控件 ScrollView
用ScrollView包裹所有的组件
10)列表视图控件 ListView
分隔线
Divider 分隔颜色
DividerHeight 设置高度
初始化数据
Entries属性指定string-array数组xml
使用适配器
11)SimpleAdapter 封装复杂数据
首先使用
1、ListView
2、添加布局文件用于复件的列表项 例如qq
3、通过Adapter 设置数据
使用写的项目,
12)ListActivity类
这个类本身相当于一个ListView
使用时:
新建复杂列表项
继承ListActivity
调用父类的setListAdapter()
初始化数据并显示
详细参考:listActivity项目
13)ListView事件
列表项的事件
OnItemSelectedListener 列表项选中事件监听 已经废弃
OnItemClickListener 列表项单击事件监听
OnItemLongClickListener 列表项长按事件监听
14)自动文本提示组件 AutoCompleteTextView
添加Adapter 适配器
设置adapter
15)网格视图组件 GridView
numColumns 设置行显示的列数
设置数据 Adapther
16)可展开列表组件 ExpandableListView
组件
ExpandableListView
适配器:
BaseExpandableListAdapter
事件:
OnGroupClickListener 分组单击事件
OnChildClickListener 子项单击事件
OnGroupExpandListener 分组展开事件
OnGroupCollapseListener 分组关闭事件
例子:QQ好友列表
17)画廊视图组件 Gallery
组件
Gallery
适配器
BaseAdapter
说明
在高版本中已经废弃。取而代之的是PageView
18)AdapterViewFilpper组件
说明
属性
适配器
BaseAdapter
方法
方法名 功能 备注
flipInterval 设置自动播放图片的间隔时间
startFlipping 自动播放
stopFlipping 停止自动播放
showNext 下一张
showPrevious 上一张
19)StackView组件
说明
实现堆叠的效果
属性
属性名 功能 备注
loopViews 循环视图列表滚动
适配器
BaseAdapter
方法
方法名 功能 备注
showNext 下一张
showPrevious 上一张
20)图片切换组件ImageSwitcher
说明
浏览图片,用于切换
属性
属性名 功能 备注
事件
适配器
方法
方法名 功能 备注
setFactory 设置返回的视图
setImagesResource 设置图片id
setInAnimation 设置图片进入时动画 R.anim
setOutAnimation 设置图片结束时动画 R.anim
21)文本切换组件TextSwitcher
说明
切换文字
属性
属性名 功能 备注
事件
适配器
方法
方法名 功能 备注
setFactory 设置返回的视图
setText 设置文本 id
setInAnimation 设置文本进入时动画 R.anim
setOutAnimation 设置文本结束时动画 R.anim
22)日历组件CalendarSwitcher
说明
一个日历组件,提供获取年月日
属性
属性名 功能 备注
事件
OnDateChangeListener
月份加一
适配器
方法
方法名 功能 备注
23)数字组件NumberPicker
说明
滚动数字。。
监听
OnValueChangeListener 获取值接口
方法
方法名 功能 备注
setValue 设置默认值
setMinValue 设置最小值
setMaxValue 设置最大值
24)搜索框组件SearchView
说明
用于搜索数据,
监听
OnQueryTextListener 实现接口
方法
方法名 功能 备注
onQueryTextSubmit 获取提交文本信息
onQueryTextChange 输入的内容改变时,触发方法
25)选项卡组件TabHost
布局
添加组件TabHost 声明 android:id="@android:id/tabhost" 最外层
添加TabWidget 声明 android:id="@android:id/tabs" 不包含内容
添加FrameLayout 声明 android:id="@android:id/tabcontent" 包含选项卡内容
Code
主类继承TabActivity 已经废弃
添加 TabHost 成员属性;
获取tabHost getTabHost();
实例化选项并添加到:
TabSpecab1=tabHost.newTabSpec("tab1").setIndicator("群组").setContent(R.id.tab1);
tabHost.addTab(tab1);
26)对话框组件Dialog
简单对话框
Dialog
方法:
方法名 功能 备注
setTitle 设置标题
setIcon 设置
setMessage 设置提示信息内容
setNegativeButton 添加取消按钮
setPositiveButton 添加确定按钮
Show 显示对话框
Create 创建对话框
例:
Dialog dialog = new AlertDialog.Builder(this).setTitle("提示")
.setMessage("确认删除数据?").setIcon(R.drawable.info)
Dialog.show();
单选对话框
设置setSingleChoiceItems方法指定选项
多选对话框
设置setMultiChoiceItems指定列表项数组
列表对话框
添加setItems 指定数据列表
自定义对话框
添加自定义view.xml
创建对话框并设置setView()
27)日期选择对话框组件DatePickerDialog
创建 DatePickerDialog对象并设置指定的年月日调用 show()方法
28)时间选择对话框组件TimePickerDialog
创建 TimePickerDialog对象并设置指定的时分调用 show()方法
29)进度条对话框组件ProgressDialog
方法名 功能 备注
dismiss 隐藏对话框
onstart
Show 显示对话框
setProgressStyle 设置进度条样式 ProgressDialog“.”常量
30)缩放控制组件ZoomControls
方法名 功能 备注
setZoomSpeed(long speed) 设置缩放速度
setIsZoomInEnabled 允许放大
setIsZoomOutEnabled 允许缩小
setOnZoomInClickListener 设置放大按钮事件监听
setOnZoomOutClickListener 设置缩小按钮事件监听
31)滑动抽屉组件SlidingDrawer
属性
SlidingDrawer组件
Content 指定抽屉里的内容
Handle 指定抽屉柄
注:抽屉柄和和内容放到SlidingDrawer中 添加id content、Handle
监听
方法名 功能 备注
setOnDrawerOpenListener 打开抽屉监听
setOnDrawerCloseListener 关闭抽屉监听
setOnDrawerScrollListener 打开关闭这个动作监听
32)菜单组件Menu
选项菜单(optionMenu)
重写Activity的方法
方法名 功能 备注
onCreateOptionsMenu 创建选项菜单
onOptionsItemSelected 选中某个菜单项
onOptionsMenuClosed 壮志关闭菜单
Menu的方法
方法名 功能 备注
add 添加菜单项到选项菜单里
setIcon 设置选项图标
getTitle 获取当前选项文本
getItemId 获取当前选项id
子菜单
代码添加菜单
添加一个菜单项
SubMenu addSubMenu=ment.addSubMent();
通过菜单项添加子项目
subMenu.add();
Xml添加菜单
添加menu.xml
添加子菜单项
SubMenu addSubMenu=ment.addSubMent();
super.getMenuInflater().inflate(指定xml,addSubMenu);
上下文菜单
上下文菜单是为某个组件添加的,有点像OnLongClick 事件监听
注册给某个组件
registerForContextMenu(View v);
重写Activity onCreateContextMenu创建主菜单
弹出菜单(PopupMenu)
PopupMenu pop = new PopupMenu(this, v); v:当前组件
方法名 功能 备注
getMenu 获取菜单对象,然后添加菜单项目
setOnMenuItemClickListener 设置弹出菜单单击事件
Show() 显示弹出菜单
33)活动条组件ActionBar
启用禁用
ActionBar 方法
方法名 功能 备注
getActionBar 获取 ActionBar
Hide() 隐藏 actionBar
Show() 显示 actionbar
setDisplayShowHomeEnabled 设置程序图标是否隐藏
显示选项菜单
启动程序图标导航
添加搜索框
实现Tab导航
实现下拉导航
5.Activity 组件
1)Android 应用主配置文件AndroidManifest.xml
android.intent.action.MAIN
软件信息
package="com.example.activitydemo" 指定的包路径
android:versionCode="1" 当前应用版本
android:versionName="1.0" 版本名
Application
android:allowBackup="true" 是否允许备份程序数据
android:icon="@drawable/info" 设置图标
android:label="@string/app_name" 指定程序显示的名称
android:theme="@style/AppTheme" 指定主题
使用版本
<uses-sdk
android:maxSdkVersion="23" 最大支持android 6.0
android:minSdkVersion="8" 最小支持 android 2.1
android:targetSdkVersion="21" /> 目标版本 android 4.4
意图过滤器
<intent-filter>
设置默认activity
<action android:name="android.intent.action.MAIN" />
在桌面显示启动
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
权限 - permission
参考:api
2)启动和关闭Activity
添加类继承Activity
在清单文件中声明Activity
打开Activity
Intent intent=new (Content,Activity.class);
this.startActivity(intent);
关闭Activity
This.finish()
3)使用Bundle、Intent 进行Activity 数据交互
Bundle 一般是用来传送对象 (需要序列化);
发送数据
实例化bundle
通过bundle.put(key,value);添加键值对数据
实例化 Intent
使用intent.putExtras(bundle)添加到意图中
接收数据
获取Intent对象
Intent intent = this.getIntent();
获取 Bundle 对象
Bundle bundle = intent.getExtras();
获取数据
Bundle.get(key);
发送带返回数据的
startActivityForResult(int requetCode,Intent intent);
发送请求码和意图对象
目标Activity设置返回数据
Intent intent=new Intent();实例化意图对象
Inetent.putExtra(key,value);设置返回数据
setResult(resultCode,Intent);返回响应码和意图对象
获取返回的数据
重写onActivityResult()方法
通过请求码和响应码 获取返回的数据
int requestCode 请求码
int resultCode 响应码
Intent data 返回的意图
4)Activity 的生命周期
生命周期
方法名 功能 备注
onCreate 创建
onStart 开始
onResume 恢复
onPause 暂停
onStop 停止
onDestory 销毁
Activity四种状态
活动状态 当前Activity位于前台,用户可见
暂停状态 其它Activity位于前台,Activitys可见,不能获取焦点
停止状态 该Activity不可见,失去焦点;
销毁状态 该Activity结束
5)Activity 的4 种加载模式
在清单文件中,设置Activity android:launchMode=”standard|single|……”
standard
标准模式,一调用startActivity()方法就会产生一个新的实例。
singleTop
如果已经有一个实例位于Activity栈的顶部时,就不产生新的实例,而只是调用Activity中的newInstance()方法。如果不位于栈顶,会产生一个新的实例。
singleTask
会在一个新的task中产生这个实例,以后每次调用都会使用这个,不会去产生新的实例了。
singleInstance
这个跟singleTask基本上是一样,只有一个区别:在这个模式下的Activity实例所处的task中,只能有这个activity实例,不能有其他的实例。
6.Fragment 组件
1)创建Fragment
2)ListFragment 实例
3)Fragment 与Activity 通信
4)DialogFragment 实例
5)PreferenceFragment 实例
6)WebViewFragment 实例
7)Fragment 生命周期
7.Android 数据存储
1)SharedPreferences
SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个key-value(键值对)。
获取SharedPreferences两种方式
方法名 功能 备注
getSharedPreferences() 获取SharedPreferences实例 调用Context对象
getPreferences() 获取SharedPreferences实例 调用Activity对象
SharedPreferences的四种操作模式
属性 功能 备注
Context.MODE_PRIVATE 为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容
Context.MODE_APPEND 模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件.
Context.MODE_WORLD_READABLE 用来控制其他应用是否有权限读写该文件
Context.MODE_WORLD_WRITEABLE 表示当前文件可以被其他应用读取或写入
写入数据
SharedPreferences实例的edit()方法获取获取Editor获取实例
通过edit put添加要存储的值
数据类型可以是 boolean、int、long、float、String、Set<String>
写入数据时调用commit();提交方法;
读取数据
直接使用SharedPreferences实例 get数据类型(key,default)
注:当没有找到相应的key时 使用默认值
2)文件存储
输入输出流
方法名 功能 备注
openFileInput(String name) 获取FileInputStream 输入流
openFileOutput(String name, int mode) 获取FileOutputStream 输出流
操作权限:
属性 功能 备注
MODE_PRIVATE 用0表示默认值,只能够创建文件的应用程序访问该文件,每次文件写入为覆盖方式。
Context.MODE_APPEND 模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件.
MODE_WORLD_READABLE 只有读权限。
MODE_WORLD_WRITEABLE 只有写权限。
常用的方法
参考 API
3)SQLite 数据库存储
SQLite 和 mysql 差不多,基本sql语法可以拿来使用。
数据库操作
打开或创建test.db数据库
SQLiteDatabase db = openOrCreateDatabase("test.db", Context.MODE_PRIVATE, null);
注意点:创建数据库时设置编码
修改android_metadata 字段locale 值为 zh_CN(中国) en_US (美国)
当数据库不存在时,创建数据库
表操作
方法名 功能 备注
execSQL(String sql,Object[]) 执行ddl、dml sql语句 object占位符对应值
Insert() 返回记录影响条数
update() 返回记录影响条数
delete() 返回记录影响条数
rawQuery() Cursor 对你
表记录操作
CURD
例:
person.name = "david";
person.age = 33;
//ContentValues以键值对的形式存放数据
ContentValues cv = new ContentValues();
cv.put("name", person.name);
cv.put("age", person.age);
//插入ContentValues中的数据
db.insert("person", null, cv);
Cursor对象 方法
方法名 功能 备注
move(int offset) 以当前位置为参考,移动到指定行
moveToFirst() 移动到第一行
moveToLast() 移动到最后一行
moveToPosition(int position) 移动到指定行
moveToPrevious() 移动到前一行
moveToNext() 移动到下一行
isFirst() 是否指向第一条
isLast() 是否指向最后一条
isBeforeFirst() 是否指向第一条之前
isAfterLast() 是否指向最后一条之后
isNull(int columnIndex) 指定列是否为空(列基数为0)
isClosed() 游标是否已关闭
getCount() 总数据项数
getPosition() 返回当前游标所指向的行数
getColumnIndex(String coulmnName) 返回某列名对应的列索引值
getString(int columnIndex) 返回当前行指定列的值
4)解析XML 文件
Dom
Sax
Pull
创建xml
1.输出流 创建xml 文件
FileOutputStream out = new FileOutputStream(filePath + "users.xml");
2.得到工厂实例
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
3.序列化
XmlSerializer xs = factory.newSerializer();
4.设置输出编码
xs.setOutput(out, "utf-8");
5.设置xml文档 编码 true:不使用dtd 格式
xs.startDocument("utf-8", true);
6.设置开始标签
xs.startTag(null, "users");
7.设置标签属性
xs.attribute(null,”标签属性”,”属性值”)
8.设置结束标签
xs.endTag(null, "users");
9.刷新缓冲区
xs.flush();
解析xml
1.创建解析器对象
XmlPullParser paser = Xml.newPullParser();
2.进行解析
paser.setInput(input,"utf-8");
3.产生第一个解析事件
int eventType = paser.getEventType();
4.可以使用循环判断是否继续解析
while(eventType!=XmlPullParser.END_DOCUMENT){
eventType=Paser.next();//进行下一次解析
}
参考:android解析XML总结(SAX、Pull、Dom三种方式)附带DOM4J、JDOM
8.ContentProvider 组件
1)ContentProvier 组件介绍
2)ContentResolver
3)Uri 介绍
4)ContentProvider 程序实现
5)android 系统的ContentProvider 使用
9.Service 组件
1)开发Service 组件
2)绑定Service 组件
3)Service 生命周期
4)IntentService
调用操作系统Service
10.BroadcastReceiver 组件
1)定义BroadcastReceiver
2)发送广播
3)发送有序广播
4)接收系统广播消息
11.Android 网络通信
1)Http 方式交互
2)Socket 方式交互
3)WebView 组件
相关推荐
这篇“Android基础教程PPT”旨在引导初学者了解如何使用Eclipse环境进行Android应用开发。首先,我们从创建或导入Android工程开始。 要开启一个新的Android工程,你需要在Eclipse中选择[File]->[New]->[Project],...
《Android基础教程 第三版》是一本针对初学者和进阶开发者的重要参考资料,全面覆盖了Android应用开发的基础知识。此版本的PDF版本以其高质量的文本和包含源码的特点,为学习者提供了便捷的学习途径。书中的内容围绕...
### Android基础教程(第3版·修订版)关键知识点概览 #### 一、书籍概述与定位 《Android基础教程(第3版·修订版)》是一部专为Android开发新手及中级开发者准备的基础教程。本书延续了Pragmatic系列图书的一贯风格...
《Android基础教程(第三版)》是一本深受开发者欢迎的指南,它涵盖了Android开发的核心概念和技术,旨在帮助初学者和有经验的开发者更好地理解和实践Android应用开发。这本书的配套源码提供了丰富的实例,使得读者...
在Android基础的学习中,"Android基础-02"这一主题主要涵盖了Android开发的基本概念和核心组件,这些都是构建Android应用程序的基础。下面将详细讲解这些知识点。 首先,Android是一种基于Linux内核的操作系统,...
**Android基础教程4** 在Android开发的学习过程中,基础教程4主要涵盖了Android开发的多个关键方面,包括用户界面设计、文件存取、数据库编程、应用程序管理、权限控制以及资源管理等核心概念。以下是对这些主题的...
2015年发布的这份Android基础入门教程详细介绍了Android系统架构、开发环境的搭建、用户界面设计以及各种基础知识点,为初学者提供了系统的学习路径。 首先,教程介绍了Android系统的基本概念,包括系统架构和应用...
这个"2015最新Android基础入门教程PDF版打包合集"是为初学者准备的宝贵资源,旨在帮助他们快速掌握Android应用开发的基本概念和技术。以下是这个教程合集中可能包含的一些关键知识点: 1. **Android简介**:首先,...
《Android基础教程 第4版》是一本针对初学者和进阶者全面介绍Android开发的书籍。本书涵盖了Android开发的基础知识,旨在帮助读者掌握构建Android应用的核心技能。在深入学习之前,我们先了解一下Android系统的基本...
Android基础与应用开发教程 Android基础与应用开发教程
本资源为2015年发布的Android基础入门教程的PDF合集,对于初学者来说,是一份非常有价值的参考资料。在Android开发领域,基础知识是构建所有复杂应用的基础,这份教程将帮助你逐步掌握这一领域的核心概念。 一、...
Android基础开发与实践
Android 基础笔记 Android 基础笔记是 Android 开发的入门知识点总结,涵盖了 Android 开发的基础知识点,从 Android 发展史到自定义 ContentProvider 的实现。 一、Android 发展史 Android 的发展史可以追溯到 ...
《Android基础教程(第四版)随书源码》是一份宝贵的学习资源,为读者提供了深入理解Android开发的基础。这份源码涵盖了Android应用开发的核心概念和技术,包括用户界面设计、数据存储、网络通信、多媒体处理等多个...
Android基础入门教程,网上教程,打包成chm,看得时候方便一些 教程于2015年7月开始撰写,耗时半年,总共148节,涵盖了Android基础入门的大部分知识。
《Android学习指南》是针对初学者的一份详尽教程,旨在提供全面的Android基础知识,帮助读者从零开始掌握Android应用开发。这份PDF文档涵盖了Android开发的各个方面,包括环境搭建、编程语言基础、UI设计、数据存储...
android基础教程,里边包括新版Android开发教程&笔记1--基础入门,Android开发教程&笔记2--基础入门二,Android开发教程&笔记3--环境搭建与解析,Android开发教程&笔记4--Dalvik ADB Android开发教程+笔记5--模拟器...
android基础.ppt activety service broadcast contentprovider
**Android基础教程** Android是一种基于Linux内核的开源操作系统,主要应用于移动设备,如智能手机和平板电脑。这个基础教程旨在帮助初学者理解Android开发的基本概念和技术。教程可能涵盖了以下几个核心主题: 1....