窗体一

package Http.View;import java.io.IOException;import java.io.StringReader;import java.util.ArrayList;import java.util.Iterator;import java.util.List;import javax.xml.parsers.SAXParserFactory;import mars.modle.Mp3Info;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.HttpStatus;import org.apache.http.NameValuePair;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.HttpClient;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.HttpPost;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.message.BasicNameValuePair;import org.apache.http.util.EntityUtils;import org.xml.sax.InputSource;import org.xml.sax.XMLReader;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TextView;public class Post extends Activity { TextView mTextView = null; @Override protected void onCreate(Bundle savedInstanceState)  {  // TODO Auto-generated method stub  super.onCreate(savedInstanceState);  setContentView(R.layout.post);     mTextView = (TextView)this.findViewById(R.id.my);        //http地址        String httpUrl = "http://wap.51tes.com/i.asmx/c";        //获得的数据        HttpPost httpRequest = new HttpPost(httpUrl);        //使用NameValuePair来保存要传递的Post数据        List<NameValuePair> params = new ArrayList<NameValuePair>();        //添加需要的参数        params.add(new BasicNameValuePair("c1","wm"));        params.add(new BasicNameValuePair("c2","240*320"));        params.add(new BasicNameValuePair("c3","1.0"));        params.add(new BasicNameValuePair("c4","6365T"));        try        {         //设置字符集         HttpEntity httpentity = new UrlEncodedFormEntity(params,"utf8");         //请求HttpRequest         httpRequest.setEntity(httpentity);         //取得默认的HttpClient         HttpClient httpclient = new DefaultHttpClient();         //取得HttpResponse         HttpResponse httpResponse = httpclient.execute(httpRequest);         //请求成功         if(httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK)         {          //取得返回的字符串          String strResult = EntityUtils.toString(httpResponse.getEntity());          mTextView.setText(strResult);          parse(strResult);         }         else         {          mTextView.setText("请求错误");         }        }        catch(ClientProtocolException e)        {         mTextView.setText(e.getMessage().toString());        }     catch(IOException e)     {      mTextView.setText(e.getMessage().toString());     }     catch(Exception e)     {      mTextView.setText(e.getMessage().toString());     }  //设置按键事件监听        Button button_Back = (Button)findViewById(R.id.Button_Back_POST);        /*监听Button的时间信息*/        button_Back.setOnClickListener(new Button.OnClickListener()        {         public void onClick(View v)         {          /*新建一个Intent对象*/          Intent intent = new Intent();          /*指定intent要启动的类*/          intent.setClass(Post.this, Http.class);          /*启动一个新的Activity*/          startActivity(intent);          /*关闭当前的Activity*/          Post.this.finish();         }        }); }  private List<Mp3Info> parse(String xmlStr)  {      SAXParserFactory  saxParserFactory = SAXParserFactory.newInstance();      List<Mp3Info> infos = new ArrayList<Mp3Info>();      try      {   XMLReader xmlReader = saxParserFactory.newSAXParser().getXMLReader();   MyContentHandler mp3ListContentHandler = new MyContentHandler(infos);   xmlReader.setContentHandler(mp3ListContentHandler);   xmlReader.parse(new InputSource(new StringReader(xmlStr)));    for(Iterator<Mp3Info> iterator = infos.iterator();iterator.hasNext();)   {    Mp3Info mp3Info = iterator.next();    System.out.println(mp3Info);   }      }      catch(Exception e)  {   e.printStackTrace();  }  return infos;  }}

窗体2

package Http.View;import java.util.List;import mars.modle.Mp3Info;import org.xml.sax.Attributes;import org.xml.sax.SAXException;import org.xml.sax.helpers.DefaultHandler;public class MyContentHandler extends DefaultHandler{ private List<Mp3Info> infos = null; public MyContentHandler(List<Mp3Info> infos)  {  super();  this.infos = infos; } public List<Mp3Info> getInfos()  {  return infos; } public void setInfos(List<Mp3Info> infos)  {  this.infos = infos; } private Mp3Info mp3Info = null; private String tagName;    public void startDocument() throws SAXException    {         }    public void endDocument() throws SAXException    {         }    public void startElement(String nameSpaceURI,String localName, String qName, Attributes attr) throws SAXException    {     this.tagName = localName;  if(localName.equals("E"))  {   mp3Info = new Mp3Info();  }    }    public void endElement(String nameSpaceURI,String localName, String qName, Attributes attr) throws SAXException    {  if(qName.equals("E"))  {   infos.add(mp3Info);  }     tagName = null;    }    public void characters (char[] ch, int start, int length) throws SAXException    {     String temp = new String (ch, start, length);     if(tagName.equals("E1"))     {      mp3Info.setE1(temp);     }     else if(tagName.equals("E2"))     {      mp3Info.setE2(temp);     }     else if(tagName.equals("E3"))     {      mp3Info.setE3(temp);     }     else if(tagName.equals("E4"))     {      mp3Info.setE4(temp);     }     else if(tagName.equals("E5"))     {      mp3Info.setE5(temp);     }    }} 

更多相关文章

  1. Android Message里传送的数据
  2. 对android内置的sqlLite数据库进行增、删、改、查操作
  3. android 本地存储数据
  4. Android 数据列表展示UI框架
  5. Android中XML格式数据的简单使用
  6. android 通过ContentResolver获得联系人数据
  7. Android Afinal框架学习(一) FinalDb 数据库操作
  8. android xml本地数据弹窗多选

随机推荐

  1. ProgressBar的简单使用
  2. android 多线程 AsyncTask handler
  3. Android最全UI库合集
  4. 2020年 Android必会面试题
  5. android上opengl性能分析工具
  6. Android自动化测试初探(三): 架构实现
  7. Android(安卓)Binder机制学习总结(二)-Dr
  8. Android修改触摸按键震动强弱
  9. Android(安卓)动画——过渡动画中Activit
  10. IT网站收藏