Android 通过Get方式提交参数给Web应用

  HTTP协议发送数据:小于2K的数据 可以通过GET方式。

  当然传送中文参数会出现乱码 

   服务端要和客户端要统一编码就行!

 

 主要代码贴一下吧:

 

 

package com.zyq.service; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; public class VideoService { public static boolean save(String name,String time) throws Exception { Map<String,String> parms=new HashMap<String, String>(); parms.put("name", name); parms.put("time", time); parms.put("method", "save"); String path="http://192.168.1.162:8080/videoweb/video/manage.do"; return sendGETRequest(path,parms,"UTF-8"); } /** * 发送GET请求  * @param path 请求路径 * @param parms 请求参数 * @return 请求结果 * @throws Exception */ private static boolean sendGETRequest(String path, Map<String, String> parms,String encoding) throws Exception { StringBuilder sb=new StringBuilder(); sb.append(path); if(parms!=null && !parms.isEmpty()) { sb.append("?"); for(Entry<String, String> entry: parms.entrySet()) { sb.append(entry.getKey()).append('=') .append(URLEncoder.encode(entry.getValue(), encoding)) .append('&'); } sb.deleteCharAt(sb.length()-1); } URL url=new URL(sb.toString()); HttpURLConnection conn=(HttpURLConnection) url.openConnection(); conn.setReadTimeout(1000*5); conn.setRequestMethod("GET"); if(conn.getResponseCode()==200) { return true; } return false; } }

 

activity

 

package com.zyq.main; import com.zyq.service.VideoService; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity { private EditText videonameText; private EditText videotimetext; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button button=(Button)this.findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { String name=videonameText.getText().toString().trim(); String time=videotimetext.getText().toString().trim(); try { boolean bool=VideoService.save(name, time); if(bool) { Toast.makeText(MainActivity.this, R.string.succss, 1).show(); } else { Toast.makeText(MainActivity.this, R.string.fail, 1).show(); } } catch (Exception e) { Toast.makeText(MainActivity.this, R.string.netfail, 1).show(); e.printStackTrace(); } } }); } }

 

string.xml

<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">视频资讯管理器</string> <string name="viodeoname">视频名称</string> <string name="viodeotime">视频时长</string> <string name="button">保存视频参数</string> <string name="netfail">网络链接失败 !</string> <string name="succss">保存视频参数成功!</string> <string name="fail">保存视频参数成功!</string> </resources> 


你可能感兴趣的:(exception,Web,android,String,button,encoding)