Buscar

Desafio IV Temporada

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1º Desafio - Persistência com SQLite
A persistência de dados para dispositivos Android é realmente um recurso muito importante e poderoso. Com ele, é possível desenvolver sistemas mais completos, pois permite ao usuário do aplicativo recuperar informações antigas que foram registradas no sistema.
Você trabalha em uma empresa de desenvolvimento de aplicações para Android.
​​​​​​​​​​​​​​De acordo com a solicitação do cliente, desenvolva:
A) O banco de dados que irá armazenar os dados dos médicos e suas especialidades com as seguintes carcaterísticas:
Nome do banco de dados "dadosMedicos"
Nome da tabela "medicosCli"
Campos da tabela
_id : INTEGER PRIMARY KEY AUTOINCREMENT
nome: VARCHAR (80)
espec: VARCHAR (80)
B) Os comandos que irão recuperar a lista de médicos de acordo com a especialidade escolhida pelo usuário.
Padrão de resposta esperado
A) Comando para criação do banco de dados:
public class MeuDatabase extends SQLiteOpenHelper {
public MeuDatabase(@Nullable Context context) {
super(context, "dadosMedicos", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table medicosCli(_id integer primary key autoincrement, nome nome(80), espec varchar(80));");
}
B) Comando de recuperação de acordo com a especialidade:
public Cursor getDados(String ESPEC){
SQLiteDatabase sqLiteDatabase = this.getReadableDatabase();
Cursor cursor = sqLiteDatabase.rawQuery("select * from medicosCli", "espec = ",new String[]{String.valueOf(ESPEC)});
return cursor;
}
}
2º Desafio - Webservices RESTful
Na atualidade, aprender e entender o conceito de REST está muito além de saber apenas qual método utilizar em uma requisição HTTP. O avanço dos WebServices que fornecem APIs permite que sistemas até então incomunicáveis possam, hoje, disponibilizar serviços por estas e, através da realização de uma chamada API, utilizando o REST, possibilitam que um serviço seja executado e retornado para a aplicação.
Você é um desenvolvedor de uma grande empresa e recebeu uma nova demanda:
​​​​​​​​​
Neste contexto, apresente um código que atendereria essa demanda, simples sem necessidade de tratamento de erros.
Padrão de resposta esperado
O código seria semelhante a este:
OkHttpClient client = new OkHttpClient();
String client_id = "YOUR_CLIENT_ID";
String secret = "YOUR_SECRET";
String type = "text";
String message = "Mensagem enviada pela API! Troque os numeros";
String device_id = "1A2B3C4D5E";
String recipient = "5511123456789;5511987654321";
Request request = new Request.Builder()
.url("https://api-v2.zapi.software/message/sendText?client_id="+client_id+"&secret="+secret+"&type="+type+"&message="+message+"&device_id="+device_id+"&recipient="+recipient)
.addHeader("cache-control", "no-cache")
.build();
Response<T> response = client.newCall(request).execute();
3º Desafio - Navegação entre telas
Os recursos de navegação entre telas são importantes não somente para o desenvolvimento de aplicações móveis, mas para qualquer tipo de aplicação. A navegação entre telas permite a inserção de maior quantidade de informações e a criação de interfaces gráficas mais elaboradas, melhorando a experiência do usuário.
Imagine que você trabalha como desenvolvedor de aplicações e foi chamado para um novo projeto.
Qual seria a melhor configuração de interface gráfica com o usuário, aplicando-se o recurso de navegação e troca de informações entre telas, para realizar a tarefa que lhe foi passada? Crie as telas.
Padrão de resposta esperado
Não existe uma resposta única, mas uma boa solução seria colocar cada questão em uma activity. Para o propósito desta atividade, essa seria uma ótima forma de praticar a navegação e a troca de dados entre as telas. Espera-se, então, que oito activities sejam criadas, uma para cada uma das perguntas e a última com o resultado da análise do perfil.
Determinam-se os seguintes nomes para as activities : p1, p2, p3, p4, p5, p6, p7 e resultado.
Para cada uma das respostas, utiliza-se um componente RadioGroup, e adiciona-se nele um item para cada uma das possíveis respostas, como no exemplo:
Os dados podem ser transferidos entre as telas utilizando-se o componente Bundle. Não são necessárias muitas variáveis, somente uma: a variável que contabilizará a somatória dos pontos.
Assim, espera-se algo semelhante a:
— Para a primeira tela:
Int somatoria = 0;
Bundle dados = new Bundle();
dados.putInt("soma", somatoria).
— Nas demais telas:
Intent intent = getIntent();
Bundle dados = new Bundle();
dados = intent.getExtras();
Int somatoria, valor = 0;
somatoria = dados.getInt("soma");
somatoria = somatoria + soma;
Bundle dados2 = new Bundle();
dados2.putInt("soma", somatoria).
— Na última tela, basta utilizar um if para determinar o resultado final.
4º Desafio - Telas de cadastro
Seja para conhecer melhor o usuário ou para coletar dados capazes de aumentar a segurança da aplicação ou até mesmo para montar uma base de dados para campanhas futuras, as telas de cadastro estão presentes em quase todo tipo de aplicação, seja ela (a aplicação) móvel, web ou desktop.
É por meio das telas de cadastro que uma aplicação pode ser dinamicamente adaptada para o perfil de um usuário e é também a partir de dados coletados em uma tela de cadastro que as empresas detentoras de determinadas aplicações podem ponderar sobre a liberação ou não de novos recursos para seus usuários. Aliás, sem as telas de cadastros, a própria entrada de dados para a aplicação seria algo quase impossível.
Para que você possa vivenciar um pouco dessa experiência, tente inserir-se na situação que será apresentada a seguir.
Uma startup está desenvolvendo uma aplicação para um grupo financeiro que deseja oferecer seus serviços online. O propósito deste grupo é atuar como Fintech, oferecendo serviços semelhantes ao de um banco digital, permitindo que seus clientes realizem empréstimos e obtenham cartão de crédito.
Observe as especificações:
​​​​​​​
Para fazer parte do time desta startup, você deverá, com base em tais informações, criar a(s) tela(s) (esboços não-funcionais) do(s) cadastro(s) necessários para a startup. Você deverá ser capaz de decidir quais campos serão ou não obrigatórios (necessários) em quais momentos, e também será responsável pela organização da tela.
Padrão de resposta esperado
- Esboço das telas de cadastro: O ideal é que seja criada uma tela para o cadastro do usuário no aplicativo. Nela, dados simples, como nome completo, telefone, e-mail, senhaefoto podem ser exigidos.
- Em telas complementares poderão ser exigidos os demais documentos.
- Ao realizar o login,o usuário terá a oportunidade de:
1 - Complementar o cadastro para ter direito a cartão de crédito.
2 - Complementar o cadastro para ter direito a empréstimos.
Não existe um padrão de tela, mas espera-se que os campos estejam harmonicamente dispostos, não transformando a aplicação em algo cansativo para o usuário.
Veja os exemplos de como podem ser as telas (inicial, cadastro e complementar):

Outros materiais