Olá, Khabrovites!
Ao desenvolver aplicativos de rede para a plataforma Android, você entende que um e outro aplicativo são semelhantes. Com esse pensamento, a maioria dos desenvolvedores inicializa outra idéia: "Por que não uso soluções prontas, porque obviamente minha tarefa não é nova?". A partir desse momento, começa a busca de bibliotecas adequadas para resolver o problema atual. Depois de algum tempo - lucro. Tudo parecia estar bom, porque a biblioteca foi encontrada e restava apenas escrever uma implementação da solução para o problema atual. E aqui começam os problemas. Eles estão associados ao controle de threads e, de fato, o Java nunca foi famoso por sua compactação, toda a "mágica" deve ser implementada diretamente pelo desenvolvedor. Às vezes, encontro apenas aspectos positivos nisso, porque a lógica de cada projeto difere radicalmente uma da outra. Você constantemente precisa alternar de fluxo em fluxo, o que não é muito conveniente e, como descrito anteriormente, é complicado. A solução para esse problema foi implementada anteriormente, mas não tão compacta quanto gostaríamos. Uma biblioteca para trabalhar com HTTP vem em socorro -
GridmiAPI . Esta é a solução mais compacta, que por sua vez permite operar com dados em tempo real.
Processo de trabalho
Todo o trabalho da biblioteca começa com sua inicialização. A inicialização é necessária uma vez. Inicialização refere-se à seguinte construção:
GridmiAPI.init("https://habr.com/API/", 8000, JSONObject.class);
- Endereço do Terminal de Processamento da Solicitação
- Tempo limite de resposta do servidor
- A classe à qual a resposta do servidor deve ser convertida
Isso é tudo! A biblioteca está pronta para uso total.
Primeira solicitação do servidor
Para concluir a primeira solicitação ao servidor, você precisa escrever apenas algumas linhas de código e os dados que precisamos de nós. Não acredita? Veja:
GridmiAPI.onRequest(this, new GridmiAPI.Request("profile/get"), new GridmiAPI.Handler.OUT() { @Override protected void onSuccess(GridmiAPI.Response response) { Log.d("TagGridmiAPI", "result = " + ((JSONObject) response.getData()).toString()); } @Override protected void onFailed(Exception exception) { Log.d("TagGridmiAPI", "exception = " + exception.getMessage()); } }).start();
Parabéns! Este é o seu "Olá, mundo!" usando esta biblioteca. Vejamos dois métodos reescritos da classe GridmiAPI.Handler.OUT. Para começar, deve-se escrever que esses dois métodos são chamados no encadeamento principal; portanto, após a conclusão da solicitação, não faz sentido acessar a atividade para iniciar o encadeamento principal. Você apenas pega o JSON, por exemplo, e altera o texto do TextView. Tudo é simples.
Enviar arquivo para o servidor
Muitas vezes você precisa enviar arquivos para o servidor. Dor de cabeça de novo? De jeito nenhum. A biblioteca GridmiAPI facilita o envio de um arquivo sem dor de cabeça. Um pouco mais de linhas do que no exemplo acima, mas ainda compacto. Veja como enviar um arquivo:
@Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (data == null || data.getData() == null) return; try {
Conclusão
Examinamos as tarefas mais populares; em mais detalhes, você pode se familiarizar na página desta biblioteca no GitHub -
GridmiAPI . É confortável trabalhar com esta biblioteca. Avalie-se. Obrigado pelo seu interesse neste artigo!
Referências
Biblioteca GridmiAPIDocumentação / ReadMe.md