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...

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

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

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

xUtils 包含了很多实用的android工具,关于xUtils详细介绍请参考 xUtils github地址,本文以一个小例子简单介绍下Android Studio使用xUtils存储数据到本地。...

Android网络框架xUtils的Http网络数据请求操作

xUtils:当前比较火的框架,并且用处也是比较多。一.目前xUtils主要有四大模块: DbUtils模块:用于数据库的操作,也是需要注解方式指定表名和列名; ViewUtils模块:注解...

jQuery通过ajax获得后台json数据给form表单赋值

jQuery提供了load方法可以将数据加载到页面form表单中,但有时候我需要获取后台json数据中某个值时,又需要赋值整个form表单,load方法没有回调函数所以就不行了,如果用ajax调用的话...

将表单序列化之后变成的json格式的数据无法通过Ajax发送到后台的解决

问题描述:动态生成的表格,封装到同一个form之中,每个input 必须有name属性,当使用jquery提供的serialize()方法将所有name-value自动生成之后,再对其进行人为的替换,...

检查from表单

  • 2014-03-27 11:42
  • 19KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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