I have a Raspberry Pi running WebIOPi, which is connected to a relay board to turn things on and off via a web-based interface. Here's what the interface looks like in a browser:
Everything works fine, but I want to create an android app that would simply display the web-based interface via WebView. I've used WebView before and it seems pretty straight forward, but I can't get it working.
Here's my code:
MainActivity:
package org.kevinbright.android.backyardcontrolapp;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends Activity {
private WebView mWebViewer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//url = getIntent().getStringExtra(EXTRA_URL);
mWebViewer = (WebView)findViewById(R.id.webviewer);
mWebViewer.setWebViewClient(new WebViewClient());
mWebViewer.clearCache(true);
mWebViewer.getSettings().setJavaScriptEnabled(true);
mWebViewer.loadUrl("http://192.168.1.100:8000/");
}
}
Here's the XML:
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout android:orientation="vertical"
android:layout_height="match_parent"
android:layout_width="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<WebView android:layout_height="match_parent"
android:layout_width="match_parent"
android:id="@+id/webviewer"/>
And I added:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
to the Manifest.
I don't get any logcat errors, but when I run the app, I get only a white screen. Also, if I substitute "http://www.google.com", everything works fine. Also, I'm testing on a live device (no emulator). Any suggestions as to why this isn't working?