Невозможно загрузить данные на мой Parse Server через мой проект Android Studio - PullRequest
0 голосов
/ 13 апреля 2020

У меня проблемы с использованием сервера Parse, который я создал с помощью веб-службы Amazon.

Я пытаюсь добавить пользователя через ParseUser в свой MainActivity с помощью метода Button onClick, но по какой-то причине он не работает. .. Ошибка: Ошибка: com.parse.ParseRequest $ ParseRequestException: ошибка ввода-вывода

Вчера все работало хорошо, но в Android Studio версии 2.2. 1. Но сегодня я хочу попробовать это на обновленной версии 3.4.1. Мне пришлось изменить некоторые строки в файлах Gradle, но больше нигде, так что я не знаю, уместно ли это.

Я тоже не знаю, какая информация вам нужна, чтобы я поместил все, что может подразумеваться ... Извините за очень длинное сообщение

Мой класс MainActivity:

public class MainActivity extends AppCompatActivity {



    public void signUpClick(View view) {

        EditText usernameEditText = (EditText) findViewById(R.id.usernameEditText);
        EditText passwordEditText = (EditText) findViewById(R.id.passwordEditText);

        if (passwordEditText.getText().toString().equals("") || usernameEditText.getText().toString().equals("")) {

            Toast.makeText(this, "As username and password are required", Toast.LENGTH_SHORT).show();

        } else {

            ParseUser user = new ParseUser();

            user.setUsername(usernameEditText.getText().toString());
            user.setPassword(passwordEditText.getText().toString());
            user.signUpInBackground(new SignUpCallback() {
                @Override
                public void done(ParseException e) {

                    if (e == null) {

                        Log.i("test", "Success");

                    } else {

                        Toast.makeText(MainActivity.this, e.getMessage(), Toast.LENGTH_SHORT).show();
                        Log.i("test", "Fail. Error : " + e.toString());
                        e.printStackTrace();

                    }

                }
            });

        }
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        ParseAnalytics.trackAppOpenedInBackground(getIntent());

    }

} 

Снимок экрана моего сеанса PuTTY, на котором я прочитал информация о моем сервере в конфигурации. json:

[снимок экрана] [1]

Мой класс StarterApplication, где я определяю информацию о моем сервере:

public class StarterApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();

        // Enable Local Datastore.
        Parse.enableLocalDatastore(this);

        // Add your initialization code here
        Parse.initialize(new Parse.Configuration.Builder(getApplicationContext())
                .applicationId("myappID")
                .clientKey("eXK4EAJ8lO7I")
                .server("http://18.191.227.26/parse/")
                .build()
        );


        //ParseUser.enableAutomaticUser();

        ParseACL defaultACL = new ParseACL();
        defaultACL.setPublicReadAccess(true);
        defaultACL.setPublicWriteAccess(true);
        ParseACL.setDefaultACL(defaultACL, true);

    }
}

Спасибо за ваше время, пожалуйста, скажите мне, если вам нужна другая информация.

1 Ответ

0 голосов
/ 13 апреля 2020
com.parse.ParseRequest$ParseRequestException: i/o failure

Это означает, что есть проблема с вашим соединением. Возможно, ваш сервер синтаксического анализа не работает или у вашего телефона нет доступа к rnet.

Если вы уверены, что у вас есть соединение inte rnet и работает сервер синтаксического анализа, то, вероятно, ваш сервер не имеет Сертификат SSL (что означает, что вы используете http вместо https. См .: .server("http://18.191.227.26/parse/"))

После Android 9 (включая 9) Android предотвращает соединение с небезопасными адресами. (ie http соединения)

Добавьте эту строку между тегом приложения в файле AndroidManifyt

android:usesCleartextTraffic="true"

Вы можете использовать это на этапе разработки, но я рекомендую перейти на https.

...