1、四大组件:Activity、Service、Broadcast Receiver(广播接收者)、Content Provider(内容提供者)。
(1)每个组件都必须包含android:name这个属性,使用方法:“包名+类名”;
(2)启动一个没有在清单文件中定义的Activity,程序都会抛出异常---崩溃;
(3)Content Provider是用来管理数据库访问以及程序内和程序间共享的;
(4)除了Boradcast Receiver可以使用代码声明注册以外,其他组件必须在AndroidManifest文件中进行声明配置;
(5)Eclipse中可以使用“alt+/”的组合快捷键来提高代码书写效率。
2、权限配置(以下举例说明)
第一步:Permissions→Add→Uses Premission→OK;
第二步:在弹出的对话框中,右边Name的下拉列表选择“android.permission.INTERNET”,点击Add添加进去。
3、数据适配器---连接数据源和视图界面的桥梁
(1)作用:把复杂的数据(如数据、链表、数据库、集合等)填充在指定的视图界面上;
(2)ArrayAdapter:数组适配器,用于绑定格式单一的数据。其数据源可以是集合或数组;
(3)SimpleAdapter:简单适配器,用于绑定格式复杂的数据。其数据源只能是特定泛型的集合;
(4)总结:数据适配器的实现过程:新建适配器→添加数据源→视图加载适配器。
举例说明:
-------------------------------------------------------------------------------------------------------------------------------------------
(1)使用ArrayAdapter:
首先,在layout文件夹中新建一个main.xml文件,在视图中拖拽一个ListView,将默认id修改为listView
然后,在MainActivity.java文件中完整代码:
public class MainActivity extends Activity{
private ListView listView; //声明一个listView
private ArrayAdapter<String>arr_adapter;//声明一个ArrayAdapter
private SimpleAdapter simp_adapter;//声明一个SimpleAdapter
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
listView=(ListView)findViewById(R.id.listView);//在MainAvtivity方法创建中,把listView与布局文件做一个数据与视图的绑定,完成初始化
//1、新建一个数据适配器ArrayAdapter
//ArrayAdapter<String>(context,textViewResourceId,objects)三个参数说明:
//context:上下文,textViewResourceId:当前ListView加载的每一个列表项所对应的布局文件,objects:数据源
//2、适配器加载数据源
String[]arr_data={"北京","上海","广州","深圳"};//创新一个数据源
arr_adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,arr_data);
//3、使用视图(ListView)加载适配器,运用setAdapter的方法
listView.setAdapter(arr_adapter);
}
}
-------------------------------------------------------------------------------------------------------------------------------------------
(2)使用SimpleAdapter:
首先,在layout文件夹中新建一个main.xml文件,在视图中拖拽一个ListView,将默认id修改为listView
然后,在MainActivity.java文件中完整代码
//1、新建一个数据适配器SimpleAdapter
//SimpleAdapter<String>(context,data,resource,from,to)五个参数说明:
/**
*context:上下文,
*data: 数据源(List<? extends Map<String,?>> data),一个Map所组成的List集合
* 每一个Map都会去对应ListView列表中的一行
* 每一个Map(键-值对)中的键必须包含所有在from中所指定的键
*resource:列表项的布局文件ID
*from:Map中的键名
*to:绑定数据视图中的ID,与from成对应关系
*/
//2、适配器加载数据源
dataList=new ArrayList<Map<String,Object>>();
simp_adapter=new SimpleAdapter(this,getData,R.layout.item,,new String[]{"pic","text"},new int[]{R.id.pic,R.id.text});
//3、使用视图(ListView)加载适配器,运用setAdapter的方法
listView.setAdapter(simp_adapter);
}
private List<Map<String,Object>> getData() {
for(int i=0;i<20;i++)
{
Map<String,Object>map=new HashMap<String,Object>();
map.put("pic",R.drawable.ic_launcher);
map.put("text","I love Android"+i);
dataList.add(map);
}
return dataList;
}
同时,还要在layout文件夹下新建一个.xml文件,代码如下图
4、启用窗口特征,启用带进度和不带进度的进度条
requestWindowFeature(Window.FEATURE_PROGRESS);
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
5、将两种进度条显示出来
setProgressBarVisibility(true);
setProgressBarIndeterminate(true);
setProgress(600);
本文介绍Android应用开发中的四大核心组件:Activity、Service、BroadcastReceiver和ContentProvider,并详细讲解了数据适配器ArrayAdapter与SimpleAdapter的使用方法。
&spm=1001.2101.3001.5002&articleId=52123849&d=1&t=3&u=9eca0a504a7645c39edf950892f59677)
646

被折叠的 条评论
为什么被折叠?



