引用第三方进行Android前端与web后台的数据交互

本文介绍了一个简单的Android登录案例,包括后端Servlet实现和前端界面及网络请求处理。通过使用AsyncHttpClient发起HTTP请求,与web后台服务交互完成登录验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.首先你需要导入jar包,如图:

2.然后把jar包放入Project(Android)

3.注意:useLibrary 'org.apache.http.legacy'这句话需要放入Project你所在的项目里的gradle,版本处。看图:


4.web后台服务做一个简易的登录页面

演示代码:



loginServlet

package com.ZGL.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 LoginServlet extends HttpServlet{
		@Override
		protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
			//获取用户名和密码
			String uname=req.getParameter("uname");
			String upass=req.getParameter("upass");
			System.out.println(uname+" "+upass);
			String result=null;
			//判断
			if("admin".equals(uname)&&"123".equals(upass)){
				result="success";
			}else{
				result="fail";
			}
			PrintWriter pw=resp.getWriter();
			pw.write(result);
			pw.close();
		}
		
		@Override
		protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
			doPost(req, resp);
		}
		
	
}

还需要xml配置


5.Android前端代码演示:

布局:


Activity:

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  loginAsyncHttpClient(View v){
        String uname=et_main_uname.getText().toString();
        String upass=et_main_upass.getText().toString();
        String path="http://192.168.43.238:8080/Myweb_01/login.do";
        AsyncHttpClient ahc=new AsyncHttpClient();
        RequestParams p=new RequestParams();
        p.put("uname",uname);
        p.put("upass",upass);
        ahc.post(this,path,p,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();
            }
        });
    }


xml:网络权限配置:
<uses-permission android:name="android.permission.INTERNET"></uses-permission>





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值