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

surfaceview multiple threads - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Обновляемая БД http://www.cyberforum.ru/android-dev/thread926487.html
Привет программисты. Только недавно начал программировать, поэтому жду вашей помощи. Хочу создать обновляемую БД. На сколько я понимаю, что в одной базе данных может быть несколько таблиц, так ли это? Хочу создать программу из двух Activity. На первом Activity должен выводиться список названий таблиц БД. На втором Activity должны выводиться данные из таблицы БД, в зависимости от выбранного...
Программирование Android in-app billing Не получается внедрить встроенный платеж , как по инструции: http://www.techotopia.com/index.php/Integrating_Google_Play_In-app_Billing_into_an_Android_Application_%E2%80%93_A_Tutorial Выдает ошибку приложения при запуске. Вот что составлено: package com.simplev3; import com.android.vending.billing.util.IabHelper; import com.android.vending.billing.util.IabResult; import... http://www.cyberforum.ru/android-dev/thread926465.html
Два события onClick в одном item Программирование Android
Доброго времени суток . У меня есть listView , у него назначен BaseAdapter , в item'e есть две кнопки , нужно как-то обрабатывать события нажатия из Activity(когда была одна кнопка обрабатывал в методе OnClickItem).Вопрос : как это реализовать? (на словах хотя бы ).
Программирование Android Почему появляются предупреждения на контролах?
С панели Palette на экран разместил контролы, но появляются предупреждения в виде восклицательных знаков, а внизу надписи " Hardcoded string "Старт", should use @string resource". Подскажите, пожалуйста, как исправить ошибку. Прикрепляю скриншот.
Программирование Android Взаимосвязь компьютера и андроид-устройства http://www.cyberforum.ru/android-dev/thread926340.html
Здравствуйте. Мне нужно написать приложение для android-устройства. Нужно что бы приложение принимало/отправляло, данные (числа) с/на компьютер (как я понимаю связь происводится через WiFi). Подскажите какие разделы мне стоит изучить для этого. Есть ли в программировании на андроид, что то типа сокетов или другие способы приема-передачи сообщений по сети?
Программирование Android Есть ли в ADT комбобокс? Не нашел в Form Widgets и в других контролах ADT комбобокс (выпадающий список). Есть кнопки, чекбокс, спинеры, а вот комбобокс не нашел. подробнее

Показать сообщение отдельно
RC_86
Сообщений: n/a

surfaceview multiple threads - Программирование Android

21.07.2013, 13:50. Просмотров 433. Ответов 0
Метки (Все метки)

Доброго времени суток.Пытаюсь разобраться с surfaceview.
Суть задачи следующая ,єсть два объекта, которые я запускаю в отдельных потоках.
В каждом обектерисуется изображение (мячик).


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
public class GameView extends SurfaceView implements SurfaceHolder.Callback{
 
public GameView(Context context) {
super(context);
getHolder().addCallback(this);
}
 
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
// TODO Auto-generated method stub
}
 
@Override
public void surfaceCreated(SurfaceHolder holder) {
// TODO Auto-generated method stub
 
Thread oneThead = new Thread(new OneThread(getHolder(), getResources()));
oneThead.start();
 
Thread secondThead = new Thread(new SecondThread(getHolder(), getResources()));
secondThead.start();
 
}
}
А вот сами потоки.
Первый
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class OneThread implements Runnable{
private SurfaceHolder surfaceHolder;
private Bitmap brazukaBall;
 
 
public OneThread(SurfaceHolder surfaceHolder, Resources resources) {
this.surfaceHolder = surfaceHolder;
imageOne = BitmapFactory.decodeResource(resources, R.drawable.imageOne);
}
 
@Override
public void run() {
Canvas canvas;
canvas = surfaceHolder.lockCanvas(null);
canvas.drawBitmap(imageOne,68,87,null);
surfaceHolder.unlockCanvasAndPost(canvas);
}
 
}
Второй
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class SecondThread implements Runnable{
private SurfaceHolder surfaceHolder;
private Bitmap brazukaBall;
 
 
public SecondThread(SurfaceHolder surfaceHolder, Resources resources) {
this.surfaceHolder = surfaceHolder;
imageTwo = BitmapFactory.decodeResource(resources, R.drawable.imageTwo);
}
 
@Override
public void run() {
Canvas canvas;
canvas = surfaceHolder.lockCanvas(null);
canvas.drawBitmap(imageTwo,0,0,null);
surfaceHolder.unlockCanvasAndPost(canvas);
}
 
}
Проблема в том что на канвасе всегда изображения которое рисуется в SecondThread.Я так понял что канвас перезатераеться вторым изображением.
Я разделил на два отдельных потока, потому что в будущем там должна быть реализована анимация двух разных картинок.
Вопрос в том, как мне сделать так чтобы у меня две картинки НЕ перезатерали друг друга.
И вообще правильно создавать отдельные потоки?? В моем случае это будут два изображения которые движутся с разной скоростью и отражаются от стенок. Заранее большое спасибо за помощь
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru