自动生成app架构设计【一】
来源:互联网 发布:东华软件沈阳分公司 编辑:程序博客网 时间:2024/04/29 06:40
1、管理数据对象
包括获取数据,提交数据
public class WebDateSet{
privateHashMap paramList =null; //参数列表
private StringserverUrl = null; //地址
public WebDateSet(String paramString)
{
this.serverUrl = paramString;
this.paramList =newHashMap();
}
publicvoid addParam(String param1, String param2)
{
this.paramList.put(param1,param2);//添加参数
}
//获取数据get
public List<HashMap> getDateSet(Context paramContext..){
String path = this.serverUrl + "?test=1";
//for循环上面的paramList{
path =path + "&" + str2 + "=" + str3;
}
如果没有网络,从安卓数据库里面取
//表结构:CREATE TABLE datacache (key Text, data Text);
if (paramInt == 0) { //无网咯
String xml = new DataCache(paramContext).readCache(path);
//db.rawQuery("select * from datacache where key=?"
}else{
如果有网络,从HttpURLConnection取
dataSet = miijiaoXML.ParserXml(result); //解析获取的
new DataCache(paramContext).writeCache(path, result);//放到数据库
}
}
返回的数据格式为:
list = new ArrayList<HashMap>();
if("item".equals(pullParser.getName())){
map = new HashMap<String,String>();
map.put("title", pullParser.nextText()); list.add(map) //1个item就是1个hashmap
2、显示类:
publicclasshelloworld extends Activity
{
publicvoid onCreate(Bundle paramBundle)
{
super.onCreate(paramBundle);
setContentView(R.layout.show);
HelloContent content = new HelloContent(this, http://baidu.com/, "app_getHellworld.php");
content.addUrlParam("userid", 1);//get请求的参数,只有这1个
content.addContentItemByImageUrl(R.id.image,"image");
//要显示的id,及上面值对应的key
content.addContentItemByText(R.id.title,"title");
content.addContentItemByHtmlText(R.id.content,"content");
content.view();
}
}
3、处理类:
publicclassHelloContent
{
public ArticleContent(Activity acitvity, String param1, String param2)
{
this.activity = acitvity;
this.webUrl = (param1+"/" + param2);
this.wds =new WebDateSet(this.webUrl);
}
//添加请求参数
publicvoid addUrlParam(String paramString1, String paramString2)
{
this.wds.addParam(paramString1, paramString2);
}
//添加显示的控件
publicvoid addContentItemByText(int paramInt, String paramString)
{
HashMap localHashMap =newHashMap();
localHashMap.put("itemType","TextView");
localHashMap.put("dataSetItemName", paramString);
this.itemList.put(Integer.valueOf(paramInt), localHashMap);
}
publicvoid addContentItemByImageUrl(int paramInt, String paramString)
{
HashMap localHashMap =newHashMap();
localHashMap.put("itemType","ImageViewUrl");
localHashMap.put("dataSetItemName", paramString);
this.itemList.put(Integer.valueOf(paramInt), localHashMap);
}
……其他的同上面的类似 itemList数据格式为:
[R.id.text1:[itemType:TextView,dataSetItemName:title]]
publicvoid view()
{
List localList = this.wds.getDateSet(this.activity,this.netState);
this.contentData = ((HashMap)localList.get(0));
showItem();
}
}
privatevoid showItem()
{
Iterator item =this.itemList.entrySet().iterator();
for迭代所有的
String key = item.next().getKey();
HashMap map = (HashMap) item.next().getValue();
String str1 = (String)map.get("itemType");
String str2 = (String)map.get("dataSetItemName");
if ("TextView".equals(str1))
{
TextView tt =(TextView)this.activity.findViewById(key);
tt.setText((String)this.contentData.get(str2));
}
}
}
- 自动生成app架构设计【一】
- 自动生成app架构设计【二】listview设计
- APP和服务端-架构设计(一)
- APP自动生成工具
- Android App整体架构设计的思考(一)
- 设计模式:Web App 系统架构(一)
- Android App整体架构设计的思考(一)
- Android App整体架构设计的思考(一)
- 移动App架构设计
- 移动App架构设计
- 移动App架构设计
- 移动App架构设计
- 移动App架构设计
- 移动App架构设计
- 移动App架构设计
- 移动App架构设计
- 移动App架构设计
- 移动App架构设计
- 多个Tomcat同时运行
- 关于PJSIP介绍的的一篇很好的文章
- IO流之字节流与字节缓冲流
- 用已有数据生成随机测试数据
- 理解inline机制
- 自动生成app架构设计【一】
- ANDROID 开发:谷歌地图开发入门(3)--- google map api v3 入门教程辅助
- 你必须学会的几个常用网络测试 命令
- 用flexjson转换对象时,出错Error trying to deepSerialize
- 使用commandLine制作ipa包
- Cocos2d-x 屏幕适配新解
- Android开发之EditText属性详解
- vim 环视
- 兼容所有浏览器的“设为首页”和“收藏本站”js代码