Aplicação do Android DropZone
Nota: Este software é entregue como está. Não estou mais trabalhando nisso. Não assumo nenhuma responsabilidade por quaisquer problemas que possam surgir do uso deste software. Use por sua conta e risco.
No meu curso de engenharia de software na escola, fomos designados para concluir um projeto, um projeto de software de nossa escolha. Assim, foi pensado que o DropZone, um aplicativo que tenta imitar o recurso Airdrop nos produtos da Apple.
Foi escrito em Kotlin, como muitos recursos sobre o uso da biblioteca Bluetooth do Android com Kotlin estavam atualizados.
Essencialmente, o aplicativo funciona da seguinte maneira
- Você abre o aplicativo e entra na zona. O que isso significa é que você ligou o Bluetooth e é descoberto por outros dispositivos por algum tempo limitado.
- Você pode selecionar um dispositivo para o envio de arquivos; dispositivos emparelhados anteriormente ou dispositivos descobertos recentemente. Se você deve receber um arquivo, não seleciona um dispositivo, o arquivo deve estar no seu sistema de arquivos quando o remetente terminar de enviar o arquivo.
- Se você selecionou um dispositivo, escolhe o arquivo que deseja enviar e confirmar sua seleção.
- Ele envia o arquivo e uma mensagem de resultado é exibida; confirmando que o arquivo enviado ou não foi enviado.
Há algumas coisas a apontar que precisariam ser consertadas se eu continuar trabalhando nisso:
- Eu precisaria descobrir como abrir uma caixa de diálogo, o que permite ao usuário receptor confirmar se deseja aceitar o arquivo enviado por motivos de segurança.
- Isso tem algo a ver com a comunicação entre o tópico da interface do usuário e os threads de serviço, preciso pesquisar mais sobre este tópico
- A interface do usuário pode ser consertada, para que seja amigável e esteticamente agradável
Coisas de que me orgulho de:
- Desenvolvimento rápido deste aplicativo
- Terminei este aplicativo em cerca de 2 semanas, começando com muito pouco conhecimento do desenvolvimento de aplicativos Android
- Aprendeu muito desenvolvimento do Android
- Aprendi sobre o planejamento de projetos de software maiores
- Diagramas UML, diagramas de atividades, padrões de design, etc.