Страница 1 из 2
Урок 118. Виджеты. Конфигурационный экран. Обновление
Добавлено: 22 янв 2013, 23:00
damager82
В этом уроке:
- настраиваем виджет при размещении
- работаем с view-компонентами виджета при обновлении
Click here to read this article!
Re: Урок 118. Виджеты. Конфигурационный экран. Обновление
Добавлено: 29 янв 2013, 10:09
R_Oleg
Добрый день!
не могу никак настроить атрибут android.appwidget.action.... для action. В раскрывающемся списке таких атрибутов нет. только android.app.action. и Копался в Android SDK менеджер. Дозагрузил все Tools, Extras, и все пунты для платформ 2.2, 2.3 и 4.1.2 (в нем все кроме Samples -но это ведь примеры.) Но никак нужный атрибут не появляется в списке.
Соотвественно не получается пройти нормально уроки 117 и 118:(
Что можете посоветовать?
Re: Урок 118. Виджеты. Конфигурационный экран. Обновление
Добавлено: 30 янв 2013, 16:20
damager82
R_Oleg писал(а):Добрый день!
не могу никак настроить атрибут android.appwidget.action.... для action. В раскрывающемся списке таких атрибутов нет. только android.app.action. и Копался в Android SDK менеджер. Дозагрузил все Tools, Extras, и все пунты для платформ 2.2, 2.3 и 4.1.2 (в нем все кроме Samples -но это ведь примеры.) Но никак нужный атрибут не появляется в списке.
Соотвественно не получается пройти нормально уроки 117 и 118:(
Что можете посоветовать?
Руками пропишите или скопируйте-вставьте из урока.
В списке такого действительно нет.
Re: Урок 118. Виджеты. Конфигурационный экран. Обновление
Добавлено: 31 янв 2013, 06:12
olver
Почему-то на видно layout Config.
setContentView(R.layout.config); ошибка
Причем при наборе R.layout.Здесь куча системных лайаутов.
Чую где-то ошибся, но никак не могу понять где
Re: Урок 118. Виджеты. Конфигурационный экран. Обновление
Добавлено: 31 янв 2013, 17:06
damager82
olver писал(а):Почему-то на видно layout Config.
setContentView(R.layout.config); ошибка
Причем при наборе R.layout.Здесь куча системных лайаутов.
Чую где-то ошибся, но никак не могу понять где
Посмотрите секцию Import
Такой строчки нет случайно?
import android.R;
Re: Урок 118. Виджеты. Конфигурационный экран. Обновление
Добавлено: 11 июн 2013, 15:54
perdator
Почему всегда стремятся в мануалах для новичков описать как можно больше ненужных вещей, оставляя более востребованные и более важные вне внимания?
Re: Урок 118. Виджеты. Конфигурационный экран. Обновление
Добавлено: 11 июн 2013, 16:07
Mikhail_dev
В каких мануалах именно?
Re: Урок 118. Виджеты. Конфигурационный экран. Обновление
Добавлено: 18 июн 2013, 18:54
perdator
no-- писал(а):В каких мануалах именно?
Мануал (или "manual" на англ.) - руководство, пособие и т.д.
Теперь понятно?
Re: Урок 118. Виджеты. Конфигурационный экран. Обновление
Добавлено: 13 авг 2013, 14:16
shubniggurath
СТроки:
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(this);
MyWidjet.updateWidget(this, appWidgetManager, sp, widgetID);
вызывают падение виджета (андроид 2.3.3)
Re: Урок 118. Виджеты. Конфигурационный экран. Обновление
Добавлено: 13 авг 2013, 14:27
Mikhail_dev
Логи где?
Re: Урок 118. Виджеты. Конфигурационный экран. Обновление
Добавлено: 15 авг 2013, 02:27
kimreik
Вопрос по RemoteViews. Пишу ежесекундный таймер, через короткое время приложение начинает глючить из-за частого вызова сборшика мусора. Нагуглил
ответ на SO, как я понял RemoteViews при каждом вызове добавляет очередь действий, а старую пошлощает GC. Можно ли это как-то обойти или лучше отказаться от идеи ежесекундного обновления?
UPD. Посмотрел внимательнее вопрос на SO и переписал создание RemoteViews внутрь таймера. Логи радуют вызовом уборщика реже чем раз в 100 строк. Но всё равно как-то не аккуратно получается...
Re: Урок 118. Виджеты. Конфигурационный экран. Обновление
Добавлено: 08 сен 2013, 21:09
Kruler
onUpdate вызвался ПЕРЕД конфигурированием (когда настройки виджета еще не были сохранены), но не вызвался ПОСЛЕ завершения работы конфигурационного экрана (когда настройки сохранены и их можно использовать для обновления).
я больше часа пытался понять в чем моя проблема и только потом дочитал статью до этого места
Re: Урок 118. Виджеты. Конфигурационный экран. Обновление
Добавлено: 11 сен 2013, 12:45
Spinne
Возникла у меня проблема. Задача простая - обновлять виджет по событию. Сделал простое приложение, и в андроид 4.х виджет обновляется, а в андроид 2.х не обновляется.
Что я делаю не так?
Re: Урок 118. Виджеты. Конфигурационный экран. Обновление
Добавлено: 19 сен 2013, 19:09
evgens
Скажите, как передавать из конфигурационной активити в виджет какую-нибудь картинку? Что использовать, не SharedPreferences же ?
Re: Урок 118. Виджеты. Конфигурационный экран. Обновление
Добавлено: 19 сен 2013, 23:54
Kruler
evgens писал(а):Скажите, как передавать из конфигурационной активити в виджет какую-нибудь картинку? Что использовать, не SharedPreferences же ?
ссылку на картинку из SharedPreferences?)
Re: Урок 118. Виджеты. Конфигурационный экран. Обновление
Добавлено: 20 сен 2013, 14:55
Danil
А как сделать так, чтоб когда устанавливаешь виджет на экран, конфигурационный экран не открывался автоматически?
Re: Урок 118. Виджеты. Конфигурационный экран. Обновление
Добавлено: 20 окт 2013, 08:33
evgens
Объясните такую штуку:
На конфиг активити есть ImageView
<ImageView
android:id="@+id/Image1"
android:layout_width="110dp"
android:layout_height="110dp"
android:src="@drawable/image" />
Размер виджета я тоже ставлю 110dp:
android:minHeight="110dp"
android:minWidth="110dp"
Но почему-то на конфиг активити ImageView выглядит визуально гораздо меньше, чем на самом виджете. Почему так?
Re: Урок 118. Виджеты. Конфигурационный экран. Обновление
Добавлено: 03 фев 2014, 17:00
DeMoZbox
есть вопрос по теме виджетов , надо которым бьюсь уже не мало дней .
создаю простой виджет - просто рамка с текстом.
вставляю в активити виджета следующий код, который запустит стандартное приложение-будильник.
Код: Выделить всё
public void onReceive(Context context, Intent intent)
{
Log.d("Meu LOG", "onReceive");
String action = intent.getAction();
PendingIntent pendingIntent;
if (AppWidgetManager.ACTION_APPWIDGET_UPDATE.equals(action))
{
RemoteViews views = new RemoteViews(context.getPackageName(),
R.layout.myma);
pendingIntent = PendingIntent.getActivity(context, 0,getAlarmPackage(context), 0);
views.setOnClickPendingIntent(R.id.analogClock1, pendingIntent);
AppWidgetManager
.getInstance(context)
.updateAppWidget(
intent.getIntArrayExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS),
views);
}
}
public Intent getAlarmPackage(Context context)
{
PackageManager packageManager = context.getPackageManager();
Intent AlarmClockIntent = new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_LAUNCHER);
String clockImpls[][] = {
{ "Standard Alarm", "com.android.alarmclock",
"com.android.alarmclock.AlarmClock" },
{ "HTC Alarm ClockDT", "com.htc.android.worldclock",
"com.htc.android.worldclock.WorldClockTabControl" },
{ "Standard Alarm ClockDT", "com.android.deskclock",
"com.android.deskclock.AlarmClock" },
{ "Froyo Nexus Alarm ClockDT",
"com.google.android.deskclock",
"com.android.deskclock.DeskClock" },
{ "Moto Blur Alarm ClockDT",
"com.motorola.blur.alarmclock",
"com.motorola.blur.alarmclock.AlarmClock" },
{ "Samsung Galaxy S", "com.sec.android.app.clockpackage",
"com.sec.android.app.clockpackage.ClockPackage" } };
boolean foundClockImpl = false;
for (int i = 0; i < clockImpls.length; i++)
{
String packageName = clockImpls[i][1];
String className = clockImpls[i][2];
try
{
ComponentName cn = new ComponentName(packageName, className);
packageManager.getActivityInfo(cn,PackageManager.GET_META_DATA);
AlarmClockIntent.setComponent(cn);
foundClockImpl = true;
} catch (NameNotFoundException nf)
{
}
}
if (foundClockImpl)
{
return AlarmClockIntent;
}
else
{
return null;
}
}
работает отлично.
если вставить этот код в приложение с конфигурационным экраном, как в этом уроке, то будильник не запускается.
пробовал сначала создавать простой виджет(без конфигурации), вставлять будильник(на этом этапе будильник запускается), настраивал конфигурацию- запускается активити конфигурации при размещении виджета, но конфигурация не меняет виджет.
короче, по отдельности и конфигурация и будильник работают. вместе нет. =(
нашел то место, которое вызывает конфликт.
в классе ConfigActivity в onClick есть две строчки:
Код: Выделить всё
//!!! AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(this);
//!!! MyActivity.updateWidget(this, appWidgetManager, sp, widgetID);
если их закоментить, то виджет не обновляется после экрана конфигурации, но будильник запускается при тапе на виджет.
если раскоментить, то видежт обновляется, но будильник не запускается.
как это обойти?
Re: Урок 118. Виджеты. Конфигурационный экран. Обновление
Добавлено: 26 фев 2014, 15:33
A.Yes
у меня на эмуляторе при создании виджета выходит Toast = "Application is not installed in phone".
а в логах = "unable to launch app.....MyWidget(has extras): process is bad"
Подскажите что это значит?
Re: Урок 118. Виджеты. Конфигурационный экран. Обновление
Добавлено: 20 май 2014, 09:21
denis_po3
Опечатка:
Например, у вас есть в электронный счет на каком-либо сайте.