android基础

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 组件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值