zoukankan      html  css  js  c++  java
  • 25_Android_网络通信之资讯客户端(下)

    接(上)的代码。Android客户端代码如下:

    public class VideoActivity extends Activity {
    	private Button btn_videonews;
    	private ListView videoList;
    	private List<News> newsList;
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    	
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.videonews);
    		btn_videonews = (Button) findViewById(R.id.Btn_down_news);
    		videoList = (ListView) findViewById(R.id.Lv_videonews);
    		
    		  btn_videonews.setOnClickListener(new OnClickListener() {
    		  
    		 @Override public void onClick(View v) {
    		
    		try {
    			URL url = new URL("http://111.114.116.114:8080/Test/ListServlet");
    			HttpURLConnection httpURLConnection = (HttpURLConnection) url
    					.openConnection();
    			httpURLConnection.setReadTimeout(5000);
    		
    			httpURLConnection.setRequestMethod("GET");
    			if (httpURLConnection.getResponseCode() == 200) {
    
    				InputStream inputStream = httpURLConnection.getInputStream();
    			newsList = parseXML(inputStream);
    				List<HashMap<String, Object>> data = new ArrayList<HashMap<String, Object>>();
    				for (News news : newsList) {
    					HashMap<String, Object> item = new HashMap<String, Object>();
    					item.put("id", news.getId());
    					item.put("name", news.getName());
    					item.put("timeLength", news.getTimeLength());
    					data.add(item);
    				}
    				SimpleAdapter simpleAdapter = new SimpleAdapter(
    						VideoActivity.this, data, R.layout.itme_news,
    
    						new String[] { "name", "timeLength" }, new int[] {
    								R.id.news_name, R.id.news_timeLength });
    				videoList.setAdapter(simpleAdapter);
    
    			}
    
    		} catch (Exception e) {
    
    			e.printStackTrace();
    		}
    
    	}
    
    	 });
    
    	 }
    
    	private List<News> parseXML(InputStream inputStream) throws Exception {
    
    		List<News> newsList = new ArrayList<News>();
    		News news = null;
    		XmlPullParser parser = Xml.newPullParser();
    		parser.setInput(inputStream, "UTF-8");
    		int event = parser.getEventType();
    		while (event != XmlPullParser.END_DOCUMENT) {
    			switch (event) {
    			case XmlPullParser.START_TAG:
    				if ("id".equals(parser.getName())) {
    					news = new News();
    					news.setId(new Integer(parser.nextText()));
    				} else if ("name".equals(parser.getName())) {
    					news.setName(parser.nextText());
    				} else if ("timeLength".equals(parser.getName())) {
    					news.setTimeLength(new Integer(parser.nextText()));
    				}
    				break;
    			case XmlPullParser.END_TAG:// 每一个带斜杠的都是endtag
    				if ("news".equals(parser.getName())) {
    					newsList.add(news);
    					news = null;
    
    				}
    				break;
    			default:
    				break;
    			}
    			event = parser.next();// 不要忘了这句哟~
    
    		}
    		Toast.makeText(this, "连接成功.200" + newsList.size(), 1000).show();
    		return newsList;
    
    	}
    }



  • 相关阅读:
    git 命令行下浏览器tig使用记录
    根据进程名字杀死进程
    centos7 在线安装postgresql9.5
    HttpClient使用代理访问
    nmap查看服务器端口使用情况
    java后台启动jar包
    不同语言,系统通过共享内存方式实现信息交互
    释放 MappedByteBuffer映射的内存
    Java使用ByteBuffer读取大文件
    Java共享内存
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3098145.html
Copyright © 2011-2022 走看看