我在发送数据时遇到麻烦,通过http客户端发布方法。我想将任何电话号码发送到网络服务并接收请求。
这是我的SignUp.java: -
public class SignUp extends AppCompatActivity implements View.OnClickListener {
TextView tv;
Button sign_up;
EditText et;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.sign_up);
tv = (TextView)findViewById(R.id.sign_up);
sign_up = (Button)findViewById(R.id.login_buttton);
et = (EditText)findViewById(R.id.sign_up_editText);
tv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(SignUp.this, LoginActivity.class);
startActivity(intent);
}
});
sign_up.setOnClickListener(this);
}
public void onClick(View v){
validateForm();
/* if(et.getText().toString().isEmpty()){
Toast.makeText(SignUp.this,"Please Fill Contect Nuumber",Toast.LENGTH_LONG).show();
}
else{
postSignUpData();
}*/
}
public void postSignUpData(){
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
}
private static boolean isValidPhoneNumber(String mobile) {
String regEx = "^[0-9]{10}$";
return mobile.matches(regEx);
}
private void validateForm(){
String mobile = et.getText().toString();
if(isValidPhoneNumber(mobile)){
requestForSMS();
}
else {
Toast.makeText(SignUp.this,"Please enter valid mobile number",Toast.LENGTH_LONG).show();
}
}
private void requestForSMS(){
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://opencart.codeniques.com/shopping/?route=feed/web_api/registertele&key=test123$");
try{
List<NameValuePair> nameValuePairs = new ArrayList<>(1);
nameValuePairs.add(new BasicNameValuePair("number",et.getText().toString()));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
int status = response.getStatusLine().getStatusCode();
if(status==200){
HttpEntity entity = response.getEntity();
String data = EntityUtils.toString(entity);
JSONObject jsonObject = new JSONObject(data);
Toast.makeText(SignUp.this,"Value of json object"+jsonObject,Toast.LENGTH_LONG).show();
}
else{
Toast.makeText(SignUp.this,"GO to else",Toast.LENGTH_LONG).show();
}
//String str = inputStreamToString(response.getEntity().getContent()).toString();
// Toast.makeText(SignUp.this,"Str value "+str,Toast.LENGTH_LONG).show();
// HttpResponse response = httpclient.execute(httppost);
}catch (IOException |JSONException e){
Log.e("Error :",e.getMessage() );
}
}
private StringBuilder inputStreamToString(InputStream is){
String line = "";
StringBuilder total = new StringBuilder();
// Wrap a BufferedReader around the InputStream
BufferedReader rd = new BufferedReader(new InputStreamReader(is));
// Read response until the end
try {
while ((line = rd.readLine()) != null) {
total.append(line);
}
} catch (IOException e) {
e.printStackTrace();
}
// Return full string
return total;
}
}
Here is a url for my web service
这里是我的Logcat: -
E/AndroidRuntime: at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1273)
10-16 15:02:08.189 7560-7560/shoppingmazza.android.catalyst.com.dynamiclayout E/AndroidRuntime: at java.net.InetAddress.lookupHostByName(InetAddress.java:431)
10-16 15:02:08.189 7560-7560/shoppingmazza.android.catalyst.com.dynamiclayout E/AndroidRuntime: at java.net.InetAddress.getAllByNameImpl(InetAddress.java:252)
10-16 15:02:08.189 7560-7560/shoppingmazza.android.catalyst.com.dynamiclayout E/AndroidRuntime: at java.net.InetAddress.getAllByName(InetAddress.java:215)
10-16 15:02:08.189 7560-7560/shoppingmazza.android.catalyst.com.dynamiclayout E/AndroidRuntime: at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:142)
E/AndroidRuntime: at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:169)
10-16 14:24:44.827 7739-7739/shoppingmazza.android.catalyst.com.dynamiclayout E/AndroidRuntime: at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:124)
10-16 14:24:44.827 7739-7739/shoppingmazza.android.catalyst.com.dynamiclayout E/AndroidRuntime: at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:366)
10-16 14:24:44.827 7739-7739/shoppingmazza.android.catalyst.com.dynamiclayout E/AndroidRuntime: at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:560)
10-16 14:24:44.827 7739-7739/shoppingmazza.android.catalyst.com.dynamiclayout E/AndroidRuntime: at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:492)
10-16 14:24:44.827 7739-7739/shoppingmazza.android.catalyst.com.dynamiclayout E/AndroidRuntime: at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:470)
10-16 14:24:44.827 7739-7739/shoppingmazza.android.catalyst.com.dynamiclayout E/AndroidRuntime: at shoppingmazza.android.catalyst.com.dynamiclayout.SignUp.requestForSMS(SignUp.java:102)
10-16 14:24:44.827 7739-7739/shoppingmazza.android.catalyst.com.dynamiclayout E/AndroidRuntime: at shoppingmazza.android.catalyst.com.dynamiclayout.SignUp.validateForm(SignUp.java:86)
10-16 14:24:44.827 7739-7739/shoppingmazza.android.catalyst.com.dynamiclayout E/AndroidRuntime: at shoppingmazza.android.catalyst.com.dynamiclayout.SignUp.onClick(SignUp.java:63)
10-16 14:24:44.827 7739-7739/shoppingmazza.android.catalyst.com.dynamiclayout E/AndroidRuntime: at android.view.View.performClick(View.java:5198)
10-16 14:24:44.827 7739-7739/shoppingmazza.android.catalyst.com.dynamiclayout E/AndroidRuntime: at android.view.View$PerformClick.run(View.java:21147)
10-16 14:24:44.827 7739-7739/shoppingmazza.android.catalyst.com.dynamiclayout E/AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:739)
10-16 14:24:44.827 7739-7739/shoppingmazza.android.catalyst.com.dynamiclayout E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:95)
10-16 14:24:44.827 7739-7739/shoppingmazza.android.catalyst.com.dynamiclayout E/AndroidRuntime: at android.os.Looper.loop(Looper.java:148)
我事先是新的android.Please Help.Thanks is advance
答案 0 :(得分:0)
你的代码没有问题。你正在使用min api level 2.3等。因为你需要在asynctask中进行网络操作或者在代码之前使用以下代码以避免异常
if (android.os.Build.VERSION.SDK_INT > 9) {
StrictMode.ThreadPolicy policy =
new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
}