Was mir schon auffällt ist das beide activitys wahrscheinlich das gleiche Layout benutzen das musst du auf jeden Fall ändern auch muss die Activity im Manifest eingetragen werden.
Bennene die layout Datei von der original webview App erstmal um. Unter Layout in deinem Projekt Speichen und nun auch in der activity ändern.
Beiträge von nono124
-
-
Kannst das Projekt als Zip packen und über pm schicken.
Das build Verzeichnis.,gradle musst du nicht mit packen wird sonst zu gross -
Hallo und Sory habe mich wohl am Handy vertippt es solte Klasse heißen.
Wenn Shirtee ei e eigene App ist, mit allen was zu einer App dazugehört. Kannst du nicht einfach die Activity Klasse in deinen Code kopieren und denken das das geht. Erstelle daraus eine eigene apk. Die muss dann auf dem Handy der user natürlich auch haben. Nun kannst du einen impliziten intent oder auch einen Intent mit Rückgabe Wert machen und somit die eigenständige app starten.Du benutz zb da du einfach die Klasse aus einer anderen App in deine kopiert hast das gleiche Layout. Kann schon mal nicht sein. Dann wirst dei neue activity nicht im Manifest eingetragen haben..... Da ist im allgemeinen etwas mehr zu tun als nur kopieren.
-
Hi dann zeige uns mal wie du das machst?
Ansonsten ist es hier beschrieben
https://developer.android.com/…rmissions/requesting#java -
Hallo um hier eine Antwort geben zu können währe erstmal interessant was die Kasse überhaupt ist. Eine Activity, ein Fragment, oder...?
Etwas mehr Infos wären da schon sinnvoll. -
Einfach unten rechts den Daumen hoch klicken mehr gibt es nicht.
-
Hi ja ok mach das. Nett wäre wenn du uns davon berichten würdest.
-
Ok alles gut habe gesehen das ich min 15 hatte und ging auch. Du hast 26. Habe deine Aussage falsch verstanden. Alles richtig.
-
Hallo
Wenn du mit der app Geld verdienen möchtest . Musst du schon einigen Aufwand betreiben. Besonders im Grafischen Bereich sollte sie sich schon etwas von den üblichen absetzen oder die App Idee ist neu und gibt es noch nicht. Auch wirst du einigen an Werbung PR für deine App ausgeben müssen damit sie bekannt wird und auch geladen wird.
Google Play reicht da meist nicht aus. -
Hallo danke für die Antwort habe dir eine Nachricht im PM geschickt.
Also willst du weniger eine gemeinschafts arbeit sondern nur Hilfe und Tipps.
Die kannst du eigentlich auch hier bekommen.ZitatGeld wird allerdings nur durch Google ads oder der gleichen erzielt.
Von Werbung halte ich im algemeinen nicht sehr viel.
-
hi was genau steht den bei min und traget sdk ?
Min kleiner als 26 geht glaube nicht.
Die Target Version solte auch im sdk Manager installiert sein.übrigens habe ich es auch mal versucht eine fun Main auszuführen. Die wurde bei ausgeführt, und Konsolausgaben wurden in der Konsole angezeigt.
Das geht zwar macht aber absolut keinen Sinn wenn du eine App schreiben willst.
Wenn du die Main im studio ausfürst ist das nichts anderes als dei von mir schon genante Online IDE.
Um mal schnell was zu testzen ok, aber da benutze ich eine Onlin IDE.Also wenn du eine Abb schreiben willst musst du dich mit dem android Framework auseinander setzen.
Ich persönlich schreibe nicht in Kotlin. Komme zwar etwas klar damit ist aber nicht so mein ding.
Denke du wirst beides etwas bringen müssen den die meisten Hilfen und android Einsteiger Bücher sind in Java.
-
Hallo wilkommen im Forum.
Villeicht hätte ich Interresse kommt darauf an was du umsetzen willst.
Wieviele Personnen möchtest du denn beteiligen. -
noch eine frage zu deinem Problem wie sieht dein Gradle file aus?
Code
Alles anzeigenapply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' android { compileSdkVersion 28 defaultConfig { applicationId "com.example.joerg.myapplication" minSdkVersion 15 targetSdkVersion 28 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation 'com.android.support:appcompat-v7:28.0.0' implementation 'com.android.support.constraint:constraint-layout:1.1.3' testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' }
-
Hallo
Der Fehler den das Studio ausgibt hat weiniger mit der Installation zu tun.
Eher damit wie du versuchst zu Programmieren .
Wie ich schon sagte wird in einer Adroid app nicht die Methode Main benutz. Die bei Desktop System der Programm einstieg ist.
Eine Android App besteht aus einer speziellen Projekt Stuckatur. Das ist bei Java so und auch bei Kotlin.
Zu beginn einer App solltest du ein Neues Projekt anlegen.
Das machst du im Haupt Menü mit „Start a new Android Studio Project“
Schau mal hier https://www.big-app.de/erstell…erstes-android-projekt-1/
Dabei must du wenn du mit Kotlin arbeiten willst auf der ersten Dialog Seite auch Kotlin anhaken.
So sollte nun deine MainActivity.kt aussehen.
Code
Alles anzeigenpackage com.example.joerg.myapplication import android.support.v7.app.AppCompatActivity import android.os.Bundle class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } }
es wurde eine neue Klasse erstell die von AppCompatActivity erbt abgeleitet wurde.
Deine Einstiegs Funktion in Kotlin Spricht man von Funktionenist wie in Java „onCreate(..)“
Dies ist eine Callback Methode Funktion die vom System beim Start der APP mit als erstes aufgerufen durchlaufen wird . Das kannst du bei Android als deine Main Funktion ansehen .
unter dem "setContentView" ( Was dein Layout lädt) kannst du deinen test Code eingeben.Links Im Android Studio wirst du eine Ordner Struktur mit verschiedenen Dateien finden all diese gehören zum Android Projekt.
Was die im Einzelnen bedeuten führt hier leider zu weit.
@Snace3000 hat die einen guten link gegeben in den schon viel erklärt wird. Ist zwar Java für Kotlin habe ich jetzt nichts gleichwertigen parat. Da die meisten fangen mit Java an und steigen etwas später auf Kotlin um . Würde ich dir für den Anfang auch empfehlen.
Für deine ersten gehversuche in Kotlin würde ich dir einen Online Emulator empfehlen.
Da hast du auch eine richtige Konsole zu Ausgabe und kannst auch deine Main Funktion benutzen.
https://try.kotlinlang.org/#/U…2kgaqvm6e7lsaglgnt00u3cb1
Da brauchst du dich auch noch nicht mit den etwas speziellen Framwork von Android zu beschäftigen. -
@Xcreen
Also ich glaube du verwechselt hier etwas . Ich denke du meinst nicht Android Studio sondern IntelliJ IDEA. In dieser Fast gleich aussehenden Umgebung kannst du Java Programme für den PcErstellen.Selbst wenn das auch im Studio möglich ist . Was bringt es dir oder Ihm er will mit Sicherheit eine App entwickeln und da gibt es keine Main als Programm einstig.
Ob Kotlin oder java ein main gibt es bei beiden nicht.
Mit gibt meine ich wird bei Android nicht verwendet , in der Sprache gibt es das schon.Außerdem wird er noch Anfänger sein und da sollte man ihn nicht solche Flausen in den Kopf setzen das verwirrt nur.
Er wird sich wohl bewust für das Studio entschiden haben weil er eine app schreiben Will .
Bitte mach es den Anfängern nicht noch schwerer.ZitatAlso auf den grünen Play-Button neben der Main-Methode sollte er klicken können und auch die App ganz normal starten (dabei wir dann allerdings nicht sein code aufgeführt)
Das hat dann aber nichts mit einer App zu tuen.
-
hallo
In android gibt es keine Main Methode. Das was du machen willst ist normales Java.
Hier arbeitest du auf einem Framework. Und da musst du ein Klasse von Activity ableiten.Erstelle dir ein neues Projekt und du wirst sehen wie die Projektstucktur unter Android ist.
Ps. Sehe gerade das du in Kotlin programmieren willst auch da gibt es keine Main wie in einen normalen Kotlin Programm zb. für Pc.
-
Hallo also du solltest dich wirklich etwas mit SQL auseinandersetzen.
Wenn du alle Daten Sätze die in der Tabelle sind ausgeben willst brauchst du gar keine WHERE Klausel angeben.
Dann bekommst du als Rückgabe alle datensetze im Cursor.Was soll eigentlich “ where NUMMER like + nr“ macht für mich keinen sinn.
Erstens wo ist der Regulare Ausdruck, zweitens macht das auf nummern sowieso wenig sinn.
Nun schaue dir mal in der Doku an was es alles für Methoden für den Cursor gibt.
https://developer.android.com/…e/android/database/CursorWenn du den Cursor mit einer for schleife durch gehen willst dann solltest du die Anzahl der Einträge im Cursor benutzen.
res.getCount(); gibt dir einen int wert über Anzahl der im Einträgemit res.moveToNext(); gehst du zur nesten Cursor Position.
Den Rest schaust du dir in der Doku an
Die getLength Methode brauchst du nicht. Sinnvoller ist die Anzahl aus dem Cursor zu holen.
Natürlich musst du den Cursor vor der For Schleife holen und nicht in der Schleife. Wieso nutzt du nicht die Möglichleiten die dir die DB bietet?
Code
Alles anzeigenCursor words = db.rawQuery("select Deutsch, Englisch from " + TABLE_NAME , null); words.moveToFirst(); for(int x = 0; x <= words.getCount(); x++) { toSpeech.setLanguage(Locale.GERMAN); toSpeech.speak(words.getString(0), TextToSpeech.QUEUE_ADD, null); toSpeech.setLanguage(Locale.UK); toSpeech.speak(words.getString(1), TextToSpeech.QUEUE_ADD, null); words.moveToNext } Cursor words = db.rawQuery("select Deutsch, Englisch from " + TABLE_NAME , null); if (words.getCount() != 0) { words.moveToFirst(); do { toSpeech.setLanguage(Locale.GERMAN); toSpeech.speak(words.getString(0), TextToSpeech.QUEUE_ADD, null); toSpeech.setLanguage(Locale.UK); toSpeech.speak(words.getString(1), TextToSpeech.QUEUE_ADD, null); } while (words.moveToNext()); }
-
Nein du fragst nur nach dem Deutschen Word. Die beiden anderen Spalten werden gar nicht dem Cursor übergeben.
Cursor res = db.rawQuery("select Deutsch from " + TABLE_NAME + " where NR == " + nr, null);
Dieses Statement gibt dir nur die Spalte Deutsch zurück.
somit müsste es- res.moveToFirst();
- toSpeech.speak(res.getString(0), TextToSpeech.QUEUE_FLUSH, null);
heisen.
auch ist in deinem Statement "NR" falsch denn deine Spalte heist "NUMMER".
Somit wird er nie das finden was du suchst.
In dem SQL Statement solltest du die Bezeichner auch so schreiben wie du sie beim erstellen der Tabelle angegeben hast.
De Befehsworte schreibt man gewöhnlich gross.Cursor res = db.rawQuery("SELEECT DEUTSCH FROM " + TABLE_NAME + " WHERE NUMMER = " + nr, null);
Wenn du alle Spalten haben willst must du dein SQL Statement ändern.
SELECTt * FROM tabelname WHERE NUMMER = nr
würde alle Datenfelder vom datensatz an den Cursor übergeben.
dann hättest du mit
res.getInt(0) die Nummer
res.getString(1) Deutsch
res.getString(2) Englischbei deiner Version bekommst du nur Deusch denn das forderst du auch nur an.
Schaue die die Selekt anweisung von SQL nochmal genauer an.
-
Hallo ich glaube dies könnte dir helfen.
http://germanylandofinnovation…m-zeitbereich-vergleichen
https://stackoverrun.com/de/q/634171 -
Kein wunder denn du holst auch den string falsch aus dem Cursor
für die richtige zeile müste ich wissen in welcher Spalte der richtige String steht.
damit meine ich die Spalte "NR"
zeige mal wie deine Tabelle aufgebaut ist.res.moveToFirst();
toSpeech.speak(res.getString(0), TextToSpeech.QUEUE_FLUSH, null);Das mit dem "==" ist arber auch falsch.
Ps. eigentlich willst du ja nicht die spalte NR haben sondern den Deutschen oder Englichen String .
somit ist es nicht die Spalte NR ich weis nicht wie die bei dier heist .zeige erst mal deine Tabelle.
PS 2.
oK du forderst nur die spalte Deusch an somit müsste 0 für die erste spalte im Cursor richtig sein .