Post on 02-Dec-2018
Aplicação para diabéticos
António Bernardino Castro Maia 22481
António Pedro Almeida Ferrete 22483
Trabalho realizado sob a orientação de
Paulo Alves
Licenciatura em Engenharia Informática
2013/2014
iii
Aplicação para diabéticos
Relatório da UC de Projeto
Licenciatura em Engenharia Informática
Escola Superior de Tecnologia e de Gestão
António Maia, António Ferrete
2013/2014
iv
A Escola Superior de Tecnologia e Gestão não se responsabiliza pelas opiniões expressas
neste relatório.
v
Certifico que li este relatório e que na minha opinião, é adequado no seu
conteúdo e forma como demonstrador do trabalho desenvolvido no
âmbito da UC de Projeto.
___________________________________________
Paulo Alves Orientador
Certifico que li este relatório e que na minha opinião, é adequado no seu
conteúdo e forma como demonstrador do trabalho desenvolvido no
âmbito da UC de Projeto.
___________________________________________
Arguente
Aceite para avaliação da UC de Projeto
vi
vii
Dedicatória
Dedicamos este projeto a todos os nossos familiares e a todos aqueles que tornaram possível a
sua conclusão.
O nosso muito obrigado!
viii
ix
Agradecimentos
Agradeço fundamentalmente ao meu colega de trabalho, que com ele consegui ultrapassar
todos os desafios que se me apresentaram no decorrer do percurso académico, nomeadamente
neste projeto desenvolvido.
Agradeço também ao Instituto Politécnico de Bragança pela boa formação e condições
fornecidas e ao professor Paulo Alves pelo tempo dispensado na orientação deste projeto.
x
xi
Resumo
A Diabete é uma aplicação para smarthphone’s baseados em Android e centra-se na
doença diabetes. Assim sendo, este projeto tem como objetivo, a criação de uma aplicação
que consiga de alguma forma ajudar e facilitar a vida dos pacientes que sofrem de diabetes e
por sua vez os médicos que estão responsáveis pelo acompanhamento dos mesmos.
Para este tipo de doença é essencial que se consiga realizar um historial detalhado do
utente, historial esse que permita verificar a evolução da doença, em que estado se encontra o
portador da doença e por sua vez que medidas devem ser tomadas respetivamente a cada caso.
Desta forma, se o paciente possuir no seu smartphone uma aplicação que de forma fácil,
consiga introduzir por exemplo os valores glicémicos medidos e alimentos ingeridos, este,
terá no futuro, uma informação bastante detalhada que por sua vez irá ser fulcral no estudo
efetuado pelos médicos que o acompanham.
Assim sendo, as principais funcionalidades da aplicação estão centradas com a
inserção de dados, valores glicémicos e refeições e por sua vez a visualização dos mesmos,
tanto através de um histórico, tendo o utilizador acesso aos detalhes de cada dia, como através
de um gráfico, possibilitando a verificação dos seus valores ao longo do mês. Para
desenvolver esta aplicação, escolhemos o sistema Android, visto que este sistema operativo é
o mais popular, com uma quota de mercado de cerca de 87%, segundo dados da IDC (2014),
o que permite que a aplicação possa chegar a um número maior de potenciais utilizadores.
Palavras-chave: Diabetes, Android, SmartPhone, Java
xii
xiii
Abstract
The Diabete is one application for smartphone’s based in Android and focuses on
diabetes disease. Therefore, this project aims to create an application that can somehow help
and make life easier for patients suffering of this one type of disease and helps doctors who
are responsible for monitoring them.
For this type of disease is essential to be able to conduct a detailed historic of the
user, this historic allow to understand the progress of the disease, in which state is the patient
and turn that with measures that should be taken in each case respectively. Thus, if the user
has an application on the smartphone that can easily insert measured glycemic values and
food intake, this will have in the future, a fairly detailed information that in turn will be
crucial on the study conducted by doctors that follow him.
Like that the principals functionalities of this application have the focus on the
insertion of data, glycemic values meals and in consequence the visualization of the same, by
historic, having the user the access to the details of the values of each day or by graphic,
giving the possibility to verify their own values over the month. To develop this application
we chose the Android system since this operative system is the most popular, with quotes of
the market around 87%, according to IDC (2014), what allows this application to be used by
a bigger number of potential users.
Keywords: Diabetes, Android, SmartPhone, Java
xiv
xv
Conteúdo
1 Introdução .......................................................................................................................... 1
1.1 Enquadramento ............................................................................................................. 1
1.2 Objetivos ....................................................................................................................... 2
1.3 Estrutura ........................................................................................................................ 2
2 Estado da arte .................................................................................................................... 5
2.1 Estudo das diabetes ....................................................................................................... 5
2.1.1 O que é a diabetes? ................................................................................................. 5 2.1.2 Diabetes tipo2 ......................................................................................................... 5 2.1.3 Diabetes tipo1 ......................................................................................................... 6 2.1.4 Diabetes gestacional ............................................................................................... 6
2.2 Dispositivos de medição ............................................................................................... 6
2.2.1 Dispositivos 1ª geração .......................................................................................... 7 2.2.2 Dispositivos 2ª geração .......................................................................................... 7 2.2.3 Dispositivos 3ª geração .......................................................................................... 8
2.3 Dispositivos e Sistemas Operativos Móveis ................................................................. 9
2.3.1 IOS ....................................................................................................................... 11 2.3.2 Windows Phone .................................................................................................... 12
2.3.3 Ubuntu Touch ....................................................................................................... 12 2.3.4 Android ................................................................................................................. 13
2.4 Android – Frameworks de Desenvolvimento ............................................................. 15 2.4.1 Ambientes de Desenvolvimento ........................................................................... 15 2.4.2 Android SDK ........................................................................................................ 16
2.4.3 Android Virtual Device Manager ......................................................................... 16 2.4.4 Java ....................................................................................................................... 16
2.4.5 SQLite .................................................................................................................. 17
2.5 Aplicações relacionadas .............................................................................................. 17 2.5.1 Glucose Buddy ..................................................................................................... 17
2.5.2 OnTrack Diabetes ................................................................................................. 18 2.5.3 Glucool Diabetes .................................................................................................. 19
3 Análise de requisitos ........................................................................................................ 21
3.1 Levantamento de Requisitos ....................................................................................... 21 3.1.1 Requisitos funcionais ........................................................................................... 21
3.2 Diagrama de Casos de Uso ......................................................................................... 23 3.2.1 Descrição dos Casos de Uso ................................................................................. 24
3.3 Base de dados .............................................................................................................. 25
3.3.1 Estrutura da base de dados ................................................................................... 26
4 Desenvolvimento .............................................................................................................. 29
4.1 Aplicação de apoio ao Diabético ................................................................................ 30 4.1.1 Ecrã principal ....................................................................................................... 31 4.1.2 Informação pessoal ............................................................................................... 33
xvi
4.1.3 Histórico ............................................................................................................... 34 4.1.4 Refeição ................................................................................................................ 35 4.1.5 Opções .................................................................................................................. 36
4.1.6 Equipa de apoio .................................................................................................... 37 4.1.7 Gráfico .................................................................................................................. 38
4.2 Testes .......................................................................................................................... 39
5 Conclusão ......................................................................................................................... 41
5.1 Trabalho futuro ........................................................................................................... 41
xvii
xviii
Lista de Tabelas
Tabela .1 Caso de uso "Escolher alimento". ......................................................................................................... 24 Tabela .2 Caso de uso "Inserir refeição". .............................................................................................................. 24 Tabela .3 Caso de uso "Editar refeição". ............................................................................................................... 25 Tabela .4 Índice de massa corporal. ...................................................................................................................... 34
xix
xx
Lista de Figuras
Figura 01 - Medidor de glicemia e os seus componentes. ..................................................................................... 06 Figura 02 - GluccoWatch e o seu método de funcionamento. .............................................................................. 08 Figura 03 - Mercado dos SO para smartphone’s. .................................................................................................. 11 Figura 04 - Apple. ................................................................................................................................................. 11 Figura 05 - IOS. .................................................................................................................................................... 11 Figura 06 - Windows. ............................................................................................................................................ 12 Figura 07 - Windows Phone. ................................................................................................................................. 12
Figura 08 - Ubuntu. ............................................................................................................................................... 12 Figura 09 - Ubuntu Touch. .................................................................................................................................... 12 Figura 10 - Android............................................................................................................................................... 13 Figura 11 - Android 4.4 KitKat. ............................................................................................................................ 13 Figura 12 - Arquitectura do android. ..................................................................................................................... 14 Figura 13 - Glucose Buddy. .................................................................................................................................. 18 Figura 14 - OnTrack Diabetes. .............................................................................................................................. 18 Figura 15 - Glucool Diabetes. ............................................................................................................................... 15 Figura 16 - Casos de uso. ...................................................................................................................................... 23 Figura 17 - Base de dados ..................................................................................................................................... 26 Figura 18 - Diabete ............................................................................................................................................... 31 Figura 19 - Valores glicémicos. ............................................................................................................................ 31 Figura 20 - Página principal. ................................................................................................................................. 33 Figura 21 - Informação pessoal. ............................................................................................................................ 34 Figura 22 - Histórico ............................................................................................................................................. 35 Figura 23 - Refeição. ............................................................................................................................................. 36 Figura 24 - Opções. ............................................................................................................................................... 37 Figura 25 - Equipa de apoio. ................................................................................................................................. 38 Figura 26 - Gráfico. ............................................................................................................................................... 39
xxi
xxii
Lista de Abreviações
IDE - Integrated Development Environment
SDK - Software Development Kit
ADT - Android Developer Tools
AVD - Android Virtual Devices
JVM - Java Virtual Machine
IMC - Índice de Massa Corporal
xxiii
1
Capítulo 1
1 Introdução
1.1 Enquadramento
A diabetes é uma doença crônica que ocorre quando o pâncreas não produz insulina
suficiente ou quando o corpo não pode utilizar eficazmente a insulina que produz. [1] Esta
apresenta variações de incidência e prevalência nas várias regiões do mundo, com um
crescimento progressivo em todas elas, sendo que os principais fatores deste aumento dizem
respeito a fatores genéticos, ambientais e comportamentais, entre os quais uma alimentação
hipercalórica e o sedentarismo.
Em 2012, a prevalência da diabetes em Portugal atingiu 12,9% da população com
idade compreendida entre os 20 e os 79 anos (7,8 milhões de indivíduos), a que corresponde
um valor estimado de 1 milhão de indivíduos [2] e assumiu um papel significativo nas causas
de morte, sendo a 4ª causa de morte, após as doenças cardiovasculares, oncológicas e
respiratórias, tendo a sua importância vindo a crescer nestes últimos 4 anos. Tendo em conta
estes valores, é de extrema importância que nos debrucemos sobre este tema em todos os
aspetos.
Embora a Diabetes não tenha cura, um bom controlo dos valores glicémicos permite
que o portador da doença tenha uma vida perfeitamente normal e saudável.
A prevenção e o controlo da Diabetes envolvem cinco pontos importantes, são eles
conhecer bem a Diabetes, adotar uma alimentação saudável e equilibrada, praticar exercício
físico de forma regular, controlar periodicamente os níveis de glicemia no sangue e tomar a
medicação quando prescrita pelo médico.
2
Foi então concluído, que a leitura dos valores glicémicos e o controlo de alimentos
ingeridos fazem parte da rotina diária de qualquer pessoa que sofra deste tipo de doença e que
apesar da leitura destes valores ser constante, esta, refere-se meramente ao presente estado do
paciente sendo que é de extrema importância que estas pessoas consigam saber de forma
detalhada a evolução da doença. Assim, foi decidida a criação de uma aplicação Android que
armazene estes valores e que permita ao paciente utilizar esta aplicação como que “agenda
pessoal” da doença.
1.2 Objetivos
Um dos sonhos da medicina moderna é a construção de um sistema artificial que
possibilite a medição do controlo de glicose no sangue. Atualmente o paciente mede a sua
taxa de glicose através de um exame laboratorial (glicemia) ou através de dispositivos
portáteis (Therasense FreeStyle Flash) que obtêm uma leitura de valores em poucos segundos,
através de uma gota de sangue, obtida pela perfuração da ponta de um dos seus dedos.
Os valores dos níveis de glicose, obtidos através do método tradicional, serão
introduzidos na aplicação de forma a esta fazer a sua leitura e o seu armazenamento. A
aplicação irá analisar esses valores e irá aconselhar o utilizador com base no seu historial e
nos parâmetros de referência.
Na aplicação será ainda feito o armazenamento dos valores e alimentos ingeridos de
forma a obter um historial do paciente para que possa posteriormente ser utilizado em estudos
aprofundados pelo médico.
Temos também como objetivo mostrar através de um gráfico os valores das calorias
ingeridas em cada dia de um determinado mês.
1.3 Estrutura
Este relatório está dividido em 5 capítulos, são eles a Introdução, Estado da Arte,
Análise de Requisitos, Desenvolvimento e Conclusão, sendo que cada um deles pode ser
dividido por secções e por sua vez subsecções.
3
Capítulo 1 – Introdução
Descreve o contexto do projeto, a sua motivação e explica a estrutura do relatório
apresentado.
Capítulo 2 - Estado da Arte
Apresenta os dispositivos e os sistemas operativos móveis com mais impacto na
atualidade, e posteriormente é abordado o sistema operativo Android e as suas
frameworks de desenvolvimento. É também descrito aquilo que é a diabetes e os
seus vários tipos. Finalizando esta secção são abordadas outras aplicações que se
assemelham à desenvolvida.
Capítulo 3 - Análise de Requisitos
Este capítulo descreve quais os requisitos gerais que se pretendem para a
aplicação, são mostrados os casos de uso e a estrutura da base de dados.
Capítulo 4 – Desenvolvimento
É feita uma apresentação de cada um dos ecrãs da aplicação seguido da sua
explicação de desenvolvimento. De forma a finalizar esta secção, são abordados
ainda alguns testes efetuados à aplicação desenvolvida.
Capítulo 5 – Conclusão
É feita uma conclusão do projeto e é apresentado o trabalho futuro.
4
5
Capítulo 2
2 Estado da arte
2.1 Estudo das diabetes
2.1.1 O que é a diabetes?
A diabetes é uma doença crónica que resulta de uma deficiente capacidade de
utilização da glucose por parte do organismo. A glucose resulta da digestão e transformação
dos amidos e dos açúcares que ingerimos. Depois de obtida, o organismo é encarregue de a
transformar em energia. O problema das Diabetes é precisamente esse, o pâncreas da pessoa
com diabetes não liberta suficiente insulina, a hormona necessária para transformar a glucose
em energia. A glucose que não é transformada em energia acumula-se no sangue, causando
hiperglicemia, sendo depois expelida pela urina [3].
2.1.2 Diabetes tipo2
De todos os casos registados de diabetes, 90% são do tipo2, o pâncreas produz
insulina, mas devido a uma alimentação incorreta e vida sedentária, o organismo torna-se
resistente à ação da insulina, obrigando o pâncreas a trabalhar constantemente até chegar a um
ponto em que a insulina que produz é insuficiente surgindo assim a diabetes. Este tipo de
diabetes surge de forma silenciosa sendo que muitos dos casos somente são diagnosticados 6
a 7 anos depois [4].
6
2.1.3 Diabetes tipo1
Contrariamente à diabetes do tipo2, este tipo de diabetes não está diretamente
relacionada com hábitos de vida ou alimentação errados, mas sim com a manifesta falta de
insulina. Neste caso o pâncreas produz insulina em quantidade insuficiente ou em qualidade
deficiente ou ambas as situações. É menos frequente do que a diabetes do tipo2 e o doente é
insulinodependente para toda a sua vida, devendo ser acompanhado em permanência pelo
médico e outros profissionais de saúde [5].
2.1.4 Diabetes gestacional
Uma em cada 20 grávidas pode sofrer desta forma de diabetes. A diabetes gestacional
surge durante a gravidez e desaparece, habitualmente, quando esta termina. É fundamental
que as grávidas diabéticas tomem medidas de precaução para evitar complicações na gravidez
e também que a diabetes do tipo 2 surja mais tarde. Depois de detetada a hiperglicemia na
grávida, esta deve ser corrigida com a adoção de uma dieta apropriada e, se necessário, há que
recorrer, com a ajuda do médico, ao uso da insulina, para que a gravidez decorra sem
problemas para a mãe e para o bebé [6].
2.2 Dispositivos de medição
Um medidor de glicémia (vulgo “glucómetro”) é constituído pelo medidor propriamente
dito com um ecrã onde aparecem os resultados, um dispositivo de punção capilar, lancetas e
pela tira de teste.
Figura 01- Medidor de glicemia e os seus componentes.
7
Para o portador da doença poder utilizar este mecanismo, este tem de executar os
seguintes passos:
Colocar a tira teste na ranhura do medidor.
Picar o dedo.
Encostar a extremidade da tira à gota de sangue.
Desinfetar o local da punção.
2.2.1 Dispositivos 1ª geração
Na primeira geração de glucómetros portáteis, o peróxido de hidrogénio produzido na
reação de oxidação reage com uma base recetora de oxigénio. Quando oxidada, a base muda
de cor e a intensidade da mudança de cor é proporcional à concentração de glicose. O
glucómetro mede a quantidade de luz refletida ou absorvida pela superfície da tira para
determinar a intensidade da mudança de cor, por exemplo uma medição fotométrica [7].
2.2.2 Dispositivos 2ª geração
Os dispositivos de segunda geração já incorporam uma célula electroquímica e medem
a intensidade da corrente produzida pela reação de oxidação da glicose, sendo a concentração
de glicose proporcional a essa corrente. Utilizam, portanto, um processo electroquímico.
Este método pode ser classificado com base no princípio electroquímico utilizando
amperometria ou coulometria.
Amperometria: A glicose reage com os químicos presentes no elétrodo, quer isto dizer
que é produzida uma pequena corrente elétrica. A concentração de glicose, é
proporcional à intensidade da corrente medida pelo glucómetro.
Coulometria: A amostra de glicose é convertida numa carga eletroquímica, que é
medida durante um intervalo fixo de tempo. Esta tecnologia quantifica a glicose com
base na carga total gerada pela reação. Tem como vantagens o uso de menor volume
de sangue, é menos sensível a variações de temperatura e do hematócrito.
8
Posteriormente foram criados os “GlucoWatch”, desenvolvidos pela Cygnus
Therapeutic Systems. A novidade deste método é que extrai e mede linfa intersticial a partir
da pele, onde praticamente não existem terminações nervosas, tornando a medição
virtualmente indolor. As leituras de glicemia podem ser feitas de 20 em 20 minutos durante
12 horas. Os valores são mostrados no dispositivo, que é usado no pulso como um relógio
vulgar. Um alarme avisa o doente quando a glicemia está muito alta (hiperglicemia) ou muito
baixa (hipoglicemia). Contudo, este sistema possui algumas desvantagens, incluindo a
necessidade de uma calibração diária, um período de aquecimento do relógio longo (3 horas)
e um custo elevado, tanto do aparelho como das tiras de medição [7].
Figura 02 - GluccoWatch e o seu método de funcionamento.
2.2.3 Dispositivos 3ª geração
O grande passo na monitorização de glicose no sangue é o desenvolvimento de
métodos não invasivos de medição, quer isto dizer que as amostras são obtidas sem interação
direta com tecidos humanos.
Como exemplo destes medidores temos o GlucoWise, este venceu a 4ª edição do
concurso internacional de empreendedorismo tecnológico promovido pelo ISCTE e é um
dispositivo não invasivo que mede os níveis de glicose através de nano sensores, podendo os
mesmos serem instalados em certas partes do corpo do utilizador (orelha, mão, pé, etc.).
Este dispositivo ainda se encontra em fase de desenvolvimento, visto que apesar de já
possuir nano sensores, ainda não possui as dimensões desejadas, procurando assim produzir
um protótipo mais pequeno de forma a dar entrada no mercado.
9
Se em vez de uma picada no dedo a medição fosse feita através de lentes de contacto
com sensores incorporados, toda a ideologia da diabetes mudaria. Este projeto está a ser
desenvolvido pela Google e pela farmacêutica Novartis.
Estas novas lentes idealizadas pela Google deverão incorporar sensores e microchips
que permitirão estimar os níveis de açúcar no sangue através da análise do fluído, que compõe
as lágrimas. Estas lentes deverão estar aptas para o envio de dados através de redes sem fios
para um segundo dispositivo. Para além da monitorização do nível de açúcar, as lentes
deverão assumir funções de melhoria da visão [8].
Ainda não foram reveladas datas de lançamento, no entanto no que diz respeito a
dispositivos não invasivos, este é sem duvido o futuro da monitorização.
2.3 Dispositivos e Sistemas Operativos Móveis
Com o passar dos anos a evolução tem-se destacado cada vez mais. Esta evolução
conseguiu transformar o conceito de telemóvel que se tinha anteriormente para
poderosíssimos equipamentos smarthphones. Estes possuem uma enorme capacidade de
processamento, baterias de dimensões reduzidas mas com maior capacidade, displays que são
cada vez mais nítidos e finos e muitas outras características específicas.
Esta evolução deve-se à tentativa de junção dos antigos telemóveis com computadores,
sendo que, neste momento, os smartphones possuem grande parte das funcionalidades de um
computador com a junção de todas as funcionalidades de um telemóvel [9]. É verdade que um
smartphone não substitui um computador, no entanto, com todas estas potencialidades num
dispositivo móvel consideravelmente pequeno, sentiu-se a necessidade de nos focarmos
intensamente no seu desenvolvimento.
Acompanhado desta evolução, foram também desenvolvidos os tablets que vêm por
assim dizer, compensar o tamanho do ecrã dos smarthphones. Se continuássemos a aumentar
as dimensões dos smartphones, acabaríamos por perder o seu principal conceito de
portabilidade. Assim sendo, com o tablet o utilizador pode elaborar praticamente todas as
tarefas que são possíveis em smartphones e por sua vez dar-lhe um uso mais eficiente e
profissional. São vendidos inclusivamente teclados que podem ser acoplados ou ligados ao
dispositivo de forma a facilitar o processamento de texto.
10
De forma a conjugar estas 2 tecnologias, foram ainda desenvolvidos os Phablets, que
basicamente reúnem os recursos de um smartphone aos de um tablet. Estes dispostivos podem
ser acompanhados de uma caneta stylus e possuem medidas superiores aos smartphone’s, no
entanto, estes, não podem ser enquadrados nas categorias de tablet ou mini-table visto que as
suas telas são compreendidas até um máximo de 7 polegadas [10].
Todos os dispositivos acima mencionados necessitam de um sistema operativo adaptado
que tente tirar o máximo proveito de todas as capacidades do mesmo. Iremos então abordar os
sistemas operativos que têm tido mais impacto neste tipo de dispositivos e por consequência
no mercado.
De acordo com os resultados apresentados pela Strategy Analytics, cerca de 85% dos
smartphones vendidos, à escala global, no segundo trimestre de 2014, têm como sistema
operativo o Android. Tais resultados significam uma subida de cerca de 5%,
comparativamente a 2013, altura em que foram vendidos 186.8 milhões de unidades de
equipamentos com Android (em 2014 o números de vendas atingiu um patamar de 249,6
milhões de unidades vendidas).
Já o iOS sofreu uma ligeira queda na participação de mercado, para apenas 11,7% de
13,0%, no mesmo trimestre do ano passado, o que representa a crescente mudança na procura
de smartphones de baixo custo. O Windows Phone, acompanhou o iOS com uma queda de
0,9% no mesmo período [11].
Figura 03 - Mercado dos SO para smartphone’s.
11
2.3.1 IOS
Figura 04-Apple. Figura 05- IOS.
IOS é um sistema operativo desenvolvido pela Apple inc e é distribuído
exclusivamente para dispositivos da própria marca Apple.
Teve como data de lançamento o dia 29 de Junho de 2007 e as suas versões principais
são lançadas anualmente, sendo que hoje se encontra na sua 7ª versão.
O iOS consiste em quatro camadas de abstração, sendo elas a camada Core OS, a
camada Core Services, camada mídia e a camada Cocoa Touch [12].
As suas principais características são a exclusividade do hardware que suporta e o seu
desempenho fluido. Parte desse desempenho é possível graças ao facto de o sistema operativo
ser desenvolvido e desenhado para um número limitado e conhecido de hardware, permitindo
assim aperfeiçoar ao máximo o seu comportamento.
Figura 03- Mercado dos SO para smartphone’s.
12
2.3.2 Windows Phone
Figura 06- Windows. Figura 07- Windows Phone.
O Windows Phone surgiu devido a uma evolução dos seus antecessores Windows
Mobile. Estes surgiram com uma interface gráfica completamente reformulada e possuem um
controlo rigoroso de todo o hardware em que o sistema operativo funciona, separando-se
assim por completo dos antigos Windows Mobile. Desta forma este novo sistema não possui
qualquer compatibilidade com o anterior, sendo que inicialmente um dos seus principais
problemas estava assente na falta de aplicações, problema esse que hoje em dia já foi
ultrapassado. [13]
Este sistema operativo encontra-se atualmente na sua versão 8.1 e foi lançado em 2010
e é utilizado num número limitado de dispositivos de empresas que fizeram uma parceria com
a Microsoft, conseguindo assim uma melhor adaptação do sistema operativo ao hardware.
2.3.3 Ubuntu Touch
Figura 08- Ubuntu. Figura 09- Ubuntu touch.
13
O Ubuntu Touch é um sistema operativo para tablets e smartphones baseado no kernel
Linux, desesenvolvido pela Canonical Ltd e pela sua comunidade. Basicamente é a versão
móvel do sistema operativo Ubuntu.
Em Outubro de 2013 foi disponibilizada a sua primeira versão pública, compatível
com o Galaxy Nexus e o Nexus 4 e não tem ainda um grande impacto no mercado. Isto deve-
se ao facto de este ser um sistema operativo muito recente, que depende da comunidade para a
adaptação a dispositivos de diferentes marcas e modelos [14].
2.3.4 Android
Figura 10- Android. Figura 11- Android 4.4 KitKat.
A Android Inc era uma empresa que tinha por objetivo desenvolver uma plataforma
para dispositivos móveis baseada em Linux, que seria flexível, aberta e de fácil migração para
os fabricantes. Esta foi adquirida pela Google devido à necessidade de lançar um dispositivo
baseado em localização.
Em 2007 a Google anunciou o Android como sistema operativo para dispositivos
móveis e foi em 22 de Outubro de 2008 que foi lançado o primeiro dispositivo com sistema
Android, o HTC Magic ou G1. Ao longo dos anos o Android foi evoluindo substancialmente,
acompanhando a evolução dos dispositivos e também conseguindo uma maior adesão da parte
dos fabricantes.
14
A versão 1.0 foi a primeira versão do Android, que tinha suporte a navegadores
HTML, permitia a reprodução de vídeos YouTube e tinha vários serviços tais como Gmail,
Google Maps e Google Sync.
A versão mais recente deste sistema operativo é a versão 4.4 kitkat, lançada em
Outubro de 2013 e tem como características principais a redução do gasto de memória, visual
mais limpo, colorido e desenhado a pensar nos werable como por exemplo Google Glass,
relógios, etc. O facto de gastar menos memória possibilita não só ao Software ser mais fluido
como também permite o uso deste por parte de dispositivos de baixa gama e até mesmo
dispositivos mais antigos [15].
2.3.4.1 Arquitetura
A arquitetura do Android é dividida em 5 camadas sendo que cada uma delas é
encarregue de gerir os seus próprios processos [16].
Figura 12- Arquitetura do Android.
15
Camada de aplicação: É a camada topo e é onde se encontram todas as aplicações do
Android.
Camada Framework Aplicacional: Proporciona muitos serviços de níveis superiores em
forma de classes Java, sendo que esses serviços podem ser utilizados pelos programadores nas
suas aplicações.
Camada Librarias: Contém as librarias utilizadas pelo sistema, librarias de multimédia,
funções para navegadores web e funções de acesso ao SQLite.
Camada Android Runtime: É onde se instancia a máquina virtual Dalvic. Esta máquina é
instanciada para executar as aplicações Android. Esta camada contém ainda um conjunto de
librarias centrais permitindo ao programador a criação de aplicações usando linguagem Java.
Camada Kernel: Proporciona funcionalidades básicas do sistema como gestão de processos,
gestão de memória e gestão de dispositivos.
2.4 Android – Frameworks de Desenvolvimento
2.4.1 Ambientes de Desenvolvimento
Eclipse: A primeira versão deste IDE foi inicialmente desenvolvida pela IBM, sendo
depois doado para a comunidade como software livre. Hoje o Eclipse é o IDE Java
mais utilizado no mundo. Este, para além do Java suporta outras linguagens a partir de
plugins como C/C++, PHP, Python, Cold entre outros.
Este IDE foi desenvolvido em Java e segue o modelo open source de
desenvolvimento de software. Atualmente faz parte do kit de desenvolvimento de
software recomendado para programadores Android [15].
Android Studio: É um ambiente de desenvolvimento integrado projetado
especificamente para o desenvolvimento em Android.
16
Foi anunciado no dia 16 de Maio de 2013 na conferência da Google, e desde
Junho de 2014 que está disponível para testes de forma gratuita [17].
2.4.2 Android SDK
O Android SDK é um kit de desenvolvimento Android que vai evoluindo conforme a
evolução do próprio Android e engloba um conjunto de várias ferramentas de
desenvolvimento, são elas o debugger, librarias, emulador, documentação, exemplos de
códigos e tutoriais. Apesar de este se manter em constante evolução, o mesmo mantém
sempre disponíveis versões mais antigas para o desenvolvimento de aplicações que se
adequem a dispositivos mais antigos. Uma das principais qualidades do SDK é o facto de as
ferramentas estarem em formato transferível sendo que desta forma é possível ao
programador obter somente as ferramentas que necessita.
Utilizando o IDE Eclipse é fornecido ainda um plugin que pode ser instalado
denominado de Android Development Tool (ADT) que fornece todas as ferramentas
necessárias para o desenvolvimento para Android [15].
2.4.3 Android Virtual Device Manager
O AVD (Android Virtual Device) Manager é um utilitário fornecido pela Google
como parte do SDK do Android que permite criar dispositivos Android virtuais.
É possível criar vários dispositivos virtuais com especificações de hardware diferentes
e com diferentes resoluções de ecrã. Os dispositivos virtuais serão depois executados pelo
emulador do Android e permitem instalar e executar as aplicações criadas pelo programador,
tendo este assim a possibilidade de observar o seu comportamento [18].
2.4.4 Java
Java é uma das linguagens de programação mais utilizadas no mundo. É baseada em
classes e orientada a objetos e foi desenvolvida na década de 90 por uma equipe de
programadores chefiada por James Gosling, na empresa Sun Microsystems.
17
Diferentemente das linguagens convencionais, que são compiladas para código nativo,
a linguagem Java é compilada para um bytecode que é executado por uma máquina virtual
java (JVM). Esta característica torna a linguagem bastante interessante visto que quando esta
é executada numa plataforma, esta não necessita de ser recompilada para uma plataforma
diferente, podendo assim descreve-la como multiplataforma [19].
2.4.5 SQLite
O SQLite é uma pequena biblioteca, desenvolvida em linguagem C, que implementa um
amplo subconjunto do standard SQL 92, sendo a sua reputação proveniente da combinação do
motor de base de dados com a interface dentro de uma única biblioteca. As aplicações que
usam SQLite podem ter assim acesso a uma base de dados racional SQL, sem a necessidade
de correrem processos RDBMS (relational database management system) em separado e sem
grandes overheads. O SQLite foi desenvolvido em 2000 e é atualmente uma base de dados
amplamente adotada em dispositivos móveis, suportando até 2 TB de dados [15].
2.5 Aplicações relacionadas
Antes de se desenvolver qualquer tipo de aplicação, é essencial fazer um estudo das
aplicações já desenvolvidas no mercado, permitindo ter assim a noção do que existe e
oferecer algo mais ao utilizador.
Em consequência foram então analisadas algumas aplicações que dizem respeito ao
nosso público-alvo.
2.5.1 Glucose Buddy
A Glucose Buddy é uma aplicação que realça o monitoramento de açúcar no sangue.
Esta armazena os dados essenciais para o controlo da diabetes de uma forma simples.
18
Possui notificações úteis, notificações essas que possibilitam ao utilizador recordar-se
da mediação a efetuar, é possível introduzir o valor glicémico, as doses de insulina, e quantos
hidratos de carbono podem ser ingeridos em cada refeição.
Permite o controlo de exercício, pressão arterial, peso entre outras coisas. É possível
ainda a sincronização dos dados para uma plataforma online [20].
Figura 13- Glucose Buddy.
2.5.2 OnTrack Diabetes
A aplicação OnTrack Diabetes permite guardar os níveis de glicose e por sua vez
agendar lembretes para a toma dos medicamentos necessários. Esta aplicação permite ainda a
partilha dos dados obtidos com o médico acompanhante. Esta possui um layout intuitivo,
onde são colocadas as informações necessárias ao alcance em qualquer momento [20].
Figura 14- OnTrack Diabetes.
19
2.5.3 Glucool Diabetes
A Glucool Diabetes junta as funcionalidades de uma aplicação utilitária com o
controlo da diabetes, possibilitando assim ao utilizador o ajuste da mesma ao seu dia a dia. É
dada a conhecer a quantidade de insulina adequada ao portador da doença, o registo de
hidratos de carbono e notas personalizadas com rapidez e eficiência. A aplicação permite
ainda o backup e o restauro dos dados, de forma a não ser necessária a preocupação de perda
dos registos. É possível ainda a visualização de gráficos que podem identificar problemas e
mostrar a evolução da doença [20].
Figura 15- Glucool Diabetes.
20
21
Capítulo 3
3 Análise de requisitos
3.1 Levantamento de Requisitos
Após um estudo das frameworks necessárias para o desenvolvimento da nossa
aplicação, e de uma investigação sobre as aplicações também destinadas ao nosso público-
alvo conclui-se que é fulcral definir os requisitos da aplicação. Tendo a aplicação em foco
utilizadores com diabetes, foi feito um estudo prévio sobre o tema em questão, de forma a que
a utilização da aplicação, seja o mais benéfica possível para o utilizador. Assim, qualquer
pessoa que sofra de diabetes e que deseje ter um maior controlo sobre o estado da doença e
também de outros aspetos que possam interferir com o avanço da mesma são o público-alvo
da aplicação.
3.1.1 Requisitos funcionais
Considerando que a aplicação é de uso pessoal, é guardada informação pessoal sobre o
utilizador, tal como o peso e a altura, valores estes que são essenciais para o cálculo do Índice
de Massa Corporal (IMC).
Como um dos aspetos mais importantes na vida de um diabético é a medição dos
valores de açúcar no sangue, é possível a inserção destes valores de uma forma simples e
intuitiva.
Sendo as refeições diárias relevantes para a vida de um diabético, é essencial que o
mesmo se recorde das suas refeições. Assim, possibilitamos a inserção dos alimentos
ingeridos em cada refeição em que no final é mostrado ao utilizador a quantidade total de
22
calorias ingeridas. É fornecido ao utilizador uma vasta lista de alimentos, e caso o utilizador
ache necessária a inserção de outros alimentos é disponibilizada essa opção.
Para uma melhor análise do estado da doença, tanto por parte do utilizador como do
médico especialista, é fundamental a consulta de um histórico com o registo de todos os
valores já registados. Por ventura, esta consulta detalhada pode ajudar o médico a entender em
que alturas os valores se encontram fora do recomendável ou até mesmo perceber de que
forma os alimentos ingeridos em cada refeição influenciam os valores e o bem-estar do
utilizador, possibilitando ao médico uma alteração da dieta do paciente, etc.
Na vida de um diabético é usual a visita regular a diferentes médicos especialistas.
Assim, é possível ao utilizador registar a especialidade, nome e contacto e se desejar entrar
em contacto com o médico em questão, podendo este, efectuar a ligação através da aplicação.
23
3.2 Diagrama de Casos de Uso
Figura 16- Casos de uso.
24
3.2.1 Descrição dos Casos de Uso
De seguida é feita uma pequena descrição dos casos de uso que achamos mais pertinentes na aplicação.
Tabela.1 Caso de uso “Escolher alimento”
Tabela.2 Caso de uso “Inserir refeição”
ID 02
Nome do Caso de Uso Inserir refeição
Breve descrição É inserida uma refeição
Actor principal Utilizador
Actor secundário
Pré-condição Para ser inserido uma refeição é necessário a introdução do tipo de refeição,
categoria de alimento e alimentos.
Caminho principal O utilizador começa por abrir o painel de refeição.
De seguida escolhe:
- Tipo de refeição
- Categoria de alimento
- Alimento
Depois de introduzidos todos os alimento o utilizador finaliza a refeição.
Pós-Condição
Caminho alternativo O utilizador não adiciona a refeição.
ID 01
Nome do Caso de Uso Escolher alimento
Breve descrição É escolhido um alimento.
Actor principal Utilizador
Actor secundário
Pré-condição Para ser inserido um determinado alimento é necessário escolher qual a
categoria a que esse alimento pertence.
Caminho principal Para o utilizador escolher o alimento este tem de:
-Escolher a categoria de alimento
-Escolher o alimento
-Se o utilizador optar por introduzir
- Adicionar alimento
Pós-Condição
Caminho alternativo O utilizador não adiciona o alimento.
25
Tabela.3 Caso de uso “Editar refeição”
3.3 Base de dados
A base de dados não só é utilizada para guardar toda a informação inserida pelo
utilizador, como também a informação que acompanha de início a aplicação. Estas podem ser
posteriormente consultadas pelo utilizador ou até mesmo por outras pessoas autorizadas pelo
utilizador (como por exemplo familiares ou médicos).
É de referir também que um dos requisitos base de aplicação é não necessitar de uma
ligação de dados, pelo que toda a informação é armazenada localmente no dispositivo. Assim,
para a utilização do SQLite procedeu-se à criação da classe DbHelper, esta classe será
responsável por criar a base de dados no momento em que a aplicação é instalada (método
onCreate) e atualizá-la para novas versões (método onUpgrade).
A classe DB expande a classe SQLiteOpenHelper, esta fornece os métodos
getReadableDatabase() e getWriteableDatabase(), que permitem aceder à base dados
SQLiteDatabase quer para ler quer para escrever. Seguidamente, foi criada uma nova classe
DBAdapter que será a classe base para trabalhar com SQLite. Esta permite abrir, fechar,
realizar queries e atualizar a base de dados.
Para efectuar um registo de refeição, por parte do utilizador, é imprescindível a
existência de alimentos já inseridos na base de dados. Desta forma foi criada uma base de
ID 03
Nome do Caso de Uso Editar refeição
Breve descrição É editada uma refeição
Actor principal Utilizador
Actor secundário
Pré-condição
Caminho principal O utilizador começa por abrir o painel de opções.
De seguida tem de escolher:
- Tipo de refeição
- Categoria de alimento
- Alimento
Depois de escolhida a opção, este pode optar por adicionar um novo elemento
ou selecionar um elemento e apaga-lo.
Pós-Condição
Caminho alternativo O utilizador não adiciona a refeição.
26
dados já com elementos que vão ser posteriormente utilizados pelo utilizador aquando a
inserção de refeições. Para que tal acontecesse, foi criada uma nova classe
AssetDatabaseHelper e de seguida foi colocada a base de dados, já preenchida, na pasta assets
da aplicação. Sempre que a aplicação inicie, esta verifica automaticamente se existe alguma
base de dados já criada ou não, no caso de não se verificar, esta trata de copiar a base de
dados para a pasta default da aplicação.
3.3.1 Estrutura da base de dados
De forma a manter toda a informação utilizada no uso da aplicação, socorreu-se a sete tabelas.
Figura 17- Base de dados.
Tratando-se de uma aplicação do foro médico decidiu-se criar a tabela Utente. Nesta é
guardada toda a informação pessoal referente ao utilizador, desde a informação mais comum
como nome, sexo, data nascimento até à informação mais específica para o público-alvo, tipo
diabetes e grupo sanguíneo). Toda esta informação armazenada pode ser alterada a qualquer
instante.
Sendo o objetivo principal da aplicação o registo dos valores glicémicos, medidos pelo
utilizador durante o seu dia-a-dia, foi implementada a tabela ValorGlicemico, onde é feito
todo esse armazenamento.
No que diz respeito à inserção de refeições, foram implementadas quatro tabelas. São
elas a tabela TipoRefeição, TipoAlimento, Alimento e Refeição. Assim, a tabela
TipoAlimento e TipoRefeicao dizem respeito aos tipos de alimentos (carne, peixe, cereais) e
27
aos tipos de refeição (pequeno-almoço, almoço, petisco e jantar), respetivamente. Todo o
alimento inserido na base de dados tem necessariamente de corresponder a um tipo de
alimento. Os alimentos estão guardados na tabela Alimento, que contem como atributos o
nome, caloria e tipoalimento.
Sempre que o utilizador desejar inserir uma refeição, preenchendo o formulário
fornecido, é registada toda essa informação na tabela Refeição.
É também possível guardar a informação associada aos vários médicos que
acompanham o utilizador num único lugar apenas. Esta informação é imprescindível no que
diz respeito à organização do utente em relação aos médicos que possui. Assim sendo, este,
pode guardar esses dados na tabela EquipaApoio.
28
29
Capítulo 4
4 Desenvolvimento
O ambiente de desenvolvimento integrado, IDE, usado ao longo do projeto foi o Eclipse
juntamente com o SDK do android e o plugin ADT que permite usar todas as ferramentas
necessárias para Android.
A linguagem utilizada foi a linguagem Java, visto que esta para além de ser a mais
usada, é de código-fonte aberto e acima de tudo suporta portabilidade ("write once, run
anywhere"), permitindo assim a execução em várias plataformas e dispositivos.
Durante todo o desenvolvimento, foi constante a recuperação de informação
proveniente da base de dados. Esta recolha de informação pode-se demonstrar, entre outros,
na apresentação da informação já inserida pelo utilizador como na listagem dos alimentos da
refeição. Foi então imprescindível a utilização constante de Cursores.
Este método de consulta retorna um objeto Cursor que contêm os dados da consulta.
Para serem utilizados cursores, deve ser importando o android.database.Cursor.
Os cursores registam o resultado da consulta em linhas e garantem inúmeros métodos
de acesso a esses registos. Devem ser fechados após a sua utilização. No seguinte exemplo, e
de forma simplificada, é demostrado a utilização de um cursor. Este preenche uma lista com
os alimentos na atividade Refeição consoante o tipo de alimento escolhido.
Cursor cursorAlimento = myDb.getAlimentos(talimento);
cursorAlimento.moveToFirst();
while (cursorAlimento.isAfterLast() == false) {
…
cursorAlimento.moveToNext();
}
cursorAlimento.close();
Este código simplesmente cria um cursor para consultar todos os registos da tabela
Alimento, através do método getAlimentos(talimento). Este método é em forma de query e
retorna todos os registos da tabela Alimento. Para aceder a essa informação é utilizado o
30
método moveToFirst() de forma a colocar o ponteiro do cursor no início do conjunto de
dados. De seguida são percorridos os registos do cursor. O método isAfterLast() retorna um
booleano se o ponteiro passar o último registo no cursor. É usado o método moveToNext()
para fazer a passagem entre os registos do cursor. Seguindo as boas práticas de programação
em android, é aconselhável que se finalize o cursor através da instrução
cursorAlimento.close().
Todos os dispositivos Android, especialmente por se tratarem de um telefone móvel,
fornecem a funcionalidade para efetuar chamadas. A aplicação socorreu-se desta
funcionalidade para possibilitar ao utilizador o contacto com os médicos que o acompanham
sem que este tenha que sair da mesma. Para que a aplicação seja capaz de dar essa opção ao
utilizador foi necessária a utilização de um Intent para dar uso a esta funcionalidade embutida
no Android. Para tal, é criado esse novo Intent com a acção ACTION_CALL.
Intent chamada = new Intent(Intent.ACTION_CALL);
É de referenciar que é necessário adicionar uma permissão no AndroidManifest.xml.
<uses-permission android:name="android.permission.CALL_PHONE"/>
Para o armazenamento de dados foi utilizado o SQLite que basicamente é uma
biblioteca em linguagem C que implementa uma base de dados SQL embutida.
4.1 Aplicação de apoio ao Diabético
Tendo como objetivo da aplicação servir de apoio ao utilizador com diabetes, esta terá
de ter um nome pelo qual será facilmente identificada, assim, tem o nome de Diabete.
Seguindo a mesma lógica de raciocínio, foi desenhado um símbolo que dê a
continuação aos mesmos interesses, assim, conjugamos o símbolo da diabetes com o símbolo
da medicina.
Figura 18- Diabete.
Inicialmente foi usada uma ferramenta de prototipagem, denominada Pencil, que
permitiu estabelecer um plano antes da execução do desenvolvimento da aplicação.
31
A junção dos wireframes criados com o desenvolvimento progressivo do projeto
possibilitou antecipar a apresentação e a análise das funcionalidades necessárias e essenciais a
desenvolver. Desta forma, foram criados os layouts que se seguem.
4.1.1 Ecrã principal
De forma a manter a aplicação simples, o ecrã principal contem a funcionalidade que o
utilizador irá utilizar com maior frequência, introduzir valores glicémicos, contendo de igual
modo acesso a outras funcionalidades de igual relevância mas sem revelar tudo o que a
aplicação fornece.
É essencial que esta zona seja de fácil agrado, de modo a que a visita constante por
parte do utilizador, não se torne em uma experiência maçuda.
Assim, o ecrã principal da aplicação contem uma EditText centrada à tela, com um
background que lhe dá efeito de profundidade, acompanhada de uma TextView no seu topo,
possibilitando assim ao utilizador um maior impacto de visualização sobre a mesma. O
utilizador deve inserir os valores dos níveis de açúcar do sangue nessa mesma EditText e de
seguida pressionar a ImageButton com o formato de “mais” de forma a proceder ao registo do
valor inserido. Esta EditText está pré-definida para numérico, pelo que o utilizador está
restrito a este tipo de teclado.
Depois de inseridos os valores glicémicos, é efetuada uma notificação com base no
valor inserido. Esta notificação teve na sua base um estudo sobre os valores glicémicos em
que o qual é representado na seguinte imagem.
Figura .12– Valores glicémicos.
Figura 19- Valores glicémicos.
32
Na sequência do estudo efetuado foi determinado que o significado dos níveis dos
valores glicémicos variam se estes forem inseridos antes ou depois de uma refeição.
Se o utilizador possuir níveis glicémicos inferiores a 70mg/dl, quer este esteja em
jejum ou numa fase posterior à refeição, este, encontra-se em hipoglicemia ou “baixa de
açúcar”, situação esta que pode ser perigosa e é de evitar.
Podemos por assim dizer que o portador da doença, apenas se encontra no seu estado
normal, caso os valores se encontrem compreendidos entre 70mg/dl e 100mg/dl (jejum) ou
140mg/dl (após refeição).
Se o utente em jejum obtiver valores superiores aos normais e inferiores a 126mg/dl
ou no caso de este após as refeições, possuir valores até 200 mg/dl, este, encontra-se em
estado de pré-diabete, sendo que, o mesmo, necessita de ter alguns cuidados sob pena de
poder agravar o seu estado para diabetes. Esta transação de estados poderá ser originada pelo
portador da doença ter uma alimentação excessiva, estar menos ativo que o habitual, estar em
situação de stress ou necessitar de um ajuste na medicação para a diabetes.
Todos os restantes valores, acima dos referidos, são de risco elevado, já estes,
considerados como valores de nível diabético.
É de referir que estes valores são os considerados normais, de acordo com a Federação
Internacional da Diabetes, sendo que pese embora não é dispensável o aconselhamento de um
médico para o intervalo de valores de referência da glicemia mais adequado ao utilizador.
É ainda fornecida uma tabela com as médias dos valores glicémicos e das calorias
ingeridas ao longo do dia (manhã, tarde e noite).
Esta tabela não permite a interação direta com o utilizador, sendo que todos os
componentes da mesma são TextView, com a distinção de que os valores internos da tabela
são dinâmicos no que diz respeito à mudança dos mesmos. Estes ao contrário dos valores
exteriores vão-se alterando à medida que o utilizador vai efetuando inserção de dados, pelo
que o utilizador interage com a mesma de forma indireta.
Esta interação só é possível devido ao método criado preenchetabela() sendo que este
método de uma forma muito geral, vai à base de dados através de um cursor e verifica para
cada uma das fases do dia se existe ou não entradas de valores. Se existir, é efectuada através
das queries criadas a média desses valores e são retornados os mesmos, de forma a fazer o
preenchimento da tabela.
É importante referir, que no que diz respeito à estrutura da tabela, todos os TextView
se encontram alinhados uns em relação aos outros, adequando assim a tabela criada a
33
qualquer dimensão do dispositivo móvel, sem que haja a preocupação de desformatação da
mesma aquando diferença de tamanhos de telas.
É possível ainda efectuar o contacto com a entidade escolhida pelo utilizador no
preenchimento da sua informação pessoal. Este contacto é efetuado através do
ACTION_CALL fornecido pelo Android.
Como principais ligações fornecidas pelo menu do action bar, temos a ligação para a
Refeição e para o Gráfico, deixando o resto das opções “escondidas”.
Figura 20- Página principal.
4.1.2 Informação pessoal
Quando o utilizador acede à Informação Pessoal, é apresentado um formulário de
dados que está dividido em 3 secções, são elas informação pessoal, dados adicionais e
contactos. A secção informação pessoal possui 3 TextView, Nome, Sexo e Data Nascimento.
O Nome é acompanhado do seu EditText de preenchimento, o Sexo possui um RadioGroup,
que tem como RadioButton, o M e o F, possibilitando a escolha do sexo adequado ao
utilizador e a Data Nascimento possui também uma TextView, com o texto inicial Escolher
que quando pressionada devolve ao utilizador um calendário, fornecido pelo android
(DatePicker) para o mesmo poder escolher a sua data de nascimento. Quando este escolhe a
sua data de nascimento, o valor da mesma vai ser representado no TextView inicial através do
método criado updateDisplay().
Na secção dos dados adicionais, é solicitado ao utilizador que introduza o seu peso e
altura e que escolha o seu tipo de sangue e tipo de diabetes através de dois Spinner’s. Depois
34
de introduzido o peso e a altura do utilizador, é possível o cálculo do IMC da pessoa em
questão, sendo que o cálculo é obtido através da divisão do peso pelo quadrado da altura,
onde o peso está em quilogramas e a altura está em metros. O resultado deste cálculo é
comparado com a informação da Tabela 4, que indica o grau de obesidade do utilizador.
Por fim temos a secção dos contactos, onde o utilizador pode inserir o seu correio
eletrónico e o contacto de emergência escolhido por ele.
A aplicação verifica se já existe um perfil de utilizador definido e, caso não exista, é
apresentado sem preenchimento. Em caso afirmativo, é apresentado o formulário devidamente
preenchido.
Para fazer o preenchimento ou alteração dos campos da informação pessoal, é
necessário que o utilizador clique no visto que se encontra no canto inferior direito do layout.
Tabela.4 Índice de massa corporal
Figura 21- Informação pessoal.
4.1.3 Histórico
Acedendo ao layout do histórico, o utilizador visualiza duas imagens, ambas criadas
como ImageButton e dizem respeito à consulta dos valores glicémicos e às refeições
respectivamente. Escolhendo entre as duas opções, o utilizador é encaminhado para a
respetiva atividade. Em seguida, e de forma a facilitar a consulta dos dados registados, foi
utilizada a classe ExpandableListAdapter. Esta é usada para agrupar listas de dados por
IMC > 18 < 25 Kg/m2 Normal
IMC > 25 < 30 Kg/m2 Excesso de peso
IMC > 30 < 35 Kg/m2 Obesidade moderada grau I
IMC > 35 < 40 Kg/m2 Obesidade grave grau II
IMC > 40 < 45 Kg/m2 Obesidade mórbida grau III
35
categorias e permite a capacidade de expandir e colapsar quando o utilizador toca no
cabeçalho da lista. Assim, em relação aos valores glicémicos o agrupamento é feito em
relação a cada mês, enquanto que para as refeições, o agrupamento das mesmas é feita em
relação aos dias.
Se o utilizador entender apagar um item da lista, este deve pressionar o item sem o
largar e de seguida, o mesmo, será apagado.
Figura 22- Histórico.
4.1.4 Refeição
No layout da Refeição é pedido ao utilizador para selecionar através de Spinners,
disponibilizando assim uma forma rápida de seleção, o tipo de refeição (Pequeno-Almoço,
Almoço, Jantar, Petisco), seguidamente da categoria de alimento (Carne, Peixe, Cereais).
Depois de escolhida a categoria do alimento, a aplicação acede à tabela dos alimentos
na base de dados, através de um cursor, de forma a verificar quais os alimentos que pertencem
ao tipo de alimento selecionado. Depois de obter os alimentos pertencentes à categoria
requisitada, esta fornece-os utilizando uma ListView com a possibilidade de serem
selecionados através de uma check box.
Desta forma é possibilitado ao utilizador escolher vários alimentos da categoria em
simultâneo, tornando assim o uso da aplicação mais fácil, visto que não é necessário inserir os
alimentos um a um.
36
Depois de apresentada a lista de alimentos, o utilizador deverá escolher os alimentos
que deseja e inseri-los na lista da refeição que inicialmente se encontra com uma cor
avermelhada. Para isto acontecer, o utilizador terá de pressionar uma ImageButton com o
formato de uma seta voltada para baixo, que quando pressionada, a aplicação verifica os
alimentos selecionados, armazena-os num array e insere-os numa outra ListView, a tal
chamada lista da refeição ou lista final.
Depois de inserido o primeiro alimento na lista da refeição, esta muda a sua cor para
verde. É importante referir que o utilizador pode inserir vários alimentos de várias categorias
de alimentos diferentes.
Feita a inserção de todos os alimentos pretendidos, o utilizador deverá finalizar a
refeição pressionando o botão “mais”, concluindo desta forma o processo de inserção da nova
refeição. Ao longo do uso da aplicação, todo este processo faz com que o utilizador fique com
uma noção dos valores calóricos de cada alimento e após a inserção de uma refeição é
mostrado ao utilizador o total de calorias ingeridas nessa refeição.
Figura 23- Refeição.
4.1.5 Opções
Este layout foi desenhado com o intuito de não limitar o utilizador aos dados
disponibilizados pela aplicação. É possível nesta parte a alteração dos 3 elementos da
refeição, Tipo de Refeição, Categoria do Alimento e Alimento.
37
Quando o utilizador se dirige para as opções da aplicação, este depara-se com um
layout que contém 3 Buttons, que quando pressionados dirigem o utilizador para a atividade
referente.
Apesar de algumas diferenças a ideia de funcionamento das 3 opções é equitativa. No
caso de ser selecionada a opção tipo de refeição, o utilizador poderá inserir um novo tipo
através do preenchimento do EditText e de seguida pressionar a ImageButton, com o formato
“mais” ou apagar um qualquer tipo de refeição, selecionando o mesmo no Spinner e
pressionando a ImageButton “caixote do lixo”.
Para a inserção de novas categorias de alimentos o processo é igual, no entanto para
inserir novos alimentos é necessário indicar através de um Spinner a que categoria de
alimento pertence o alimento a ser inserido.
Esta funcionalidade torna a aplicação muito mais flexível, visto que desta forma é
possível ao utilizador moldar a refeição consoante a sua necessidade.
Figura 24- Opções.
4.1.6 Equipa de apoio
Na Equipa de Apoio, o utilizador tem a possibilidade de visualizar, adicionar ou
remover médicos/especialistas possibilitando assim a gestão dos vários médicos que o
acompanham.
É disponibilizado um formulário com as TextView Especialidade, Nome Médico e
Contacto, todas elas acompanhadas dos seus EditText de preenchimento.
38
Depois de efetuado o preenchimento e pressionando a ImageButton com o formato
“mais” é feita a inserção de um novo médico. A visualização dos médicos inseridos é feita
através de um Spinner, na qual é feita a escolha da especialidade e de seguida é mostrado o
nome e o contacto do médico.
No seguimento da escolha da especialidade o utilizador obtém 2 funcionalidades. Este
pode optar por apagar a opção selecionada ou pode efectuar o contacto com a mesma.
Esta funcionalidade é bastante útil para quem sofre deste tipo de doença, visto que
uma pessoa com diabetes tem ao seu dispor uma equipa de apoio constituída por especialistas
de várias áreas de saúde. Desta forma, o utilizador obtém uma lista organizada dos vários
especialistas que possui e é-lhe ainda possibilitado entrar em contacto com os mesmos,
diretamente pela aplicação.
Figura 25- Equipa apoio.
4.1.7 Gráfico
Existem algumas bibliotecas disponíveis que permitem a criação de diagramas e
gráficos para android. Muitas vezes são precisas soluções para exibir histogramas de barras
simples, gráficos de linha e outras visualizações de dados. Para desenhar o gráfico das
medições dos valores glicémicos e das calorias das refeições usou-se uma biblioteca de
software para gráficos em aplicações Android, o GraphView. Este permite criar diagramas
flexíveis de linhas e barras de boa aparência. É fácil de entender, integrar e personaliza-lo.
Através da sua implementação foi possível a criação de um gráfico com a média diária dos
39
valores glicémicos e das calorias ingeridas ao longo do mês. É possibilitado ainda ao
utilizador a escolha do mês a que este pretende aceder.
Figura 26- Gráfico.
4.2 Testes
Durante o desenvolvimento foram utilizados tanto dispositivos virtuais, simulados em
ambiente AVD, como dispositivos smartphone’s, ambos estes, com resoluções de ecrã e/ou
hardware diferentes. Este uso possibilitou a resolução de certos entraves que sucederam ao
longo do desenvolvimento da Diabete.
Um dos pontos mais marcantes nesta fase de testes diz respeito ao ajuste da dimensão
do ecrã dos dispositivos usados e ao adicionamento dos scroll’s.
Esta fase de testes possibilitou um melhor aperfeiçoamento no desenvolvimento da
aplicação, permitindo entender até que ponto a aplicação estava funcional, possibilitando
assim uma melhor conclusão da mesma.
40
41
Capítulo 5
5 Conclusão
De um modo geral podemos concluir que todas as funcionalidades propostas estão a
funcionar, no entanto não podemos deixar de dizer que é possível melhorar este projeto.
Esta aplicação já é bastante útil para o dia-a-dia do público-alvo, sendo que utilizando a
Diabete, o utilizador já consegue ter uma noção dos seus valores glicémicos, obtendo este
notificações consoante o valor inserido, consegue inserir as refeições, sendo que no fim é
indicado ao utilizador o valor total de calorias ingeridas, é possibilitada a personalização da
aplicação à sua alimentação, visto que este, pode, se assim o entender, alterar os dados
referentes à refeição, isto é, apagar ou inserir novos tipos de refeições, novas categorias de
alimentos e por consequência novos alimentos.
É também possível verificar através de um histórico os valores e refeição diários e/ou
através de um gráfico os valores e refeições ao longo do mês. O utilizador possui ainda uma
lista pessoal dos médicos que o acompanham, organizada numa única zona, podendo este
efectuar o contacto com os mesmos e finalizando é possível o preenchimento da informação
pessoal do utente, tendo este a possibilidade de verificar o seu IMC, e contactar através da
página inicial o contacto de emergência que este definir.
5.1 Trabalho futuro
Como trabalho futuro estão em vista funcionalidades que dizem respeito a atividades
desportivas, consumos de medicamentos e por ventura seria interessante interligar esta
aplicação a uma futura plataforma online, como por exemplo um portal em que os médicos e
familiares possam ter acesso ao historial e evolução da doença. Uma das funcionalidades que
não foi implementada e que seria bastante relevante, diz respeito à realização de backups.
42
Tendo em conta que os métodos mais usuais são invasivos, provocando algum
desconforto, a ideia inicial do projeto, centrava-se em minimizar esse sentimento e possibilitar
o controlo dos valores medidos através de um SmarthPhone, utilizando Wearable Sensor.
Assim seria interessante a integração de uma medição contínua de níveis de açúcar no
sangue utilizando werable sensor, possibilitando assim ao utilizador a consulta dos seus níveis
de glicemia a qualquer instante, sem que este tenha de estar constantemente a picar um
qualquer dos seus dedos.
O paciente passava então a utilizar uma pulseira, ou até mesmo um relógio que
permitisse através de Wearable Sensor medir continuamente o seu nível de glicose. Os valores
obtidos nas medições seriam enviados através de uma rede sem fios para o dispositivo móvel
de forma ao paciente poder medir os seus níveis de glicose assim que achasse oportuno.
É de referir também que sempre que os valores não se encontrassem estáveis, o
SmarthPhone, emitiria um aviso de urgência, sendo que este aviso seria armazenado no
dispositivo móvel com data e hora, de forma a obter um historial do paciente e de seguida
poderia ser enviado um alerta para o médico que o acompanha.
43
Referências bibliográficas
[1] World Health Organization. URL:
http://www.who.int/mediacentre/factsheets/fs312/en/
[2] Relatório Anual do Observatório Nacional de Diabetes. URL:
http://spd.pt/images/prova_final_od2013.pdf
[3] Portal da Saúde. URL:
http://www.portaldasaude.pt/portal/conteudos/enciclopedia+da+saude/ministeriosaude/doencas
/doencas+cronicas/diabetes.htm
[4] Associação Protectora dos Diabéticos de Portugal. URL:
http://www.apdp.pt/index.php/diabetes/a-pessoa-com-diabetes/o-que-e-a-diabetes#diabetes-
tipo-2
[5] Associação Protectora dos Diabéticos de Portugal. Diabetes tipo 1. URL:
http://www.apdp.pt/index.php/diabetes/a-pessoa-com-diabetes/o-que-e-a-diabetes#diabetes-
tipo-1
[6] Associação Protectora dos Diabéticos de Portugal. Diabetes Gestacional. URL:
http://www.apdp.pt/index.php/diabetes/a-pessoa-com-diabetes/o-que-e-a-diabetes#diabetes-
gestacional
[7] https://nebm.ist.utl.pt/repositorio/download/911/1
[8] Edição Impressa: Público. João Pedro Pereira.15/07/214. URL:
http://www.publico.pt/tecnologia/noticia/google-e-novartis-juntamse-para-desenvolver-lentes-
de-contacto-para-diabeticos-1662942
[9] Wikipedia. Smartphone. URL:
http://pt.wikipedia.org/wiki/Smartphone
[10] Wikipedia. Phablet. URL:
http://pt.wikipedia.org/wiki/Phablet
[11] Internacional Data Corporation. URL:
http://www.idc.com/prodserv/smartphone-os-market-share.jsp
[12] Wikipedia. IOS. URL:
http://pt.wikipedia.org/wiki/IOS
[13] Wikipedia. Windows Phone. URL:
https://pt.wikipedia.org/wiki/Windows_Phone
[14] Wikipedia. Ubuntu Touch. URL:
http://en.wikipedia.org/wiki/Ubuntu_Touch
[15] Ricardo Queirós – Android Introdução ao desenvolvimento de Aplicações – Editora: FCA
[16] Tutorialspoint. URL:
http://www.tutorialspoint.com/android/android_architecture.htm
[17] Android Dvelopers. Android Studio. URL:
https://developer.android.com/sdk/installing/studio.html
44
[18] Android Dvelopers. AVD Manager. URL:
http://developer.android.com/tools/help/avd-manager.html
[19] International Business Machines. developerWorks. URL:
http://www.ibm.com/developerworks/br/java/tutorials/j-introtojava1/
[20] Healthline. URL:
http://www.healthline.com/health-slideshow/top-iphone-android-apps-diabetes#10