Activity Lifecycle, Saving Activity State, Managing Tasks, Intent, Intent Filter
-
Le1b
- Сообщения: 20
- Зарегистрирован: 09 авг 2013, 13:16
- Откуда: Киев-де-суела
-
Контактная информация:
Сообщение
Le1b » 02 ноя 2014, 14:36
Подключаю ГА по инструкции написанной сдесь (
http://www.javacodegeeks.com/2014/04/wo ... droid.html)
Но при запуске активити приложение закрывается и в логи пишется такая ошибка:
Код: Выделить всё
11-02 11:30:33.224: E/AndroidRuntime(3980): FATAL EXCEPTION: main
11-02 11:30:33.224: E/AndroidRuntime(3980): Process: ua.in.le1b.liberyexerceses, PID: 3980
11-02 11:30:33.224: E/AndroidRuntime(3980): java.lang.RuntimeException: Unable to start activity ComponentInfo{ua.in.le1b.liberyexerceses/ua.in.le1b.libraryexercises.ViewActivity}: java.lang.ClassCastException: android.app.Application cannot be cast to ua.in.le1b.libraryexercises.GAnalytics
11-02 11:30:33.224: E/AndroidRuntime(3980): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
11-02 11:30:33.224: E/AndroidRuntime(3980): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
11-02 11:30:33.224: E/AndroidRuntime(3980): at android.app.ActivityThread.access$800(ActivityThread.java:135)
11-02 11:30:33.224: E/AndroidRuntime(3980): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
11-02 11:30:33.224: E/AndroidRuntime(3980): at android.os.Handler.dispatchMessage(Handler.java:102)
11-02 11:30:33.224: E/AndroidRuntime(3980): at android.os.Looper.loop(Looper.java:136)
11-02 11:30:33.224: E/AndroidRuntime(3980): at android.app.ActivityThread.main(ActivityThread.java:5017)
11-02 11:30:33.224: E/AndroidRuntime(3980): at java.lang.reflect.Method.invokeNative(Native Method)
11-02 11:30:33.224: E/AndroidRuntime(3980): at java.lang.reflect.Method.invoke(Method.java:515)
11-02 11:30:33.224: E/AndroidRuntime(3980): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
11-02 11:30:33.224: E/AndroidRuntime(3980): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
11-02 11:30:33.224: E/AndroidRuntime(3980): at dalvik.system.NativeStart.main(Native Method)
11-02 11:30:33.224: E/AndroidRuntime(3980): Caused by: java.lang.ClassCastException: android.app.Application cannot be cast to ua.in.le1b.libraryexercises.GAnalytics
11-02 11:30:33.224: E/AndroidRuntime(3980): at ua.in.le1b.libraryexercises.ViewActivity.onCreate(ViewActivity.java:58)
11-02 11:30:33.224: E/AndroidRuntime(3980): at android.app.Activity.performCreate(Activity.java:5231)
11-02 11:30:33.224: E/AndroidRuntime(3980): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
11-02 11:30:33.224: E/AndroidRuntime(3980): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
11-02 11:30:33.224: E/AndroidRuntime(3980): ... 11 more
Код 58 строчки:
Код: Выделить всё
// Get tracker.
Tracker t = ((GAnalytics) getApplication()).getTracker(
TrackerName.APP_TRACKER);
Что я сделал не так?
-
doter.ua
- Сообщения: 1106
- Зарегистрирован: 23 ноя 2013, 16:08
- Откуда: Ukraine
Сообщение
doter.ua » 02 ноя 2014, 17:13
ClassCastException не может привести getApplication к типу GAnalytics
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
-
парень
- Сообщения: 223
- Зарегистрирован: 30 мар 2013, 22:52
Сообщение
парень » 03 ноя 2014, 11:54
Строка из кода по Вашей ссылке:
[syntax=java5]
public class MyApplicationextends Application {
...
[/syntax]
и эта :
[syntax=java5]
((MyApplication) getApplication()).getTracker(MyApplication.TrackerName.APP_TRACKER);
[/syntax]
Еще не понимаете о чем я ?
У Вас:
[syntax=java5]
Tracker t = ((GAnalytics) getApplication()).getTracker(
TrackerName.APP_TRACKER);
[/syntax]
GAnalytics - это ваш Aplication? У Вас так:
[syntax=java5]
public class GAnalytics extends Application {
...
[/syntax]
-
парень
- Сообщения: 223
- Зарегистрирован: 30 мар 2013, 22:52
Сообщение
парень » 03 ноя 2014, 11:58
Сегодня-завтра буду к себе в проект вставлять эту штуку. Не разберетесь - пишите.
-
Le1b
- Сообщения: 20
- Зарегистрирован: 09 авг 2013, 13:16
- Откуда: Киев-де-суела
-
Контактная информация:
Сообщение
Le1b » 03 ноя 2014, 20:43
парень, название класса пропустил?
Код: Выделить всё
// Get tracker.
((GAnalytics) getApplication()).getTracker(GAnalytics.TrackerName.APP_TRACKER);
Но так тоже не работает.
doter.ua, спасибо. Погуглив нашел решение ошибки.
-
парень
- Сообщения: 223
- Зарегистрирован: 30 мар 2013, 22:52
Сообщение
парень » 04 ноя 2014, 01:50
Проблема была в манифесте, верно?
Надо было указать <application android:name= ".GAnalytics" .....>
-
Le1b
- Сообщения: 20
- Зарегистрирован: 09 авг 2013, 13:16
- Откуда: Киев-де-суела
-
Контактная информация:
Сообщение
Le1b » 04 ноя 2014, 19:47
парень, да в этом.
-
парень
- Сообщения: 223
- Зарегистрирован: 30 мар 2013, 22:52
Сообщение
парень » 05 ноя 2014, 05:21
тоже столкнулся просто, делал по этому же примеру ) а изначально показалось,что просто не то имя класса указано )))
-
klblk
- Сообщения: 1097
- Зарегистрирован: 18 окт 2012, 11:17
- Откуда: г. Красноярск
Сообщение
klblk » 05 ноя 2014, 07:20
Зачем использовать какую-то левую инструкцию если есть:
https://developers.google.com/analytics ... ndroid/v4/?
В частности не нашел в вашей инструкции:
[syntax=java]<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />[/syntax]
А если упущено это, то может и еще чего-нить упущено.