Android Nanodegree - Project: Build a Single Screen App
A single-screen Android app showcasing Lisa's Italian Restaurant, featuring authentic Italian cuisine in Dublin, CA.
Primary Keywords: Android Development β’ Mobile App β’ Restaurant App β’ Single Screen Design β’ User Interface
Technical Stack: Java β’ Android Studio β’ XML Layouts β’ Material Design β’ ScrollView β’ Intent Actions β’ AndroidX Libraries
Business Focus: Restaurant Branding β’ Customer Engagement β’ Contact Integration β’ Local Business β’ Food Service
Industry: Food & Beverage β’ Restaurant Technology β’ Mobile Applications β’ Local Business β’ Hospitality
Project Type: Mobile Application Development | Industry: Restaurant & Food Service | Focus: Customer Experience & Business Showcase
βββ app/src/main/
β βββ java/com/example/lisasitalianrestaurant/
β β βββ MainActivity.java # Main activity - handles UI and system insets
β βββ res/
β β βββ drawable/ # Images and icons
β β βββ layout/ # UI layouts (activity_main.xml)
β β βββ values/ # Colors, strings, styles, dimensions
β βββ AndroidManifest.xml
βββ app/src/test/java/com/example/lisasitalianrestaurant/
β βββ MainActivityTest.java # Unit tests for MainActivity
βββ app/src/androidTest/java/com/example/lisasitalianrestaurant/
β βββ MainActivityInstrumentedTest.java # UI instrumented tests
βββ gradle/ # Gradle wrapper
βββ screenshots/ # App screenshots
βββ build.gradle # Project build config
βββ settings.gradle
βββ .gitignore
βββ README.md
βββ LICENSE # License information
This is an upgraded version of the original single-screen Android application, enhanced with modern Android development practices and updated dependencies. The app showcases "Lisa's Italian Restaurant" with improved UI/UX and follows current Android development standards.
- Updated to Android SDK 36 (Android 15) with minimum SDK 28
- Java 17 toolchain for better performance and modern language features
- Latest AndroidX libraries including Material Design Components 1.13.0
- Enhanced ScrollView layout for better content organization
- Improved resource management with proper color schemes and dimensions
- Better accessibility support with comprehensive content descriptions
- Modern Gradle build system (8.5.2) with optimized configurations
The application serves as a digital business card, providing customers with easy access to important information while demonstrating modern Android development concepts such as:
- Responsive ScrollView layout design
- Intent handling for phone calls, emails, and maps
- Resource management and string externalization
- Material Design 3 components and theming
- Modern build configurations and dependency management
- Accessibility-first design principles
Note: This project demonstrates both fundamental and modern Android development practices, suitable for learning current industry standards.
- Android Studio (Flamingo or later recommended)
- Java Development Kit (JDK) 17 or higher
- Android SDK with API level 28+ (Android 9.0)
- Gradle 8.5+ (included with Android Studio)
-
Clone the repository
git clone https://github.com/sandesha21/single-screen-app_google_android_development.git cd single-screen-app_google_android_development -
Open in Android Studio
- Launch Android Studio
- Select "Open an existing project"
- Navigate to the cloned directory and select it
-
Build the project
- Android Studio will automatically sync Gradle dependencies
- Wait for the build to complete
-
Run the app
- Connect an Android device or start an emulator
- Click the "Run" button or press
Shift + F10
The project follows standard Android architecture with clean separation of concerns and proper resource organization.
Business Information:
- Restaurant name and branding
- Multiple Italian food images
- Complete contact information
- Business description and hours
Interactive Elements:
- Clickable phone number for direct calling
- Tappable email address for quick contact
- Interactive address for map navigation
- Website link for online presence
Technical Implementation:
- Responsive ScrollView layout with RelativeLayout
- Material Design 3 theming with custom Italian color palette
- Modern AndroidX libraries and components
- Accessibility support with comprehensive content descriptions
- Externalized string resources for internationalization support
- Optimized for Android 9.0+ with target SDK 36
- Java 17 toolchain for enhanced performance
Lisa's Italian Restaurant is a local establishment located in Dublin, CA, offering authentic Italian cuisine with a focus on family dining and special occasions.
- Name: Lisa's Italian Restaurant
- Location: 104 Grafton St, Dublin, CA 94568
- Phone: 510-111-1111
- Email: info@lisasRestaurant.com
- Website: www.lisasrestaurant.com
- Hours: Everyday from 11AM-10PM
- Specialty: Authentic Italian food with party reservations
- Minimum SDK: 28 (Android 9.0)
- Target SDK: 36 (Android 15)
- Compile SDK: 36
- Java Version: 17
- Gradle Version: 8.5.2
- Build Tools: Android Gradle Plugin 8.5.2
- AndroidX AppCompat 1.7.1
- Material Design Components 1.13.0
- ConstraintLayout 2.2.1
- AndroidX Preference 1.2.1
- AndroidX Core 1.15.0
- JUnit 4.13.2 (Unit Testing)
- AndroidX Test Runner 1.7.0 (Instrumented Testing)
- Espresso 3.7.0 (UI Testing)
This project includes unit and instrumented tests for quality assurance.
Unit Tests (run locally on your machine):
./gradlew testDebugUnitTestInstrumented Tests (run on Android emulator or device):
./gradlew connectedAndroidTest- MainActivityTest: Verifies MainActivity class structure and inheritance
- MainActivityInstrumentedTest: Tests UI elements and layout rendering
β
Business name and branding
β
Multiple high-quality business photos
β
Complete contact information (phone, email, website)
β
Compelling business description
β
Hours of operation
β
Modern Android development practices
β
Accessibility compliance
β
Material Design 3 implementation
β
Responsive layout design
This project is an enhanced version of the original single-screen app with significant improvements:
- Modern Android SDK: Upgraded from API 21+ to API 28+ (minimum) and API 36 (target)
- Java 17: Updated from Java 8 for better performance and modern language features
- Latest Dependencies: All AndroidX libraries updated to latest stable versions
- Enhanced UI: Improved layout with better resource organization and color schemes
- Better Accessibility: Comprehensive content descriptions and accessibility support
- Modern Build System: Updated Gradle and build tools for faster builds
- Improved Resource Management: Better organized colors, dimensions, and string resources
- Future-proof codebase compatible with latest Android versions
- Better performance and security with modern dependencies
- Enhanced user experience with Material Design 3 components
- Improved maintainability and code organization
Sandesh S. Badwaik
- Google Android Nanodegree Graduate
- Mobile App Developer
- Applied Data Scientist & Machine Learning Engineer
- Passionate about creating intuitive user experiences
π If you found this project helpful, please give it a β!
