A native Android application that provides a wrapper for Google Scholar (https://scholar.google.com/), following Material Design 2 guidelines.
- Full Google Scholar Access: Browse, search, and access all Google Scholar features through a native Android interface
- Navigation Drawer: Easy access to main sections:
- Home - Main Google Scholar page
- Search - Quick search functionality
- My Library - Access your saved articles
- My Profile - View and manage your Google Scholar profile
- Settings - Access Google Scholar settings
- Search Functionality:
- Toolbar search action
- Search dialog with Material Design text input
- Material Design 2: Modern UI following Google's Material Design 2 guidelines
- Dark Mode Support: Automatic dark theme based on system settings
- Pull-to-Refresh: Swipe down to refresh the current page
- Share: Share articles and pages via any app
- Open in Browser: Option to open the current page in an external browser
- Deep Linking: Handles Google Scholar URLs to open directly in the app
- Android 7.0 (API 24) or higher
- Internet connection
- Android Studio Hedgehog (2023.1.1) or later
- JDK 17
- Android SDK with API 34
-
Clone the repository:
git clone https://github.com/ContextLab/android-scholar.git cd android-scholar -
Open the project in Android Studio
-
Sync Gradle files
-
Build the project:
./gradlew assembleDebug
-
The APK will be located at
app/build/outputs/apk/debug/app-debug.apk
To create a release build:
-
Create a signing key (if you don't have one):
keytool -genkey -v -keystore release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias release
-
Configure signing in
app/build.gradle.kts -
Build the release APK:
./gradlew assembleRelease
app/
├── src/main/
│ ├── java/com/scholar/android/
│ │ ├── ScholarApplication.kt # Application class
│ │ ├── ui/
│ │ │ └── MainActivity.kt # Main activity with navigation
│ │ ├── util/
│ │ │ ├── NetworkUtils.kt # Network connectivity utilities
│ │ │ └── ScholarUrls.kt # URL management
│ │ └── webview/
│ │ ├── ScholarWebChromeClient.kt # Chrome client for progress
│ │ └── ScholarWebViewClient.kt # WebView client for navigation
│ └── res/
│ ├── layout/ # Layout XML files
│ ├── menu/ # Menu XML files
│ ├── drawable/ # Vector icons and drawables
│ ├── values/ # Colors, strings, themes
│ └── values-night/ # Dark theme resources
This app follows Material Design 2 guidelines with:
- Color System: Google's blue primary color (#4285F4) with appropriate variants
- Typography: Material Design type scale
- Navigation Drawer: Standard navigation drawer with header
- App Bar: Material toolbar with actions
- Components: Material buttons, text inputs, and dialogs
- Elevation: Proper shadow and elevation values
- Dark Theme: Full dark mode support with appropriate color adaptations
MIT License - see LICENSE file for details.
This app is not affiliated with or endorsed by Google. Google Scholar is a trademark of Google LLC.