Skip to content

Programming-of-Mobile-Devices/Password-Manager-Android

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 

Repository files navigation

University of West Attica

UNIVERSITY OF WEST ATTICA
SCHOOL OF ENGINEERING
DEPARTMENT OF COMPUTER ENGINEERING AND INFORMATICS

University of West Attica · Department of Computer Engineering and Informatics


Technology and Programming of Mobile Devices

Password Manager on Java Android

Vasileios Evangelos Athanasiou
Student ID: 19390005

GitHub · LinkedIn

Panagiotis Petropoulos
Student ID: 20390188

GitHub


Supervision

Supervisor: Nikitas Karanikolas, Profesor

UNIWA Profile

Co-supervisor: Georgios Meletiou, Laboratory Teaching Staff

UNIWA Profile


Athens, September 2024



README

Password Manager on Java Android

This project is based on an existing Java Android Password Manager application that was provided as course material.
The goal of the assignment was to improve the application, add new functionality, and fix usability issues.

The final result is an enhanced password management application with search, sorting, and improved file access handling.


Table of Contents

Section Folder/File Description
1 Safe/ Android project root directory
1.2 app/ Main Android application module
1.2.1 app/src/ Application source code and resources
1.2.1.1 main/java/ Core Java source files
1.2.1.2 main/res/ UI layouts, images, menus, and resources
1.2.1.3 AndroidManifest.xml Application configuration
1.2.2 app/build/ Generated build outputs and intermediates
executables
1.3 local.properties Local SDK configuration (machine-specific)
2 README.md Project documentation
3 INSTALL.md Usage instructions

1. Project Overview

The application allows users to securely store and manage passwords and account information.
Our work focused on improving usability and extending functionality without changing the original architecture.

Enhancements include:

  • Real-time search functionality
  • Advanced search with filters
  • Record sorting options
  • Improved storage permissions handling
  • UI interaction improvements and bug fixes

2. Project Goal

The assignment required students to:

  • Work on an existing Android application
  • Understand and extend an unfamiliar codebase
  • Implement new features
  • Improve user interaction
  • Fix functional or UI problems

3. Features Added / Improved

3.1 Search Bar Filtering

A real-time search bar was added to filter stored records dynamically while the user types.

Implemented in:

  • MainActivity
  • MyAdapter filtering logic

3.2 Advanced Search Dialog

A search dialog was introduced allowing searches using filters such as:

  • Owner
  • Category
  • System
  • Account
  • Username
  • Password
  • Notes

This allows more precise record lookup.


3.3 Sorting Functionality

A sorting dialog was implemented so users can sort entries based on selected fields.

Sorting can be applied to:

  • Owner
  • System
  • Account
  • Username
  • Notes
  • and other stored fields

Sorting is handled directly inside the adapter dataset.


3.4 Storage Permission Handling

The app now properly requests and verifies external storage permissions, ensuring correct file access for:

  • Opening password files
  • Saving encrypted data
  • File encryption/decryption

3.5 Adapter Improvements

Enhancements were added in MyAdapter:

  • Dataset filtering support
  • Sorting operations
  • View refresh control
  • Better selection handling

3.6 UI and Interaction Fixes

Improvements include:

  • Better dialog interaction handling
  • Improved list selection behavior
  • Stability improvements during dataset updates

4. Technologies Used

  • Java
  • Android SDK
  • Android Studio
  • ListView & Custom Adapter
  • Dialog Interfaces
  • File Handling & Permissions

5. Learning Outcomes

Through this project we practiced:

  • Working with legacy codebases
  • Extending Android applications
  • Implementing adapters and filtering logic
  • Handling permissions and file operations
  • UI dialog interaction design

6. Conclusion

The project demonstrates how an existing Android application can be extended with modern usability features while maintaining its original functionality.

The resulting application provides improved data management, search, and interaction for users handling sensitive password information.

Releases

No releases published

Packages

 
 
 

Contributors

Languages