Buscar

SUPER RESUMO

Prévia do material em texto

Questão 1/5 - Tópicos Avançados em Programação 
Somos obrigados a utilizar os emuladores disponíveis no ambiente de desenvolVimento do Androíd StudiO? Se não, quais são as vantagens em ubliza-los? 
1 ., ... ,., 
1
- Reapo&ta (A.11a 1 ): NID, • poulV8l utiliz.ar em.Aadora de ten:aroa, como o GenyMotion, por exemplo .. No er4anto os emutadorea do Aodroid Stud,o pouuem • vanlllgena da Atllm 
dlstnbuidoa com a ferramenta da dNenVOlv,memo de tonna gra:utta, além de trabalharem d1re1all*lte com o And/'0111 StudiO para debug. 
Resposta: 
Não IIOO'lOS obngados a utillzar os emuladores que vem no Android StudiO. Entretanto. existem vantagens na ubllzação dos mesmos· além da pnibadade no uso, eles são 
practioos no desenvolvimento da plataforma Android. Isso permite visualizar em tempo real o que será publicado. 
Queatlo 2/5 -Tópicos Avançados em Progr1m1çlo 
Quando aiamos uma Adivity que deverá retomar um determinado resultado é nec:essáriO a criação de u m código de retonno, inicialização da ActJvity através do comando 
startAcbvityForResult e também a redelinição do método onActlvltyResurt. Caso seja necesaério, na mesma Activ1ty, a inlclalízação de matS de uma Actrvlty que retome um 
resultado, quais senam os passos neoessários para garanbr que o resultado de ambas se,a processado corretamente? 
151···'·1 
1
- Resposta (Aula 3): � necessár1a a criação de um códlgO únleo para cada AàM1y, asun como o prooessamen10 corre10 do códlgO de �isiçao (requestCode), que 1dentffica a 
AàN11y 1'811)0ndvel pela resposta que •tj Nndo procesaada 
Questlo 3/5 -Tópicos Avançados em Programaçlo 
Para que possamos anunciar quais Intenções Implícitas nosso aplicativo está apto a responder, devemos declarar um ou mels filtros de Intenção. Qual elemento é utilizado 
para declarar um filtro de Intenção e onde este deve ser declarado? 
1- Resposta (Aula 5): O elemento utilizado é o <intent-fitter> e eate defe aer declarado em nosso arquivo AndroidManlfeat.xml. 
Resposta: 
O elemento utilizado e o <intente-filter> e deve ser declarado dentro do arquivo manifesto. 
Questlo q/5 -Tópicos Avançados em Programaçlo 
SharadPreferences é uma das várias maneiras para armazenamento de dados fornecidas peta Plataforma Androld, e possui basicamente duas formas da limitar o acesso as 
Informações guardadas. Quais são estas formas e quais as diferenças entre elas? 
- Resposta (Aula 4): ge1Preferences() e ge1SharedPreferences(). O método getPreferences() nos permite acesso a nível de atividade, ou seja, as preferencias não podem aer 
compartRhadas com outras atividades denlro da mesma aplicação. O método ge1SharedPrefereoces() nos pennlte acesso a nível de aplicação, permítJndo assim o acesso a 
praferendes a partir de qualquer etrvldede que esteja registrada em nossa eplicaÇlo. 
Questão 5/5 -Tópicos Avançados em Programação 
Sabemos que o método onUpgrade da classe SQLiteOpenHelper é responsável por detectar a alteração de versão do banco de dados, e então executar sua atualização. 
Como é Informado ao ambiente Androld que a versão do banco de dados em uso pelo aplicativo foi alterada? 
- Resposta (Aula 4) No construtor da classe DBHelper, somo aolicltados a lfnromar o nome do banco de dados, o objeto responsável peta seleção de um curaor apropriado e, 
finalmente , a veraão do Banco de Dados. Quando instanciamos urna ciasse 0BHelper , informando que o argumento de veraionamento é aupenor ao qual o banco foi ooginalmenle 
criado, pelo método onCreale(), o método ooUpgrade é automaticamente disparado, executando os comandos SQL nele contidos e também atualizando a veraão do banco de dados 
Ruposta: 
@override 
publlc vold onCreate(SQLile Database SQLlteDatabase){ 
} 
@override 
publlc void onUpgrade(SQLiteDalabase SQLiteDatabase, int 1, 
lnt 11){ 
} 
01- Porque ao criarmos uma nova Activity ela deve ter como base uma classe Activity(ou uma 
de suas sucessoras)? 
Quando criamos uma nova activity estendemos a classe Activity ou uma de suas sucessoras 
para que nossa classe herde todas as características das Activities, caso contrário esta seria 
apenas uma classe java qualquer. 
02 - Quando criamos uma Activity que deverá retornar um determinado resultado é 
necessário a criação de um código de retorno, inicialização da activity através do comando 
startActivityForResult e também a redefinição do método onActivityResult. Caso seja 
necessário, na mesma Activity, a inicialização de mais de uma Acitivity que retorne um 
resultado, quais seriam os passos necessários para garantir que o resultado de ambas seja 
processado corretamente? 
Devemos tratar essa situação de forma apropriada passando um argumento como parâmetro 
junto com a intent que iniciará a nova activity, a activ ity iniciada irá buscar dentro da intent o 
objeto identificado pelo argumento utilizando-se do método getStringExtra, se encontrar o 
valor extra correspondente retornará o resultado, do contrário não executará retorno. 
03-Para que possamos anunciar quais intenções implícitas nosso aplicativo esta apto a 
responder, devemos declarar um ou mais filtros de intenção. Qual elemento e utilizado para 
declarar um filtro de intenção e onde este deve ser declarado? 
O elemento utilizado para declarar um filtro de intenção é o "<intente-filter>" e dever ser 
declarado dentro do arquivo manisfesto. 
0 4 -Um dos métodos que devem ser definidos dentro de uma classe BaseAdapter e chamado 
de getView(). Qual é a sua atribuição? 
O método "getView ()" se encarrega de renderizar os registros encontrados dentro de uma List 
atribuindo os valores de cada propriedade a seu componente correto dentro de um layout. 
O S -Serviços facilitam à aplicação informar que desejam executar algo em segundo plano. 
Quando é necessário o retorno de informação para o componente que os criou, qual é o tipo 
de serviço que deve ser utilizado e com é feito esse retorno? 
Quando é necessário o retorno de informação para o componente que criou o serviço, este 
serviço deve ser vinculado (bind) que sera executado enquanto houver ligação com algum 
componente que interaja com ele, o retorno que será feito através da interface IBinder. 
Sabemos que a Tlu-ead principal dos aplicativos Java é conhecida como UIThread. Por 
que não devemos inte!1'omper bloqueá-la, executando processos que possarn vir a tomar 
grande parte do tempo da CPU? 
Nota: 20.0 
Resposta: 
Resposta (Aula 6): É na UIThread que são processados a maior paite de nosso código. 
Quando a bloqueamos por mais de cinco segundos, estamos sujeitos a mensagem de erro 
de ANR (Aplicativo Não Respondendo). 
Questão 2/5 - Tópicos Avançados em Programação 
Por que, ao criamos uma nova Activity, esta deve ter como base uma classe Activity ( ou 
uma de suas sucessoras)? 
Nota: 20.0 
Resposta: 
Resposta (Aula 2): Porque na classe Activity são definidos os compo1tamentos padrões 
deste compo1tamento, seu gerenciamento e também seu ciclo de vida. 
Questão 3/5 - Tópicos Avançados em Programação 
Somos obrigados a utilizar os emuladores disponíveis no ambiente de desenvolvimento 
do Android Studio? Se não, quais são as vantagens em utiliza-los? 
Nota: 20.0 
Resposta: 
Resposta (Aula 1 ): Não, é possível utilizar emuladores de terceiros, como o GenyMotion, 
por exemplo. No entanto os emuladores do Android Studio possuem as vantagens de 
serem dist1ibuidos com a fe!1'amenta de desenvolvimento de fonna gratuita, além de 
trabalharem diretamente com o Android Studio para debug. 
SharedPreferences é uma das vá1ias maneiras para annazenameuto de dados fornecidas 
pela Platafo1n1a Android. e possui basica111ente duas fo1mas de lin1itar o acesso as 
info1mações guardadas. Quais são estas fo1nias e quais as diferenças entre elas? 
Nota: 20.0 
Resposta: 
Resposta (Aula 4): getPreferencesO e getSharedPreferencesQ. O método 
getPreferencesO nos pe1miteacesso a nível de atividade. ou seja. as preferencias não 
podem ser compartilhadas com outras atividades dentro da mesma aplicação. O método 
getSharedPreferencesQ nos pe1mite acesso a nível de aplicação, pennitindo assim o 
acesso a preferencias a prutir de qualquer atividade que esteja registrada em nossa 
aplicação. 
Questão 5/5 - Tópicos Avançados em Programação 
Quando c1iamos novas linhas de processamento. sejam elas via AsyncTask ou Java 
Threads. temos duas regras básicas que devem ser seguidas: Quais são elas? 
Resposta: 
Resposta (Aula 6): Não podemos bloquear o processamento da UIThread e Não podemos 
acessar componentes da inte1face do usuário de fora da UIThread. 
ll,IM,.JJ 
Que!JtAo l/5 · Tópico� �v11n;11do: em Prcgr11m11çlo _. 
Quando cnamos novas linhas de processamento, seJam elas via AsyncTask ou Java Threads, temos duas regras básicas que devem ser se 
1- Não pod�mos bklqu�ar o proctssam�nia da UIThr�1d 
2. N3o poaernos acessar os componentes de ri:ertace do usuar10 do ª�t9!'-! de rora da �J.llll�.� 
+ Questão 2/5 - Tópicos Avançados em Programação + 
Durante a criação de uma inlcrfa<XJ com o usuário utilizwnos o editor WYSIW'r'G pwa criar a representação grãfica (visual) do componente dcnl 
suficiente para que o objeto possua qualquer inooração com o usuario oo com o apllcatrvo em si. Qua1;, !.ão então os passos a ;,erom cria, 
aphcatrvo acesso ao compon&nte cnado no editor vrsual? 
Altm oo arqti;o l9.!� que rep(esenta o 1a1out <10 apuca:JYO 1cmos !aml>ém a classe Java que conl ola o ap11ea11ve e essa classe eleve ser esten<Jkla <la classe í!Çl[y.Jlí. 
3835 caracteres restantes 
---
\li. v, , J-1111, l(r1 , , 1 .. 1 r,111,, 1. , �d ,r1 t,, r 1, • ,1 
,-!mi· ..;�� )(�f:&-q 11�,r � T � :i/•--v 
t.!!1=1 d av r!I., o ·=-e-�- , • Padrao : !)( TI l.J • ' 2 = 
+ Quet:t5e J/5 • TlipleM Av:inçadO!l em Pre,:i,amaç!lo + 
Um SOMÇO vinculado pormito a criação do vínculos com vários componontos Como um sorviço vinculado ó finalizado? 
+ Que,tlo 4/5 • Top eo:i Av1nç;dos em Progr11m;çBo + 
O quo s19r1 to VNSI\VYG e cp.JOI !,UO pr nc1p 1 vontogcm po,o o; d�r.iolvctlorcs? 
• • 
A chama� da n .as a·M�Jtks é r,ta dmtamcnte a k.iM'J paí3 ftLIWJ? Se não cxp q 1 
Questão 1/5 - Tópicos Avançados em Programação 
Somos obrigados a ublizar os emuladores disponlveis no ambiente de desenvolvimento do Android Studio? Se não, quais são as vantagens em utiliza-los? 
•:diH 
- Resposta (Aula 1 ): Não, é posslvel ulíllzar emuladores de lett:eiros, como o GenyMotion, por exemplo. No entanto os emuladores do Android Studio possuem as vantagens de serem 
ds!Jib\Jdos com a ferramenta de desenvolvimento de forma grat�. além de trabalharem diretamente com o Androld Studlo para debug. 
RHpotta: 
Não somos obrigados a utilizar os emuladores que vem no AndrOtd Studio. Entretanto, existem vantagens na utilização dos mesmos: além da praticidade no uso, eles são 
practioos no desenvolvimento da platafoona Androld. Isso pennite visualizar em tempo real o que sera publicado, 
Questão 2/5 • Tópicos Avançados em Programação 
Quando aiamos uma Activily que devera retomar um determinado resultado é necessáno a aiação de um cóchgo de retorno, inicialização da ActMty através do comando 
startActivityFOIResult e também a redefinição do método onActivilyResutt. Caso seja necessáno, na mesma Activity, a imciahzação de mais de uma Actlvrty que retome um 
resultado, quais senam os passos necessários para garantir que o resultado de ambas seja processado oorretamente? 
- Resposta (Aula 3): Ê necessária a criação de um código único pn cada AlfMty, assun CO!l'O o processamento cooeto do código de requisição (requestCode� que ldenbfic:a a 
Adivíly responsável pela resposta que esté sendo processada 
Questão 3/5 -Tópicos Avençados em Programação 
Para que possamos anunciar quais Intenções Implícitas nosso aplicativo está apto a responder, devemos declarar um ou mais filtros de Intenção. Qual elemento é utilizado 
para declarar um filtro de intenção e onde este deve ser declarado? 
1- Resposta {Aula 5): O elemento utilizado é o <intent-filler> e este dele ser declarado em nosso arquivo AndroldManlfest.xml. 
Rnposta: 
O elemento utilizado e o <intente-filter> e deve ser declarado dentro do arquivo manffesto. 
Questão Q/5 • Tópicos Avançados em Programação 
SharedPreferences é uma das várias manelras para armazenamento de dados fornecidas pela Platafonna Android, e possui basicamente duas fonnas de limitar o acesso as 
infonnações guardadas. Quais são estas fonnas e quals as drterenças entre elas? 
- Resposta (Aula 4): gelPreferences() e getSharedPreferences(). O método getPreferences() nos permrte acesso a nlvel de atMdade, ou seja, as preferenclas não podem ser 
compartilhadas com outras abvldades dentro da mesma aplicação. O método getSharedPreferences() nos pemute acesso a nlvel de aplicação, permitindo assim o acesso a 
preferenclas a partlr de qualquer atividada que esteja registrada em nossa aplicação. 
Questão 5/5 - Tópicos Avançados em Programação 
Sabemos que o método onUpgrade da classe SQLlteOpenHelper é responsável por detectar a alteração de versão do banco de dados, e então executar sua atualização. 
Como é Informado ao ambiente Androld que a versao do banco de dados em uso pelo aplicativo foi alterada? 
• Resposla (Aula 4): No construtor da classe OBHelper, somo solk:itados a lfnromar o oome do banco da dados, o o�eto respondvel pela seleção de um cursor apropriado e, 
finalmente , a versão do Banco de Dados. Quando lnslanclamos uma classe OBHelper , Informando que o argumento de verslonamento é superior ao qual o banco foi originalmente 
criado, pelo método oncreate(), o método onUpgrade é automaucamente diSparado, executando os comandos SQL nele contidos e também atualilando a versão do banco de dados. 
Reaposta: 
@override 
publlc void onCreate(SQLlte Database SQLiteDatabaseX 
} 
@override 
public void onUpgrade(SQLiteDatabase SQLiteDalabase, lnt i, 
ln! 11x 
} 
Questão 1/5 - Tópicos Avançados em Programação
Entre os blocos mais importantes da Application Framework está o Activity Manager.
Qual é a principal função dele?
Nota: 20.0
E
Utilizado para gerenciar o ciclo de vida completo das aplicações.
Você acertou!
Aula 1
Questão 2/5 - Tópicos Avançados em Programação
Um dos quatro estados de uma Activity é “A Activity está em pausa”.
Isto ocorre quando:
Nota: 20.0
C
A Activity saiu de primeiro plano, mas ainda está parcialmente visível.
Você acertou!
Aula 2
Questão 3/5 - Tópicos Avançados em Programação
As ferramentas Android SDK compilam o código e geram, em conjunto com todos os 
arquivos e recursos, um arquivo APK.
Neste arquivo, em qual pasta encontram-se os arquivos de componente em seu formato 
bruto, como por exemplo arquivos de áudio?
Nota: 20.0
B Assets
Você 
acertou!
Questão 4/5 - Tópicos Avançados em Programação
Quando criamos um aplicativo no ambiente Android Studio, observamos um conjunto de 
pastas: App, manifets, java, res, Graddle Scripts.
Em qual pasta são colocados os layouts de aplicação?
Nota: 20.0
D
res
Você 
acerto
u!
Aula 2
Questão 5/5 - Tópicos Avançados em Programação
Sabemos que a arquitetura Android é organizada em pilhas, divididas em camadas.
Em quantas camadas a arquitetura Android é dividida?
Nota: 20.0
C
4 camadas
Você 
acerto
u!
Aula 1
Questão 1/5 - Tópicos Avançados em Programação
Quando iniciamos uma Activity ela parte do estado de não existente para o estado de 
primeiro plano. Para que isso ocorra, ela passa por três métodos.
São eles, em sequência:
Nota: 20.0
C
onCreate(), onStart(), onResume()
Você acertou!
Aula 2 - Tema 1
Questão 2/5 - Tópicos Avançados em Programação
Toda Activity deve possuir um arquivo associado a ela, que representa a interface visível 
ao usuário.
Este arquivo é desenvolvido a partir dalinguagem:
Nota: 20.0
C
xml
Você acertou!
Aula 2 - Tema 2
Questão 3/5 - Tópicos Avançados em Programação
Na plataforma Android, utilizamos um componente de mensagem para solicitar uma ação 
a outro componente de aplicativo.
Este componente é conhecido como:
Nota: 20.0
D Intent
Você 
acertou!
Aula 2 - 
Tema 3
Questão 4/5 - Tópicos Avançados em Programação
A Plataforma Android prevê um método especial para informar que a Activity que está 
sendo iniciada deve retornar um resultado ao Sistema Android, que posteriormente será 
capturado pela Activity que disparou a requisição.
Este método é chamado de:
Nota: 20.0
B
startActivityForResult()
Você acertou!
Aula 3 - Tema 1
Questão 5/5 - Tópicos Avançados em Programação
A plataforma Android nos permite o envio de parâmetros à Activity a ser criada através da 
Intent.
Para adicionarmos um parâmetro a uma Intent, devemos utilizar o método:
Nota: 20.0
A
putExtra()
Você 
acertou!
Aula 3 - 
Tema 2
Questão 1/5 - Tópicos Avançados em Programação
Para que uma Activity retorne um resultado, esta deve executar uma chamada a um 
determinado método, informando o código de retorno e a Intent que possui os dados a 
serem retornados.
Este método é conhecido como:
Nota: 20.0
D
setResult();
Você 
acertou
!
Aula 3 - 
Tema 1
Questão 2/5 - Tópicos Avançados em Programação
Durante a passagem de parâmetros entre as Activities, ficamos restritos aos tipos comuns 
como booleans, integers, chars e bytes por exemplo.
Para que possamos enviar um tipo de dado complexo, devemos garantir que este objeto 
é:
Nota: 20.0
A
Serializavel
Você acertou!
Aula 3 - Tema 3
Questão 3/5 - Tópicos Avançados em Programação
Para recebermos o objeto complexo na Activity destino é necessário que, além de 
capturarmos o parâmetro através do comando getSerializableExtra() executemos uma 
ação que garanta a reconstrução deste objeto.
Esta ação é conhecida como:
Nota: 20.0
A Conversão de tipo (Type Casting)
Questão 4/5 - Tópicos Avançados em Programação
Na plataforma Android é possível a gravação de preferencias em nível de Activity 
utilizando-se o comando getPreferences().
Para a gravação de preferencias em nível de aplicação utilizamos:
Nota: 20.0
C
getSharedPreferences()
Você acertou!
Rota 4 - Tema 
1
Questão 5/5 - Tópicos Avançados em Programação
A gravação de dados em SharedPreferences é bastante simplificada, através da instancia 
do objeto chamado SharedPreferences.Editor.
Uma vez instanciado este objeto, editamos os valores String através do comando:
Nota: 20.0
C
putString()
Você 
acertou
!
Rota 4 - 
Tema 1
Questão 1/5 - Tópicos Avançados em Programação
As preferências salvas através do formato fornecido pela Plataforma Android no modelo pareado 
facilitam a gravação e recuperação de dados.
Sobre este formato, podemos afirmar que:
I – É possível restringir o acesso somente a nível de Activity
II – É possível restringir o acesso a nível de aplicação
III – É possível fornecer acesso a todos os aplicativos
IV – Não é possível registrir o acesso
Está(ão) correta(s): 
B I e III somente
Questão 2/5 - Tópicos Avançados em Programação
A Plataforma Android oferece suporte nativo para o SQLLite, uma pequena biblioteca que ofecere 
acesso a uma base de dados racional SQL.
Sobre o SQLLite podemos afirmar que:
I. Suporta até 3 TB de dados
II. SQLiteDatabase é responsável pela criação e versionamento do banco
III. Não existe a necessidade de se estabelecer qualquer tipo de conexão JDBC
IV. SQLiteOpenHelper contém os métodos de manipulação de dados.
Está(ão) correta(s):
D III apenas
Questão 3/5 - Tópicos Avançados em Programação
Um adaptador é um objeto que cria uma ponte entre uma AdapterView e os dados para aquela View.
Um Adapter muito utilizado no Ambiente Android é o: 
B BaseAdapter
Questão 4/5 - Tópicos Avançados em Programação
O Ambiente Android trabalha a segurança dos aplicativos através do princípio do privilegio 
mínimo.
Isto quer dizer que: 
 
C Os aplicativos devem solicitar privilégios necessários para sua execução.
Questão 5/5 - Tópicos Avançados em Programação
A plataforma Android nos permite a execução de Activities de outros aplicativos, desde que estas 
estejam registradas para responder a ações de terceiros.
Este acesso é feito através de:
Nota: 20.0
A Intenções Implícitas
Questão 1/5 - Tópicos Avançados em Programação
Quando acessamos o objeto CommonDataKinds, em busca de informações a respeito do número de 
telefone, por exemplo, esta informação é retornada em um tipo especifico de objeto.
Este objeto é do tipo: 
B URI
Questão 2/5 - Tópicos Avançados em Programação
Um serviço é um componente de aplicação que representa o desejo de executar uma tarefa de longa 
duração, sem interação com usuário final.
Sobre serviços, podemos afirmar que:
i. Rodam em um processo separado
ii. Tem um ciclo de vida simplificado, em relação ao de uma Activity
iii. Pode ser Iniciado ou Vinculado
iv. Não é uma thread
Estão corretas: 
D ii , iii e iv, apenas.
Questão 3/5 - Tópicos Avançados em Programação
Utilizamos AsyncTasks para operações simples que não requeiram o download de muitos dados, por 
exemplo.
Sobre as AsyncTasks podemos dizer:
i. A classe AsyncTask deve executar a operação onPreExecute manualmente.
ii. A tarefa pode ser executada apenas uma vez.
iii. A classe deve ser instanciada na UIThread.
iv. A classe deve ser carregada fora da UIThread.
Estão corretas: 
E ii e iii, somente.
Questão 4/5 - Tópicos Avançados em Programação
Para se emitir uma notificação, passamos o objeto que contém a notificação ao sistema chamando o 
método NotificationManager.notify().
Sobre o objeto passado podemos afirmar que:
i. Este objeto ter seu ícone pequeno
ii. Este objeto deve obrigatoriamente possuir um titulo
iii. Este objeto deve possuir uma imagem
iv . Este objeto deve conter um texto de detalhes
Estão corretas: 
D i, ii e iv, somente.
Questão 5/5 - Tópicos Avançados em Programação
Por tratar-se de um recurso limitado, quando efetuamos uma conexão com a Internet através de um 
dispositivo móvel devemos verificar a disponibilidade do mesmo.
Podemos verificar o status de rede utilizando os objetos:
Nota: 20.0
A ConnectivityManager e NetWorkInfo
Questão 3/10 - Tópicos Avançados em Programação 
No desenvolvimento Android somos orientados por determinadas linhas de comportamento esperado dos componentes e aplicativos. 
Cada Activrty deve ser desenvolvida tendo como um de seus objetivos: 
1 A Criar uma experiência agradável ao usuário, de forma que este consiga executar o que deseja de forma mais natural possivel. 
Questão LJ/10 - Tópicos Avançados em Programação 
Utilizamos o debugger para monitorar informações a respeito do comportamento do aplicativo, chamadas de métodos e, valores de objetos e variáveis. 
A e lasse utilizada para isto é a: 
NIMNi111• 
A Mensages 
B Debug 
1 e Log 
Além de solicitarmos a criação de uma Activity que retornará um resultado, devemos também redefinir o método que receberá e processará este 
resultado. 
Este método é conhecido como: 
IIMIH 
A onActivityReturn() 
B onActivity() 
1 C onActivityResult() 
Quando uma Activity que aguarda parâmetros do tipo String em sua inicialização é criada é possivel receber os parâmetros enviados dentro do lntent 
utilizando-se o método getStringExtra. 
Para verificarmos se foi enviado um determinado parâmetro uti lizamos o método: 
A hasExtra() 
• Você acertou! 
Aula 3 - Tema 2 
1 i 
1 i 
i i i 1 
•!MiH 
Questão 7 /10 - Tópicos Avançados em Programação 
A Plataforma Android nos fornece um formato de armazenamento no modelo pareado (chave, valor) de dados acessível somente a seu aplicativo. 
Este formato é conhecido como:•IH\1111 
1 A SharedPreferences 
Questão 8/10 - Tópicos Avançados em Programação 
Todo aplicativo Android possui um arquivo chamado AndroidManifest.XML, responsável por passar ao sistema Android informações sobre o apl icativo. 
Dadas as sente11ç as sobre este arquivo: 
1 -Lista as bibliotecas utilizadas pelo aplicativo 
11- Declara as permissões necessárias ao funcionamento do aplicativo 
111- Lista os aplicativos instalados no Ambiente Android 
IV - Declara o nível de API mínimo para uti lização do aplicativo 
Estão corretas: 
A 1, li e Ili apenas 
B li e Ili apenas 
1 C 1, li e IV apenas 
Questão 9/10 - Tópicos Avançados em Programação 
Quando os apl icativos Android são iniciados, é criada uma nova linha de processamento, responsável pela execução de seus componentes. 
Esta linha de processamento é conhecida como: 
l@di1111 
A MainThread 
B Activity 
C Manifest.xml 
1 D Ullhread 
1:0111111 
li l l 1 lí 1 l 
Questão 10/10 - Tópicos Avançados em Programação 
Quando necessrtamos executar tarefas que possam consumir murto tempo de processamento, ou ainda que tenham um tempo indeterminado é 
necessária a criação de novas linhas de processamento. 
São elas: 
•@&11111 
A Async T ask e Services 
B UIThread e Threads Java 
C AsyncTask e UIThread 
1 D AsyncTask e Threads Java 
-...-...... u ..... . , ... _._.�,._ ..... ,,y ........ ,, _, ... �,_.,,1 ....... ...-... 1, ,, ... ,.,, .... y ....... 
A segurança ela infomiação, entendida em um aspecto amplo, no qual impõe-se como condição a proteção de 
todos os recursos computacionais voltados para o provimento de serviços e, po,tanto, ele infonnação, passa 
necessariamente pela segurança do sistema operacional, um dos principais componentes ele praticamente 
todo sistema computacional. 
Quanto às características dos sistemas operacionais mais comtms, é co!1'eto afinn.ar que: 
r A A iniciativa Microsoft TWC - TrustWorthy Computing, iniciada em 2002 colocou 
o Windows na posição de sistema operacional mais seguro entre todos. 
r B O uso compartilhado de recursos, funcionalidade original do sistema 
operacional UNIX, tornou-o mais vulnerável que os demais sistemas 
operacionais. 
r O Sistemas operacionais proprietários e voltados para hardware específico 
geralmente co tem a características que re o am a segurança. d 
informação 
Questão 2/5 - Segurança em Sistemas de Informação 
Cada sistema computacional possui suas paiticulariclades, quer seja em função de suas capacidades -
processamento, memória, interfaces, autonomia -quer seja em função ele sua constituição fisica ou 
mobilidade, e também da programação à qual é capaz de col1'esponder. E estas paiticularidades detenninam e 
requerem proteção adequada. É possível classificar e separar os tipos ele proteção necessária aos 
componentes do sistema computacional em grnpos com características distintas. 
Analise as afinnativas a seguir com base nesta abordagem: 
I -A proteção contra intempéries e fenômenos naturais evita que haja falta de energia devido à intem1pção 
do fomecimento por prute da rede elétrica. 
II -Os controles de qualidade atuam sobre a disponibilidade da energia evitando a inte,rnpção do 
fomecimento. 
III - Os controles de acesso. criptografia e capacidade de tráfego são aplicados sobre as comtuúcações dos 
sistemas computacionais. 
IV -Hardware e software requerem mecanismos de proteção distintos. embora estes possam trabalhar de 
fonna co,tjtmta ou interdependente. 
Assinale a úiúca altematiYa que está de acordo com o conteúdo que foi apresentado nas aulas e com a sua 
análise: 
r A Somente as afirmações 1, li e Ili são corretas. 
r B Somente as afirmações 1, li e IV são corretas. 
r e Somente as afirmações li, Ili e IV são corretas. 
r D Somente a afirmação Ili é correta. 
E Somente as afirmações Ili e IV são corretas. 
1 
f r a 
Questão 3/5 - Segurança em Sistemas de Informação 
Os sistemas operacionais para ambientes ele computação móvel são especialmente importantes para a 
segurança ela infonnação nestes ambientes, uma vez que são profundamente adaptados aos recll!'sos 
computacionais e à infraestrutura de serviços e ftn1cionalidacles específicas do ambiente e dos equipamentos. 
Quanto a estes ambientes, é co!1'eto afümar que: 
r 
r 
r 
r 
A O Windows Phone, apesar dos avarnços, ainda apresenta problemas como a 
autenticação do usuário, as permissões requeridas pelas aplicações e o tratamento 
de informações entre aplicações multitarefas. 
B A arquitetura do Google Android apresenta características diferenciadas de 
segurança, que provê APls de segurança na camada Core Services e a evolução 
dos security services. 
C O iOS é um sistema operacional de código parcialmente aberto, pois algumas de 
suas interfaces são proprietárias, além de ter sido o primeiro SO para sistemas de 
computação móvel com interface gráfica, o que traz problemas para a segurança 
da informação. 
D arquitetura específica do Symbian dificultou os ataques por algum tempo, porém 
�ste sistema operacional do consórcio entre as fabricantes Nokia, Sony Ericsson e 
a operadora NTT DoCoMo acabou sendo vítima do primeiro ataque por um worm -
Cabir - registrado em 2004. 
Questão 4/5 - Segurança em Sistemas de Informação 
Os con!!'oles ele acesso geralmente operam em conjunto com os controles de verificação pa1'3 estabelecer a 
deYicla autorização e garantir a autenticidade das operações. A maioria dos sistemas baseia-se no conjunto 
identificação (ID) e senha (P ASS\VORD), porém para muitas operações criticas e o uso de infonnações 
sensh·eis estes controles não são suficientes. 
Considerando esta necessidade, aYalie as afitmativas a seguir e assinale a Ú!Úca coffeta. 
r A Controles biométricos, certificados digitais e assinaturas eletrônicas são 
geralmente utilizados em con·unto com a identifica ão 1D e senh 
'.(PASSWORD). 
o 
' 
ç 
1 
) a 
Questão 5/5 - Segurança em Sistemas de Informação 
Uma abordagem bastante efetiva no sentido de prover a segurança da infonnação é a que adota os 
me,canismos de seguran9a desde o início elo processo de desenvolvimento do software. O quão mais cedo 
neste processo se pensar em riscos, ameaças e fonnas de proteger a infonnação, mais efetivas e abrangentes 
tomam-se as medidas, além de aumentarem as opções quanto à estratégias e mecanismos de segurança a 
serem adotados. métodos. té.cnicas e fe,rnmentas auxiliares e dispo,úveis para o processo de 
desenvolvimento e a redução do custo para a implementação da segurança. 
Quanto à segurança no processo de desenvolvimento de software, analise as seguintes afinnações: 
I -A segurança da infonnação somente pode ser garantida pelos procedimentos de teste de software, os 
quais são geralmente enfatizados pelas organizações devido à sua impo1tância, agilidade e baixo custo. 
II -O uso de té.cnicas e métodos que estabelecem uma abordagem precoce das questões de segurança elo 
software é uma prática comum, o que tem elevado continuamente o padrão de segm·ança da infonnação e dos 
sistemas. 
III -Um elos efeitos da negligencia quanto ao teste de software é a identificação de faltas, effos e 
vulnerabilidades tardiamente, quando a co!1'eção ou eliminação tomam-se muito dispendiosas ou inviáveis. 
IV - O padrão internacional para o desenvolvimento de software seguro, contemplando a segtu'llnça cio 
software, a segt1rança do ambiente de desenvolvimento e a garantia de segtu'llnça do software desenvolvido é 
estabelecido pela nonna ISO/IEC 15.408. 
Assinale a ímica alternativa que c01Úere com o conteúdo que foi apresentado e com a sua análise: 
D Somente as afirmacões Ili e IV são corretas > 
Questão 1 /5 - Segurança em Sistemas de Informação 
A recuperação de desastres é o conjunto de procedimentos que, após um incidente, visa 
restabelecer a normalidade da operação daorganização no menor espaço de tempo 
possível e minimizando os danos. A regra é retomar a normalidade o quanto antes e com 
o menor prejuízo possível. Com relação ao DRP -Disaster Recovery Plan, pode-se 
afirmar que: 
1 -Para a área de TI, o DRP compreende o desenho das atividades do planejamento e a 
recuperação do ambiente e da infraestrutura de tecnologia da informação. 
li -A política de segurança da informação e a BIA-Business lmpact Analysis são 
documentos necessários para elaboração do DRP. 
Ili -O DRP faz parte do conjunto de medidas preventivas para enfrentar as ameaças e 
preservar a segurança das informações e dos sistemas. 
IV - Faz parte do DRP a decisão sobre a caracterização da gravidade do incidente e a 
ativação do regime de operação em contingência. 
Avalie as alternativas a seguir e selecione a única que está de acordo com o conteúdo 
apresentado em aula: 
1 A Somente as afinnações I e II são corretas. 
• 
1 
Questão 2/5 - Segurança em Sistemas de Informação 
Nos ambientes de computação móvel e Internet das Coisas (loT) a responsabilidade de 
cada um dos atores é específica, e os objetivos de segurança podem ser alcançados com 
abordagens distintas quanto à prevenção a ataques e contramedidas de segurança. 
Avalie as afirmativas sobre a segurança da informação e dos sistemas nesses ambientes, 
assinalando-as como (F)alsas ou (V)erdadeiras: 
( ) Desenvolvedores devem ser informados dos possíveis problemas, orientados e 
educados a utilizarem seus dispositivos corretamente e de modo seguro. 
( ) Usuários devem adotar medidas de proteção à segurança da informação, as mais 
atualizadas possíveis e que permeiem todo o ciclo de vida do software, tendo como 
referência as vulnerabilidades e os ataques já conhecidos. 
( ) Operadoras devem reforçar os mecanismos de identificação e defesa das redes, e 
adotar medidas preventivas contra os ataques. 
( ) Fabricantes devem ser ágeis na identificação de falhas e na atualização do hardware, 
sistemas operacionais e bibliotecas com o intuito de reduzir ou eliminar falhas e 
vulnerabilidades que possam motivar ataques. 
Assinale a alternativa que corresponde à correta classificação das afirmações: 
A F -F-F-V 
1B f-F-V-V 
Questão 3/5 - Segurança em Sistemas de Informação 
Crise é uma ocorrência que impede ou dificulta que a organização atinja seus objetivos, 
colocando em risco sua reputação e até mesmo sua existência. A gestão de crises é um 
plano ou conjunto de medidas estratégicas que, em situações de anormalidade e alto 
risco, visa coordenar as ações imediatas de resposta à essa ocorrência. 
No que se refere à gestão de crises é correto afirmar que: 1 Em situações de crise a tomada de decisões individuais e impro,·isadas dificulta o trabalho em 
A equipe e colaborativo, podendo aumentar a crise e até mesmo colocar em risco a sobrevivência 
da organização, por isso deve ser evitada. 
Questão 4/5 - Segurança em Sistemas de Informação 
A gestão de configuração (ou Configuration Managemenl) e a gestão de mudanças (ou 
change management ) são partes do processo da qualidade de software baseado em 
padrões que tem por objetivo manter o controle e a confiabilidade do software. Sobre 
estes processos é correto afirmar que: 
• .. 
A gestão de configuração e a gestão de mudança fazem parte do framework ITIL, e tem 
E importância significativa na segurança da informação e dos sistemas, uma vez que atuam para 
a prevenção de falhas e na manutenção da qualidade do software. 
Questão 5/5 - Segurança em Sistemas de Informação 
Uma análise interessante sobre a manutenção do software foi a proposta por Meir 
Lehman. Ele nasceu na Alemanha e mudou para a Inglaterra na década de 30, onde 
trabalhou na IBM entre 1964 e 1972. Em 1974 publicou o texto conhecido como as "Leis 
de Lehman" sobre evolução de software. São afirmações pertinentes à essas "leis": 
1 - Os sistemas evoluem e a mudança é contínua, por isso a manutenção é inexorável. Os 
cenários mudam, os requisitos mudam e por isso o sistema precisa ser alterado. E uma 
vez alterado, o sistema também altera o ambiente ao qual pertence. 
li -A complexidade dos sistemas aumenta à medida em que evolui ou sofre mudanças, o 
que faz com que sua estrutura também sofra uma evolução e melhore cada vez mais. 
Ili - Um sistema abrangente gera um meio ambiente próprio que tende à auto regulação, e 
isso reflete-se nos seus atributos, como tamanho, taxa de erros e tempo para novas 
versões; 
IV - Durante o ciclo de vida de um software sua taxa de manutenção é crescente, exigindo 
um aumento contínuo dos recursos e do pessoal envolvido. 
V - À medida em que o software passa por manutenções, evolução e incrementas, 
aumenta também a sua qualidade, já que as falhas são corrigidas e o sistema evolui de 
maneira quase constante. 
Avalie as afirmações e selecione a única alternativa a seguir que confere com o conteúdo 
apresentado em aula: 
1 e Somente as afirmações I e III sao corretas. 
Questão 1/10 - Tópicos Avançados em Programação 
É possível criannos componentes que respondam a ações padrões, mesmo quando 
solicitadas por outros aplicativos.Para isto, devemos registrar este componente com: 
Nota: 10.0 
r A Activity Filter 
r. B Intent F ilter 
Aula 5 - Tema 3. 
• 
Questão 2/10 -Tópicos Avançados em Programação 
As Asynctasks possibilitam um meio fácil e coITeto de processamento paralelo na 
UITHread.Qual de seus métodos devemos obrigatoriamente redefinir o compo11amento? 
Nota: 10.0 
r A onPostExecuteQ 
dolnBackgroundQ 
r. B Você acertou! 
Questão 3/10 -Tópicos Avançados em Programação 
Provedores de conteúdo são responsáveis por prover às aplicações o conteúdo das quais 
elas necessitam para funcionar.Provedores de conteúdo são utilizados porque: 
Nota:10.0 
Tomamos a fonna como os dados são gravados transparentes à aplicação, o que 
(';' A pennite que esta mantenha o foco nas interações com os usuários. 
Aula 1 -Tema 3 
Questão 4/10 -Tópicos Avançados em Programação 
A linguagem Java nos fomece feITamentas que nos permitem a leitura de arquiYos 
XNIL.Um destes componentes é o objeto: 
Nota: 10.0 
Docwnent 
r. A Você ace1·tou! 
Questão 5/10 - Tópicos Avançados em Programação 
O Ambiente de desenvolvimento Android Studio nos possibilita desenvolver para quais 
plataformas Android? 
Nota: 10.0 
r A Telefones e Tablets. apenas. 
B 
Telefones. Wearables, Tablets, Tv, Android Auto e Google Glass, inclusive. 
Aula 2 - Tema 2. 
, 
-
Questão 6/1 O - Tópicos Avançados em Programação 
Quando adicionannos um componente de interação com o usuário, seja ele um Button 
ou um TextView, por exemplo é necessá1io que executemos uma detenninada sequência 
de passos. 
São eles: 
I -Devemos definir nosso componente dentro do arquivo de layout xml. 
II - Devemos definir um objeto que faça represente o componente dentro da classe 
Activity, observando o tipo do mesmo. 
III - Caso seja necessário, devemos redefmir seus métodos de resposta, como por 
exemplo o método onC!ickListenerQ. 
IV - Podemos vincular um componente a um objeto através de um recurso 
compilado , utilizando-se do método findViewByidQ. 
Estão coffetos: 
r. 
D 
I, II, III e IV, inclusive. 
Aula 3 - Tema 1. 
Questão 7/10 - Tópicos Avançados em Programação 
Ainda que devamos solicitar explicitamente pennissões necessárias para ações que 
nosso aplicativo venha a executar diretamente. é possível a utilização das pennissões 
pre\"iamente solicitadas por outro aplicativo.Para utilizarmos as permissões solicitadas 
por outro aplicativo. devemos: 
Nota: 10.0 
r A Solicitar o uso no arquivo de Manifest de nossa aplicação. 
(' B Utilizar o arquivo de Manifest da outra aplicação. 
Executar uma ação que busque o re to1no de uma actiYity que contenha 
r. C pe1missão da ação. 
• 
Questão 8/1 O - TópicosAvançados em Prognunação 
Uma classe derivada de AsyncTask requer a criação de três parâmetros. a serem 
utilizados pela tarefa assíncrona e tem o resultado da operação re to111ado no terceiro 
parâmetro.O método responsável pelo reto1no do executado é o: 
Nota: 10.0 
r A onPreExecuteO 
r B doinBackgroundO 
r e onProgressUpdateO 
r. D onPostExecuteO 
Aula 6 - Tema 1 
Questão 9/10 - Tópicos Avançados em Programação 
Um serviço vinculado é criado quando um componente executa o método 
bindService.Este se1viço comunica-se então com o componente que o c1iou através de 
uma interface chamada: 
Nota: 10.0 
IBinder 
r. A Você acertou! 
Questão 10/10 - Tópicos Avançados em Programação 
A persistência de dados das SharedPreferences é feita através dos comandos apply e 
commit.Sobre estes comandos podemos afi.nnar que: 
I - O método commit salva seus dados imediatamente para a memória e salva os 
arquivos em uma thread separada. 
II - O método apply salva seus dados diretamente em arquivo. 
III - O método commit força gravação imediata dos registros, ignorando a possibilidade 
de bloquear a UIThread. 
IV - O método apply grava os dados em memória, gravando-os em arquivo em uma 
tlu-ead separada, o que evita o bloqueio da UIThread. 
Estão co!l'etas: 
Nota: 10.0 
(' A I e III, apenas. 
r B II e IV, apenas. 
r C I, II e IV, apenas. 
r. D II[ e IV, apenas. 
Aula 4 - Tema 1. 
' 
O método onUpgrade é chamado quando a versão do banco de dados é atualizada. 
A necessidade de atualização é Informada através de: 
A Um argumento do tipo String que contém o nome do banco de dados. 
8 Um argumento do llpo SQLlteDatabase que contém o novo banco de dados 
C Um argumento d o tipo lnt que contém a veralo do banco de dados. 
t9 Vod 1c1rtoul 
AUia 3 • Tema 1. 
D Um argumento do tipo boolean que é apresentado como true , informando a necessidade de atualização do banco de dados. 
E Um argumento do tipo Date, que informa a data da última atualização do banco de dados. 
Questão 2/10 • Tópicos Avançados em Programação 
Quando trabalhamos com SQLite, é Importante criarmos uma classe que defina o comportamento de nosso banco de dados, geralmente chamada de DBHelper. 
Esta classe deve herdar o comportamento da classe: 
1 A SQLlteOpenHelper 
É possível criarmos componentes que respondam a ações padrões, mesmo quando solicitadas por outros aplicativos. 
Para isto, devemos registrar este componente com: 
A Activity Alter 
B lntent Fllter 
19 Voei acartou! 
Aula 5 - Tema 3. 
C Content Filter 
D Object Filter 
E Actíon Filter 
Questão Ll/10 - Tópicos Avençados em Programação 
Um seM90 vinculado é criado quando um componente executa o método bindService. 
Este serviço comunica-se então com o componente que o criou através de uma interface chamada: 
ilh95'+1 
li A IBlnder 
Questão 5/1D - Tópicos Avençados em Programação 
As Asynctask.s possibilitam um meio fácil e correto de processamento paralelo na UITHread. 
Qual de seus métodos devemos obrigatoriamente redefinir o comportamento? 
+a+,,.,., 
A onPostExecute() 
• B dolnBackgroundQ 
Questão 6/10 - Tópicos Avançados em Programação 
O sistema Android permite que sejam colocadas notifrceções na barra de titulo de sua aµlícação. 
Estas notificações são representadas pela classe: 
l:t} ,,.,,, 
A Context 
B NotificationManager 
• C Nottflcatlon 
Questão 7 /10 -Tópicos Avançados em Programação 
Quando a Plataforma Android recebe um retomo de uma Activity dispara um método retomando argumentos responsáveis pelo envio dos resultados. 
Sobre estes argumentos sabemos que: 
1 -Ê retornado um argumento do tipo String que armazena o código da requisição. 
li - No argumento do tipo lntent recebemos uma nova Nf.lvtty. 
Ili O argumento resultCode nos retoma o código de retomo, que possui entre seus valores possíveis os valores RESULT OK e RESULT CANCEL. 
IV -1: neoessária a criação de uma novo objeto lntent , que será enviado pela Activity que deve retomar algum resultado à Plataforma Androld para que seja entregue por 
esta à Activity sollcltante. 
Está(êo) correta(s): 
A Afirmativa 1, apenas. 
B Afirmativa I e IV, apenes. 
1 C Afirmativa IV, apenas. 
Questão B/10 • Tópicos Avançados em Programação 
Quando os apücativos Android são íniciados, é criada uma nova linha de processamento, responsável pela execução de seus compmentes. 
Esta linha de processamento é conhecida como: 
A MainThread 
B Activ1ty 
C Manifost.xml 
D UIThread 
1- Vou acertou! 
Aula 6 • Tema 1 
E onCreate() 
Questão 9/10 -Tópicos Avançados em Programação 
Alnda que devamos solicitar explicitamente permissões necessárias para ações que nosso aplicativo venha a executar diretamente, é possível a utilização das permissões 
previamente solicitadas por outro aplicativo. 
Para utilizarmos as permissões solicitadas por outro aplicativo, devemos: 1 C Executar uma ação que busque o retomo de uma actlvlty que contenha permlulo da ação. 
• Voei acartou! 
Aula 5 -Tema 1 
D Modificar as permiSsões de acesso de sua aplicação em tempo de execução. 
E Solicitar a permissão READ CONTACTS. 
Questão 10/10 - Tópicos Avançados em Programação 
Na Arquitetura Android uma das camadas 6 responsável por seMços essenciais a todos os dispositivos, onde são feitos os gerenciamentos de processos e memóoa na 
plataforma Android 
Esta camada é: 
A Libraries 
8 Androld Run lime 
e AppllcatlOflS 
li D Linux Kemel 
	discursivas android
	garantidas android
	resumao android

Outros materiais