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

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

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

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

17.03.2014, 14:15. Просмотров 891. Ответов 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
980 / 494 / 54
Регистрация: 19.03.2013
Сообщений: 3,082
Записей в блоге: 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
980 / 494 / 54
Регистрация: 19.03.2013
Сообщений: 3,082
Записей в блоге: 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
980 / 494 / 54
Регистрация: 19.03.2013
Сообщений: 3,082
Записей в блоге: 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
980 / 494 / 54
Регистрация: 19.03.2013
Сообщений: 3,082
Записей в блоге: 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
980 / 494 / 54
Регистрация: 19.03.2013
Сообщений: 3,082
Записей в блоге: 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 Как обработать нажатие на ImageView? Eclipse(android)
Android Как подключить com.android.support:design в Eclipse
Как сделать быстрым Android Emulator в Eclipse? Android
Android Как сделать присваивание 2 картинок ImageIcon на Java Eclipse?
Как в среде Eclipse подключить библиотеку android.support.v7 ? 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?
Ответ Создать тему
Опции темы

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