If you’re on a quest to create an express delivery tracking app, look no further than the Espresso app! This blog will guide you through building and running this app on your own machine, alongside some useful troubleshooting tips. Grab your coding tools, and let’s dive in!
About the Espresso App
Espresso is designed with the Material Design style and built on the MVP (Model-View-Presenter) architecture. It leverages powerful technologies such as RxJava2, Retrofit2, Realm database, and ZXing. The app supports over 640 express companies, making it a fantastic solution for tracking packages globally.
Key Features
- Supports more than 640 express companies worldwide.
- Add packages by inputting the package number manually or scanning the express sheet.
- Automatically recognizes the company of a package.
- View details of packages such as the latest location.
- Provides launcher widgets for quick access.
- Day and night mode support.
- Push notifications for package updates.
- Feedback submission for user experience improvement.
How to Work with the Source
Follow these steps to get the source code running in Android Studio:
- Clone the Repository:
git clone https://github.com/TonnyL/Espresso.git
git checkout master
Tip: It’s highly recommended to update your Android Studio to version 2.3 before opening this project for the best compatibility.
Understanding the Code: An Analogy
To make sense of the Espresso app code, imagine the app as a restaurant. Here’s how the MVP architecture works in this analogy:
- Model: This is the kitchen, where chefs (data) prepare meals (information). It stores all the necessary ingredients (data structures) that feed into the app.
- View: This is the dining area where customers (users) interact with the food (app interface). It does not know how the food is made, only how it looks and tastes.
- Presenter: The waiter acts as a bridge between the kitchen and the dining area. He takes orders from customers (user inputs), communicates with the kitchen (model), and serves the finished dishes (views) back to the customers.
Troubleshooting
As with any coding venture, you might encounter some bumps along the way. Here are some common issues and tips to resolve them:
- Ensure you have all required libraries installed. If you encounter dependency errors, check the versions mentioned in the Libraries Used section.
- If the app crashes on launch, review the logcat for any runtime exceptions and ensure your device supports Android 5.0 or higher.
- For design-related issues, consider collaborating with a designer familiar with Material Design to enhance user interface aesthetics.
For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.
Next Steps
With your app up and running, consider implementing the following future features:
- Refreshing package details via network access.
- Implementing launcher app widgets.
- Adding support for app shortcuts on devices running Android 7.1 and above.
- Improving Material Design elements throughout the app.
At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.
Conclusion
Espresso is a powerful tool for tracking express deliveries, and with these instructions, you’re well-equipped to customize and expand it further. Happy coding!

