首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用volley将android应用程序与本地服务器连接

如何使用volley将android应用程序与本地服务器连接
EN

Stack Overflow用户
提问于 2016-09-01 08:41:03
回答 1查看 875关注 0票数 1

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

测试应用程序,我输入了我的凭据并注册了,但是它没有将我的详细信息发布到我的本地服务器上,而且我在应用程序"com.android.volley.servererror"中收到了一条祝酒词。

这是我的volleyRegister.php文件:

代码语言:javascript
复制
<?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代码

代码语言:javascript
复制
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;
}

`

EN

回答 1

Stack Overflow用户

发布于 2016-09-01 10:18:16

在php系统中打开cmd并键入ipconfig (pc或lappy)

复制您的ip地址

然后把它当作

//测试ip 192.168.0.1

代码语言:javascript
复制
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);

}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39266670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档