Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Wrapping HTML in an app for Android

I have an existing site (social in nature) and it already has a mobile web version too, so what I basically want to do is wrap that view in an Android app and maybe add a nice splash screen to it. So essentially a "branded" browser window.

Any advice would be appreciated.

like image 899
codeninja Avatar asked Jan 08 '12 18:01

codeninja


People also ask

Can we use HTML in Android app?

HTML that processes HTML strings into displayable styled text and then we can set the text in our TextView. We can also use WebView for displaying HTML content. Currently Android does not support all the HTML tags but it supports all major tags.

How do you wrap an app on Android?

Use the Microsoft Intune App Wrapping Tool for Android to change the behavior of your in-house Android apps by restricting features of the app without changing the code of the app itself. The tool is a Windows command-line application that runs in PowerShell and creates a wrapper around your Android app.

Can you program an app with HTML?

Most people ask that can you use HTML to make an app. Well, the simple answer to this is yes.


2 Answers

You would need two activites

  • Splash Screen (use a timer and after x seconds move to the next activity)
  • Main

In the main activity you would need to set a layout with a webView in your layout so something like:

<?xml version="1.0" encoding="utf-8"?>
<WebView  xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/webview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
/>

and the code:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    mWebView = (WebView) findViewById(R.id.webview);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.loadUrl("http://www.google.com");
}

and the permissions:

<uses-permission android:name="android.permission.INTERNET" />

in the manifest file.

If you want to turn the title bar off you will also need to add:

<activity android:name=".Main" android:label="@string/app_name"
 android:theme="@android:style/Theme.NoTitleBar">

Read the docs for more help! An example for Google for this exactly and I referenced is http://developer.android.com/resources/tutorials/views/hello-webview.html

like image 73
Graham Smith Avatar answered Sep 28 '22 12:09

Graham Smith


There also exist several frameworks that wrap HTML5 inside a native app and gives you access to APIs.

Phonegap is the most well-known http://phonegap.com/

like image 36
dparnas Avatar answered Sep 28 '22 13:09

dparnas