Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
tramp_1-3
14 / 14 / 1
Регистрация: 13.10.2012
Сообщений: 447
#1

Как производить отладку в Eclipse? - Программирование Android

17.03.2014, 14:15. Просмотров 945. Ответов 14
Метки нет (Все метки)

Я новичок. Естественно, делаю кучу ошибок в примерах. Хочу научиться пользоваться отладчиком в эклипс, но ничего в нём не понимаю: в Visual Studio основными приёмами овладел с ходу, а тут нет. Ну так вот: есть проект, который без проблем компилируется. Я знаю только, что что ошибка в XML главной активности - вылетает сразу при запуске, но она нигде не подсвечивается и я не знаю, где копать. Объясните мне, пожалуйста, на этом примере, как мне её вычислить?
PS На будущее скажите, как вам удобней выкладывать код, пойдёт просто листинги или лучше файлами?
PassingDataDemoActivity.java
Кликните здесь для просмотра всего текста

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
package com.example.messages;
 
import android.app.Activity;
import android.os.Bundle;
import android.widget.EditText;
import android.view.View;
import android.content.Intent;
 
public class PassingDataDemoActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstaceSaved) {
        super.onCreate(savedInstaceSaved);
        setContentView(R.layout.passing_data_demo_activity);
    }
    public void onClick(View v) {
        EditText edUserName = (EditText) findViewById(R.id.edUserName);
        EditText edDescription = (EditText) findViewById(R.id.edDescription);
        Intent intent = new Intent (PassingDataDemoActivity.this, Privet.class);
        intent.putExtra("username", edUserName.getText().toString());
        intent.putExtra("gift", edDescription.getText().toString());
        startActivity(intent);
    }
    
 
}

Privet.java
Кликните здесь для просмотра всего текста

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package com.example.messages;
 
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
 
public class Privet extends Activity {
    @Override
    public void onCreate (Bundle savedInstanceSaved) {
        super.onCreate(savedInstanceSaved);
        setContentView(R.layout.privet);
        TextView txtInfo = (TextView) findViewById(R.id.txt);
        String user = "Жывотное";
        String gift = "дырку от бублика";
        user = getIntent().getExtras().getString(user);
        gift = getIntent().getExtras().getString(gift);
        txtInfo.setText(user + " вам передали " + gift);
    }
}
Java
1
 
passing_data_demo_activity.xml
Кликните здесь для просмотра всего текста

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
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
 
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Кому"
        android:textAppearance="?android:attr/textAppearanceSmall" />
 
    <EditText
        android:id="@+id/edUserName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10" >
    </EditText>
 
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Описание"
        android:textAppearance="?android:attr/textAppearanceSmall" />
 
    <EditText
        android:id="@+id/edDescription"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10" />
 
    <Button
        android:id="@+id/send"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="onClick"
        android:text="Передать" />
 
</LinearLayout>
Java
1
 
privet.xml
Кликните здесь для просмотра всего текста

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
 
    <TextView
        android:id="@+id/txt"
        android:layout_width="match_parent"
        android:layout_height="108dp"
        android:text="Large Text"
        android:textAppearance="?android:attr/textAppearanceLarge" />
    
</LinearLayout>
Java
1
 
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2014, 14:15
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как производить отладку в Eclipse? (Программирование Android):

Ошибка при добавлении .apk файла в google play: запретите отладку
когда загружаю в guugle play .apk-файл, то гугл пишет ошибку: &quot;Прежде чем...

Как правильно удалить Eclipse?
как правильно удалить eclipse?? у меня стоит 2 eclipse. Как удалить один из...

Как переименовать проект в eclipse?
Как переименовать проект в eclipse? И как сменить иконку приложения? Спасибо,...

Как изменить AppTheme в eclipse?
В самом начале указал не тот фон. Теперь не знаю как изменить. В манифесте...

Как экспортировать проект андроид из eclipse?
Здравствуйте! Есть тривиальный вопрос:как сделать экспорт проекта андроид из...

Как изменить дефолтный класс в eclipse?
Вот есть, например, Log.class, с помощью которого мы показываем логи...

14
chizz
983 / 500 / 101
Регистрация: 19.03.2013
Сообщений: 3,101
Записей в блоге: 19
Завершенные тесты: 1
17.03.2014, 14:25 #2
Нужны логи из консоли, которые относятся к работе приложения

Добавлено через 2 минуты
Цитата Сообщение от tramp_1-3 Посмотреть сообщение
user = getIntent().getExtras().getString(user);
gift = getIntent().getExtras().getString(gift);
Надо в кавычках getIntent().getExtras().getString("username");
gift = getIntent().getExtras().getString("gift");
Иначе компилятор с ума сойдет. Ну что он и делает в общем..
1
tramp_1-3
14 / 14 / 1
Регистрация: 13.10.2012
Сообщений: 447
17.03.2014, 14:25  [ТС] #3
chizz,
Кликните здесь для просмотра всего текста

03-17 10:24:00.464: W/dalvikvm(2041): threadid=1: thread exiting with uncaught exception (group=0xb4def288)
03-17 10:24:00.474: E/AndroidRuntime(2041): FATAL EXCEPTION: main
03-17 10:24:00.474: E/AndroidRuntime(2041): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.messages/com.example.messages.PassingDataDemoACtivity}: java.lang.ClassNotFoundException: com.example.messages.PassingDataDemoACtivity
03-17 10:24:00.474: E/AndroidRuntime(2041): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1983)
03-17 10:24:00.474: E/AndroidRuntime(2041): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
03-17 10:24:00.474: E/AndroidRuntime(2041): at android.app.ActivityThread.access$600(ActivityThread.java:130)
03-17 10:24:00.474: E/AndroidRuntime(2041): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
03-17 10:24:00.474: E/AndroidRuntime(2041): at android.os.Handler.dispatchMessage(Handler.java:99)
03-17 10:24:00.474: E/AndroidRuntime(2041): at android.os.Looper.loop(Looper.java:137)
03-17 10:24:00.474: E/AndroidRuntime(2041): at android.app.ActivityThread.main(ActivityThread.java:4745)
03-17 10:24:00.474: E/AndroidRuntime(2041): at java.lang.reflect.Method.invokeNative(Native Method)
03-17 10:24:00.474: E/AndroidRuntime(2041): at java.lang.reflect.Method.invoke(Method.java:511)
03-17 10:24:00.474: E/AndroidRuntime(2041): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
03-17 10:24:00.474: E/AndroidRuntime(2041): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
03-17 10:24:00.474: E/AndroidRuntime(2041): at dalvik.system.NativeStart.main(Native Method)
03-17 10:24:00.474: E/AndroidRuntime(2041): Caused by: java.lang.ClassNotFoundException: com.example.messages.PassingDataDemoACtivity
03-17 10:24:00.474: E/AndroidRuntime(2041): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
03-17 10:24:00.474: E/AndroidRuntime(2041): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
03-17 10:24:00.474: E/AndroidRuntime(2041): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
03-17 10:24:00.474: E/AndroidRuntime(2041): at android.app.Instrumentation.newActivity(Instrumentation.java:1053)
03-17 10:24:00.474: E/AndroidRuntime(2041): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1974)
03-17 10:24:00.474: E/AndroidRuntime(2041): ... 11 more

я из них понял только, что ошибка в первом активити..
0
chizz
983 / 500 / 101
Регистрация: 19.03.2013
Сообщений: 3,101
Записей в блоге: 19
Завершенные тесты: 1
17.03.2014, 14:26 #4
Либо вот тут заменить

String user = "username";
String gift = "gift";

Иначе получишь дырку от бублика..
0
tramp_1-3
14 / 14 / 1
Регистрация: 13.10.2012
Сообщений: 447
17.03.2014, 14:27  [ТС] #5
chizz, заменил, спасибо, но приложение всё равно крашится на самом старте..
0
chizz
983 / 500 / 101
Регистрация: 19.03.2013
Сообщений: 3,101
Записей в блоге: 19
Завершенные тесты: 1
17.03.2014, 14:29 #6
http://stackoverflow.com/questions/1...ound-exception
1
tramp_1-3
14 / 14 / 1
Регистрация: 13.10.2012
Сообщений: 447
17.03.2014, 14:54  [ТС] #7
chizz, так ява не может найти XML чтоб парсить? и как это исправить я из статья не понял
0
chizz
983 / 500 / 101
Регистрация: 19.03.2013
Сообщений: 3,101
Записей в блоге: 19
Завершенные тесты: 1
17.03.2014, 15:37 #8
tramp_1-3, java не может найти класс ваш. Это стандартная проблема настройки проекта.

Добавлено через 57 секунд
Хотя хз
0
verylazy
Заблокирован
17.03.2014, 15:49 #9
а эти Activity в манифесте прописаны?

хех, только заметил, что про манифест и написано в ссылке в этом сообщении
1
tramp_1-3
14 / 14 / 1
Регистрация: 13.10.2012
Сообщений: 447
17.03.2014, 16:15  [ТС] #10
verylazy, chizz, манифест
Кликните здесь для просмотра всего текста
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
31
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.messages"
    android:versionCode="1"
    android:versionName="1.0" >
 
    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="19" />
 
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.messages.PassingDataDemoACtivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
 
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.example.messages.Privet"
            android:label="Получить">
         </activity>
    </application>
 
</manifest>
0
verylazy
Заблокирован
17.03.2014, 16:22 #11
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class PassingDataDemoActivity extends Activity {
 
EditText edUserName;
EditText edDescription;
    @Override
    public void onCreate(Bundle savedInstaceSaved) {
        super.onCreate(savedInstaceSaved);
        setContentView(R.layout.passing_data_demo_activity);
        edUserName = (EditText) findViewById(R.id.edUserName);
        edDescription = (EditText) findViewById(R.id.edDescription);
    }
    public void onClick(View v) {
        Intent intent = new Intent (PassingDataDemoActivity.this, Privet.class);
        intent.putExtra("username", edUserName.getText().toString());
        intent.putExtra("gift", edDescription.getText().toString());
        startActivity(intent);
    }
    
 
}
2
chizz
983 / 500 / 101
Регистрация: 19.03.2013
Сообщений: 3,101
Записей в блоге: 19
Завершенные тесты: 1
17.03.2014, 16:26 #12
<activity
android:name="com.example.messages.Privet"
android:label="Получить">
</activity>


Попробуй <activity
android:name="Privet"
android:label="Получить">
</activity>
0
tramp_1-3
14 / 14 / 1
Регистрация: 13.10.2012
Сообщений: 447
20.03.2014, 17:05  [ТС] #13
verylazy, точно так же вылетает. с тем же исключением.

Добавлено через 5 минут
chizz, изменил, не помогло. да и летит оно раньше, не доходя до этой активности.

Добавлено через 2 минуты
chizz, verylazy, а по ссылке не совсем догнал что нужно сделать.
Depending on how you start your application, you need to revise the argument to -cp, your Class-Path entry in MANIFEST.MF or your disk layout. и что за аргумент, куда его вводить?
0
tramp_1-3
14 / 14 / 1
Регистрация: 13.10.2012
Сообщений: 447
20.03.2014, 17:07  [ТС] #14
Если это важно
0
Миниатюры
Как производить отладку в Eclipse?  
tramp_1-3
14 / 14 / 1
Регистрация: 13.10.2012
Сообщений: 447
20.03.2014, 17:16  [ТС] #15
Сделал всё как вы сказали, затем отменил всё и он перестал вылетать!
0
20.03.2014, 17:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.03.2014, 17:16
Привет! Вот еще темы с решениями:

Как настроить Eclipse под Android?
В статье написано что надо выбрать Help-&gt;Install New Software. Но у меня нету...

Как в eclipse прописать путь к SDK
Как в eclipse прописать путь к SDK. Я просто сначала установил eclipse и ADT...

Как сделать быстрым Android Emulator в Eclipse?
Здравствуйте, коллеги! У меня очень медленно работает эклипс с андроидным...

Как подключить com.android.support:design в Eclipse
Доброго дня! Недавно вышла новая библиотека com.android.support:design -...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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