登录 立即注册
安币:

安卓巴士 - 安卓开发 - Android开发 - 安卓 - 移动互联网门户

查看: 108|回复: 5

Web后台和Android前端之间的网络通信,web前端与后台交互

[复制链接]

237

主题

237

帖子

1479

安币

手工艺人

发表于 2017-11-14 10:25:50 | 显示全部楼层 |阅读模式

        一、通过GET方式去提交数据:

        

[Java] 查看源文件 复制代码
public void loginGet(View view){//例如:       String uname=et_main_uname.getText().toString();       String upass=et_main_upass.getText().toString();       String path="http://193.168.2.141:7788/demo/login.do";      new MyGetTask().execute(uname,upass,path);    }

        
[Java] 查看源文件 复制代码
class MyGetTask extends AsyncTask{        @Override        protected Object doInBackground(Object[] params) {            String uname=params[0].toString();            String upass=params[1].toString();            String path=params[2].toString();            try {                URL url=new URL(path+"?uname="+uname+"&upass="+upass);                HttpURLConnection connection= (HttpURLConnection) url.openConnection();                connection.setRequestMethod("GET");                connection.setConnectTimeout(5000);                if(connection.getResponseCode()==200){                    InputStream is=connection.getInputStream();                    BufferedReader br=new BufferedReader(new InputStreamReader(is));                    String s=br.readLine();                    return s;                }            } catch (MalformedURLException e) {                e.printStackTrace();            } catch (IOException e) {                e.printStackTrace();            }            return null;        }        @Override        protected void onPostExecute(Object o) {            super.onPostExecute(o);            String s= (String) o;            Toast.makeText(MainActivity.this, s, Toast.LENGTH_SHORT).show();        }    }

        二、通过POST提交数据

        

[Java] 查看源文件 复制代码
public void loginPost(View view){       String uname=et_main_uname.getText().toString();       String upass=et_main_upass.getText().toString();       String path="http://193.168.2.141:7788/demo/login.do";      new MyPostTask().execute(uname,upass,path);    }

        

[Java] 查看源文件 复制代码
class MyPostTask extends AsyncTask{        @Override        protected Object doInBackground(Object[] params) {            String uname=params[0].toString();            String upass=params[1].toString();            String path=params[2].toString();            try {                URL url=new URL(path);                HttpURLConnection conn= (HttpURLConnection) url.openConnection();                conn.setRequestMethod("POST");                conn.setConnectTimeout(5000);                //admin 123                //uname=admin&upass=123456                String s="uname="+uname+"&upass="+upass;                 //添加请求头                conn.setRequestProperty("Content-Length",s.length()+"");                conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");//固定的写法                conn.setDoOutput(true);//允许对外输出数据                OutputStream os=conn.getOutputStream();                os.write(s.getBytes());                if(conn.getResponseCode()==200){                    InputStream is=conn.getInputStream();                    BufferedReader br=new BufferedReader(new InputStreamReader(is));                    String str=br.readLine();                    return str;                }            } catch (MalformedURLException e) {                e.printStackTrace();            } catch (IOException e) {                e.printStackTrace();            }            return null;        }        @Override        protected void onPostExecute(Object o) {            super.onPostExecute(o);            String s= (String) o;            Toast.makeText(MainActivity.this,s, Toast.LENGTH_SHORT).show();        }    }

        三、使用第三方AsyncHttpClient提交数据

        

[Java] 查看源文件 复制代码
public void loginAsyncHttpClient(View view){        String uname=et_main_uname.getText().toString();        String upass=et_main_upass.getText().toString();        String path="http://193.168.2.141:7788/G160628_Server/login.do";        AsyncHttpClient ahc=new AsyncHttpClient();        RequestParams params=new RequestParams();        params.put("uname",uname);        params.put("upass",upass);        ahc.post(this,path,params,new TextHttpResponseHandler(){            @Override            public void onFailure(int statusCode, Header[] headers, String responseBody, Throwable error) {                super.onFailure(statusCode, headers, responseBody, error);            }            @Override            public void onSuccess(int statusCode, Header[] headers, String responseBody) {                super.onSuccess(statusCode, headers, responseBody);                Toast.makeText(MainActivity.this, responseBody, Toast.LENGTH_SHORT).show();            }        });    }

        
        

        
        


        
        
        

0

主题

8343

帖子

-2472

安币

限制会员

发表于 2017-11-15 02:18:31 | 显示全部楼层
帮帮顶顶!!

1

主题

8415

帖子

-2638

安币

限制会员

发表于 2017-11-15 14:03:36 | 显示全部楼层
感谢分享,楼主V5~

465

主题

8893

帖子

-394

安币

限制会员

发表于 2017-11-16 02:36:39 | 显示全部楼层
安卓巴士是个不错的网站,我来顶个贴~

0

主题

8871

帖子

-1704

安币

限制会员

IT

发表于 2017-11-16 17:30:33 | 显示全部楼层
不错不错,楼主辛苦了。。。

8

主题

8364

帖子

-2538

安币

限制会员

发表于 2017-11-17 17:58:08 | 显示全部楼层
感谢分享,安卓巴士有你更精彩:lol
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站长推荐

通过邮件订阅最新安卓weekly信息
上一条 /4 下一条
联系我们
关闭
合作电话:
13802416937
Email:
435399051@qq.com
商务市场合作/投稿
问题反馈及帮助
联系我们

广告投放| 申请友链|手机版|站点统计|安卓巴士 ( 粤ICP备15117877号 )

快速回复 返回顶部 返回列表