An Android app for viewing and editing a student profile, built for the Mobile Application Development course in the BSc Computing program at Cavendish University Zambia.
The app displays a student's profile (name, student number, programme, school, and year) and lets the user edit those details on a second screen. Edited data is passed back via an Intent and persisted locally with SharedPreferences, so the profile survives an app restart.
- Profile view — displays full name, student number, programme, school, and year of study
- Edit screen — separate activity for editing profile fields, with input validation before saving
- Data persistence — profile changes are saved locally using
SharedPreferencesand reloaded on app launch - Activity communication — uses
Intentextras andstartActivityForResultto pass data between the main and edit screens
- Language: Java
- Platform: Android (min SDK 24, target/compile SDK 36)
- UI: Android Views (XML layouts), AppCompat, Material Components, ConstraintLayout
- Build: Gradle (Kotlin DSL)
app/
├── src/main/java/com/nyashajack/studentsprofile/
│ ├── MainActivity.java # Displays the profile, launches the edit screen
│ └── EditProfileActivity.java # Edit form with validation, returns result to MainActivity
├── src/main/res/
│ ├── layout/ # activity_main.xml, activity_edit_profile.xml
│ ├── drawable/ # Custom shapes (rounded card, circular photo border)
│ └── values/ # Colors, strings, themes
└── src/test, src/androidTest # Unit and instrumented test scaffolding
- Android Studio (recent stable version)
- Android SDK with API level 36 installed (Android Studio will prompt to install if missing)
- Clone the repo:
git clone https://github.com/YOUR_USERNAME/students-profile-app.git
- Open the folder in Android Studio.
- Let Gradle sync (Android Studio will download dependencies automatically).
- Run on an emulator or physical device (min Android 7.0 / API 24).
Academic coursework project — a lab exercise focused on multi-screen navigation, Intent data passing, and local data persistence in Android.
Academic project — for educational/portfolio purposes.