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

В приложении произошла ошибка - Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 63, средняя оценка - 4.68
bek08
Особый статус
 Аватар для bek08
39 / 42 / 0
Регистрация: 26.01.2010
Сообщений: 494
28.02.2014, 13:58     В приложении произошла ошибка #1
Всем привет начал изучать андроид программирования и вот хотел сделать пост запрос на сервер и получить ответ все ОК . На девайсе работает а на телефоне не хочет вчем может быт ошибка телфон скате акуа версия ос. андрюха 4,4

C++
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
  HttpClient httpclient = new DefaultHttpClient();
 
                        HttpPost httppost = new HttpPost("http://хост/zap.php");
 
                        try {
 
                            // определяешь элементы массива POST
                            List < NameValuePair > nameValuePairs = new ArrayList < NameValuePair > (2);
 
                            nameValuePairs.add(new BasicNameValuePair("name", manitxt.getText().toString()));
                            nameValuePairs.add(new BasicNameValuePair("fname", "Привет"));
 
                            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
 
                            // выполняешь POST-запрос
                            HttpResponse response = httpclient.execute(httppost);
                            String responseStr = convertStreamToString(response.getEntity().getContent());
                            Log.d("HTTP", "Ответ сервера : " + responseStr);
                            manitxt.setText("Сервер "+responseStr);
 
                        } catch (ClientProtocolException e) {
                            Log.d("HTTP", "Не раб");
 
                            // TODO Auto-generated catch block
                        } catch (IOException e) {
 
                            Log.d("HTTP", "Ошибка");
                        }
Добавлено через 2 минуты
Исходник брал с какогота сайта
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public static String convertStreamToString(InputStream is) {
        BufferedReader reader = new BufferedReader(new InputStreamReader(is));
        StringBuilder sb = new StringBuilder();
 
        String line = null;
        try {
            while ((line = reader.readLine()) != null) {
                sb.append(line + "\n");
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                is.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return sb.toString();
    }
Добавлено через 57 секунд
это функ. читаеть
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2014, 13:58     В приложении произошла ошибка
Посмотрите здесь:

Android Добавление View в FrameLayout: ошибка в приложении
Анимация в приложении Android
Android Свайп в приложении
Android При запуске приложения на Android оно крашится и вылетает с ошибкой "В приложении %название% произошла ошибка"
Android Видео в приложении
Android CountDownTimer - "в приложении произошла ошибка"
Android Вылетает Hello World! - в приложении произошла ошибка
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
angryrobot
Командир зеленых роботов
 Аватар для angryrobot
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 563
28.02.2014, 14:29     В приложении произошла ошибка #2
Цитата Сообщение от bek08 Посмотреть сообщение
вчем может быт ошибка
Показывайте логи с ошибкой. Наверняка пытаетесь выполнять манипуляции с сетью из главного потока или забыли добавить разрешение в манифест.
NiRamz
210 / 210 / 16
Регистрация: 26.12.2010
Сообщений: 691
28.02.2014, 14:30     В приложении произошла ошибка #3
Цитата Сообщение от bek08 Посмотреть сообщение
На девайсе работает а на телефоне
а в чем разница?

скиньте лог ошибки и вам дадут ответ
bek08
Особый статус
 Аватар для bek08
39 / 42 / 0
Регистрация: 26.01.2010
Сообщений: 494
28.02.2014, 15:00  [ТС]     В приложении произошла ошибка #4
вот манифест

XML
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
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.post1"
    android:versionCode="1"
    android:versionName="1.0" >
 
    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />
 
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>
 
 
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.post1.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
 
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
 
</manifest>
Добавлено через 2 минуты
[2014-02-28 15:21:02 - ddms] Can't bind to local 8700 for debugger
[2014-02-28 15:32:22 - ddms] Can't bind to local 8700 for debugger

Device disconnected

Добавлено через 4 минуты
Лог не чего не пишет

Добавлено через 5 минут
ешо

02-28 10:45:08.301: E/Zygote(33): setreuid() failed. errno: 2
02-28 10:45:16.331: E/Zygote(33): setreuid() failed. errno: 17
02-28 10:45:17.711: E/BatteryService(59): usbOnlinePath not found
02-28 10:45:17.711: E/BatteryService(59): batteryVoltagePath not found
02-28 10:45:17.711: E/BatteryService(59): batteryTemperaturePath not found
02-28 10:45:17.742: E/SurfaceFlinger(59): Couldn't open /sys/power/wait_for_fb_sleep or /sys/power/wait_for_fb_wake
02-28 10:45:24.912: E/EventHub(59): could not get driver version for /dev/input/mouse0, Not a typewriter
02-28 10:45:24.912: E/EventHub(59): could not get driver version for /dev/input/mice, Not a typewriter
02-28 10:45:25.582: E/System(59): Failure starting core service
02-28 10:45:25.582: E/System(59): java.lang.SecurityException
02-28 10:45:25.582: E/System(59): at android.os.BinderProxy.transact(Native Method)
02-28 10:45:25.582: E/System(59): at android.os.ServiceManagerProxy.addService(ServiceManagerNative.java:146)
02-28 10:45:25.582: E/System(59): at android.os.ServiceManager.addService(ServiceManager.java:72)
02-28 10:45:25.582: E/System(59): at com.android.server.ServerThread.run(SystemServer.java:184)
02-28 10:45:26.492: E/SoundPool(59): error loading /system/media/audio/ui/Effect_Tick.ogg
02-28 10:45:26.492: E/SoundPool(59): error loading /system/media/audio/ui/KeypressStandard.ogg
02-28 10:45:26.512: E/SoundPool(59): error loading /system/media/audio/ui/KeypressSpacebar.ogg
02-28 10:45:26.512: E/SoundPool(59): error loading /system/media/audio/ui/KeypressDelete.ogg
02-28 10:45:26.522: E/SoundPool(59): error loading /system/media/audio/ui/KeypressReturn.ogg
02-28 10:45:28.742: E/ThrottleService(59): Could not open GPS configuration file /etc/gps.conf
02-28 10:45:30.052: E/logwrapper(149): executing /system/bin/tc failed: No such file or directory
02-28 10:45:30.082: E/logwrapper(150): executing /system/bin/tc failed: No such file or directory
02-28 10:45:30.122: E/logwrapper(151): executing /system/bin/tc failed: No such file or directory
02-28 10:45:38.568: E/HierarchicalStateMachine(59): TetherMaster - unhandledMessage: msg.what=3

Добавлено через 13 минут
NiRamz,
Цитата Сообщение от NiRamz Посмотреть сообщение
скиньте лог ошибки и вам дадут ответ
Что делать вот логи ошибок
verylazy
Заблокирован
28.02.2014, 15:05     В приложении произошла ошибка #5
Я так понял "девайс" это виртуальное устройство?
А с телефона вообще виден этот хост http://хост/zap.php ?
bek08
Особый статус
 Аватар для bek08
39 / 42 / 0
Регистрация: 26.01.2010
Сообщений: 494
28.02.2014, 15:08  [ТС]     В приложении произошла ошибка #6
Цитата Сообщение от verylazy Посмотреть сообщение
Я так понял "девайс" это виртуальное устройство?
Да
И на виртуальном устр. работает все отлично а в телефоне не хочет
angryrobot
Командир зеленых роботов
 Аватар для angryrobot
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 563
28.02.2014, 15:11     В приложении произошла ошибка #7
Цитата Сообщение от bek08 Посмотреть сообщение
Что делать вот логи ошибок
Судя по логам крэш произошел из-за java.lang.SecurityException, а оно бывает когда в манифесте нет необходимых полномочий. В вашем же случае все что нужно для доступа к интернету - есть. Поэтому у меня два вопроса:
1) Это точно логи вашего приложения ? В LogCat пишут свои логи сразу все программы запущенные на устройстве.
2) Может быть кроме этого кода есть еще какой-то код который требует дополнительных разрешений в манифесте ?
bek08
Особый статус
 Аватар для bek08
39 / 42 / 0
Регистрация: 26.01.2010
Сообщений: 494
28.02.2014, 15:18  [ТС]     В приложении произошла ошибка #8
angryrobot,
Не знаю виртуальном девайсе же идет запрос и ответ приходит не знаю уже что делать хост реалны рабочий
не локальны

Добавлено через 1 минуту
вот вес лог
Вложения
Тип файла: rar log.rar (11.1 Кб, 2 просмотров)
bek08
Особый статус
 Аватар для bek08
39 / 42 / 0
Регистрация: 26.01.2010
Сообщений: 494
28.02.2014, 15:26  [ТС]     В приложении произошла ошибка #9
Вот вес код
Кликните здесь для просмотра всего текста

package com.example.post1;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends Activity {

HttpResponse response;
EditText manitxt;
Button but;
TextView txt;
//private myclick OnClickListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);


but = (Button)findViewById(R.id.mybut1);
manitxt = (EditText)findViewById(R.id.str);
txt = (TextView)findViewById(R.id.textView1);

OnClickListener myclick = new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch(v.getId())
{
case R.id.mybut1:

HttpClient httpclient = new DefaultHttpClient();

HttpPost httppost = new HttpPost("http://хост/zap.php");

try {

// определяешь элементы массива POST
List < NameValuePair > nameValuePairs = new ArrayList < NameValuePair > (2);

nameValuePairs.add(new BasicNameValuePair("name", manitxt.getText().toString()));
nameValuePairs.add(new BasicNameValuePair("fname", "Abdullayev"));

httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs,"UTF-8"));

// выполняешь POST-запрос
HttpResponse response = httpclient.execute(httppost);
String responseStr = convertStreamToString(response.getEntity().getContent());
Log.d("HTTP", "Server dedi : " + responseStr);
txt.setText("Сервер жавоби "+responseStr);

} catch (ClientProtocolException e) {
Log.d("HTTP", "Ishlamadi");

// TODO Auto-generated catch block
} catch (IOException e) {

Log.d("HTTP", "Hato");
}

break;
}
}
};
but.setOnClickListener(myclick);






}


public static String convertStreamToString(InputStream is) {
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();

String line = null;
try {
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return sb.toString();
}




@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}

verylazy
Заблокирован
28.02.2014, 15:30     В приложении произошла ошибка #10
вангую - firewall на сервере блокирует подключения
bek08
Особый статус
 Аватар для bek08
39 / 42 / 0
Регистрация: 26.01.2010
Сообщений: 494
28.02.2014, 15:35  [ТС]     В приложении произошла ошибка #11
Цитата Сообщение от verylazy Посмотреть сообщение
вангую - firewall на сервере блокирует подключения
не можеть с компа. же не блокирует
angryrobot
Командир зеленых роботов
 Аватар для angryrobot
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 563
28.02.2014, 15:35     В приложении произошла ошибка #12
Цитата Сообщение от bek08 Посмотреть сообщение
Вот вес код
Работа с сетью выполняется в главном потоке, из-за этого крэш. Но в логах я вижу совсем иное, поэтому повторю вопрос: Это точно те самые логи которые были получены от вашего реального девайса (не эмулятора) в процессе запуска вашей программы?
bek08
Особый статус
 Аватар для bek08
39 / 42 / 0
Регистрация: 26.01.2010
Сообщений: 494
28.02.2014, 15:41  [ТС]     В приложении произошла ошибка #13
может укого есть рабочий простой примерчик

Добавлено через 41 секунду
angryrobot,
это логи эмулятора

Добавлено через 47 секунд
Цитата Сообщение от angryrobot Посмотреть сообщение
вашего реального девайса
я незнаю ешо как с реального получит логи

Добавлено через 4 минуты
Цитата Сообщение от angryrobot Посмотреть сообщение
Работа с сетью выполняется в главном потоке
значить надо в отдельном потоке так я понял
angryrobot
Командир зеленых роботов
 Аватар для angryrobot
346 / 283 / 53
Регистрация: 08.10.2013
Сообщений: 563
28.02.2014, 15:44     В приложении произошла ошибка #14
Цитата Сообщение от bek08 Посмотреть сообщение
я незнаю ешо как с реального получит логи
Точно так же как и с виртуального устройства. Просто подключите его к компу и в LogCat будут валиться логи.
Цитата Сообщение от bek08 Посмотреть сообщение
значить надо в отдельном потоке так я понял
Да всё верно. А на эмуляторе приложение не крэшится из-за таких "мелочей"
Похоже на багу в эмуляторе, на форуме уже встречалась тема, что на эмуляторе все работает а на реальном устройстве нет.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.03.2014, 18:50     В приложении произошла ошибка
Еще ссылки по теме:

Android "В приложении произошла ошибка" при нажатии на кнопку перехода на какую-либо активность
Android Https в приложении
Android Создание меню в приложении: О чем говорит ошибка?
Чат в приложении Android
При изменении настройки в приложении выскакивает ошибка Android

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

Или воспользуйтесь поиском по форуму:
bek08
Особый статус
 Аватар для bek08
39 / 42 / 0
Регистрация: 26.01.2010
Сообщений: 494
01.03.2014, 18:50  [ТС]     В приложении произошла ошибка #15
ребята дайте ссылку на рабочий пример какой нибудь

Добавлено через 24 минуты
вот логи на реальном девайсе
Код
?:??: W/?(?): --------- beginning of /dev/log/main
02-27 02:13:27.623: E/(328): cby, conn_id = 1, client_id = 1, service_id = 8
02-27 02:13:27.683: V/BandwidthController(109): runCommands(): 3 commands
02-27 02:13:27.683: V/BandwidthController(109): runIpxtablesCmd(cmd=-F)
02-27 02:13:27.733: V/BandwidthController(109): runIpxtablesCmd(cmd=-t raw -F)
02-27 02:13:27.763: E/BandwidthController(109): runIptablesCmd(): failed /system/bin/iptables -t raw -F res=768
02-27 02:13:27.813: V/BandwidthController(109): runCommands(): 2 commands
02-27 02:13:27.813: V/BandwidthController(109): runIpxtablesCmd(cmd=-N costly_shared)
02-27 02:13:27.843: V/BandwidthController(109): runIpxtablesCmd(cmd=-N penalty_box)
02-27 02:13:27.883: V/BandwidthController(109): runCommands(): 10 commands
02-27 02:13:27.883: V/BandwidthController(109): runIpxtablesCmd(cmd=-F INPUT)
02-27 02:13:27.913: V/BandwidthController(109): runIpxtablesCmd(cmd=-A INPUT -i lo --jump ACCEPT)
02-27 02:13:27.983: V/BandwidthController(109): runIpxtablesCmd(cmd=-A INPUT -m owner --socket-exists)
02-27 02:13:28.033: V/BandwidthController(109): runIpxtablesCmd(cmd=-F OUTPUT)
02-27 02:13:28.073: V/BandwidthController(109): runIpxtablesCmd(cmd=-A OUTPUT -o lo --jump ACCEPT)
02-27 02:13:28.093: V/BandwidthController(109): runIpxtablesCmd(cmd=-A OUTPUT -m owner --socket-exists)
02-27 02:13:28.143: V/BandwidthController(109): runIpxtablesCmd(cmd=-F costly_shared)
02-27 02:13:28.183: V/BandwidthController(109): runIpxtablesCmd(cmd=-A costly_shared --jump penalty_box)
02-27 02:13:28.243: V/BandwidthController(109): runIpxtablesCmd(cmd=-A costly_shared -m owner --socket-exists)
02-27 02:13:28.313: V/BandwidthController(109): runIpxtablesCmd(cmd=-A costly_shared --jump ACCEPT)
02-27 02:13:28.604: V/BandwidthController(109): runIpxtablesCmd(cmd=! -i lo+ -I INPUT -m quota2 ! --quota 2097152 --name globalAlert)
02-27 02:13:28.634: V/BandwidthController(109): runIpxtablesCmd(cmd=! -o lo+ -I OUTPUT -m quota2 ! --quota 2097152 --name globalAlert)
02-27 02:13:58.212: A/libc(132): Fatal signal 13 (SIGPIPE) at 0x00000084 (code=0)

Добавлено через 11 часов 54 минуты
Проблема ещё не решено ?

Добавлено через 14 часов 45 минут
Все тема закрыто нашел разобрался дело было версии ОС
Yandex
Объявления
01.03.2014, 18:50     В приложении произошла ошибка
Ответ Создать тему
Опции темы

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