|
| 1 | +# Hello World Keyboard |
| 2 | + |
| 3 | +Welcome to the Hello World Keyboard project! |
| 4 | +This custom Android keyboard is a perfect starting point for first-time Android developers interested in exploring custom keyboard development. |
| 5 | +The keyboard features three simple buttons that input "hello", "world", and "keyboard". |
| 6 | + |
| 7 | + |
| 8 | + |
| 9 | +## Getting Started |
| 10 | + |
| 11 | +These instructions will guide you through forking the project, making it your own, and setting up a development environment for testing and further development. |
| 12 | + |
| 13 | +### Prerequisites |
| 14 | + |
| 15 | +Before you start, ensure you have Android Studio installed, the official IDE for Android app development: |
| 16 | + |
| 17 | +- [Install Android Studio](https://developer.android.com/studio/install) |
| 18 | + |
| 19 | +### Forking and Cloning the Project |
| 20 | + |
| 21 | +1. **Fork the Repository**: |
| 22 | + - Visit the original repository at `https://github.com/modularizer/helloworldkeyboard`. |
| 23 | + - Click on the `Fork` button at the top right corner of the page to create a copy of the repository in your GitHub account. |
| 24 | + |
| 25 | +2. **Clone Your Fork**: |
| 26 | + - After forking, go to your GitHub account where the new repository exists. |
| 27 | + - Open the forked repository and click on `Code` to get the clone URL. |
| 28 | + - Copy the URL. |
| 29 | + |
| 30 | +3. **Import the Project in Android Studio**: |
| 31 | + - Open Android Studio. |
| 32 | + - Go to `File` > `New` > `Project from Version Control`. |
| 33 | + - In the URL field, paste the URL of your forked repository. |
| 34 | + - Choose your preferred directory and click `Clone`. |
| 35 | + |
| 36 | +### Running and Testing the Project |
| 37 | + |
| 38 | +1. **Set Up an Emulator**: |
| 39 | + - Go to Tools > Device Manager > Create Device to create a new Virtual Device. |
| 40 | + - Choose a device definition and a system image. |
| 41 | + |
| 42 | +2. **Run the App**: |
| 43 | + - With the emulator open, run the app from Android Studio. |
| 44 | + |
| 45 | +3. **Enable and Test the Keyboard**: |
| 46 | + - In the emulator, navigate to `Settings` (hint: double-tap the top bar, swipe down, find the gear icon) |
| 47 | + - In Settings, search `Manage on-screen Keyboards` or navigate to `Settings` > `System` > `Languages & input` > `On-screen keyboard` > `Manage on-screen keyboards`. |
| 48 | + - Enable `Hello World Keyboard`. |
| 49 | + - Open any text field, and in the bottom right corner of the screen, tap the keyboard icon to switch to your new keyboard. |
| 50 | + |
| 51 | + |
| 52 | + |
| 53 | +## Customizing Your Keyboard |
| 54 | +### Key Files for Customization |
| 55 | +- `app/src/main/java/com.example.helloworldkeyboard/KeyboardService.kt`: Main service for keyboard logic. |
| 56 | +- `app/src/main/res/keyboard_layout.xml`: Layout file for the keyboard UI. |
| 57 | +- `app/src/main/res/values/strings.xml`: Strings file for keyboard UI text. |
| 58 | +- `app/src/main/AndroidManifest.xml`: App declarations and configurations. |
| 59 | + |
| 60 | +### Tips for Designing Your Keyboard |
| 61 | +- **Layout**: Modify `keyboard_layout.xml` for UI changes. |
| 62 | +- **Functionality**: Adapt `KeyboardService.kt` for different key actions. |
| 63 | +- **Testing**: Always test changes on an emulator or device. |
| 64 | + |
| 65 | +## Contributing |
| 66 | + |
| 67 | +This project is open to contributions with the goal of making an absolute bare-bones keyboard for first-time Android developers, |
| 68 | +encouraging best practices and good coding habits while also providing a starting point for further development. |
| 69 | +Feel free to fork this repository, make your changes, and submit pull requests to contribute to this project. |
| 70 | + |
| 71 | +## License |
| 72 | + |
| 73 | +This project is 100% open source and free to use for any purpose. |
| 74 | +This project is licensed under the [Unlicense](https://unlicense.org) - see the [LICENSE](LICENSE) file for details. |
| 75 | + |
0 commit comments