Android 实现与Eclipse数据交互

来源:互联网 发布:网络信息发布有关规定 编辑:程序博客网 时间:2024/04/29 00:49

        //192.168.43.164   进入DOS密令 输入ipconfig 获取 --》 IPv4 地址(192.168.43.164)        //G160628_ServerForAndroid/login.do  Java jsp登录页面        String path="http://192.168.43.164:8080/G160628_ServerForAndroid/login.do";



Eclipse 获取与Android进行数据交互的类

package com.Zking.Servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class Servlet extends HttpServlet{  @Overrideprotected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {  String uname=req.getParameter("uname");    String upass=req.getParameter("upass");        String Result=null;
                     //从jsp界面获取的值    if("admin".equals(uname) && "123".equals(upass)){    Result="succeed";    System.out.println(Result);    }else{    Result="defeated";    System.out.println(Result);    }    PrintWriter pw=resp.getWriter();    pw.write(Result);    pw.close();}}


GET方式:

package com.example.g160628_android_32_commit_data;import android.os.AsyncTask;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.EditText;import android.widget.Toast;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;public class MainActivity extends AppCompatActivity {    private EditText et_main_uname;    private EditText et_main_upass;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);
        //账号        et_main_uname = (EditText) findViewById(R.id.et_main_uname); 
         //密码
        et_main_upass = (EditText) findViewById(R.id.et_main_upass);    }        
          //按钮点击执行方法    public void loginGET(View view){        String uname=et_main_uname.getText().toString();        String upass=et_main_upass.getText().toString();        //192.168.43.164   进入DOS密令 输入ipconfig 获取 --》 IPv4 地址(192.168.43.164)        //G160628_ServerForAndroid/login.do  Java jsp登录页面        String path="http://192.168.43.164:8080/G160628_ServerForAndroid/login.do";        new MyTask().execute(uname,upass,path);    }    class MyTask extends AsyncTask{        @Override        protected Object doInBackground(Object[] params) {            String uname=params[0].toString();            String upass=params[1].toString();            String path=params[2].toString();            Log.i("test",path);            try {                //GET方式必须写                URL url=new URL(path+"?uname="+uname+"&upass="+upass);                //打开连接                HttpURLConnection connection= (HttpURLConnection) url.openConnection();                  //请求方式                connection.setRequestMethod("GET");                connection.setConnectTimeout(5000);                //获取结果码 注:结果码必须写在  请求方式的后面                int i=connection.getResponseCode();                Log.i("test",""+i);                if(i==200){                    //与Eclipse进行数据交互                    InputStream is=connection.getInputStream();                    BufferedReader br=new BufferedReader(new InputStreamReader(is));                    //从Eclipse进行数据交互的值                    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);            //打印Eclipse进行数据交互的值            String s= (String) o;            Toast.makeText(MainActivity.this, s, Toast.LENGTH_SHORT).show();        }    }}


POST 方式:

package com.example.g160628_android_32_commit_data;import android.os.AsyncTask;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.EditText;import android.widget.Toast;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;public class Post extends AppCompatActivity {    private EditText et_post_uname;    private EditText et_post_upass;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_post);        //账号        et_post_uname = (EditText) findViewById(R.id.et_Post_uname);        //密码        et_post_upass = (EditText) findViewById(R.id.et_Post_upass);    }     //按钮点击方法    public void loginPost(View view){           String uname=et_post_uname.getText().toString();           String upass=et_post_upass.getText().toString();        //192.168.43.164   进入DOS密令 输入ipconfig 获取 --》 IPv4 地址(192.168.43.164)        //G160628_ServerForAndroid/login.do  Java jsp登录页面        String path="http://192.168.43.164:8080/G160628_ServerForAndroid/login.do";         new MyTask().execute(uname,upass,path);    }    class MyTask 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 connection= (HttpURLConnection) url.openConnection();                connection.setRequestMethod("POST");                connection.setConnectTimeout(5000);                                String s="uname="+uname+"&upass="+upass;                //添加请求头                // 键是固定的写法                connection.setRequestProperty("Content-Length",s.length()+"");                //键和值是固定的写法                connection.setRequestProperty("Content-Type","application/x-www-form-urlencoded");                            connection.setDoOutput(true);//允许对外输出数据                //传值给Eclipse                OutputStream os=connection.getOutputStream();                os.write(s.getBytes());                int code=connection.getResponseCode();                if(code==200){                    //与                    InputStream is=connection.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 str= (String) o;            Toast.makeText(Post.this,str, Toast.LENGTH_SHORT).show();        }    }}


使用第三方(android-async-http-1.4.4.jar)

切换到project找到项目下的libs文件夹下导入jar包 右键 Add As Libaray..(倒数第二个)

注: 在build.gradle 里添加

useLibrary 'org.apache.http.legacy'(建议写在android {  }里的第一行


package com.example.g160628_android_32_commit_data;import android.os.AsyncTask;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.EditText;import android.widget.Toast;import com.loopj.android.http.AsyncHttpClient;import com.loopj.android.http.RequestParams;import com.loopj.android.http.TextHttpResponseHandler;import org.apache.http.Header;public class HttpClient extends AppCompatActivity {    private EditText et_httpClient_uname;    private EditText et_httpClient_upass;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_http_client);        et_httpClient_uname = (EditText) findViewById(R.id.et_HttpClient_uname);        et_httpClient_upass = (EditText) findViewById(R.id.et_HttpClient_upass);    }    public void loginHttpClient(View view){        String uname=et_httpClient_uname.getText().toString();        String upass=et_httpClient_upass.getText().toString();        String path="http://192.168.43.164:8080/G160628_ServerForAndroid/login.do";        //android-async-http-1.4.4.jar 里的类        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);                //与Eclipse进行数据交互的值 ——》 responseBody                Toast.makeText(HttpClient.this, responseBody, Toast.LENGTH_SHORT).show();            }        });    }}



原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 电脑下软件变卡怎么办 机械表日历偏了怎么办 子宫内膜异位痛经怎么办 凉着了坏肚子怎么办 昆虫叮咬后疼痛起水泡怎么办 每次来月经都痛经怎么办 人左肩的灯灭了怎么办 香港超过7天了怎么办? 手机拍完照图像是倒的怎么办 地下城金币邮寄卡了怎么办 wow7.3打团本卡怎么办 上古卷轴5出bug怎么办 苹果手机打游戏太卡怎么办 梦幻将军令换了怎么办 手机丢了将军令怎么办 大军之印放弃了怎么办 联想一体机进入界面就死机怎么办 nmd袜子鞋露脚趾怎么办 生意不顺意志崩溃了怎么办 笔记本突然卡住不动了怎么办 指定货代费用高怎么办 空运舱单上的收货人错了怎么办? 被诚信贷骗了怎么办 原户主不迁户口怎么办 二手房原房主没迁走怎么办 办退工没有就失业证怎么办 消防队教导员插手商场翘柜台怎么办 调动工作原单位领导不放人怎么办 脚碰了一下肿了怎么办 六十岁的犯人身体有病怎么办 比熊肛门周围发炎怎么办 夏天肛门周围皮肤发炎怎么办 直肠息肉手术后便秘怎么办 痔疮手术后肛门洞怎么办 痔手术后肛门有个洞怎么办 直肠上长了瘤怎么办 上嘴唇没有唇峰怎么办 拉屎厕所堵了怎么办啊 小孩一拉屎就哭怎么办 上火裆部有肿块特别疼怎么办 狗狗拉屎拉不出来怎么办