Simple "Hello World" dialog example in Android studio.

In my case I started new application, and left everything by default.

In content_main.xml (in my case it is located in \app\src\main\res\layout\content_main.xml) I added button:

	android:text="New Button"

Here notice "android:onClick="testMessage""

Then in (in my case it is located in \app\src\main\java\com\example\smi\msearch\ I created method like:

public void testMessage(View view) {
	AlertDialog builder = new AlertDialog.Builder(MainActivity.this).create();
	builder.setMessage("This is a test!");;

There is possibility in Android to set global exception handler. My code looks something like this:

public class BrowserActivity extends Activity {
    protected void onCreate(Bundle savedInstanceState) {

            if(!(Thread.getDefaultUncaughtExceptionHandler() instanceof CustomExceptionHandler)) {
                Thread.setDefaultUncaughtExceptionHandler(new CustomExceptionHandler(this));

Where CustomExceptionHandler can look like this:

public class CustomExceptionHandler implements Thread.UncaughtExceptionHandler {
    public void uncaughtException(Thread t, Throwable e) {
        //do something here

For example, read version from JSON file. In build.gradle, in my case it is in: /app/build.gradle write something like:

def computeVersionName() {
    def f1 = new File("app/src/main/assets/version.json");
    def json = new JsonSlurper().parseText(f1.text)

    assert json instanceof Map
    return json.version

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"
    defaultConfig {
        applicationId 'myId'
        minSdkVersion 16
        targetSdkVersion 22
        versionCode 2
        versionName computeVersionName()
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), ''
    productFlavors {


versionName computeVersionName()

It seems that androids WebView doesn't like video tag.

Here is Android code which worked for me:

        mWebView.setWebViewClient(new WebViewClient() {
            // autoplay when finished loading via javascript injection
            public void onPageFinished(WebView view, String url) {
                mWebView.loadUrl("javascript:(function() { document.getElementsByTagName('video')[0].play(); })()");

        mWebView.setWebChromeClient(new WebChromeClient());

Where WebChromeClient we need to handle javascript methods, and it seems that autoplay in WebView doesn't work.

Also, mWebView is: private WebView mWebView; (I took example of WebView based application)

HTML code looks like:

<video autoplay loop>
	<source src="" type="video/mp4">