资讯专栏INFORMATION COLUMN

wemall app商城源码Android 获取XML网络数据并绑定到ListView

Benedict Evans / 1383人阅读

摘要:是基于的商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改。本文分享获取网络数据并绑定到,对数据进行获取并显示代码信息,供技术员参考学习。

  wemall-mobile是基于WeMall的android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改。本文分享Android 获取XML网络数据并绑定到ListView,对数据进行获取并显示代码信息,供技术员参考学习。

1、添加ListView中每一项的item




   2、添加实体类NewsObj
public class NewsObj implements Serializable {
  private String name;
  private int id;
}// 省去属性get和set方法
   3、添加一个类用于处理请求消息
public class NewsService {
    // 解析XML数据
    private static List parseXML(InputStream ins) throws Exception {
        List list = new ArrayList();
        NewsObj obj = null;
        XmlPullParser parser = Xml.newPullParser();
        parser.setInput(ins, "UTF-8");
        int event = parser.getEventType();
        while (event != XmlPullParser.END_DOCUMENT) {
            switch (event) {
            case XmlPullParser.START_TAG:
                if ("news".equals(parser.getName())) {
                    int id = new Integer(parser.getAttributeValue(0));
                    obj = new NewsObj();
                    obj.setId(id);
                } else if ("name".equals(parser.getName())) {
                    obj.setName(parser.nextText());
                }
                break;
            case XmlPullParser.END_TAG:
                if ("news".equals(parser.getName())) {
                    list.add(obj);
                    obj = null;
                }
                break;
            }
            event = parser.next();
        }
        return list;
    }
 
    // 获取最新的资讯
    public static List getLastnews(String Urlpath) throws Exception {
        URL url = new URL(Urlpath);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setConnectTimeout(5000);
        conn.setRequestMethod("GET");
        Log.i("CONN", conn.toString());
        if (conn.getResponseCode() == 200) {
            InputStream ins = conn.getInputStream();
            return parseXML(ins);
        }
        return null;
    }
}
   4、修改MainActivity
public class MainActivity extends Activity {
    private Handler handler;
    private SimpleAdapter adapter;
    private ListView lv;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        lv = (ListView) findViewById(R.id.lv);
        handler = new Handler();
        new Thread(runa).start();
    }
    
    private Runnable setadapter = new Runnable() {
        @Override
        public void run() {
            lv.setAdapter(adapter);
        }
    };
 
    private void SetView() {
        try {
            List videos = NewsService.getLastnews("http://10.0.2.2:4484/WebSite1/XMLFile.xml");
            List> data = new ArrayList>();
            for (NewsObj news : videos) {
                HashMap item = new HashMap();
                item.put("id", news.getId());
                item.put("name", news.getName());
                data.add(item);
            }
            adapter = new SimpleAdapter(getApplicationContext(), data,
                    R.layout.item, new String[] { "id", "name" }, new int[] { R.id.record, R.id.name });
            handler.post(setadapter); // 添加一个任务到主线程的handler!!!
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
 
    private Runnable runa = new Runnable() {
        @Override
        public void run() {
            Looper.prepare();
            SetView();
        }
    };
}
   5、添加一个web测试项
   上一步中网站请求地址返回的数据如下
    
    
      
        hello world
      
      
        Livingstone
      
    
   6、添加网络访问权限,运行程序

原文详情地址:http://Git.oschina.NET/zzunet...
wemall doraemonAndroid app商城详情地址:http://www.koahub.com/home/pr...
wemall官网地址:http://www.wemallshop.com
wemall 开源微商城 ,微信商城,商城源码,三级分销,微生鲜,微水果,微外卖,微订餐---专业的o2o系统

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/66277.html

相关文章

  • wemall app商城源码AndroidListView异步加载网络图片(优化缓存机制)

    摘要:本文分享商城源码之异步加载网络图片优化缓存机制代码信息,供技术员参考学习。采用线程池内存缓存文件缓存内存缓存中网上很多是采用来防止堆溢出,这儿严格限制只能使用最大内存的对下载的图片进行按比例缩放,以减少内存的消耗具体的代码里面说明。 wemall-mobile是基于WeMall的android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改。...

    luqiuwen 评论0 收藏0
  • wemall app商城源码Android数据的SharedPreferences储存方式

    摘要:本文分享商城源码数据的储存方式,供技术员参考学习。所以不论的数据储存多么简洁,也只能是储存方式的一种补充,而无法完全代替数据库这样的储存方式。 wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改。本文分享wemall app商城源码Android数据的SharedPreferences储...

    Prasanta 评论0 收藏0
  • wemall app商城源码Android短信监听接收器

    摘要:是客户端程序,服务端采用微信商城,不对原商城做任何修改,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可随阿意定制修改。本文分享其中短信监听接收器,用于自动获取短信验证码,然后自动填写到验证码区域代码,供技术员参考学习。 wemall doraemon是Android客户端程序,服务端采用wemall微信商城,不对原商城做任何修改,只需要在原商城目录下上传接口文件即可完成...

    aervon 评论0 收藏0
  • wemall app商城源码Android中ViewHolder详细解释

    摘要:的解释只是一个静态类,不是的方法。中的不像是用标示的。从本质上来讲是就是相关联的的额外的信息。它们经常用来存储一些的数据,这样做非常方便而不用存入另外的单独结构。 1.ViewHolder的解释:(1).只是一个静态类,不是Android的API方法。(2).它的作用就在于减少不必要的调用findViewById,然后把对底下的控件引用存在ViewHolder里面,再在View.set...

    fyber 评论0 收藏0
  • wemall app商城源码Android之支付宝通知处理类

    摘要:是基于的商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改。本文分享商城源码之处理支付宝各接口通知返回,供技术员参考学习。 wemall-mobile是基于WeMall的Android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改。本文分享wemall app商城源码Android之处理支付宝各接口通知返回,供技术员...

    Crazy_Coder 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<