2010-10-17 2 views
0

Я знаю, что по умолчанию 30 минут, но я смотрю на создание игры в виджетеМаксимальная частота обновления виджета

Это потребует ответов миллисекунды .... кто-нибудь испортил с AlarmClock синхронизации, описано, чтобы использовать вместо этого для достижения этого? это хорошо работает?

Я еще не закончил Программу Arc для проекта, потому что я вижу много жалоб на это в сети, поэтому вам нужно знать, возможно ли это, прежде чем я пойду на приключение ... но игра будет состоят из большого размера виджета на одном экране ... много областей, на которые нужно щелкнуть и взаимодействовать с несколькими текстурированными анимациями.

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

это то, что мне сказали работы:

Код: Покраска p = новая Краска(); p.setAntiAlias ​​(true); p.setStyle (Style.STROKE); p.setStrokeWidth (8); p.setColor (0xFFFF0000);

 Bitmap bitmap = Bitmap.createBitmap(100, 100, Config.ARGB_8888); 
     Canvas canvas = new Canvas(bitmap); 
     canvas.drawArc(new RectF(10, 10, 90, 90), 0, 270, false, p); 

     // RemoteViews views = new RemoteViews(updateService.getPackageName(), R.layout.main); 
     RemoteViews updateViews = null; 

     updateViews.setImageViewBitmap(R.id.canvas, bitmap); 

     ComponentName componentName = new ComponentName(updateService, DashboardAppWidgetProvider.class); 
     AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(updateService); 
     appWidgetManager.updateAppWidget(componentName, views); 

но я борюсь с понятиями этого кода, имеющего идентификатор для холста и как использовать это, так что я не был в состоянии проверить этот код

(я опытный C/C++/C#/dx/opengl coder в первый раз с android и java)

Спасибо!

ответ

1

Однако я смотрю на создание игры в виджете

Я не рекомендовал бы это.

Это потребует миллисекунды ответов

Это крайне непрактично, учитывая, что домашний экран работает в другом процессе, чем это делает ваш код игры.

есть ли кто-нибудь испорченный с таймером AlarmClock, который, как описано, используется для достижения этого? это хорошо работает?

AlarmManager не предназначен для стрельбы несколькими событиями в секунду.

но игра будет состоять из большого размера виджета одного экрана

Вы не можете указать приложение виджета, который является «размером одного экрана». Вы должны указать размер, и этот размер не может меняться по размеру аппаратного экрана.

много областей, чтобы нажать на кнопку и взаимодействовать с и множество текстурированных анимации

Анимации не возможно в приложение виджетов.

Похоже, я могу нарисовать на холст, а затем вставьте его до растрового изображения, чтобы это сделать

Это будет неэффективным, если учесть, что ваш код и домашний экран работают в отдельных процессах.

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

+0

Хм, хорошо спасибо за ваш imput ... Я согласен с тем, что есть определенные ограничения для того, что я делаю, но я не это невозможно .... Я понимаю, что Alarmanager не был предназначен для этого, но я видели, как люди используют его раньше, и какова максимальная скорость, на которой он может быть использован? – morty346

+0

, определяющий размер, не сложно, он будет основан на пикселе с маленьким телефоном размера как размер ... также может всегда иметь несколько сборок на рынке – morty346

+0

анимации очень возможны, мне просто нужно изменить то, что растровое изображение рендеринга – morty346

0

Анимация возможна, но очень ограничена.

Приоритет процесса виджетов на главном экране кажется очень низким. Вы можете запускать Alarms столько, сколько хотите, но есть некоторые проблемы, которые останавливают их правильно, когда устройство находится в режиме сна или так, в противном случае у вас возникают реальные проблемы с потреблением энергии вашего устройства.

Любой установленный вами будильник будет запускать событие, но пока процессор больше или меньше работает, вы никогда не получите равное время выполнения для этого.

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

Я разработчик нового «Анимированного виджета с вращающимися часами» (http://www.androidzoom.com/android_applications/lifestyle/animated-rolling-clock-widget_lviw.html?nav=recategorized), и нам удалось найти некоторые реальные трудные вещи, которые позволят нам работать так, как ожидалось. Если вы попробуете этот вариант, вы можете увидеть ограничения освежения очень быстро.

Для получения более подробной информации, вы можете использовать официальный адрес электронной почты, связанный с этим приложением.