Android-приложение работает на залпе мобильной передачи данных - PullRequest
0 голосов
/ 15 апреля 2019

Как запустить приложение Android на мобильных данных с помощью залпа, асинхронной или сетевой библиотеки Advance? Я пробовал много решений, но мое приложение для Android не работает на мобильных данных. Я увеличил время ожидания залпа, но не решил свою проблему.

Ниже приведен весь мой код с библиотекой залпа, но моя проблема также не решена с этим кодом.

firstName = etFirstName.getText().toString();
        lastName = etLastName.getText().toString();
        email = etEmail.getText().toString();
        password = etPassword.getText().toString();
        if (TextUtils.isEmpty(firstName)) {
            etFirstName.setError("Required");
            etFirstName.requestFocus();
        } else if (TextUtils.isEmpty(lastName)) {
            etLastName.setError("Required");
            etLastName.requestFocus();
        } else if (TextUtils.isEmpty(email)) {
            etEmail.setError("Required");
            etEmail.requestFocus();
        } else if (!Patterns.EMAIL_ADDRESS.matcher(email).matches()) {
            etEmail.setError("invalid email");
            etEmail.requestFocus();
        } else if (TextUtils.isEmpty(password)) {
            etPassword.setError("Required");
            etPassword.requestFocus();
        } else {
            etFirstName.setError(null);
            etLastName.setError(null);
            etEmail.setError(null);
            etPassword.setError(null);
            if (isNetworkAvailable()) {
                RequestQueue queue = Volley.newRequestQueue(getActivity());
                try {
                    dialog.show();

                    // Request a string response from the provided URL.
                    StringRequest stringRequest = new StringRequest(Request.Method.POST, Config.url + "register.php",
                            new Response.Listener<String>() {
                                @Override
                                public void onResponse(String result) {
                                    if (!dialog.isCancelled()) {
                                        dialog.dismiss();
                                    }
                                    if (result.equals("email already exist!")) {
                                        Toast.makeText(getActivity(), "Entered email already exist!", Toast.LENGTH_SHORT).show();
                                    } else if (result.equals("Error")) {
                                        Toast.makeText(getActivity(), "Insert Record Error!", Toast.LENGTH_SHORT).show();
                                    } else {
                                        try {
                                            JSONObject response = new JSONObject(result);
                                            String userEmail = response.getString("email");
                                            if (userEmail != null && !userEmail.isEmpty()) {
                                                for (int i = 0; i < fragmentManager.getBackStackEntryCount(); i++) {
                                                    fragmentManager.popBackStack();
                                                }
                                                String userID = response.getString("id");
                                                String fbID = response.getString("fb_id");
                                                String googleID = response.getString("google_id");
                                                String firstName = response.getString("first_name");
                                                String lastName = response.getString("last_name");
                                                String userPass = response.getString("password");
                                                String userMobile = response.getString("mobile");
                                                String userLocation = response.getString("location");
                                                String userDOB = response.getString("dob");
                                                String userGender = response.getString("gender");
                                                String posts = response.getString("posts");
                                                String following = response.getString("following");
                                                String followers = response.getString("followers");
                                                String userImagePath = response.getString("image_path");
                                                sessionManager.createLoginSession(userID, userEmail, fbID, googleID,
                                                        firstName, lastName, userPass, userMobile, userLocation,
                                                        userDOB, userGender, userImagePath, posts, following, followers);
                                                //fragmentManager.beginTransaction().replace(R.id.framePreLogin, new EnterPhoneFragment()).commit();
                                                saveSetting(userID);
                                            } else {
                                                Toast.makeText(getActivity().getApplicationContext(),
                                                        "Profile creation failed. Try again!",
                                                        Toast.LENGTH_SHORT).show();
                                            }

                                        } catch (Exception e) {
                                            e.printStackTrace();
                                        }
                                    }
                                }
                            }, new Response.ErrorListener() {
                        @Override
                        public void onErrorResponse(VolleyError error) {
                            if (!dialog.isCancelled()) {
                                dialog.dismiss();
                            }
                            if (error instanceof TimeoutError || error instanceof NoConnectionError) {
                                Toast.makeText(getActivity(), "Network Connection Timeout!", Toast.LENGTH_LONG).show();
                            } else if (error instanceof AuthFailureError) {
                                Toast.makeText(getActivity(), "Auth failure error!", Toast.LENGTH_LONG).show();
                            } else if (error instanceof ServerError) {
                                Toast.makeText(getActivity(), "Server error!", Toast.LENGTH_LONG).show();
                            } else if (error instanceof NetworkError) {
                                Toast.makeText(getActivity(), "network error!", Toast.LENGTH_LONG).show();
                            } else if (error instanceof ParseError) {
                                Toast.makeText(getActivity(), "Parsing error!", Toast.LENGTH_LONG).show();
                            }
                        }

                    }) {
                        @Override
                        protected Map<String, String> getParams() throws AuthFailureError {
                            Map<String, String> params = new HashMap<String, String>();
                            params.put("first_name", firstName);
                            params.put("last_name", lastName);
                            params.put("email", email);
                            params.put("password", password);
                            String firebaseRegistrationId = sessionManager.getFirebaseToken();
                            params.put("firebase_registration_id", firebaseRegistrationId);
                            return params;
                        }

                        @Override
                        public Map<String, String> getHeaders() throws AuthFailureError {
                            Map<String, String> params = new HashMap<String, String>();
                            params.put("Content-Type", "application/x-www-form-urlencoded");
                            return params;
                        }
                    };
                    stringRequest.setRetryPolicy(new DefaultRetryPolicy(
                            MY_SOCKET_TIMEOUT_MS,
                            DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
                            DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
                    // Add the request to the RequestQueue.
                    queue.add(stringRequest);
                } catch (Exception ex) {
                    ex.printStackTrace();
                }
            } else {
                Toast.makeText(getActivity().getApplicationContext(), "Network not available. Try again!", Toast.LENGTH_SHORT).show();
            }
        }
...