powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Android [игнор отключен] [закрыт для гостей] / Toast вне Activity
21 сообщений из 21, страница 1 из 1
Toast вне Activity
    #38710755
Galadriel75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе время суток!

Пишу под андроид проект, тема новая для меня, много еще неизвестного...

Ситуация такова - иногда надо посмотреть, как работает тот или иной метод, что и как в нем происходит. Кидать в логи что-то или по шагам запускать - бывает не всегда удобно. А вот если использовать всплывающее окно и кинуть в него с использованием Toast некий текст - хоть и примитивно, но иногда удобнее, чем ставить брейкпоинты и тестить переменные.
Если вывести в всплывающее окно значение переменной из какого-либо класса, то надо в этот класс передавать Context активити.
А можно ли как-то по другому заставить из любого класса вывести всплывающее окно в активити, например, отправкой сообщения активити или еще как? Что-то нет желания в классы, где реализуется функционал, передавать Context, который там не нужен. По сути - нужно временное решение, чисто для отладки, чтобы потом можно было его быстро выкорчевать из релиза.

Как вариант, можно конечно создать активити-костыль и в него передавать значения переменных в рантайме - пусть показывает - видимо так и сделаю...

Заранее спасибо!
...
Рейтинг: 0 / 0
Toast вне Activity
    #38710760
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет.

Чем Log.d, Log.v не устраивают? Они кидают сообщения в логкат, который отображается и в студии и в эклипсе и утилитой из сдк можно посмотреть.
...
Рейтинг: 0 / 0
Toast вне Activity
    #38710764
Galadriel75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanПривет.

Чем Log.d, Log.v не устраивают? Они кидают сообщения в логкат, который отображается и в студии и в эклипсе и утилитой из сдк можно посмотреть.

потом надо отыскивать эти логи в потоке, а так на экране мелькнуло бы всплывающее окошко и сразу было бы видно что и как
...
Рейтинг: 0 / 0
Toast вне Activity
    #38710766
Galadriel75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Galadriel75wadmanПривет.

Чем Log.d, Log.v не устраивают? Они кидают сообщения в логкат, который отображается и в студии и в эклипсе и утилитой из сдк можно посмотреть.

потом надо отыскивать эти логи в потоке, а так на экране мелькнуло бы всплывающее окошко и сразу было бы видно что и как
я в логи кидаю в том числе, но, мне кажется, что продуктивность немного увеличится, если в простейших случаях не надо будет миллионный раз щелкать по вкладке с логами и искать последние логи, а просто бросить взгляд на устройство
...
Рейтинг: 0 / 0
Toast вне Activity
    #38710781
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Galadriel75wadmanПривет.

Чем Log.d, Log.v не устраивают? Они кидают сообщения в логкат, который отображается и в студии и в эклипсе и утилитой из сдк можно посмотреть.

потом надо отыскивать эти логи в потоке, а так на экране мелькнуло бы всплывающее окошко и сразу было бы видно что и как
Тогда наверное стоит открыть для себя фильтр. Все равно лучше, надежнее и проще, чем влеплять в код всплывающие окошки...
...
Рейтинг: 0 / 0
Toast вне Activity
    #38710782
Galadriel75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может копнуть в сторону интентов, бродкастов и бродкастресайва...?
...
Рейтинг: 0 / 0
Toast вне Activity
    #38710784
Galadriel75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanGaladriel75пропущено...


потом надо отыскивать эти логи в потоке, а так на экране мелькнуло бы всплывающее окошко и сразу было бы видно что и как
Тогда наверное стоит открыть для себя фильтр. Все равно лучше, надежнее и проще, чем влеплять в код всплывающие окошки...

окошки были бы в данном случае удобнее :)
...
Рейтинг: 0 / 0
Toast вне Activity
    #38710794
Galadriel75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Идейка одна пришла, щас попробую ее сделать - авось и прокатит, все равно временный костыль...
...
Рейтинг: 0 / 0
Toast вне Activity
    #38710797
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Galadriel75wadmanпропущено...

Тогда наверное стоит открыть для себя фильтр. Все равно лучше, надежнее и проще, чем влеплять в код всплывающие окошки...

окошки были бы в данном случае удобнее :)
Хозяин - барин... Сделай отдельный статический класс, в который при создании активити передавай контекст, который храни через WeakReference. Плюс пара статических функций, которые светят тостом. Потом заглушить будет просто: в одном месте все.
...
Рейтинг: 0 / 0
Toast вне Activity
    #38710815
Galadriel75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanGaladriel75пропущено...


окошки были бы в данном случае удобнее :)
Хозяин - барин... Сделай отдельный статический класс, в который при создании активити передавай контекст, который храни через WeakReference. Плюс пара статических функций, которые светят тостом. Потом заглушить будет просто: в одном месте все.
супер! спасибо! так и сделаю! все с этого и начиналось, потом торкнуло и полез искать как без класса обойтись :)
...
Рейтинг: 0 / 0
Toast вне Activity
    #38710830
WebPrj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadman,
+1
Код: java
1.
Utils.Сообщение(this, ....)


только WeakReference зачем?
...
Рейтинг: 0 / 0
Toast вне Activity
    #38710832
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WebPrj
Код: java
1.
Utils.Сообщение(this, ....)



только WeakReference зачем?
В твоем случае - ни за чем, а в моем - по-феншую. Чтоб не вылезло потом как в androidannotation.
...
Рейтинг: 0 / 0
Toast вне Activity
    #38710843
Galadriel75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот такой костыль родился в этом мире...
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
import android.content.Context;
import android.widget.Toast;

public class MessageBox {
	private static Context context;
	public static void setContext(Context mcontext) {
		context = mcontext;
	}
	
	public static void print(String txt) {
		Toast.makeText(context, txt, Toast.LENGTH_LONG).show();
	}

}
...
Рейтинг: 0 / 0
Toast вне Activity
    #38710847
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поправил.
Galadriel75
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
import android.content.Context;
import android.widget.Toast;

public static class MessageBox {
	private static Context mContext;
	public static void setContext(Context context) {
		mContext = context;
	}
	
	public static void print(String txt) {
		Toast.makeText(mContext, txt, Toast.LENGTH_LONG).show();
	}

}
...
Рейтинг: 0 / 0
Toast вне Activity
    #38710848
WebPrj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadman,
Пока не понял, о чём ты.
Попутный вопрос о сообщении в Окно сообщений:
Есть разница какой контекст передавать?
Не будет ли от этого зависеть время жизни в окошке вверху?
Что передать вместо AlarmReceiver.class?
Код: 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.
  public static void ShowMessage_Notification(Context cxtApp) {
    /////////////////////////////////////////////////////////////////
    // Context.NOTIFICATION_SERVICE
    Intent notificationIntent = new Intent(cxtApp, AlarmReceiver.class);
    PendingIntent contentIntent = PendingIntent.getActivity(cxtApp,
            0, notificationIntent,
            PendingIntent.FLAG_CANCEL_CURRENT);

    NotificationManager nm = (NotificationManager) cxtApp
            .getSystemService(Context.NOTIFICATION_SERVICE);

    Resources res = cxtApp.getResources();
    Notification.Builder builder = new Notification.Builder(cxtApp);

    builder.setContentIntent(contentIntent)
            .setWhen(System.currentTimeMillis())
            .setAutoCancel(true)

            .setSmallIcon(android.R.drawable.sym_action_email)
            .setLargeIcon(BitmapFactory.decodeResource(res, R.drawable.ic_launcher))
            .setTicker("Ticker") // Подробнее под кодом res.getString(R.string.app_name
            .setContentTitle("ContentTitle")// Текст заголовка уведомления при развернутой строке статуса
            .setContentText("ContentText");//Текст под заголовком уведомления при развернутой строке статуса

    Notification n = builder.build();// deprecated builder. getNotification();

    nm.notify(NOTIFY_ID, n);
    // Context.NOTIFICATION_SERVICE
    /////////////////////////////////////////////////////////////////
  }
...
Рейтинг: 0 / 0
Toast вне Activity
    #38710890
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WebPrjЕсть разница какой контекст передавать?
Нет.
WebPrjНе будет ли от этого зависеть время жизни в окошке вверху?
Нет.
WebPrjЧто передать вместо AlarmReceiver.class?
Тут указывается класс активити, которая вызовется при реакции пользователя. Так что этот вопрос к тебе.
...
Рейтинг: 0 / 0
Toast вне Activity
    #38710894
Galadriel75
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanПоправил.
Galadriel75
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
import android.content.Context;
import android.widget.Toast;

public static class MessageBox {
	private static Context mContext;
	public static void setContext(Context context) {
		mContext = context;
	}
	
	public static void print(String txt) {
		Toast.makeText(mContext, txt, Toast.LENGTH_LONG).show();
	}

}



так не компилится - ругается на статик перед класс
...
Рейтинг: 0 / 0
Toast вне Activity
    #38710905
WebPrj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadman
Я и спросил, как передать через параметр. Пойду в гугл.
спс.
...
Рейтинг: 0 / 0
Toast вне Activity
    #38710908
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Galadriel75wadmanПоправил.
пропущено...


так не компилится - ругается на статик перед класс
Верно, я позже заметил. :)
...
Рейтинг: 0 / 0
Toast вне Activity
    #38710915
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WebPrjЯ и спросил, как передать через параметр. Пойду в гугл.
Исходники андродные-то у тебя должны быть, если сдк устанавливал...

Код: java
1.
2.
3.
public Intent(Context packageContext, Class<?> cls) {
        mComponent = new ComponentName(packageContext, cls);
    }
...
Рейтинг: 0 / 0
Toast вне Activity
    #38710936
WebPrj
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wadman
А если под винду, то исходники винды?
Юмор не понял.
Спасибо что помог!
Так вроде работает.
спс.
Код: 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.
 public static void ShowMessage_Notification(Context cxt, Class<?> cls) {
    // Context.NOTIFICATION_SERVICE
    Intent notificationIntent = new Intent(cxt, cls);
    PendingIntent contentIntent = PendingIntent.getActivity(cxt,
            0, notificationIntent,
            PendingIntent.FLAG_CANCEL_CURRENT);

    NotificationManager nm = (NotificationManager) cxt
            .getSystemService(Context.NOTIFICATION_SERVICE);

    Resources res = cxt.getResources();
    Notification.Builder builder = new Notification.Builder(cxt);

    builder.setContentIntent(contentIntent)
            .setWhen(System.currentTimeMillis())
            .setAutoCancel(true)

            .setSmallIcon(android.R.drawable.sym_action_email)
            .setLargeIcon(BitmapFactory.decodeResource(res, R.drawable.ic_launcher))
            .setTicker("Ticker") // Подробнее под кодом ... res.getString(R.string.app_name)
            .setContentTitle("ContentTitle")// Текст заголовка уведомления при развернутой строке статуса
            .setContentText("ContentText");//Текст под заголовком уведомления при развернутой строке статуса

    Notification n = builder.build();// deprecated - builder. getNotification();
    nm.notify(NOTIFY_ID, n);
  }

...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Android [игнор отключен] [закрыт для гостей] / Toast вне Activity
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]