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

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

Войти
Регистрация
Восстановить пароль
 
tramp_1-3
14 / 14 / 1
Регистрация: 13.10.2012
Сообщений: 428
#1

Как производить отладку в Eclipse? - Android

17.03.2014, 14:15. Просмотров 867. Ответов 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
 
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
chizz
979 / 493 / 54
Регистрация: 19.03.2013
Сообщений: 3,073
Записей в блоге: 18
Завершенные тесты: 1
17.03.2014, 14:25     Как производить отладку в Eclipse? #2
Нужны логи из консоли, которые относятся к работе приложения

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

я из них понял только, что ошибка в первом активити..
chizz
979 / 493 / 54
Регистрация: 19.03.2013
Сообщений: 3,073
Записей в блоге: 18
Завершенные тесты: 1
17.03.2014, 14:26     Как производить отладку в Eclipse? #4
Либо вот тут заменить

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

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

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

хех, только заметил, что про манифест и написано в ссылке в этом сообщении
tramp_1-3
14 / 14 / 1
Регистрация: 13.10.2012
Сообщений: 428
17.03.2014, 16:15  [ТС]     Как производить отладку в Eclipse? #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>
verylazy
Заблокирован
17.03.2014, 16:22     Как производить отладку в Eclipse? #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);
    }
    
 
}
chizz
979 / 493 / 54
Регистрация: 19.03.2013
Сообщений: 3,073
Записей в блоге: 18
Завершенные тесты: 1
17.03.2014, 16:26     Как производить отладку в Eclipse? #12
<activity
android:name="com.example.messages.Privet"
android:label="Получить">
</activity>


Попробуй <activity
android:name="Privet"
android:label="Получить">
</activity>
tramp_1-3
14 / 14 / 1
Регистрация: 13.10.2012
Сообщений: 428
20.03.2014, 17:05  [ТС]     Как производить отладку в Eclipse? #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. и что за аргумент, куда его вводить?
tramp_1-3
14 / 14 / 1
Регистрация: 13.10.2012
Сообщений: 428
20.03.2014, 17:07  [ТС]     Как производить отладку в Eclipse? #14
Если это важно
Миниатюры
Как производить отладку в Eclipse?  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.03.2014, 17:16     Как производить отладку в Eclipse?
Еще ссылки по теме:

Android Как правильно удалить Eclipse?
Android Как сделать присваивание 2 картинок ImageIcon на Java Eclipse?
Android Как экспортировать проект андроид из eclipse?
Android Как в eclipse прописать путь к SDK
Android Как обработать нажатие на ImageView? Eclipse(android)

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

Или воспользуйтесь поиском по форуму:
tramp_1-3
14 / 14 / 1
Регистрация: 13.10.2012
Сообщений: 428
20.03.2014, 17:16  [ТС]     Как производить отладку в Eclipse? #15
Сделал всё как вы сказали, затем отменил всё и он перестал вылетать!
Yandex
Объявления
20.03.2014, 17:16     Как производить отладку в Eclipse?
Ответ Создать тему
Опции темы

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