Wer erbarmt sich meiner Frage zu Kotlin?

SpeedySix

SpeedySix

Neues Mitglied
1
Hey, ich bin neu in der Programmierwelt und versuche gerade ein HandyApp auf die beine zu stellen. Ich stoße nur leider auf paar probleme
wo ich keine Lösung finde. Ich würde gerne ein Excel tabelle als .csv Datei in Kotlin einbinden und immer nur 50 Zeilen nach einander per Zufalsgenerator anzeigen lassen. Jedoch finde ich dazu nichts oder ich weiß einfache nicht wonach ich da genau suchen soll.
Währe klasse wenn mir jemand helfen könnte.

Danke schonmal,
freundliche grüße
 
SpeedySix schrieb:
Ich stoße nur leider auf paar probleme
wo ich keine Lösung finde.
Und welche Probleme sind das? Hast du schon angefangen und gibt es schon Code, der die Probleme demonstriert?

Du schreibst, dass du nichts dazu findest und nicht weisst, wonach du suchen sollst. Geht es speziell um das Einlesen der CSV oder generell um Kotlinprogrammierung?
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: swa00
@SpeedySix

herzlichst willkommen im Forum.

Da sind noch ~1000 Fragen offen , wenn man Dir helfen möchte. Und dabei ist Kotlin/Java/React erst einmal zweitrangig.

Wo liegt die CSV Liste ? Assets ? Shared ? Extern ? .............
Erst dann kann man Dir eine Richtung geben, wie du einlesen kannst.

Und wenn du das dann weist : Schlichtweg einen Stream aus der Quelle öffnen, line by line (CRLF) einlesen,
String-Splitting mit Delimiter durchführen, alles in einer klassenbasierenden ArrayList mitführen und die Records verarbeiten.

dann ...............

a) nur anzeigen ? -> Einen RecyclerView mit Adapter aus der ArrayList verwenden.
b) oder auch editieren ? -> Dann eine lokale DB (SQlite) verwenden und in (a) wieder ausgeben.
 
Zuletzt bearbeitet:
@Wald-Otto Ich habe noch kein Code da ich nicht weiß womit ich bei der implementierung anfangen soll. Es geht speziel um das einlesen und interne bearbeiten der datei.
Beiträge automatisch zusammengeführt:

Ich habe schlicht weg vor 4 Wochen mit der Programmierung angefangen und versuche mich durch mein Projekt mit Kotlin auseinander zu setzen, damit ich auch in die Praxis komme. Danke schonmal an alle für die Hilfe.
 
Zuletzt bearbeitet:
@SpeedySix

Ich habe noch kein Code
Ich habe schlicht weg vor 4 Wochen mit der Programmierung angefangen und versuche mich durch mein Projekt mit Kotlin auseinander zu setzen, damit ich auch in die Praxis komme

Ich würde Dir an dieser Stelle empfehlen , Dich erst einmal mit den Grundlagen der OOP Programmierung auseinander zu setzen, in AndroidStudio deine ersten kleinen Versuche zu unternehmen und Dich in die offizielle API Dokumentation einzulesen.
Das was du vorhast, benötigt schon fundierte Kenntnisse , insbesondere in der Thread-Programmierung.

Und ohne Dich frustieren zu wollen: Du hast Dir ein Thema ausgesucht , was für einen Anfänger schlichtweg zu umfangreich ist.
Das was ich in meinem obigen Beitrag an Schritten erwähnt habe , wäre für Dich zumindest ein Leitfaden.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: chk142
@swa00 Okay danke für die schnelle antwort. Dann mache ich es mal so wie du meinst.
 
Da ich ja auch bereits so einige Ausflüge in die Anfänge der Programmier-Erlernung unternommen habe: Es ist vor allem wichtig klein anzufangen, sich Ziele und Aufgaben zu setzen. Nur so kann man lernen. Viele Bücher und Lernhilfen gehen meiner Meinung nach einfach völlig falsch an den Stoff heran. Es wird wohl immer vorausgesetzt, dass man sich selbst Problemstellung erfindet, und Lösungen dafür findet.

Das erste mal, dass ich den richtigen Ansatz erfahren habe war in einem (kurzen) Programmierkurs, in dem wir ein Buch vom Herdt-Verlag dabei geliefert bekommen haben, in dem zum Abschluss jeden Kapitels 3 bis 4 Aufgaben gestellt wurden, die man angehen sollte. Das bringt einen immens weiter. Stures Lesen bringt gar nichts. Ich habe mal gelesen, dass Programmieren so wie das Erlernen einer Fremdsprache ist. Nichts könnte ferner der Realität sein. Das reine Vokabeln pauken ist einfach null zielführend. Man muss sich Lösungen ausdenken und erarbeiten, basierend auf dem Wissen was man bislang gesammelt hat. Und, das erfordert zum Teil wirklich kreatives Denken, weil man von generellen Automatismen auf Wege schließen muss, die einem die Lösung des Problems ermöglichen. Eben völlig anders als das Erlernen einer Fremdsprache.

Es ist schon richtig, dass du dich an eine konkrete Sache heran wagst, nur, stelle auch sicher, dass diese Sache auch deinen Kenntnissen entspricht, sonst, ich kann da wieder nur aus eigene Erfahrung reden, wirst du eine Enttäuschung erleben, und dich selbst überfordern.

Ich würde dir gerne eine Webseite mit Aufgaben empfehlen, aber, ich habe wirklich rein gar nichts im Internet gefunden, was ich da empfehlen könnte. Selbst Webseiten mit tausenden von Aufgaben, die man bewältigen kann, haben oft wirklich stupide 08/15 Aufgaben, die spätestens nach 10 Aufgaben einfach gähnend langweilig sind, und auch keine realen Szenarien beschreiben. Wie gesagt, am besten fand ich noch die Aufgaben aus dem Buch, oder Aufgaben, die uns ein Tutor mal in einem PHP-Kurs aufgegeben hat (war übrigens der einzige, der überhaupt mal echte Aufgaben gestellt haben... die haben einfach alle völlig den falschen Ansatz mit ihrer Art dieses komplexe Thema zu lehren).
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Wald-Otto und swa00
Hey, hab mal wieder eine kleine frage.
ich versuche mich gerade langsam ranzutasten. aber ich habe wieder ein problem wo ich nciht weiter weiß.
Wenn ich versuche diese activity auf meinem smartphone zu öffnen stürzt die ganze app ab. Hab ich da irgendwo ein fehler drin.

class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE

val editText1 = findViewById<EditText>(R.id.frage)
val editText2 = findViewById<EditText>(R.id.fragen1)
val text = editText1.text.toString()
editText2.setText(text)
}
}
 
Hallo

findViewById<EditText>(R.id.frage) was soll "<EditText> "

Wenn das ein Type Cast sein soll dann
Code:
val editText1 = findViewById(R.id.frage) as EditText


Mit welchen Fehler bricht es denn ab? Bitte Logcat Error posten.
 
Zuletzt bearbeitet von einem Moderator:
Bearbeitet von: swa00 - Grund: swa00
  • Danke
Reaktionen: swa00
I/ViewRootImpl@813dc3d[Games]: ViewPostIme pointer 0
I/ViewRootImpl@813dc3d[Games]: ViewPostIme pointer 1
I/DecorView: [INFO] isPopOver=false, config=true
I/DecorView: updateCaptionType >> DecorView@271a960[], isFloating=false, isApplication=true, hasWindowControllerCallback=true, hasWindowDecorCaption=false
D/DecorView: setCaptionType = 0, this = DecorView@271a960[]
I/DecorView: getCurrentDensityDpi: from real metrics. densityDpi=280 msg=resources_loaded
D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.trinkkarussell, PID: 9224
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.trinkkarussell/com.example.trinkkarussell.Picolo}: java.lang.ClassCastException: com.google.android.material.textview.MaterialTextView cannot be cast to android.widget.EditText
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4035)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4201)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2438)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:226)
at android.os.Looper.loop(Looper.java:313)
at android.app.ActivityThread.main(ActivityThread.java:8663)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)
Caused by: java.lang.ClassCastException: com.google.android.material.textview.MaterialTextView cannot be cast to android.widget.EditText
at com.example.trinkkarussell.Picolo.onCreate(Picolo.kt:15)
at android.app.Activity.performCreate(Activity.java:8290)
at android.app.Activity.performCreate(Activity.java:8270)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1329)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4009)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4201)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2438)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:226)
at android.os.Looper.loop(Looper.java:313)
at android.app.ActivityThread.main(ActivityThread.java:8663)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:567)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)
I/Process: Sending signal. PID: 9224 SIG: 9

das ist mein Fehler Log, wenn ich versuche in die Activity zu kommen.
 
hab das problem gelöst, aber danke für antwort. hab es in der xml als Textview angegeben und in der activity versucht als Edittext auszulesen was logsicher nicht funktioniert.
 
  • Danke
Reaktionen: jogimuc
java.lang.ClassCastException: com.google.android.material.textview.MaterialTextView cannot be cast to android.widget.EditText

Genau das sagt auch der Fehler
 
Ich hätte da noch eine Frage. Mein ziel ist ja eine Quiz app zu machen wo mehrere User nutzen können. Ich weiß aber nicht was für ein Datenbank ich benötige. Ich würde das Spiel gerne als Offline Game machen also mit einer Intern Gespeicherten Datenbank. Kann ich das auch mit MySQL erreichen oder muss ich da auf ein anderen Datenbank typ zugreifen z.B. eine einfache CSV Datei.
 
Dafür hat Android die Sqlite schon an Bord.
Du solltest aber zumindestens den SQLiteOpenHelper von Android benutzen.

Oder das Room Feamework was dann unter der Haube auch Sqlite benutzt.
 

Ähnliche Themen

D
Antworten
17
Aufrufe
408
datNeMo
D
O
  • ortech
Antworten
7
Aufrufe
696
jogimuc
J
Helmut1A
  • Helmut1A
Antworten
7
Aufrufe
1.127
Helmut1A
Helmut1A
Zurück
Oben Unten