• Stars
    star
    344
  • Rank 120,339 (Top 3 %)
  • Language
    Java
  • License
    GNU General Publi...
  • Created over 6 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Android Wrapper to create native Android Apps from offline-capable Progressive Web Apps

Android-PWA-Wrapper

An Android Wrapper application to create native Android Apps from an offline-capable Progressive Web App.

Drafted for the Android App of my Leasing Calculator Web App using React, Redux, Materialize.css and a lot of Offline-First love over at leasingrechnen.at.

Looking for iOS or Desktop?

Check out my other projects:

Why would I use a wrapper?

I know, using a Wrapper-App to display a Website can feel a bit odd. But there are a few good reasons why you'd package your Web App like this.

  • If you've got a very sophisticated UI already, it might make sense not to rebuild it from scratch for multiple platforms, especally if it's a Single Page Application already, that doesn't "feel" like a Website.
  • There might be as well less competition for a given niche on App Stores, in comparison to Google directly. With leasingrechnen.at, I've got easily into the Top 10 Apps on Google Play for my country, whereas Google Search put me on page 9 as the Site is relatively new.

What it does

  • Sets up a WebView just the way PWAs/SPAs like it (e.g. enables App cache and DOM storage, ...).
  • Shows a loading spinner while fetching the Web App.
  • Provided your Web App is Offline-capable, it only needs an Internet connection on the first startup. If this fails, it shows a native refresh widget.
  • Opens all external URLs in the device's Browser instead.
  • Checks for Internet connection and fetches Updates for your Web App accordingly.
  • Is compatible down to JellyBean, although it's recommended to build for SDK Version >= 19 (KitKat). Building for SDK Version >= 21 (Lollipop) puts you on the safe side without having to worry too much about Browser support.
  • APK-size < 1.4 MB. The latest cat video from WhatsApp weighs heavier ;)

How to build your own

  • Get Android Studio 3.4+
  • Clone/fork repository
  • Put your Web App's URL in WEBAPP_URL in Constants.java
  • Replace app_name in strings.xml with the name of your App
  • Add your own primary colors to colors.xml (colorPrimary, colorPrimaryDark, colorPrimaryLight)
  • Put your own icons in place:
    • Add your own ic_launcher.png and ic_launcher_round.png in the mipmap folders
    • Add your own ic_appbar.png in the drawables folders. This is displayed in Android's Recent Apps View on your app bar, so it should look nicely when placed on top of your primary color.
    • I recommend using Android Asset Studio to get the icons ready in no time
  • Change the package name in app/build.gradle, applicationId
  • Change AndroidManifest.xml -> aplication -> activity -> intent-filter to your own URLs/schemes/patterns/etc. or remove the intent-filter for android.intent.action.VIEW altogether
  • Check Constants.java for more options
  • Build App in Android Studio

I don't accept Feature Requests, only Pull Requests :)

License

GNU General Public License v3.0 - if you use it, we wanna see it! Other licensing options are available on inquiry.

More Repositories

1

iOS-PWA-Wrapper

An iOS Wrapper application to create a native iOS App from an offline-capable Progressive Web App.
Swift
330
star
2

Electron-PWA-Wrapper

Electron Wrapper to create Desktop Apps from offline-capable Progressive Web Apps
HTML
104
star
3

esp5791

Physical Backed Tokens (EIP-5791) for everyone using ESP32 and BLE
C
6
star
4

cunt

Cunning Token (CUNT) πŸ’Ž - a coin that sticks
JavaScript
4
star
5

MeetUp

Event planer app project for Udacity Senior Web Developer Nanodegree, using React, Redux, Node.js, Firebase, Materialize.css and Google Maps API (nd802/1)
JavaScript
3
star
6

BeefFinder

Restaurant Reviewer app project for Udacity Senior Web Developer Nanodegree, using React, Redux, Node.js, Firebase and Materialize.css (nd802/3)
JavaScript
2
star
7

ReactNative-PWA-Wrapper

*** Abandonned in favor of native Apps (see "Android-PWA-Wrapper" and "iOS-PWA-Wrapper") ***
JavaScript
1
star
8

Leasingrechner-Releases

This repository provides easy access to the Apps by leasingrechnen.at, which aren't published on App Stores (yet).
1
star
9

obscurati

JavaScript
1
star
10

Dashboard

Corporate Dashboard app for Udacity Senior Web Developer Nanodegree, using React, Redux, Node.js, and Materialize.css (nd802/4)
JavaScript
1
star
11

snakes-on-a-chain

A research project for generating and running interactive NFTs.
JavaScript
1
star
12

obscurati-core

JavaScript
1
star
13

Leasingrechner-Alexa-Skill

Alexa Skill for Leasingrechnen.at, using Alexia Framework
JavaScript
1
star
14

subnet-bootstrap

Shell
1
star
15

Ride-Vienna

Vienna Underground Public Transportation app for Udacity Senior Web Developer Nanodegree, using React, Redux, Node.js and Materialize.css (nd802/2)
JavaScript
1
star