安卓天天练练(十五)改造BasicSyncAdapter
谷歌的官方示例BasicSyncAdapter是Android Studio工程,
把它依样画葫芦到Eclipse上,然后改造成我需要的样式。
看官方示例源码的时候,看到EntryListActivity,名字长得好官方啊,查查
EntryListActivity.java
package com.example.android.basicsyncadapter; import android.os.Bundle;
import android.support.v4.app.FragmentActivity; /**
* Activity for holding EntryListFragment.
*/
public class EntryListActivity extends FragmentActivity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_entry_list);
}
}
谷歌大神说这个家伙就是做basicsyncadapter的时候建的Activity,不是什么官方物体,是FragmentActivity的衍生物。
而另一个ListAcitvity的东东就没这么简单了,
| java.lang.Object | |||||
| ↳ | android.content.Context | ||||
| ↳ | android.content.ContextWrapper | ||||
| ↳ | android.view.ContextThemeWrapper | ||||
| ↳ | android.app.Activity | ||||
| ↳ | android.app.ListActivity | ||||
虽然也是Activity的衍生物,但已经成为了内建类,被别人拿去继承了:... extends ListActivity
Adapter 是什么?(适配器)
Adapter本身只是一个接口,它派生了ListAdapter、SpinnerAdapter两个子接口。ListAdapter为AbsListView提供列表项、SpinnerAdapter为AbsSpinnerAdapter提供列表项。几乎所有的Adapter都继承了BaseAdapter,而BaseAdapter同时实现了ListAdapter和SpinnerAdapter两个接口,因此BSEAdapter及其子类可以同时为ABSListView和AbsSpinner提供列表项。
另外android-common-tookit 还为adapter包设计了三类Adapter(继承自官方的Adapter):CommonAdapter、CommonPagerAdapter、HolderAdapter。Android是完全遵循MVC模式设计的框架,Activity是Controller,layout是View 。因为layout有数种布局,很多数据不能直接绑定上去,因此Android引入了Adapter机制,作为复杂数据的展示的转换载体,各种Adapter只是转换的方式和能力不一样。
Adapter常用来管理数据,使数据绑定到控件变得更简单灵活(比如列表的数据,网格的数据),为容器提供子视图,利用视图的数据和元数据来构建每个子视图。
(思路)比如这样 bear 调用了 monkey 的方法a 但是a方法的参数改了 , 这样bear 的代码也得改; 在中间加一个adapter,叫abc 这样bear 调用abc,abc调用monkey ;当monkey 的a方法发生改变时,不用改bear ,改abc就可以了。 这样可以保证变化性集中到abc(个人觉得adapter很像支付宝t.t)
而其他类似的常用实现类adapter,谷歌大神是怎么去实现他们的呢?
BaseAdapter:通常用于被扩展,扩展BaseAdapter可以对各项列表项进行最大限度的定制,extends Object
ArrayAdapter:简单、易用的Adapter,常用于将数组或者list集合的多个值包装成多个列表项,extends BaseAdapter
SimpleAdapter:功能强大,用于将 list集合的多个对象包装成多个列表项,extends BaseAdapter
SimpleCusorAdapter:与SimpleAdapter基本相似,只能用于包装Cursor提供的数据,extends ResourceCursorAdapter
今天要练的basicsyncadapter并不是一个内建adapter,只是sample..(∩_∩)
BasicSyncAdapter
This sample demonstrates using SyncAdapter to fetch background data for an app that doesn't require a user-visible account type or 2-way synchronization. This sample periodically downloads the feed from the Android Developer Blog and caches the data in a content provider. At runtime, the cached feed data is displayed inside a ListView.
安卓天天练练(十五)改造BasicSyncAdapter的更多相关文章
- 安卓天天练练(五)CompoundButton
ToggleButton 让我想起了从前jQuery还没有取消toggle方法时是怎么偷懒的.. 注意: 如果LinearLayout,与RelativeLayout不同,必须有orientation ...
- 安卓天天练练(十)ListView
ListView不能和ScrollView同时使用,因为它已经包含了滚动支持. 还有个Gallery http://blog.csdn.net/dazlly/article/details/78639 ...
- 安卓天天练练(十一)用list绑数据
之前在练练ListView的时候就有个 BaseAdapter ba = new BaseAdapter() { 用Adapter来绑数据的方法,该方法中 LinearLayout ll=new Li ...
- 安卓天天练练(四)drawable state 属性
今天又作茧自缚(item 写成 itme ╮(╯▽╰)╭ elipse还自动闭合了标签,来回查查查看报错,为啥点击无效呢!) 真欠抽,怪不得上班地铁上被个sb踢到脚趾头(目测有可能是同家公司的..同站 ...
- 安卓天天练练(三)常用组件Toast
要写几句java package com.narumi.android_7_2; import android.app.Activity; import android.os.Bundle; impo ...
- 淘宝(阿里百川)手机客户端开发日记第十五篇 JSON解析(四)
解析一个从淘宝传递的JSON (大家如有兴趣可以测试下):{ "tae_item_detail_get_response": { "data": { " ...
- WCF技术剖析之十五:数据契约代理(DataContractSurrogate)在序列化中的作用
原文:WCF技术剖析之十五:数据契约代理(DataContractSurrogate)在序列化中的作用 [爱心链接:拯救一个25岁身患急性白血病的女孩[内有苏州电视台经济频道<天天山海经> ...
- 谈谈一些有趣的CSS题目(十五)-- 奇妙的 background-clip: text
开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...
- Android系统--输入系统(十五)实战_使用GlobalKey一键启动程序
Android系统--输入系统(十五)实战_使用GlobalKey一键启动程序 1. 一键启动的过程 1.1 对于global key, 系统会根据global_keys.xml发送消息给某个组件 & ...
随机推荐
- oracle2
为什么选择oracle--性能优越 概述:目前主流数据库包括 微软: sql server和access 瑞典MySql: AB公司mysql ibm公司: db2(处理海量) 美国Sybase公司: ...
- 使用like时left outer join和inner join的区别
--select top 10000 * into #s from search set statistics time on set statistics io on select userId,c ...
- winows 进程通信的实例详解
发送端: 新建一个基本对话框工程,添加6个文本框控件,并且关联控件变量(CString类型): m_strCopyData, m_strFileMap, m_strMem, m_strRegMsg, ...
- Oracle常用几种Sql用法
前几天客户提出一个月报,经过了解需求及公式等过程长达20小时,总算基本模型出来了,贴出来啥晒,对于我这种菜鸟来说也算小有提高,虽然Sql语句不是很庞大,但是里面涉及到了几种算法,个人觉得还是经常能用到 ...
- C# Java DES加密解密
转自http://www.cnblogs.com/zhuiyi/archive/2013/04/01/2993201.html 最近被DES加解密弄得超级郁闷,我用C#的方法加密得到的密文老是跟客户给 ...
- query 防止ajax重复提交
项目用到js了,首选jquery,能用库用库,原则. 碰到重复提交的问题,禁止住才行.百度google,还是Google给力. 知乎上有个高人,总结了四种,利用Jquery .post方法返回jqXH ...
- Ganglia3.6.0,nginx+php搭建gweb,监控Hadoop2.2 和 Hbase0.98.1
环境:CentOS6.5 Hadoop2.2.0 Hbase0.98.1 服务端(master): 安装 ganglia ganglia-devel ganglia-gmetad ganglia-gm ...
- Sql产生自动增长的编号
USE [DBName]GO/****** Object: StoredProcedure [dbo].[sp_GetNo] Script Date: 10/24/2013 19:26:44 ...
- c语言学习之基础知识点介绍(四):算术运算符和逗号表达式
本节主要介绍c语言中运算符. 运算符主要分为四类: 1.算术运算符 加(+),减(-),乘(*),除(/),取余(%,两数相除,得到余数) 2.关系运算符 3.逻辑运算符 4.换位运算符 下面将依次介 ...
- Sql Xml
/* sql xml 入门: --by jinjazz --http://blog.csdn.net/jinjazz 1.xml: 能认识元素.属性和值 2.xpath: 寻址语言,类似windows ...