Difference between revisions of "Build App with Android-Studio"

From Digipool-Wiki
Jump to: navigation, search
(Splash Screen)
(Splash Screen)
Line 99: Line 99:
 
Um den den Startbildschirm (Splash Screen) zu gestalten, der erscheint solange die App geladen wird, muss im '''Manifest''' Folder mit dem rechten Mausklick eine neue '''Activity / Empty Activity''' hinzugefügt werden mit dem Titel "'''splashactivity'''" hinzugefügt werden.  
 
Um den den Startbildschirm (Splash Screen) zu gestalten, der erscheint solange die App geladen wird, muss im '''Manifest''' Folder mit dem rechten Mausklick eine neue '''Activity / Empty Activity''' hinzugefügt werden mit dem Titel "'''splashactivity'''" hinzugefügt werden.  
  
Die Bilddatei '''myLogo.png''' für das Logo als PNG mit 200 x 200 Pixel in den '''drawable''' Ordner legen.
+
Die Bilddatei '''mylogo.png''' für das Logo als PNG mit 200 x 200 Pixel in den '''drawable''' Ordner legen. (Der Dateinahme des Bildes darf nur klein geschrieben werden)
  
 
Dabei entstehen zwei Dateien: Java und xml
 
Dabei entstehen zwei Dateien: Java und xml
Line 118: Line 118:
 
         android:layout_width="200dp"
 
         android:layout_width="200dp"
 
         android:layout_height="200dp"
 
         android:layout_height="200dp"
         android:src="@drawable/myLogo"
+
         android:src="@drawable/mylogo"
 
         android:layout_centerHorizontal="true"
 
         android:layout_centerHorizontal="true"
 
         android:layout_centerVertical="true"
 
         android:layout_centerVertical="true"
         android:id="@+id/myLogo"
+
         android:id="@+id/mylogo"
 
     />
 
     />
  

Revision as of 19:10, 13 September 2019

Die Entwicklungsumgebung von Android hat ein WebView Element, mit Internetseiten in einer App dargestellt werden können. Über diesen Umweg kann man aus einer WebPage eine App bauen. Das ganze ist etwas aufwendiger und komplizierter aber mit p5.js erstelle WebApps laufen damit sehr gut. Diesen Anleitung kann dabei helfen, aber man muss zunächst das Android SDK (Software Development Kit) installieren und dann einige Code Zeilen eingeben (rein kopieren). Dabei kann es immer wieder zu Veränderungen kommen, da sich das Android-Studio permanent weiterentwickelt.

AndroidStudio.png

Hier eine der zahlreichen Anleitungen auf YouTube


Android-Studio

Downloaden und installieren - Android-Studio


Manifest

Im Manifest oben gleich hinter der Pagacke=... Zeile:

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

...und hinter <Application

android:supportsRtl="true"


MainActivity

MainActivity.java

package com.example.myName;

import android.graphics.Bitmap;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends AppCompatActivity {
    private WebView mywebview;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mywebview = (WebView) findViewById(R.id.'''myPage''');
        WebSettings webSettings=mywebview.getSettings();
        '''mywebview.loadUrl("http://projects.olafval.de/touch2much/");'''
        webSettings.setJavaScriptEnabled(true);
    }

    public class myWebClient extends WebViewClient{
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon){
            super.onPageStarted(view, url, favicon);
        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url){
            view.loadUrl(url);
            return true;
        }
    }

    @Override
    public void onBackPressed(){
        if(mywebview.canGoBack()){
            mywebview.goBack();
        }else{
            super.onBackPressed();
        }
    }
}


NoActionBar

In der Datei Styles.xml die erste Zeile abändern auf NoActionBar

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">



Farbe der Taskleiste

In der Datei color.xml die drei Farbwerte auf den gewünschten Wert ändern



Splash Screen

Um den den Startbildschirm (Splash Screen) zu gestalten, der erscheint solange die App geladen wird, muss im Manifest Folder mit dem rechten Mausklick eine neue Activity / Empty Activity hinzugefügt werden mit dem Titel "splashactivity" hinzugefügt werden.

Die Bilddatei mylogo.png für das Logo als PNG mit 200 x 200 Pixel in den drawable Ordner legen. (Der Dateinahme des Bildes darf nur klein geschrieben werden)

Dabei entstehen zwei Dateien: Java und xml

activity_splashactivity.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#000000"
    tools:context=".splashactivity">

    <ImageView
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:src="@drawable/mylogo"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:id="@+id/mylogo"
    />

</RelativeLayout>


splashactivity.java

package com.example.t2much;

import android.content.Intent;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class splashactivity extends AppCompatActivity {
    private static int Splash_time = 4000;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_splashactivity);

        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                Intent intent = new Intent (splashactivity.this,MainActivity.class);
                startActivity(intent);
            }
        }, Splash_time);
    }
}

WWW Dateien einbinden

Diese Zeile

mywebview.loadUrl("http://projects.olafval.de/touch2much/");

ersetzen durch

mywebview.loadUrl("file:///android_assest/*");