Andriod开源框架asynchttpclient基本使用

1.导入相关依赖

在build.gradle中dependencies中添加
implementation ‘net.callumtaylor:asynchttpclient:2.1.1’

2.代码实现

2.1使用get方式来发送请求

/**
     * 使用get请求方式来向服务器发送数据
     * @param view
     */
    public void getToLogin(View view)
    {
        //发送请求url
        path = "http://192.168.6.57:8080/login?username=" + etUserName.getText().toString().trim() + "&userpass=" + etUserPass.getText().toString().trim();

        //初始化一个asynchttpclient对象,传入请求的url
        AsyncHttpClient httpClient = new AsyncHttpClient(path);

        //使用get请求,响应处理器使用jsonresponsehandler,还有其他响应处理器
        httpClient.get(new JsonResponseHandler()
               {
                   //请求成功时候执行的代码
                   @Override
                   public void onSuccess()
                   {
                       JsonElement element = getContent();
                       final String asString = element.getAsString();
                       runOnUiThread(new Runnable()
                       {
                           @Override
                           public void run()
                           {
                               Toast.makeText(getApplicationContext(), asString, Toast.LENGTH_LONG).show();
                           }
                       });
                   }
                   
                   //请求失败的时候执行的代码
                   @Override
                   public void onFailure()
                   {
                       JsonElement element = getContent();
                       String asString = element.getAsString();
                       Toast.makeText(getApplicationContext(), asString, Toast.LENGTH_LONG).show();
                   }
               }
        );

    }

2.2使用post请求方式发送请求

public void postToLogin(View view)
    {
        path = "http://192.168.6.57:8080";
        String username = etUserName.getText().toString().trim();
        String userpass = etUserPass.getText().toString().trim();


        AsyncHttpClient httpClient = new AsyncHttpClient(path);
        
        //post请求的data数据,键值对的列表
        List<NameValuePair> params = new ArrayList<>();
        params.add(new NameValuePair("username", username));
        params.add(new NameValuePair("userpass", userpass));


        //这边是uri路径,全称为http://192.168.6.57:8080/login,上面已经传入了服务器路径,这边只要写子目录
        httpClient.post("login", params, new StringResponseHandler()
        {
            @Override
            public void onSuccess()
            {
                final String asString = getContent();
                runOnUiThread(new Runnable()
                {
                    @Override
                    public void run()
                    {
                        Toast.makeText(getApplicationContext(), asString, Toast.LENGTH_LONG).show();
                    }
                });
            }
        });
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值