Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将JsonObject发布到服务器,android_Android_Json_Post_Request_Server - Fatal编程技术网

将JsonObject发布到服务器,android

将JsonObject发布到服务器,android,android,json,post,request,server,Android,Json,Post,Request,Server,我试图将我的json对象发送到服务器地址,但它不允许我这样做,给了我执行方法上的错误,我在这个论坛上尝试了关于这个问题的所有答案,但仍然无法使其工作,你认为我的错误是什么 这是密码 public class MainActivity extends Activity implements OnClickListener{ Button btnLogin, btnRegister; EditText tvEmail, tvPassword; TextView tv

我试图将我的json对象发送到服务器地址,但它不允许我这样做,给了我执行方法上的错误,我在这个论坛上尝试了关于这个问题的所有答案,但仍然无法使其工作,你认为我的错误是什么

这是密码

    public class MainActivity extends Activity implements OnClickListener{

    Button btnLogin, btnRegister;
    EditText tvEmail, tvPassword;
    TextView tvResultJson1;
    Gson g;
    AsyncHttpClient client;
     Usuario usuario;
     public String url = "http://unshakable-kingswood-61-157350.use1-2.nitrousbox.com:9000/login";


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.mainlogin);




        btnLogin =(Button)findViewById(R.id.btnLogin);
        btnRegister=(Button)findViewById(R.id.btnRegister);
        tvEmail=(EditText)findViewById(R.id.tvEmail);
        tvPassword=(EditText)findViewById(R.id.tvPassword);
        tvResultJson1=(TextView)findViewById(R.id.tvResultJson1);


        client= new AsyncHttpClient();
        g= new Gson();

        btnRegister.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
            //  Intent i= new Intent(MainActivity.this, RegisterForm.class);
                //startActivity(i);


            }
        });

        // check if you are connected or not
        if(isConnected()){


        }
        else{
            Toast toast1 =
                    Toast.makeText(getApplicationContext(),
                            "there is no internet access", Toast.LENGTH_SHORT);

                toast1.show();

                finish();
        }

        btnLogin.setOnClickListener((OnClickListener) this);

    }


    private boolean isConnected() {
        ConnectivityManager connMgr = (ConnectivityManager) getSystemService(Activity.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
        if (networkInfo != null && networkInfo.isConnected()) 
            return true;
        else

        return false;
    }


     public void onClick(View view) {

         // Get user defined values
       sendData();

     }


    private void sendData() {
         String json="";
         Usuario usuario = new Usuario();
         usuario.setMail(tvEmail.getText().toString());
         usuario.setPass(tvPassword.getText().toString());

     JsonObject jsonObject= new JsonObject();
     jsonObject.addProperty("mail", usuario.getNombre());
     jsonObject.addProperty("pass", usuario.getPass());

     json = jsonObject.toString();

     UploadASyncTask upload = new UploadASyncTask();        
     upload.execute(jsonObject);

}




    private class UploadASyncTask extends AsyncTask<JSONObject, Void, Void>{

        @Override
        protected Void doInBackground(JSONObject...jsonObject) {
            try{
                HttpParams params = new BasicHttpParams();
                //params.setParameter("data", auth);
                HttpClient httpclient = new DefaultHttpClient(params);

                HttpPost httpPost = new HttpPost("http://unshakable-kingswood-61-157350.use1-2.nitrousbox.com:9000/login");

                List<NameValuePair> postParams = new ArrayList<NameValuePair>();
                postParams.add(new BasicNameValuePair("data", jsonObject.toString()));

                UrlEncodedFormEntity entity = new UrlEncodedFormEntity(postParams);
                entity.setContentEncoding(HTTP.UTF_8);
                httpPost.setEntity(entity);

                HttpResponse httpResponse = httpclient.execute(httpPost);

                InputStream inputStream = httpResponse.getEntity().getContent();
                String result = "";

                if(inputStream != null){
                   result="Si funciono";

                }
                else{
                    result = "Did not work!";

                }

                Log.d("RESULT", result);


            }catch(Exception e){

                Log.e("ERROR IN SEVER UPLOAD", e.getMessage());
            }
            return null;

        }

    }
        }
public类MainActivity扩展活动实现OnClickListener{
按钮btnLogin,BTN注册表;
编辑文本tvEmail,tvepassword;
TextView tvResultJson1;
格森g;
异步httpclient;
乌萨里奥·乌萨里奥;
公共字符串url=”http://unshakable-kingswood-61-157350.use1-2.nitrousbox.com:9000/login";
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.mainlogin);
btnLogin=(按钮)findViewById(R.id.btnLogin);
btnRegister=(按钮)findViewById(R.id.btnRegister);
TveEmail=(EditText)findViewById(R.id.TveEmail);
tvPassword=(EditText)findViewById(R.id.tvPassword);
tvResultJson1=(TextView)findViewById(R.id.tvResultJson1);
client=新的AsyncHttpClient();
g=新Gson();
setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
//意图i=新意图(MainActivity.this、RegisterForm.class);
//星触觉(i);
}
});
//检查您是否已连接
如果(断开连接()){
}
否则{
敬酒=
Toast.makeText(getApplicationContext(),
“没有互联网接入”,Toast.LENGTH_SHORT);
toast1.show();
完成();
}
btnLogin.setOnClickListener((OnClickListener)this);
}
私有布尔值未连接(){
ConnectivityManager connMgr=(ConnectivityManager)getSystemService(Activity.CONNECTIVITY_服务);
NetworkInfo NetworkInfo=connMgr.getActiveNetworkInfo();
if(networkInfo!=null&&networkInfo.isConnected())
返回true;
其他的
返回false;
}
公共void onClick(视图){
//获取用户定义的值
sendData();
}
私有void sendData(){
字符串json=“”;
Usuario Usuario=新的Usuario();
usuario.setMail(tvEmail.getText().toString());
setPass(tvPassword.getText().toString());
JsonObject JsonObject=新的JsonObject();
addProperty(“mail”,usuario.getNombre());
addProperty(“pass”,usuario.getPass());
json=jsonObject.toString();
UploadASyncTask upload=新建UploadASyncTask();
upload.execute(jsonObject);
}
私有类UploadASyncTask扩展了AsyncTask{
@凌驾
受保护的Void doInBackground(JSONObject…JSONObject){
试一试{
HttpParams params=新的BasicHttpParams();
//参数设置参数(“数据”,认证);
HttpClient HttpClient=新的默认HttpClient(参数);
HttpPost HttpPost=新的HttpPost(“http://unshakable-kingswood-61-157350.use1-2.nitrousbox.com:9000/login");
List postParams=new ArrayList();
add(新的BasicNameValuePair(“data”,jsonObject.toString());
UrlEncodedFormEntity实体=新的UrlEncodedFormEntity(后参数);
setContentEncoding(HTTP.UTF_8);
httpPost.setEntity(实体);
HttpResponse HttpResponse=httpclient.execute(httpPost);
InputStream InputStream=httpResponse.getEntity().getContent();
字符串结果=”;
如果(inputStream!=null){
result=“Si functiono”;
}
否则{
结果=“不起作用!”;
}
Log.d(“结果”,结果);
}捕获(例外e){
Log.e(“服务器上传错误”,e.getMessage());
}
返回null;
}
}
}

您已经混淆了导入内容

sendData()
中,您使用的是
JsonObject
——请注意驼峰大小写

在您的
AsyncTask
中,您使用的是一个
JSONObject
-注意,JSON都是大写。

带有“upload.execute(JSONObject)”,为我提供了execute(JSONObject…)方法。在类型AsyncTask不适用于参数(JSONObject)中,我更改了它,并给出了相同的错误