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(); } }); }}
阅读全文
0 0
- Android 实现与Eclipse数据交互
- android实现数据快速与组件交互
- android 通过WebView与javascript实现数据交互
- Android 使用Json实现服务器与客户端数据的交互
- Android与服务器端数据交互
- Android 与服务器端数据交互
- Android与服务器端数据交互
- Android与服务器交互数据
- Android与服务器端数据交互
- Android与H5数据交互
- Android与H5数据交互
- fragment与activity实现数据交互
- hive与es之间实现数据交互
- SpringMVC 与 Json实现数据交互
- php 接口与前端数据交互实现
- node实现D3数据交互与使用
- android数据交互之AsyncTask实现
- Android WebView 与JS的数据交互
- 字符集编码详解
- Log4j配置详解
- 数据结构双向链表c语言实现(linux下多文件实现)
- Java标识符、数据类型、运算符
- CameraMotionBlurEditor 在uinty5.x 报错
- Android 实现与Eclipse数据交互
- pandas 中的Axis含义
- @Controller和@RestController的区别
- Azure .Net应用架构原型
- VPN加速修改host文件攻略
- JQuery基础入门介绍
- map函数的小应用
- 原型模式
- codeforces 813C The Tag Game