作者:手机用户2502871761 | 来源:互联网 | 2023-05-19 09:39
小弟最近初学Android编程,目前在做一个项目需要用到网络连接技术,由于我其他部分代码也用到了Xutils,所以网络连接也想用这个来写可是今天尝试访问服务器时候出错,自己想不明白错在哪儿啦求各
小弟最近初学Android编程,目前在做一个项目需要用到网络连接技术,由于我其他部分代码也用到了Xutils,所以网络连接也想用这个来写
可是今天尝试访问服务器时候出错,自己想不明白错在哪儿啦 求各位大神指教!!!
POSTmethod.java
package com.example.roderick.networkstructure.NetworkUtils.BasicMethod;
import com.lidroid.xutils.HttpUtils;
import com.lidroid.xutils.http.RequestParams;
import com.lidroid.xutils.http.callback.RequestCallBack;
import com.lidroid.xutils.http.client.HttpRequest;
/**
* Created by dellpc on 2016/8/10.
*/
public class POSTmethod {
protected void doPost(String url, RequestParams params, final RequestCallBack reqCallBack){
HttpUtils http = new HttpUtils();
http.configCurrentHttpCacheExpiry(1000 * 10);
http.send(HttpRequest.HttpMethod.POST, url, params, reqCallBack);
}
final protected String urlBasic = "http://10.25.32.2/hcservice";
}
netDocSignUp.java
package com.example.roderick.networkstructure.NetworkUtils.urlUtils;
import com.example.roderick.networkstructure.NetworkUtils.BasicMethod.POSTmethod;
import com.lidroid.xutils.exception.HttpException;
import com.lidroid.xutils.http.RequestParams;
import com.lidroid.xutils.http.ResponseInfo;
import com.lidroid.xutils.http.callback.RequestCallBack;
import org.apache.http.entity.StringEntity;
import org.json.JSONObject;
import java.io.UnsupportedEncodingException;
/**
* Created by dellpc on 2016/8/10.
*/
public class netDocSignUp extends POSTmethod {
public void Go(JSONObject json, RequestCallBack requestCallBack) throws UnsupportedEncodingException {
RequestParams params = new RequestParams();
params.setBodyEntity(new StringEntity(json.toString(), "UTF-8"));
this.doPost(this.urlBasic + "/doctor", params, requestCallBack);
}
}
TestActivity.java
package com.example.roderick.networkstructure;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import com.example.roderick.networkstructure.NetworkUtils.urlUtils.netDocSignUp;
import com.lidroid.xutils.ViewUtils;
import com.lidroid.xutils.exception.HttpException;
import com.lidroid.xutils.http.ResponseInfo;
import com.lidroid.xutils.http.callback.RequestCallBack;
import com.lidroid.xutils.view.annotation.ViewInject;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.UnsupportedEncodingException;
public class TestActivity extends AppCompatActivity implements View.OnClickListener {
@ViewInject(R.id.buttonTest)
private Button btnTest;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test);
ViewUtils.inject(this);
btnTest.setOnClickListener(this);
}
@Override
public void onClick(View view) {
final JSONObject jsonObject = new JSONObject();
try {
jsonObject.put("userName","Roderick");
jsonObject.put("password","Password");
jsonObject.put("realName","ZhenXingming");
jsonObject.put("age","20");
jsonObject.put("telephone","12345678910");
} catch (JSONException e) {
e.printStackTrace();
}
netDocSignUp Roderick = new netDocSignUp();
try {
Roderick.Go(jsonObject, new RequestCallBack() {
@Override
public void onSuccess(ResponseInfo responseInfo) {
Toast.makeText(TestActivity.this, "Login successed", Toast.LENGTH_SHORT).show();
}
@Override
public void onFailure(HttpException e, String s) {
Toast.makeText(TestActivity.this, "Login Failed", Toast.LENGTH_SHORT).show();
Toast.makeText(TestActivity.this, "JSON: " + jsonObject.toString(), Toast.LENGTH_SHORT).show();
}
});
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
代码如上
URL要求如上
因为涉及到多个URL,所以我把常用的POST方法进行了二次封装,之后用继承的方式,在子类里实现具体的URL访问
调试时候URL地址显示正常 但是服务器拒绝访问 因为服务器是很多人公用的,其他人可以用所以问题应该不在服务器上
求各位大神帮忙看一下 我这里面哪儿出问题了?多谢!!
P.s.我用的是Android Studio, 而且对于Eclipse不了解没用过。。。
2 个解决方案