繁体   English   中英

如何使用Volley API将Android应用程序与本地服务器连接

[英]How to connect an android application with a local server using volley api

我正在开发一个需要使用Volley库登录并注册的应用程序。

测试该应用程序时,我输入了我的凭据并注册,但没有将我的详细信息发布到本地服务器,并且在应用程序“ 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;
}

`

打开cmd并在您的php系统中键入ipconfig(个人计算机或笔记本电脑)

复制您的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);

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM