

































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
Código fonte de preferências em java para a aplicação sudoku, incluindo a criação de uma classe prefs que armazena e retorna as preferências escolhidas pelo usuário, como música e dicas. Além disso, é discutido como habilitar ou desabilitar as dicas e como usar o método gettextfromfile() para ler arquivos. O documento também apresenta como adicionar uma nova opção para escolher o puzzle a partir da tabela de preferências.
Tipologia: Notas de estudo
1 / 41
Esta página não é visível na pré-visualização
Não perca as partes importantes!
Em (^) que situações
precisamos de
armazenamento
persistente ?
Pense em
aplicações
Android
que
usam
persistência
.
public class Prefs extends PreferenceAc@vity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource (R.layout.se^ngs);
}
}
<PreferenceScreen
xmlns:android="hjp://schemas.android.com/apk/res/android">
<CheckBoxPreference
android:key="music"
android:@tle="@string/music_@tle"
android:summary="@string/music_summary"
android:defaultValue="true" />
<CheckBoxPreference
android:key="hints"
android:@tle="@string/hints_@tle"
android:summary="@string/hints_summary"
android:defaultValue="true" />
se^ngs.java
Prefs.java
public class Prefs extends PreferenceAc@vity {
private sta@c final String OPT_MUSIC = "music";
private sta@c final boolean OPT_MUSIC_DEF = true;
private sta@c final String OPT_HINTS = "hints";
private sta@c final boolean OPT_HINTS_DEF = true;
public sta@c boolean getMusic(Context context) {
return PreferenceManager.getDefaultSharedPreferences
(context).getBoolean(OPT_MUSIC, OPT_MUSIC_DEF);
public sta@c boolean getHints(Context context) {
return PreferenceManager.getDefaultSharedPreferences
(context).getBoolean(OPT_HINTS, OPT_HINTS_DEF);
Como
dá -se a
comunicação
entre
o^ que
“entra
”^ nesse
banco
de dados
e
o^ que
“sai
” dele?
Como “ aplicar ” essas
preferências
?
Prefs.java
if (Prefs.getHints(getContext())) {
Paint hint = new Paint();
int c[] = { getResources().getColor(R.color.puzzle_hint_0),
getResources().getColor(R.color.puzzle_hint_1),
getResources().getColor(R.color.puzzle_hint_2), };
Rect r = new Rect();
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
int moveslew = 9 ‐ game.getUsedTiles(i, j).length;
if (moveslew < c.length) {
getRect(i, j, r);
hint.setColor(c[moveslew]);
canvas.drawRect(r, hint);
PuzzleView.java
A opção continue
Modifique a nossa
implementação de
Sudoku para que seja
possível interromper e
continuar um jogo
interrompido.
Seria
possível
usar^ a API de
preferências
No (^) fundo , (^) trata
se de - (^) uma
tabela hash
persistente
private int[] getPuzzle(int diff) {
String puz;
switch (diff) {
case DIFFICULTY_CONTINUE:
puz = getPreferences(MODE_PRIVATE).getString(PREF_PUZZLE,
easyPuzzle);
break;
case DIFFICULTY_HARD:
puz = hardPuzzle;
break;
case DIFFICULTY_MEDIUM:
puz = mediumPuzzle;
break;
case DIFFICULTY_EASY:
default:
puz = easyPuzzle;
break;
return fromPuzzleString(puz);
E como (^) colocar
o (^) estado
(^) do
tabuleiro
(^) na tabela de
preferências
?
Procure pensar
nos eventos
necessários
para essa tarefa
Quando (^) o
puzzle deve
ser salvo?
Que
constante
é
essa
Game.java
Vocês
lembram
-se
dessa
função
Game.java
public void onClick(View v) {
switch (v.getId()) {
case R.id.about_bujon:
Intent i = new Intent(this, About.class);
startAc@vity(i);
break;
case R.id.new_bujon:
openNewGameDialog();
break;
case R.id.exit_bujon:
finish();
break;
E (^) como alterar
essa (^) classe (^) para
que o botão
continue possa
funcionar ?
Sudoku.java
public void onClick(View v) {
switch (v.getId()) {
case R.id.conRnue_buSon:
startGame(Game.DIFFICULTY_CONTINUE);
break;
case R.id.about_bujon:
Intent i = new Intent(this, About.class);
startAc@vity(i);
break;
case R.id.new_bujon:
openNewGameDialog();
break;
case R.id.exit_bujon:
finish();
break;
Sudoku.java
Ei,^ mas
está
faltando
associar
o^ evento
ao
botão
Como
resolver
esse
problema ?
Por que a (^) posição
dos números (^) é
salva (^) entre modo
retrato e (^) paisagem ?
E^ como
podemos
agora
salvar
a
posição
do cursor?