Android! Разработка мобильных


Sudokuv3/src/org/example/sudoku/Game.java



Pdf көрінісі
бет72/87
Дата26.01.2023
өлшемі3,48 Mb.
#63133
1   ...   68   69   70   71   72   73   74   75   ...   87
Байланысты:
Привет, Андроид Разработка мобильных приложений

 Sudokuv3/src/org/example/sudoku/Game.java
@Override
protected void onResume() {
super.onResume();
Music.play(this, R.raw.game);
}


106 Глава 5 • Мультимедиа
@Override
protected void onPause() {
super.onPause();
Music.stop(this);
}
НЕМНОГО О SUDOKU
Существуют десятки вариантов Sudoku, хотя ни один из них не сумел превзойти по популяр-
Sudoku, хотя ни один из них не сумел превзойти по популяр-
, хотя ни один из них не сумел превзойти по популяр-
ности оригинал . Существует вариант, в котором используются таблицы размером шестнадцать 
на шестнадцать, с шестнадцатеричными цифрами . Другой, называемый Gattai 5 или Samurai 
Sudoku, использует пять таблиц девять на девять, которые перекрываются в угловых областях .
Е�ли вы �равните �то � те�� что �ы делали в кла��е Su��ku� то за�етите� что �ы 
��ылае��я на дру�ой звуковой ре�ур�� 
R .raw .game
(
res/raw/game .mp3
)�
Финал�ный фра��ент �узыкал�но�о пазла — �то кла�� 
Music
� который будет 
управлят� кла��о� 
MediaPlayer
� и�пол�зованны� для прои�рывания теку�е�о зву�
ково�о �опровождения: 
 Sudokuv3/src/org/example/sudoku/Music.java
1 package org.example.sudoku;
-
- import android.content.Context;
- import android.media.MediaPlayer;
5
- public class Music {
- private static MediaPlayer mp = null;
-
- /** Остановка старой композиции и начало новой */
10 public static void play(Context context, int resource) {
- stop(context);
- mp = MediaPlayer.create(context, resource);
- mp.setLooping(true);
- mp.start();
15 }
-
- /** Остановка проигрывания музыки */
- public static void stop(Context context) {
- if (mp != null) {
20 mp.stop();
- mp.release();
- mp = null;
- }
- }
25 }
Метод 
play()
первоначал�но вызывает �етод 
stop()
для о�тановки л�бой �узыки� 
которая �ейча� прои�рывает�я� Далее �ы �оздае� новый �кзе�пляр 
MediaPlayer
� и��
пол�зуя 
MediaPlayer .create()
� передавая контек�т и �D ре�ур�а�


5 .4 . Вперед >> 107
По�ле то�о� как у на� появил�я прои�рывател�� �ы у�танавливае� пара�етр� 
который вкл�чает �икличе�кое повторение �узыки� и начинае� во�произведение� 
Метод 
start()
��новенно начинает работат��
Метод 
stop()
� код которо�о начинает�я в �троке 18� про�т� По�ле небол�шой 
за�итной проверки� которая позволяет на� убедит��я� что у на� дей�твител�но 
е�т� объект 
MediaPlayer
� � которы� �ы буде� работат�� �ы вызывае� е�о �етоды 
stop()
и 
release()
� Метод 
MediaPlayer .stop()
о�танавливает во�произведение �узыки 
(а вы че�о ожидали?)� Метод 
release()
о�вобождает �и�те�ные ре�ур�ы� �вязанные 
� прои�рывателе�� Так как �то родные ре�ур�ы� �ы не �оже� про�то ждат�� пока 
обычный �бор�ик �у�ора Java их утилизирует� Отказ от и�пол�зования 
release()
— 
�то прекра�ный �по�об добит��я то�о� чтобы ваша про�ра��а неожиданно падала 
из�за непонятных ошибок (�о �ной� конечно� тако�о не �лучало��; я про�то �овор�� 
чтобы вы по�нили об �то�)�
А вот и вре�я для забавы — попробуйте пои�рат� в Su��ku � вне�енны�и из�е�
Su��ku � вне�енны�и из�е�
� вне�енны�и из�е�
нения�и� Проте�тируйте ее л�бы�и �по�оба�и� которые ��ожете �ебе вообразит�� 
таки�и как перекл�чение �ежду разны�и деятел�но�тя�и� нажатие кнопок 
Back
и 
Home
в различные �о�енты и�ры� запу�к и�ры �нова� ко�да она уже запу�ена 
и находит�я на различных �тадиях и�полнения� поворот ди�плея и так далее� Со�
ответ�тву��ее управление жизненны� �икло� про�ра��ы ино�да превра�ает�я 
в кош�ар� однако ваши пол�зователи о�енят у�илия�
5 .4 . Вперед >>
В �той �лаве �ы ра���отрели во�произведение аудио� и видеоклипов � и�пол�зо�
вание� ������� SDK� Мы не �оворили о запи�и� так как бол�шин�тво про�ра�� не 
нужда�т�я в �то�� но е�ли ва� �лучит��я быт� и�кл�чение�� по��отрите опи�ание 
кла��а 
MediaRecorder
в онлайновой доку�ента�ии
1

В �лаве 6 «Хранение локал�ных данных» вы узнаете о некоторых про�тых �по�
�обах� � по�о��� которых про�ра��ы на ������� �о�ут хранит� данные �ежду 
вызова�и� Е�ли ва� �то не нужно� переходите к �лаве 7 «Объединенный �ир»� �де 
ра��казывает�я о до�тупе в Сет��
1
http://��a�������c�m/�efe�e�ce/a������/me��a/Me��aRec���e��html


Хранение
локальных данных
До �их пор �ы пытали�� напи�ат� (и пи�али) приложения� которые не нужда�т�
�я в хранении данных при выходе из них� Они за�ружа�т�я� запу�ка�т�я и за�
верша�т работу� не о�тавляя по�ле �ебя никаких �ледов� Однако бол�шая ча�т� 
ре ал�ных про�ра�� нуждает�я в �охранении у�тойчивых �о�тояний� буд� �то 
про�тая у�тановка раз�ера шрифта� пикантное фото � по�ледне�о корпоратива 
или план здо рово�о питания на �леду��у� недел�� Что бы �то ни было� ������� 
позволяет по�тоянно хранит� данные на �обил�но� у�трой�тве для по�леду��е�о 
и�пол� зования и за�и�ает их от �лучайно�о или злона�еренно�о до�тупа дру�их 
про�ра���
Ваше приложение �ожет хранит� данные� и�пол�зуя не�кол�ко различных �по�
�обов в зави�и�о�ти от раз�ера данных� их �труктуры� вре�ени хранения и то�о� 
будут ли они и�пол�зоват��я дру�и�и про�ра��а�и� В �той �лаве �ы разбере� три 
про�тых �по�оба хранения локал�ных данных: преду�тановки �P�� �охранение 
�о�тояния объекта и хранение файлов во фл�ш�па�яти� В �лаве 9 «Работа � SQL» 
�ы изучи� более �овершенные �по�обы� которые и�пол�зу�т в�троенну� �и�те�у 
управления база�и данных SQL�te�
6 .1 . Добавление пункта Options в Sudoku
В разделе 3�7 «Добавление �ен�» �ы и�пол�зовали �етод 
onCreateOptionsMenu()
для добавления �ен�� �одержа�е�о один �ле�ент� на �лавный �кран Su��ku� �о�да 
пол�зовател� нажи�ает клавишу 
Menu
и выбирает пункт 
Settings…
� из кода запу�ка�
ет�я деятел�но�т� 
Prefs
� которая позволяет пол�зовател� �енят� пара�етры и�ры� 
Так как 
Prefs
ра�ширяет 
PreferenceActivity
� значения на�троек хранят�я в обла�ти 
преду�тановок про�ра��ы� но изначал�но �ы ниче�о � ни�и не делали� Сейча� �ы 
�обирае��я � ни�и поработат��


Достарыңызбен бөлісу:
1   ...   68   69   70   71   72   73   74   75   ...   87




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет