Giter VIP home page Giter VIP logo

espresso's Introduction

Espresso Android App

Build Status

logo

Espresso is an express delivery tracking app designed with Material Design style, built on MVP(Model-View-Presenter) architecture with RxJava2, Retrofit2, Realm database and ZXing.

The source code in this repository reflects the app which supports mobile devices running Android 5.0+.

About This Repository And App

This app is inspired by PackageTracker which is developed by fython and has a lot of similar elements in design and function with it. Thanks for the contributions of fython and his team.

Features

  • Over than 640 express companies all over the world are supported.
  • Support add packages by inputting the package number manually or just scanning the express sheet.
  • Support recognize the company of a package automatically.
  • Support view the package's details such as the latest location.
  • Support search packages that you added and the information about the express companies.
  • Launcher widgets are provided.
  • Day mode and night mode are supported.
  • Support push notification when the package is refreshed.
  • Support send feedback on using experience from your devices.

Screenshots

screenshot0

screenshot1

How to Work with the Source

I hope the source code for this app is useful for you as a reference or starting point for creating your own app. Here is some instructions to help you better build and run the code in Android Studio.

Clone the Repository:

git clone https://github.com/TonnyL/Espresso.git

Check out the master branch:

git checkout master

Notice: If you want to review a different branch, replace the master with the name you want to checkout (if it does exist). Finally open the Espresso/ directory in Android Studio.

Suggestion: It is better for you to update your Android Studio to version 2.3 when you open this project.

To-dos

This project is still in progress. Here are the some features that I will finish in the future.

  • Refreshing package details by accessing the network.
  • Launcher app widgets.
  • App Shortcuts on devices that running Android 7.1+.
  • Material design app onboard pages.
  • Chrome Custom Tabs.
  • Alphabet indexing for companies list.
  • Search packages and companies.
  • Day and night mode.
  • Service to build notifications.
  • Settings and about page.
  • UI test and unit test.

Help Me Improve This App

  • As you can see at the screenshots, some images in Espresso app are not suitable. So if you are a designer and familiar with Material Design and want to help me make the app look better, please email me.
  • If you want to improve the translation of Espresso, do not hesitate to email me. Let us make Espresso more and more popular all over the world.

Libraries Used in This App

Name Introduction Version
Android Support Libraries The Android Support Library offers a number of features that are not built into the framework. These libraries offer backward-compatible versions of new features, provide useful UI elements that are not included in the framework, and provide a range of utilities that apps can draw on. 25.2.0
CircleImageView A circular ImageView for Android 2.1.0
Gson A Java serialization/deserialization library that can convert Java Objects into JSON and back. 2.7
MaterialDateTimePicker Pick a date or time on Android in style. 3.1.3
Realm Realm is a mobile database: a replacement for SQLite & ORMs. 3.0.0
Retrofit Type-safe HTTP client for Android and Java by Square, Inc. 2.2.0
RxAndroid RxJava bindings for Android. 2.0.1
RxJava RxJava – Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM. 2.0.1
ZXing ZXing ("zebra crossing") is an open-source, multi-format 1D/2D barcode image processing library implemented in Java, with ports to other languages. 3.3.0

Thanks to

License

Copyright 2017 lizhaotailang

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

espresso's People

Contributors

dyrdong avatar tonnyl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

espresso's Issues

how to write test code in Android Library

Installation did not succeed.
The application could not be installed.
Installation failed due to: 'Invalid File: /Users/cxzheng/Documents/Develop/gitcode/IBUAndroid2/components/hotel/hotel-module/build/outputs/apk/androidTest/debug/ibu-android-hotel-V1.0-debug-androidTest.apk'

Question About QR code scanner

I Tried to implement the QR code scanner copied and pasted everything you got in the zxing package
however when I try to scan a QR code it doesn't work.

in addition to that I copied and pasted the code In the AddPackageFragment for scanning and getting the activity result and still won't work.

the bottom tab issues

when you click the search icon on the title bar ,into the search activity, the keyboard is show,than you close the activity , you will see the MainActivity 's bottom tab is above on the keyboard, when the keyboard is dismiss, than the bottom tab down.

How to solves this problem?

All packages are not available for download! The following packages are not available:
- Package id extras;android;m2repository

Crop rectangle does not fit within image data.

7.0分屏下,二维码扫描 崩溃

java.lang.IllegalArgumentException: Crop rectangle does not fit within image data.
                                                                                 at com.google.zxing.PlanarYUVLuminanceSource.<init>(PlanarYUVLuminanceSource.java:50)
                                                                                 at io.github.marktony.espresso.zxing.decode.DecodeHandler.buildLuminanceSource(DecodeHandler.java:154)
                                                                                 at io.github.marktony.espresso.zxing.decode.DecodeHandler.decode(DecodeHandler.java:95)
                                                                                 at io.github.marktony.espresso.zxing.decode.DecodeHandler.handleMessage(DecodeHandler.java:58)
                                                                                 at android.os.Handler.dispatchMessage(Handler.java:105)
                                                                                 at android.os.Looper.loop(Looper.java:164)
                                                                                 at io.github.marktony.espresso.zxing.decode.DecodeThread.run(DecodeThread.java:98)

Zxing library

How do I make the CaptureActivity able to scan QRCode ?

Tests Flaky

We ran the UI tests (androidTests) 50 times and found 1 flaky test. Would you like us to send you a pull request describe what tests are flaky and explaining how to reproduce the flaky behavior?
We didn't correct the tests, we just found them.

Best regards

请教个问题

'compositeDisposable.clear();'
这句代码只是取消RxJava订阅,还是说能真正地取消网络请求?

'compositeDisposable.clear();'
Does this line clear the RxJava subscriptions or cancel the network request truly?

We found 1 test flaky

We run your test cases for 50 times and found that the following test is flaky [1] (i.e., they pass or fail non-deterministically):

  • clickOnNavigationDrawerItem_ChangeTheme

We ran these tests on a generic Android Emulator (AVD) with Android API version 28.

To reproduce failures on these tests, please run the following script on gist:
https://gist.github.com/shaker-project/080b2c5d71e5fadb373715b50e3c3123
If you didn't understand any point of the script we can explain.

We require that stress-ng is installed. If not, run $> sudo apt-get install stress-ng.

If you confirm this behavior, our suggestion is to add the annotation @testflaky on these tests. See https://developer.android.com/reference/androidx/test/filters/FlakyTest

If you wish for a repair proposal, please let us know.

[1] https://hackernoon.com/flaky-tests-a-war-that-never-ends-9aa32fdef359

Question: RXJava2 Resources.

I'm wondering where did you learn all of this RXJAVA2?
Can you please provide us with some good resources or anything that could help a beginner to understand more RXJAVA2.
I did a lot of research I didn't find useful tutorials the only thing that I found is your repository.

Any release or download?

Hi. First thank you for providing another package tracker app for Android. The design looks really good to me. But I'm not (yet) an Android programmer, so may I ask if there's any kind of releases? Say, what is the Play Store link of this app? Or would you provide APK download via Github release?

Have a nice day.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.