2016-09-01 38 views
0

我正在研究一個需要使用volley庫登錄和註冊的應用程序。如何使用volley api連接android應用程序和本地服務器

測試中,我進入了我的憑據,並簽署了應用程序,但它沒有張貼我的個人資料到我的本地服務器,我在應用「com.android.volley.servererror」

得到一個消息乾杯這裏是我的volleyRegister.php文件:

<?php 

if($_SERVER['REQUEST_METHOD']=='POST'){ 
$fullname = $_POST['fullname']; 
$email = $_POST['email']; 
$username = $_POST['username']; 
$password = $_POST['password']; 
require_once('dbConnect.php'); 
$sql = "INSERT INTO android-volley (fullname,email,username,password) VALUES ('$fullname','$email','$username','$password')"; 
if(mysqli_query($con,$sql)){ 
    echo "Successfully Registered"; 
}else{ 
echo "Could not register"; 
}}else{ 
echo 'error';}?> 

的Android代碼

public class SignUpFragment extends Fragment implements Button.OnClickListener { 


public static final String Register_URL ="http://192.168.0.107/android-connect/volleyRegister.php"; 



public static final String KEY_FULLNAME = "fullname"; 
public static final String KEY_EMAIL = "email"; 
public static final String KEY_USERNAME = "username"; 
public static final String KEY_PASSWORD = "password"; 



EditText etFullName; 
EditText etEmail; 
EditText etUsername; 
EditText etPassword; 
Button SignUp2; 


@Override 
public View onCreateView(final LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View rootView = inflater.inflate(R.layout.fragment_signup, container, false); 

    final Animation animAlpha = AnimationUtils.loadAnimation(getActivity(), R.anim.anim_alpha); 

    etFullName = (EditText) rootView.findViewById(R.id.etFullName); 
    etEmail = (EditText) rootView.findViewById(R.id.etEmail); 
    etUsername = (EditText) rootView.findViewById(R.id.etUsername); 
    etPassword = (EditText) rootView.findViewById(R.id.etPassword); 
    Button SignUp2 = (Button) rootView.findViewById(R.id.Signup2); 


    SignUp2.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      final String fullName = etFullName.getText().toString(); 
      final String email = etEmail.getText().toString(); 
      final String username = etUsername.getText().toString(); 
      final String password = etPassword.getText().toString().trim(); 

      AnimationSet sets = new AnimationSet(false); 
      sets.addAnimation(animAlpha); 
      v.startAnimation(sets); 

      if (etFullName.length() == 0 || etEmail.length() == 0 || etUsername.length() == 0 || etPassword.length() == 0) { 
       Toast.makeText(getActivity(), "Oops! fill in complete details", Toast.LENGTH_SHORT).show(); 


      } else { 
       StringRequest stringRequest = new StringRequest(Request.Method.POST, Register_URL, 
         new Response.Listener<String>() { 
          @Override 
          public void onResponse(String s) { 
           Toast.makeText(SignUpFragment.this.getActivity(), s, Toast.LENGTH_LONG).show(); 
          } 
         }, 
         new Response.ErrorListener() { 
          @Override 
          public void onErrorResponse(VolleyError volleyError) { 
           Toast.makeText(SignUpFragment.this.getActivity(), volleyError.toString(), Toast.LENGTH_LONG).show(); 
          } 


         }) { 
        @Override 
        protected Map<String, String> getParams() { 
         Map<String, String> params = new HashMap<>(); 
         params.put(KEY_FULLNAME, fullName); 
         params.put(KEY_EMAIL, email); 
         params.put(KEY_USERNAME, username); 
         params.put(KEY_PASSWORD, password); 
         return params; 
        } 


       }; 
       RequestQueue requestQueue = Volley.newRequestQueue(getActivity()); 
       requestQueue.add(stringRequest); 
      } 
     }}); 

    return rootView; 
} 

`

+0

請添加您的Android代碼 – Stefan

+0

請發佈您的Android代碼 –

+0

您是否瞭解Google Firebase.It提供身份驗證和實時數據庫.check一次https:// firebase .google.com/docs/android/setup。我開這個firebase,因爲它的功能對您的應用程序可能有幫助 –

回答

3

打開cmd並鍵入ipconfig在你的PHP系統(PC或lappy上)

複製您的IP地址

,並使用它像

//測試IP 192.168.0.1

private void callvolly() { 
    String url = "http://192.168.0.1/thenyourfolderpath"; 
    StringRequest stringRequest = new StringRequest(Request.Method.POST, url, 
      new Response.Listener<String>() { 
       @Override 
       public void onResponse(String response) { 


        //responce 

       } 
      }, 
      new Response.ErrorListener() { 
       @Override 
       public void onErrorResponse(VolleyError error) { 


       } 
      }) { 
     @Override 
     protected Map<String, String> getParams() { 
      Map<String, String> params = new HashMap<String, String>(); 
      params.put("", "");//params 
      Log.e("send", params.toString()); 
      return params; 
     } 

    }; 
    stringRequest.setRetryPolicy(new DefaultRetryPolicy(
      20000, 
      DefaultRetryPolicy.DEFAULT_MAX_RETRIES, 
      DefaultRetryPolicy.DEFAULT_BACKOFF_MULT)); 
    RequestQueue requestQueue = Volley.newRequestQueue(this); 
    requestQueue.add(stringRequest); 

} 
相關問題