- Forum-Beiträge: 3
04.06.2014, 13:27:34 via Website
04.06.2014 13:27:34 via Website
Hallo Community,
Ich bin mir nicht sicher, ob ich mit dem Beitrag im Tutorial richtig bin. Ich könnte mir aber vorstellen, dass die Antwort auf meine Frage einem Tutorial gleich kommt, daher poste ich hier.
ich stehe aktuell vor folgendem Problem:
Ich habe eine funktionierende App mit Webview programmiert. Die App zeigt aktuell eine Webseite an, die auf meinem lokalen Apache liegt. Die Seite auf einen Webspace zu kopieren und die app anzupassen ist auch kein Problem.
Was ich jetzt allerdings möchte ist, dass vor appstart und Aufruf des Webviews ein Prompt (Textfeld mit Button) erscheint. Darin soll der Nutzer einen Zugangscode eintragen.
Dieser Zugangscode möchte ich in einer lokalen Datenbank der app speichern.
Wenn der Zugangscode eingegeben wurde und gültig ist erscheint der Webview.
Bei zukünftigen Appstarts soll zuerst geprüft werden, ob in der lokalen Datenbank der App bereits ein Zugangscode eingetragen ist. Wenn ja, wird der Nutzer direkt an den Webview weitergeleitet, wenn nein, kommt eben das Prompt.
Ich habe zwar ein paar Programmierkenntnisse, steige aber in der Logik der Android-Programmierung noch nicht ganz durch. Ich erwarte hier keinen fertigen Programmcode, aber wenigstens eine Richtung, wie ich das ganze angehen müsste.
Hier kurz zusammengefasst, wie ich mir die App vorstelle und anschließend der aktuelle Programmcode:
App-Start
\/
Prüfung Datenbank ob Zugangscode eingetragen
\/ ja \/ nein
\/ Eingabefeld für Zugangscode
\/ \/
\/ Zugangscode in App-Datenbank speichern
\/ \/
Weiterleitung zu Webview
MainActivity.java
package com.lol.webviewtest.mywebviewapp.mywebviewapp;
import android.app.Activity;
import android.app.ActionBar;
import android.app.Fragment;
import android.content.res.Configuration;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.os.Build;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends Activity {
private WebView mWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = (WebView) findViewById(R.id.activity_main_webview);
// Settings
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setSupportZoom(true);
webSettings.setUseWideViewPort(true);
webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);
webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NORMAL);
mWebView.setHorizontalScrollBarEnabled(false);
mWebView.setVerticalScrollBarEnabled(false);
//Load URL
mWebView.loadUrl("<lokale IP entfernt, wegen Forumsrichtlinie>"
// Force links and redirects to open in the WebView instead of in a browser
mWebView.setWebViewClient(new WebViewClient());
}
}
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="<Link entfernt, wegen Forumsrichtlinie>"
package="com.lol.webviewtest.mywebviewapp.mywebviewapp" >
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar" >
<activity
android:name="com.lol.webviewtest.mywebviewapp.mywebviewapp.MainActivity"
android:label="@string/app_name"
android:screenOrientation="userLandscape"
android:configChanges="orientation" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.INTERNET" />
</manifest>
activity_main.xml
<FrameLayout xmlns:android="<Link entfernt, wegen Forumsrichtlinie>"
xmlns:tools="<Link entfernt, wegen Forumsrichtlinie>"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.lol.webviewtest.mywebviewapp.mywebviewapp.MainActivity"
tools:ignore="MergeRootFrame" >
<WebView
android:id="@+id/activity_main_webview"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</FrameLayout>
— geändert am 04.06.2014, 14:23:57
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.