xutils请求shh框架发布的json数据(类似from表单)

原创 2016年05月30日 11:52:27

在Android上面测试的小demo,通过xutils这个框架,轻松发起post或get,同时又同步,异步等方式

package com.example.xutilsdemo;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONArray;
import org.json.JSONObject;


























import com.alibaba.fastjson.JSON;
import com.lidroid.xutils.HttpUtils;
import com.lidroid.xutils.exception.HttpException;
import com.lidroid.xutils.http.RequestParams;
import com.lidroid.xutils.http.ResponseInfo;
import com.lidroid.xutils.http.ResponseStream;
import com.lidroid.xutils.http.callback.RequestCallBack;
import com.lidroid.xutils.http.client.HttpRequest.HttpMethod;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {
    private ExecutorService exec;
    private TextView textView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    //  textView=(TextView) findViewById(R.id.te);
        //getString();

        //  conePostrequest();//xutlis3
        //breenPaotrequest();//xutlis
        breenPaotrequestAnsy();
    }



    /**
     * 异步请求
     */
    void breenPaotrequest(){
        String url="http://10.188.20.128:8080/tj/getUserByUId.action?work=河北大学&UId=1"; 
        String uel="http://10.188.20.128:8080/tj/getUserByUId.action?";
        RequestParams params=new RequestParams();
        params.addBodyParameter("work", "河北");
        params.addBodyParameter("UId", "1");
        HttpUtils http = new HttpUtils();
        http.send(HttpMethod.POST, uel, params, 
                new RequestCallBack<String>() {
            @Override
            public void onFailure(HttpException arg0, String arg1) {
            }
            @Override
            public void onStart() {
                super.onStart();
                Toast.makeText(getApplicationContext(), "paost开始", Toast.LENGTH_LONG).show();
            }
            @Override
            public void onSuccess(ResponseInfo<String> arg0) {
                JSON.parse(arg0.result);
                // List<User>list=JSON.parseArray(arg0.result,User.class);
                textView.setText(arg0.result);
            }
        });
        //
        http.send(HttpMethod.GET,
                url,
                new RequestCallBack<String>(){
            @Override
            public void onLoading(long total, long current, boolean isUploading) {
            }
            @Override
            public void onSuccess(ResponseInfo<String> jsonObject) {

                System.out.println("是数据"+jsonObject.result);
                Toast.makeText(getApplicationContext(), jsonObject.result, Toast.LENGTH_LONG).show();
            }
            @Override
            public void onStart() {
                Toast.makeText(getApplicationContext(), "开始....", Toast.LENGTH_LONG).show();
            }

            @Override
            public void onFailure(HttpException error, String msg) {
                Toast.makeText(getApplicationContext(), error.toString(), Toast.LENGTH_LONG).show();
            }
        });

    }
    /**
     * 同步步请求
     */
ExecutorService executorService=Executors.newFixedThreadPool(2);

void breenPaotrequestAnsy(){
    final String url="http://10.188.20.128:8080/tj/getUserByUId.action?work=河北大学&UId=1"; 
    final String uel="http://10.188.20.128:8080/tj/getUserByUId.action?";
    final HttpUtils http = new HttpUtils();
    executorService.execute(new Runnable() {
        @Override
        public void run() {

            RequestParams params=new RequestParams();
            params.addBodyParameter("work", "河北");
            params.addBodyParameter("UId", "1");
             http.configCurrentHttpCacheExpiry(1000 * 10); //设置超时时间   10s
            try {
             ResponseStream responstream=http.sendSync(HttpMethod.POST,uel,params);
             String json=responstream.readString();
             User user=JSON.parseObject(json, User.class);
            System.out.println(user.getUName());
            JSONObject jsonObject=new JSONObject(json);
            System.out.println("POSTjsonjson->"+jsonObject.getString("UName"));
            } catch (Exception e) {
                e.printStackTrace();
            }           
        //--------------
            try {
                ResponseStream responseStreamget=http.sendSync(HttpMethod.GET, url);
                String json=responseStreamget.readString();
                 User user=JSON.parseObject(json, User.class);
                System.out.println(user.getUName());
                JSONObject jsonObject=new JSONObject(json);
                System.out.println("GETjsonjson->"+jsonObject.getString("UName"));
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }   
    });
}
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

xUtils上传文件使用表单的方式上传文件。

项目中需要进行上传多张图片,比如说,发表文章的时候最多可以上传9张图片。 List filelist = new ArrayList(); for (int i = 0; i < filePa...

Xutils HttpUtils上传文件的实现

移动开发处理网络上传文件时经常使用xUtils这个库。xUtils是github上的一个Android开源工具项目,其中HttpUtils模块是处理网络连接部分...

xutils3使用方法(很全面)

1.先来认识一下xUtils3 1)xUtils3简介 xUtils是基于Afinal开发的目前功能比较完善的一个Android开源框架,最近又发布了xUtil3.0,在增加新功能的同时又提高了框...

xUtils3的使用简单总结

Xutils的简单总结xUtils简介 xUtils 包含了很多实用的android工具。 xUtils 最初源于Afinal框架,进行了大量重构,使得xUtils支持大文件上传,更全面的http请求...

from 表单post方式提交,返回json数据

action=”mvc/dangerApproval/safety_app_save” 如果aciton请求后不加.json Content-Type:application/x-www-...

表单中的Json格式数据使用方法

  • 2014年03月15日 18:26
  • 29KB
  • 下载

Django-restframework01 REST框架原始写法,与表单Form类似,实例

1. 创建模型(models.py)from django.db import models # 高亮文本, 两种风格 from pygments.lexers import get_all_lexe...

利用JS+表单+php实现组装式数据查询,类似于数据库的UI

1.如上效果 2.代码 无标题文档 .search { background-color: #CCC; width:500px; height:150px; ...

Android---Volley请求 Json解析 xUtils数据存储

xUtils 包含了很多实用的android工具,关于xUtils详细介绍请参考 xUtils github地址,本文以一个小例子简单介绍下Android Studio使用xUtils存储数据到本地。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:xutils请求shh框架发布的json数据(类似from表单)
举报原因:
原因补充:

(最多只允许输入30个字)