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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.87
Vilian
0 / 0 / 0
Регистрация: 17.12.2010
Сообщений: 88
#1

Программа не работает на реальном телефоне - Программирование Android

16.07.2012, 17:20. Просмотров 1880. Ответов 14
Метки нет (Все метки)

Пишу небольшую программу, где присутствует авторизация. В эмуляторе все прекрасно авторизуется. Как только кидаю программу на мой xperia, то программа просто падает после нажатия "войти". В чем может быть проблема?

Доступ к интернету у телефона естественно есть (wifi). В манифесте разрешения на интернет прописаны.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
16.07.2012, 17:29     Программа не работает на реальном телефоне #2
где логи?
Vilian
0 / 0 / 0
Регистрация: 17.12.2010
Сообщений: 88
16.07.2012, 18:15  [ТС]     Программа не работает на реальном телефоне #3
Я в шоке. Как только вызываю Log.e() в catch, программа падает. Если Log.e() отсутствует, то Toast выводится. Это как так?

Java
1
2
3
4
5
6
7
8
try {
            serverResponse = Query.start(queryString);
        }
        catch(Exception e) {
            Log.e("error", e.getMessage());
            Toast.makeText(this, "Ошибка соединения. Проверьте подключение", Toast.LENGTH_LONG).show();
            return;
        }
Если я отлаживаю в adb, то на программу распространяется интернет или нет? Хотя, проблема не в этом. Я только что пробовал на телефоне с wifi и та же проблема.
flashok
86 / 88 / 1
Регистрация: 14.02.2009
Сообщений: 293
16.07.2012, 18:56     Программа не работает на реальном телефоне #4
тебя просят выложить logcat и код где идет подение приложения
Vilian
0 / 0 / 0
Регистрация: 17.12.2010
Сообщений: 88
16.07.2012, 20:07  [ТС]     Программа не работает на реальном телефоне #5
Логи

07-16 18:33:03.008: D/TextLayoutCache(27890): Using debug level: 0 - Debug Enabled: 0
07-16 18:33:03.098: D/libEGL(27890): loaded /system/lib/egl/libGLES_android.so
07-16 18:33:03.118: D/libEGL(27890): loaded /system/lib/egl/libEGL_adreno200.so
07-16 18:33:03.128: D/libEGL(27890): loaded /system/lib/egl/libGLESv1_CM_adreno200.so
07-16 18:33:03.128: D/libEGL(27890): loaded /system/lib/egl/libGLESv2_adreno200.so
07-16 18:33:03.228: D/OpenGLRenderer(27890): Enabling debug mode 0
07-16 18:43:02.209: I/dalvikvm(28088): Debugger is active
07-16 18:43:02.408: I/System.out(28088): Debugger has connected
07-16 18:43:02.408: I/System.out(28088): waiting for debugger to settle...
07-16 18:43:02.611: I/System.out(28088): waiting for debugger to settle...
07-16 18:43:02.812: I/System.out(28088): waiting for debugger to settle...
07-16 18:43:03.008: I/System.out(28088): waiting for debugger to settle...
07-16 18:43:03.208: I/System.out(28088): waiting for debugger to settle...
07-16 18:43:03.408: I/System.out(28088): waiting for debugger to settle...
07-16 18:43:03.608: I/System.out(28088): waiting for debugger to settle...
07-16 18:43:03.816: I/System.out(28088): waiting for debugger to settle...
07-16 18:43:04.018: I/System.out(28088): debugger has settled (1448)
07-16 18:43:04.338: D/TextLayoutCache(28088): Using debug level: 0 - Debug Enabled: 0
07-16 18:43:04.398: D/libEGL(28088): loaded /system/lib/egl/libGLES_android.so
07-16 18:43:04.408: D/libEGL(28088): loaded /system/lib/egl/libEGL_adreno200.so
07-16 18:43:04.408: D/libEGL(28088): loaded /system/lib/egl/libGLESv1_CM_adreno200.so
07-16 18:43:04.408: D/libEGL(28088): loaded /system/lib/egl/libGLESv2_adreno200.so
07-16 18:43:04.448: D/OpenGLRenderer(28088): Enabling debug mode 0
07-16 18:43:25.838: W/IInputConnectionWrapper(28088): showStatusIcon on inactive InputConnection
07-16 18:43:25.848: D/OpenGLRenderer(28088): Flushing caches (mode 0)
07-16 18:43:25.868: D/OpenGLRenderer(28088): Flushing caches (mode 1)
07-16 18:51:16.848: W/IInputConnectionWrapper(28571): showStatusIcon on inactive InputConnection
07-16 18:51:16.878: D/OpenGLRenderer(28571): Flushing caches (mode 0)
07-16 18:51:16.898: D/OpenGLRenderer(28571): Flushing caches (mode 1)
07-16 18:52:31.428: D/TextLayoutCache(28775): Using debug level: 0 - Debug Enabled: 0
07-16 18:52:31.498: D/libEGL(28775): loaded /system/lib/egl/libGLES_android.so
07-16 18:52:31.508: D/libEGL(28775): loaded /system/lib/egl/libEGL_adreno200.so
07-16 18:52:31.518: D/libEGL(28775): loaded /system/lib/egl/libGLESv1_CM_adreno200.so
07-16 18:52:31.528: D/libEGL(28775): loaded /system/lib/egl/libGLESv2_adreno200.so
07-16 18:52:31.638: D/OpenGLRenderer(28775): Enabling debug mode 0
07-16 18:52:38.538: D/OpenGLRenderer(28775): Flushing caches (mode 0)
07-16 18:52:40.628: D/OpenGLRenderer(28775): Flushing caches (mode 0)
07-16 18:52:42.438: D/OpenGLRenderer(28775): Flushing caches (mode 0)
07-16 18:52:45.338: D/OpenGLRenderer(28775): Flushing caches (mode 0)
07-16 18:52:45.448: D/dalvikvm(28775): GC_CONCURRENT freed 221K, 5% free 6634K/6919K, paused 16ms+3ms
07-16 18:53:15.318: D/OpenGLRenderer(28775): Flushing caches (mode 0)
07-16 18:53:18.308: D/TextLayoutCache(28921): Using debug level: 0 - Debug Enabled: 0
07-16 18:53:18.358: D/libEGL(28921): loaded /system/lib/egl/libGLES_android.so
07-16 18:53:18.358: D/libEGL(28921): loaded /system/lib/egl/libEGL_adreno200.so
07-16 18:53:18.368: D/libEGL(28921): loaded /system/lib/egl/libGLESv1_CM_adreno200.so
07-16 18:53:18.368: D/libEGL(28921): loaded /system/lib/egl/libGLESv2_adreno200.so
07-16 18:53:18.418: D/OpenGLRenderer(28921): Enabling debug mode 0
07-16 18:53:19.558: D/AndroidRuntime(28921): Shutting down VM
07-16 18:53:19.558: W/dalvikvm(28921): threadid=1: thread exiting with uncaught exception (group=0x2b542210)
07-16 18:53:19.568: E/AndroidRuntime(28921): FATAL EXCEPTION: main
07-16 18:53:19.568: E/AndroidRuntime(28921): java.lang.IllegalStateException: Could not execute method of the activity
07-16 18:53:19.568: E/AndroidRuntime(28921): at android.view.View$1.onClick(View.java:3063)
07-16 18:53:19.568: E/AndroidRuntime(28921): at android.view.View.performClick(View.java:3534)
07-16 18:53:19.568: E/AndroidRuntime(28921): at android.view.View$PerformClick.run(View.java:14263)
07-16 18:53:19.568: E/AndroidRuntime(28921): at android.os.Handler.handleCallback(Handler.java:605)
07-16 18:53:19.568: E/AndroidRuntime(28921): at android.os.Handler.dispatchMessage(Handler.java:92)
07-16 18:53:19.568: E/AndroidRuntime(28921): at android.os.Looper.loop(Looper.java:137)
07-16 18:53:19.568: E/AndroidRuntime(28921): at android.app.ActivityThread.main(ActivityThread.java:4441)
07-16 18:53:19.568: E/AndroidRuntime(28921): at java.lang.reflect.Method.invokeNative(Native Method)
07-16 18:53:19.568: E/AndroidRuntime(28921): at java.lang.reflect.Method.invoke(Method.java:511)
07-16 18:53:19.568: E/AndroidRuntime(28921): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
07-16 18:53:19.568: E/AndroidRuntime(28921): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
07-16 18:53:19.568: E/AndroidRuntime(28921): at dalvik.system.NativeStart.main(Native Method)
07-16 18:53:19.568: E/AndroidRuntime(28921): Caused by: java.lang.reflect.InvocationTargetException
07-16 18:53:19.568: E/AndroidRuntime(28921): at java.lang.reflect.Method.invokeNative(Native Method)
07-16 18:53:19.568: E/AndroidRuntime(28921): at java.lang.reflect.Method.invoke(Method.java:511)
07-16 18:53:19.568: E/AndroidRuntime(28921): at android.view.View$1.onClick(View.java:3058)
07-16 18:53:19.568: E/AndroidRuntime(28921): ... 11 more
07-16 18:53:19.568: E/AndroidRuntime(28921): Caused by: java.lang.NullPointerException: println needs a message
07-16 18:53:19.568: E/AndroidRuntime(28921): at android.util.Log.println_native(Native Method)
07-16 18:53:19.568: E/AndroidRuntime(28921): at android.util.Log.v(Log.java:117)
07-16 18:53:19.568: E/AndroidRuntime(28921): at com.example.schoolniki.MainActivity.singInClicked(MainActivity.java:63)
07-16 18:53:19.568: E/AndroidRuntime(28921): ... 14 more
Программа падает в этом методе:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public static String start(String queryString) throws Exception {
        URL url = new URL(queryString);
        HttpURLConnection connection = (HttpURLConnection)url.openConnection();
        
        BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        
        String input = null; 
        
        input = in.readLine();
        
        in.close();
        
        return input;
    }
У знакомого на телефоне все хорошо. У меня нет..

Добавлено через 9 минут
Вот тут его я пытаюсь ловить:

Java
1
2
3
4
5
6
7
8
try {
            serverResponse = Query.start(queryString);
        }
        catch(Exception e) {
                 Log.e("error", e.getMessage()); // Если я оставлю эту строчку, то тоаст не выведется и //.программа закроется. 
            Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show();
            return;
        }
e.GetMessage() возвращает пустую строку. Еще этот бред с Log.e()..
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
16.07.2012, 20:48     Программа не работает на реальном телефоне #6
C UI потока в сеть лезешь?
Vilian
0 / 0 / 0
Регистрация: 17.12.2010
Сообщений: 88
16.07.2012, 20:52  [ТС]     Программа не работает на реальном телефоне #7
V0v1k, нормально объясните где я ошибся, если знаете. И почему на одном девайсе авторизация успешна, а на другом нет. Я ясно описал проблему.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
16.07.2012, 21:00     Программа не работает на реальном телефоне #8
Начиная с определенной версии андроида нельзя лезть в сеть с юайного потока, возможно проблема в этом, раз с одного девайса работает а с другого нет.
Vilian
0 / 0 / 0
Регистрация: 17.12.2010
Сообщений: 88
16.07.2012, 21:08  [ТС]     Программа не работает на реальном телефоне #9
V0v1k, вот, спасибо. Очень даже может быть. На моем девайсе 4.0.4, а на другом ~2 версия. Не знал этого, по скольку программу под андроид пишу в первый раз.

А что тогда использовать, если не ui?
flashok
86 / 88 / 1
Регистрация: 14.02.2009
Сообщений: 293
16.07.2012, 21:08     Программа не работает на реальном телефоне #10
Цитата Сообщение от Vilian Посмотреть сообщение
e.GetMessage() возвращает пустую строку. Еще этот бред с Log.e()..
ошибка выводиться вот так e.printStackTrace();

Почему в методе нет второго куска кода, в котором типо у вас падает Как у вас в методе может падать если нет типо злополучного кода

выложите нормально код


А что тогда использовать, если не ui?
http://habrahabr.ru/post/114570/
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
16.07.2012, 21:11     Программа не работает на реальном телефоне #11
Цитата Сообщение от Vilian Посмотреть сообщение
А что тогда использовать, если не ui?
Не понял вопроса.
Говорю, не нужно лезть в сеть с юайного потока. Вы знакомы потоками?
Vilian
0 / 0 / 0
Регистрация: 17.12.2010
Сообщений: 88
16.07.2012, 21:14  [ТС]     Программа не работает на реальном телефоне #12
знаком, но я не понимаю как по другому тогда?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
16.07.2012, 21:16     Программа не работает на реальном телефоне #13
Просто в другом потоке
Вот вам дельную ссылочку дали
Цитата Сообщение от flashok Посмотреть сообщение
http://habrahabr.ru/post/114570/
Vilian
0 / 0 / 0
Регистрация: 17.12.2010
Сообщений: 88
16.07.2012, 21:19  [ТС]     Программа не работает на реальном телефоне #14
Цитата Сообщение от V0v1k Посмотреть сообщение
Просто в другом потоке
Вот вам дельную ссылочку дали
ok, спасибо, буду разбираются.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2012, 00:33     Программа не работает на реальном телефоне
Еще ссылки по теме:
Не показывает курсив на телефоне Android
Тестирование на телефоне (планшете) Android
Android Запуск приложения на телефоне
Белый экран на телефоне Android
Android На телефоне не выводиться результат

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

Или воспользуйтесь поиском по форуму:
MegaSinner
91 / 91 / 3
Регистрация: 09.04.2010
Сообщений: 746
25.12.2012, 00:33     Программа не работает на реальном телефоне #15
Цитата Сообщение от Vilian Посмотреть сообщение
А что тогда использовать, если не ui?
я логинюсь вот так:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  
import android.os.AsyncTask;
//При нажатии кнопки "Connect":
              try{
                    new DownloadFilesTask().execute("url3");//url не имеет значения просто нужен параметр
                }catch(Exception e){
                    e.toString();
                }
//======================
private class DownloadFilesTask extends AsyncTask<String, Integer, Long> {
        private Handler mHandler = new Handler(Looper.getMainLooper());
        protected Long doInBackground(String... urls) {
            try{
            Connect();// здеся делай все что нужно с интернетом
            }
            catch (Exception x)
            {
                textIn.setText(x.toString());
            }
            long i = 10;
            return i;
        }
    }
Вот так все просто.
Yandex
Объявления
25.12.2012, 00:33     Программа не работает на реальном телефоне
Ответ Создать тему
Опции темы

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