|
SurfaceView
|
|||
---|---|---|---|
#18+
Здравствуйте! Начинаю разбираться с SurfaceView. Нашёл этот пример в интернете, но при сворачивании программы вылетает ошибка. Помогите её миновать. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2015, 09:56 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
вот этот пример http://zalil-slil.rusfolder.net/files/upload/?session=919c7be90d776049faa9e40aa7ae84b3 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2015, 10:06 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
Во всех примерах прилагается такой код. Господа давайте его усовершенствуем и выложим сюда. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2015, 13:59 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
тут тоже самое http://dajver.blogspot.ru/2012/01/android-1-surfaceview.html ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2015, 14:01 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
нам, как будто делать нечего больше сидеть и запускать какой то код и ловить, что за за ошибка там выскакивает. новичкам, сперва хотя бы, научится логи смотреть. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2015, 14:39 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
ВолодяХаритоновЗдравствуйте! Начинаю разбираться с SurfaceView. Нашёл этот пример в интернете, но при сворачивании программы вылетает ошибка. Помогите её миновать. Обычно к таким сообщениям текст ошибки и стек выкладывают. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2015, 22:48 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
Здравствуйте! Выкладываю текст ошибки и стек. Текст ошибки: В приложении "SurfaceView" произошла ошибка. Стек: 03-19 10:27:22.280: E/AndroidRuntime(6014): FATAL EXCEPTION: Thread-526 03-19 10:27:22.280: E/AndroidRuntime(6014): java.lang.NullPointerException 03-19 10:27:22.280: E/AndroidRuntime(6014): at com.example.surfaceview.GameView.onDraw(GameView.java:94) 03-19 10:27:22.280: E/AndroidRuntime(6014): at com.example.surfaceview.GameLoopThread.run(GameLoopThread.java:26) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2015, 08:29 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
Выкладываю снова, потомучто выше ссылка уже неактивна http://zalil-slil.rusfolder.net/files/upload/?session=20177020b2a5a84aa7731255aa0a18a4 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2015, 08:32 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
Пожалуйста, помогите очень надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2015, 17:46 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
ВолодяХаритоновПожалуйста, помогите очень надо. читайте про потоки, до просветления! ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2015, 23:28 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
Я читал про потоки в данном вопросе я не смог понять в чём причина ошибки. В чём причина нежелания мне помочь? Если файл не хотите качать давайте я сюда выложу исходники activity_main.xml Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
GameLoopThread Код: 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.
GameView Код: 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. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93.
MainActivity Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2015, 06:15 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
Здравствуйте! По прежнему не решил свою проблемку. Помогите, пожалуйста, или пример дайте ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 08:18 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
Пример таки отличается от приведенного кода... В какой именно строке ошибка? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 08:50 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
at com.example.surfaceview.GameView.onDraw(GameView.java:85) at com.example.surfaceview.GameLoopThread.run(GameLoopThread.java:26) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 11:32 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
GameView в 94 строке просто я менял код и поэтому лог другой я кстати выше написал в каких строках ошибки ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 11:34 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
ВолодяХаритоновat com.example.surfaceview.GameView.onDraw(GameView.java:85) at com.example.surfaceview.GameLoopThread.run(GameLoopThread.java:26) Это что, шутка? Или не умеешь код подсвечивать? ВолодяХаритонов Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 11:34 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
Не умею код подсвечивать, извините ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 12:40 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
ВолодяХаритоновНе умею код подсвечивать, извините В указанную строку я просто добавил ">>>" вначале и "<<<" в конце. Это в факе по форуму описано. http://www.sql.ru/faq/faq_topic.aspx?fid=202 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 12:55 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
Ну извините буду знать. Давайте вернёмся к моему вопросу ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 15:48 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
мне кажется, кто то что-то, откуда-то загуглил вставил теперь жаждет пока "само собой" решится. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 16:16 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
ВолодяХаритоновДавайте вернёмся к моему вопросу wadmanВ какой именно строке ошибка? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 16:32 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
Ошибки в этих двух строках: at com.example.surfaceview.GameView.onDraw(GameView.java:82) Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
at com.example.surfaceview.GameLoopThread.run(GameLoopThread.java:26) Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 17:40 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
Почему там не используется getHolder()? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2015, 18:16 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
getHolder() используется в процедуре init() Код: java 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2015, 06:04 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
Все таки придется тебе научиться пользоваться отладкой. У меня пример из 17394608 работает. Смотри, где там null. Может битмап не грузится... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2015, 10:32 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
Этот пример у меня тоже работает. Там при создании такой код: Код: java 1. 2. 3. 4. 5.
а мне надо, чтоб создание было таким образом: Код: java 1. 2. 3. 4. 5. 6. 7. 8.
Потому что, на активити будет несколько SurfaceView. Вот а такой пример работающий я не могу найти в инете, и решить сам не могу. Поэтому сюда и пишу уж который день... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2015, 11:46 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
Битмап грузится и анимация есть. Ошибки вылетает при сворачивании программы. Вот я ещё раз выкладываю ссылку на архив с программой. wadman, посмотрите пожалуйста архив. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2015, 11:51 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
ВолодяХаритонов, зачем несколько? Почему одного не хватает? П.С. Задача вообще в чем? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2015, 11:56 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
ВолодяХаритоновОшибки вылетает при сворачивании программы. Тогда стоит почитать про цикл жизни приложения и активити. Какие методы при каких действиях вызываются. В данном случае происходит обращение к "убитому" объекту. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2015, 12:00 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
Я это уже понял а что мне нужно писать в OnPause например и в OnResume ?? Если я заново запускаю поток в OnResume, то вылетает ошибка, что поток уже запущен. Запустите проект сами всё увидите. Ну хорошо, например даже один SurfaceView, но мне нужно ещё и кнопки разместить в приложении, а в примере это не представляется возможным. Разве только вручную их отрисовывать?!! ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2015, 12:06 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
ВолодяХаритоновЕсли я заново запускаю поток в OnResume, то вылетает ошибка, что поток уже запущен. В паузе поток нужно уничтожать, в резюме - создавать. ВолодяХаритоновРазве только вручную их отрисовывать?!! У меня стойкое ощущение, что пропущены самые азы при начале разработки под андроид... Но вообще да, при разработки игр отдается предпочтение ручной прорисовке интерфейса. Либо использование готовых инструментов типа libgdx, andEngine и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2015, 12:26 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
wadmanВолодяХаритоновЕсли я заново запускаю поток в OnResume, то вылетает ошибка, что поток уже запущен. В паузе поток нужно уничтожать, в резюме - создавать. Я читал что поток нельзя уничтожить, как бы он сам должен завершиться. А запускается поток в программе 1 раз иначе ошибка java.lang.IllegalThreadStateException: Thread already started. Так ли это? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2015, 12:43 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
ВолодяХаритоновТак ли это? В целом да. Потоку нужно сообщить, что он уже больше не нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2015, 13:03 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
Даже если я сообщаю потоку в onPause или onDestroy с помощью метода setRunning который прописан в потоке GameLoopThread, то всё равно в onResume ошибка вываливается, что поток уже создан. Можете мне с этим помочь? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2015, 13:21 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
Вместо running нужно использовать встроенные методы: interrupt() для прерывания и для проверки isInterrupted(). Вместо прямого вызова прямого вызова onDraw() следует использовать draw(), чтоб система сама решала, когда требуется обновление. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2015, 13:29 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
В общем сделал изменения. Работает без ошибок, но долго восстанавливается. Взять любую игру запустить свернуть и восстановить и восстановится раза в 4-5 быстрее. А этот код как-то долго восстанавливает из свёрнутого состояния... Выкладываю код. wadman, можете с этим мне помочь? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2015, 07:00 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
activity_main.xml Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2015, 07:01 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
MainActivity Код: 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. 48.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2015, 07:02 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
GameView Код: 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. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2015, 07:03 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
GameLoopThread Код: 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.
Модератор: Просьба пользоваться спойлером. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2015, 07:04 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
Я конечно могу посмотреть, но все таки предпочитаю давать удочку, а не рыбу. :) Есть logcat и класс , для вывода в его лог. Принято с ним работать примерно в таком стиле: Код: 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. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61.
Далее все это затем ловится встроенными средствами (Студия точно выводит, эклипс тоже должен) либо утилитой из сдк Android Device Monitor (запускается батником monitor.bat из папки tools). Расставляя таким образом контрольные точки ты сможешь самостоятельно локализовать проблему и задать конкретный вопрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2015, 08:55 |
|
SurfaceView
|
|||
---|---|---|---|
#18+
Еще стоит обращать внимание вот на такие строки в логкате, если андроид 4.1 и выше: 10-27 07:41:56.800: I/Choreographer(437): Skipped 190 frames! The application may be doing too much work on its main thread. Это сам андроид ругается на тормоза основного потока. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2015, 09:02 |
|
|
start [/forum/topic.php?all=1&fid=13&tid=1331384]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
57ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
79ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 198ms |
0 / 0 |