Application development on Android and Java SE platforms with cloud based data storage

Nowadays IT devices play a great role in our lives. To make life easier, many people have more than one such device from different types, like PCs, notebooks, tablets, and mobile phones. We manipulate data with these devices, we generate a large quantity of content in every second and we share it with the world. Because of the usage of multiple devices, which have separate storages, it was getting harder to manage our fragmented data. That is why we needed to create a connection between different devices and even platforms. Therefore cloud data storage services were born, with these solutions we can store our data on a distant server, and we can reach them anywhere via the Internet. These days, anybody can rent large-scale storage on a server or a server park (cloud), and the big companies, such as Google, also offer cloud storage for seemingly free. These services would not achieve much, unless there were no corresponding client software for easy data management. Now most users require that they could reach the same contents or data on their mobile devices (Andorid or iOS…) on the go, like they could on their PC or notebook after leaving home or work, or if they change devices. Today we expect applications to be able to synchronize data to and from a cloud service. More services integrated means a more successful application.

The goal of my thesis is to make a cloud based connection between devices running Android OS and computers. During the Project Laboratory subject I made a note taking application on the Android platform. In the last half year, I completed this application with Google Drive based synchronization, and I made a Java SE based desktop application with the same capabilities. These two applications save the notes to the same file format and keep them in sync continuously through the cloud service.