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

Нужен совет в поиске неизвестной ошибки - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Почему тормозят игры на Sony Z 2? http://www.cyberforum.ru/android-dev/thread1392199.html
тормозят игры на Sony Experia Z 2,такие как Real racing 3,aspalt 8,Game of thrones,Hungry shark evolution,другие игры пока не тестировал, сам телефон иногда зависает, прошивка 4.4.4 кит кат, недавно делал дефолт, так что вирусов нет,свободного места 7,5 гб. Подскажите пожалуйста в чём может быть проблема?
Программирование Android Вытащить из HashSet объект HashMap В первую очередь хочу высказать недоумение касаемо того, зачем разработчики системы в качестве массивов в Shared Preference выбрали столько неподходящий для этой задачи HashSet. И так, есть вот такой код: name.add(String.valueOf(etName.getText())); //Добавляем в массив текущих значений то что мы взяли в диалоге id.add(String.valueOf(etId.getText())); for... http://www.cyberforum.ru/android-dev/thread1391777.html
Импорт из Eclipse в Android Studio: ошибка Программирование Android
при импорте из Eclipse в AS, выскакивает ошибка, как лечить кто знает ?
Проверка свежей версии на GooglePlay Программирование Android
Пробую проверять на GooglePlay свежую версия программы с помощью androidquery. Для теста в манифесте понизил versionCode и versionName. Проверяю: MarketService ms = new MarketService(this); ms.level(MarketService.MINOR).checkVersion(); Но ничего не происходит. Не подскажете ли, почему? Добавлено через 2 часа 58 минут
Программирование Android Получение ориентации http://www.cyberforum.ru/android-dev/thread1391543.html
Добрый день! Хочу узнать ориентацию, написал функцию: public void getOrintashion () { TextView orint = (TextView)findViewById(R.id.textView1); TextView kod = (TextView)findViewById(R.id.textView2); if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
Программирование Android Темы и стили Всем привет, предположим в приложении есть два листвью которые отрисовываются по разному т.е есть два каких то стиля <style name="CustomListView1" parent="@android:style/Widget.ListView"> ... </style> <style name="CustomListView2" parent="@android:style/Widget.ListView"> ... </style> подробнее

Показать сообщение отдельно
dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586

Нужен совет в поиске неизвестной ошибки - Программирование Android

11.03.2015, 11:31. Просмотров 290. Ответов 4
Метки (Все метки)

Выпустил обновление своего приложения и начались у некоторых пользователей ошибки. А именно при использовании виджета, он либо просто черный без данных, либо приложение вываливается с ошибкой. В консоль разработчика отчеты с ошибками не приходят. У меня на 6-ти гаджетах с разными андроидами никаких ошибок нет. Как тут ловить ошибки? Пробежался по коду. Нашел пару косяков. Поправил. Выложил - ошибки те же.
Что менял? Перенес сохранение/чтение основных настроек в отдельный класс. Может я его не правильно как то использую. Может дело в том, что я его не корректно назвал?

Сам класс:
Кликните здесь для просмотра всего текста

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
40
41
42
43
44
45
46
47
public class Preferences {
    private final String FILENAME = "general_preferences";
    private final String FONT = "font";
 
        private String tvFont;
 
    private Context context;
    
    public Preferences(Context context){
        this.context = context;
    }
 
    public void loadPreferences() {
        SharedPreferences settings = null;
        try{settings = context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE);
        }catch(Exception e){
            setDataDefault();
            return;
        }
        if (settings.getAll().size() == 0) {
            SharedPreferences.Editor editor = settings.edit();
            editor.clear();
            editor.commit();
            setDataDefault();
        } else {
            try{
                tvFont = settings.getString(FONT, "");
            }catch(ClassCastException e){setDataDefault();}
        }
    }
    public void savePreferences() {
        SharedPreferences settings = context.getSharedPreferences(FILENAME, Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = settings.edit();
        editor.putString(FONT, tvFont);
        editor.commit();
    }
    private void setDataDefault(){
        tvFont = "";
    }
    public boolean set_tvFont(String val){
        tvFontSelect = val;
        return true;
    }
    public String get_tvFontSelect(){
        return tvFontSelect;
    }
}


Как использую в коде:
Так:
Кликните здесь для просмотра всего текста

Java
1
2
3
4
        Preferences pref = new Preferences(this);
        pref.loadPreferences();
        String tvFont = pref.get_tvFont();
        pref = null;

Ну или так:
Кликните здесь для просмотра всего текста

Java
1
2
3
4
        Preferences pref = new Preferences(this);
        pref.set_tvFont("Arial");
                pref.savePreferences();
        pref = null;


Как вообще в таких случаях искать ошибки? Может у кого есть подобный опыт. Спасибо заранее.

Добавлено через 2 часа 12 минут
Похоже в одном месте нашел следующий вылет, только на Андроид 4.0.х и в том случае, если виджет приложения добавляется на рабочий стол сразу, не открывая само приложение сразу после установки.

На виджете у меня есть кнопка его принудительного обновления. Клик по ней задается так:
Java
1
2
3
4
5
            Intent iBtn = new Intent(context, Widget.class);
            iBtn.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            iBtn.setAction(BTN_WIDGET_UPD);
            PendingIntent piBtn = PendingIntent.getBroadcast(context, 0, iBtn, 0);
            updateViews.setOnClickPendingIntent(R.id.ivBtn, piBtn);
Но у меня есть настройка по которой эта кнопка на виджете либо используется либо нет. Поэтому в случае, когда она не используется мне нужно очистить с нее setOnClickPendingIntent. Как мне это сделать?
Я сделал так
Java
1
updateViews.setOnClickPendingIntent(R.id.ivBtn, null);
, но на андроиде 4.0.х вылетает ошибка NullPointerException. На более вкусных дроидах такого нет.

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