Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
марсль
0 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 18
#1

Возникает ошибка при попытке регистрации - Программирование Android

28.09.2014, 11:45. Просмотров 584. Ответов 7
Метки нет (Все метки)

Здравствуйте, недавно начал изучать андроид, и его взаимодействие с php скриптом, а также БД MySQL.
В интернете нашел урок по созданию регистрации и авторизации вот на этом сайте.
Выполнил пошагово все действия, но у меня почему то не работает данный скрипт, при попытке регистрации приложение сворачивается, хотя весь код и все что написано я сделал.
Там также есть возможность скачать приложение, которое сделал сам автор. Я скачал его, указал путь к файлу php на своем сервере, как указанно в уроке, и оно работает.
Когда же я пытаюсь создать такое же приложение в новом проекте возникает ошибка. Не могу понять из-за чего .
Может кто- нибудь уже сталкивался с этим и знает в чем проблема? Буду благодарен за помощь).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2014, 11:45     Возникает ошибка при попытке регистрации
Посмотрите здесь:

Возникает ошибка при запросе - Программирование Android
package com.example.ks; /** * Created by Denis on 08.09.2016. */ import java.util.ArrayList; import java.util.List; ...

Возникает ошибка при builder.parse - Программирование Android
Возникает ошибка 02-02 17:13:38.465: D/tagmy(32259): error org.xml.sax.SAXParseException: Unexpected token (position:TEXT . В чем может...

При переходе между активити возникает ошибка - Программирование Android
Здравствуйте, уважаемые программисты! Не могли бы вы мне помочь? Дело в том, что при вызове активити в моем приложении возникает...

Ошибка при попытке скрыть элемент - Программирование Android
Здравствуйте. Помогите понять в чем проблема или ошибка. Нужно скрыть элемент LinearLayout по условию. l1.setVisibility (View.GONE) ...

Ошибка при попытке подключится к камере на эмуляторе AS - Программирование Android
Как правильно тестировать камеру на эмуляторе AS? Я поставил для back камеры Webcam вместо Emulated и при попытке подключится к камере...

Ошибка синхронизации Gradle при попытке создания проекта Android в IntelliJ IDEA - Программирование Android
Всем доброго времени суток. Собственно проблема с которой столкнулся в названии топика: ошибка синхронизации Gradle при попытке...

Как организовать сохранение данных при регистрации - Программирование Android
Здравствуйте! Делаю регистрационную форму. Регистрация состоит из нескольких частей: 1 ФИО и контакты 2 Дополнительная информация ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
28.09.2014, 15:48     Возникает ошибка при попытке регистрации #2
Ну хотя бы код самой ошибки не помешал бы...
марсль
0 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 18
28.09.2014, 16:51  [ТС]     Возникает ошибка при попытке регистрации #3
09-28 12:26:33.099 1236-1236/com.Yoola.app E/AndroidRuntime﹕ FATAL EXCEPTION: main
android.os.NetworkOnMainThreadException
at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1133)
at java.net.InetAddress.lookupHostByName(InetAddress.java:385)
at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
at java.net.InetAddress.getAllByName(InetAddress.java:214)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:137)
at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
at com.Yoola.app.library.JSONParser.getJSONFromUrl(JSONParser.java:42)
at com.Yoola.app.library.UserFunctions.registerUser(UserFunctions.java:60)
at com.Yoola.app.RegisterActivity$1.onClick(RegisterActivity.java:61)
at android.view.View.performClick(View.java:4240)
at android.view.View$PerformClick.run(View.java:17721)
at android.os.Handler.handleCallback(Handler.java:730)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5103)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)

Добавлено через 23 минуты
dubok79, Весь код вставлял тот же что и на сайте, поставил только свою url ссылку на регистрацию , php скрипты и БД также создал на сервере. Не могу понять почему когда я использую код автора, у меня не выходит ошибка и все работает, а когда создаю все это в своем приложении выдает ошибку
YuraAAA
1567 / 1309 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
29.09.2014, 10:22     Возникает ошибка при попытке регистрации #4
Цитата Сообщение от марсль Посмотреть сообщение
android.os.NetworkOnMainThreadException
Ну нельзя лезть в сеть из main потока. Используйте Thread/AsyncTask/Loader. Примеров найдёте миллион.
марсль
0 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 18
29.09.2014, 19:37  [ТС]     Возникает ошибка при попытке регистрации #5
Но у автора код почему то работает, оно сделано с использованием того же кода, если залезть в код и посмотреть. Но спасибо попробую посмотреть может поможет.
YuraAAA
1567 / 1309 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
29.09.2014, 21:00     Возникает ошибка при попытке регистрации #6
марсль, эту защиту вели по-моему с 3.0+ android. Код будет работать на старых устройствах.
марсль
0 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 18
30.09.2014, 19:25  [ТС]     Возникает ошибка при попытке регистрации #7
А вы не можете привести как это будет выглядеть в данном контексте кода AsyncTask:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
/**
 * Author: Ravi Tamada
 * URL: [url]www.androidhive.info[/url]
 * twitter: [url]http://twitter.com/ravitamada[/url]
 * */
package com.Yoola.app;
 
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
 
import android.os.Handler;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
 
import com.Yoola.app.library.DatabaseHandler;
import com.Yoola.app.library.UserFunctions;
 
 
 
import org.json.JSONException;
import org.json.JSONObject;
 
public class RegisterActivity extends Activity {
    Button btnRegister;
    Button btnLinkToLogin;
    EditText inputSurname;
    EditText inputFullName;
    EditText inputEmail;
    EditText inputPassword;
    TextView registerErrorMsg;
    
    // JSON Response node names
    private static String KEY_SUCCESS = "success";
    private static String KEY_ERROR = "error";
    private static String KEY_ERROR_MSG = "error_msg";
    private static String KEY_UID = "uid";
    private static String KEY_NAME = "name";
    private static String KEY_SURNAME = "surname";
    private static String KEY_EMAIL = "email";
    private static String KEY_CREATED_AT = "created_at";
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.register);
 
        // Importing all assets like buttons, text fields
        inputFullName = (EditText) findViewById(R.id.registerName);
        inputSurname =(EditText) findViewById(R.id.registerSurname);
        inputEmail = (EditText) findViewById(R.id.registerEmail);
        inputPassword = (EditText) findViewById(R.id.registerPassword);
        btnRegister = (Button) findViewById(R.id.btnRegister);
        btnLinkToLogin = (Button) findViewById(R.id.btnLinkToLoginScreen);
        registerErrorMsg = (TextView) findViewById(R.id.register_error);
        
        // Register Button Click event
        btnRegister.setOnClickListener(new View.OnClickListener() {
 
            public void onClick(View view) {
 
 
                String name = inputFullName.getText().toString();
                String surname = inputSurname.getText().toString();
                String email = inputEmail.getText().toString();
                String password = inputPassword.getText().toString();
                UserFunctions userFunction = new UserFunctions();
                JSONObject json = userFunction.registerUser(name,surname, email, password);
                
                // check for login response
                try {
                    if (json.getString(KEY_SUCCESS) != null) {
                        registerErrorMsg.setText("");
                        String res = json.getString(KEY_SUCCESS); 
                        if(Integer.parseInt(res) == 1){
                            // user successfully registred
                            // Store user details in SQLite Database
                            DatabaseHandler db = new DatabaseHandler(getApplicationContext());
                            JSONObject json_user = json.getJSONObject("user");
                            
                            // Clear all previous data in database
                            userFunction.logoutUser(getApplicationContext());
                            db.addUser(json_user.getString(KEY_NAME), json_user.getString(KEY_SURNAME), json_user.getString(KEY_EMAIL), json.getString(KEY_UID), json_user.getString(KEY_CREATED_AT));
                            // Launch Dashboard Screen
                            Intent dashboard = new Intent(getApplicationContext(), DashboardActivity.class);
                            // Close all views before launching Dashboard
                            dashboard.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                            startActivity(dashboard);
                            // Close Registration Screen
                            finish();
                        }else{
                            // Error in registration
                            registerErrorMsg.setText("Error occured in registration");
                        }
                    }
                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
        });
 
        // Этот метод вызывается из главного потока GUI.
        private void mainProcessing() {
            // Здесь трудоемкие задачи переносятся в дочерний поток.
            Thread thread = new Thread(null, doBackgroundThreadProcessing,
                    "Background");
            thread.start();
        }
// Объект Runnable, который запускает метод для выполнения задач
// в фоновом режиме.
        private Runnable doBackgroundThreadProcessing = new Runnable() {
            public void run() {
                backgroundThreadProcessing();
            }
        };
// Метод, который выполняет какие-то действия в фоновом режиме.
        private void backgroundThreadProcessing() {
            [ ... Трудоемкие операции ... ]
        }
 
        // Link to Login Screen
        btnLinkToLogin.setOnClickListener(new View.OnClickListener() {
 
            public void onClick(View view) {
                Intent i = new Intent(getApplicationContext(),
                        LoginActivity.class);
                startActivity(i);
                // Close Registration View
                finish();
            }
        });
    }
}
Как я понял его нужно поставить на кнопку регистрации?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2014, 17:57     Возникает ошибка при попытке регистрации
Еще ссылки по теме:

Почему выскакивает уведомление при попытке запустить apk ? - Программирование Android
Добрый день, открываю APK файл для установки его на android с помощью данного кода Intent intent = new...

Убрать постоянный запрос разрешений при попытке позвонить - Программирование Android
При наборе номера через приложение запрашивает разрешение (permission) на звонок. Его запрашивает каждый раз при попытке позвонить. Как...

При попытке получить слепок MD5 - получаю SHA1 - Программирование Android
Здравствуйте. Собственно сабж. Хочу получить собственный ключ к API MapView. На сайте просят внести MD5 слепок сертификата. В командной...

Программа падает при попытке задать текст TextView в диалоговом окне - Программирование Android
Лог: java.lang.IllegalStateException: Could not execute method of the activity at...

При попытке открыть второй и третий Activity происходит завершение работы программы - Программирование Android
Подскажите где ошибка. В программирование андроида пару дней. При попытке открыть второй и третий Activity происходит завершение работы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
марсль
0 / 0 / 0
Регистрация: 09.05.2013
Сообщений: 18
02.10.2014, 17:57  [ТС]     Возникает ошибка при попытке регистрации #8
YuraAAA, не могли бы вы показать начало, как мне запаковать отправку данных в AsyncTask и поставить его на кнопку?
Yandex
Объявления
02.10.2014, 17:57     Возникает ошибка при попытке регистрации
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru