Erste richtige App

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Erste richtige App

    Hallo

    ich habe vor meine 1. App neben den Tutorial Apps zu programmieren.
    Ich möchte folgendes machen:

    Eine kleine App die 3 Buttons hat.

    - Klick ich auf Button 1 muss ich einen Text eingeben und auf Weiter klicken.
    - Dann will ich den Text in ner String Variable Speichern und auf die Kamera zugreifen und ein Bild aufnehmen
    - Dann klicke auf Senden und das Programm soll den Text und das Bild an einen PC in ein bestimmten Order senden.

    Also wie gesagt das soll eine recht einfache App werden also Design komplett egal,
    mich interessieren nur wie ich auf die Kamera zugreifen, Bilder benutze die ich gemacht hab, und der transfer an einen PC mit einer Bestimmten IP Adresse / PC Name im selben WLan

    Kann mir da jemand helfen und erklären wie ich das grundlegend machen kann?

    Bin selber Programmierer, allerdings halt in den C++ / C#. also brauch keine "Wie Programmier ich Anweisung" , nur die richtigen Vorgehensweisen bei Android

    Danke im Vorraus.
    Kaladial

    P.S.:
    Ich hab das Android Studio 4.0 vom 20.Mai installiert und es läuft auch mit dem Handy-Simulator.
    Also das geht.
  • Klar geht das.

    Hier ist ein Beispiel für die CameraX API ...
    medium.com/@akhilbattula/andro…java-example-aeee884f9102

    ... und für das Senden der Bilder auf den PC würde ich hier mal reinschauen.


    Auf dem PC muss dann der Server laufen, der die Bilder empfängt.

    Viel Erfolg
  • Hi danke für die antwort,

    ok ich stell fest ich brauch doch erstmal grundlegendere Infos.

    1.) ich hab in meinem Layout nen Button angelegt...
    Wie bekomm ich es hin das beim Buttonklick irgendwas passiert ?
    In C# klickste den Button doppelt an und der Desinger erzeugt das Event samt Grundfunktion... das klappt hier irgendwie net so richtig...

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Kaladial ()

  • so ich bin nun dabei die CameraX API zu implementieren

    Fangen wir bei Step 1 an:

    <uses-permission android:name=”android.permission.CAMERA” />
    das soll in die manifest.xml

    was nicht beschrieben ist: wo in der manifest-dateien gehörten privilegien hin?

    Das da ist meine derzeitige manifestdatei

    XML-Quellcode

    1. <?xml version="1.0" encoding="utf-8"?>
    2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    3. package="com.example_kaladial82.sharedpref">
    4. <application
    5. android:allowBackup="true"
    6. android:icon="@mipmap/ic_launcher"
    7. android:label="@string/app_name"
    8. android:roundIcon="@mipmap/ic_launcher_round"
    9. android:supportsRtl="true"
    10. android:theme="@style/AppTheme">
    11. <activity android:name=".MainActivity">
    12. <intent-filter>
    13. <action android:name="android.intent.action.MAIN" />
    14. <category android:name="android.intent.category.LAUNCHER" />
    15. </intent-filter>
    16. </activity>
    17. </application>
    18. </manifest>
    Alles anzeigen
  • das selbe gilt für das build.grandle

    implementation "androidx.camera:camera-camera2:${camerax_version}"
    implementation "androidx.camera:camera-lifecycle:${camerax_version}"
    implementation"androidx.camera:camera-view:1.0.0-alpha12"
    implementation "androidx.camera:camera-extensions:1.0.0-alpha12"

    wo soll das hin ?

    Quellcode

    1. // Top-level build file where you can add configuration options common to all sub-projects/modules.
    2. buildscript {
    3. repositories {
    4. google()
    5. jcenter()
    6. }
    7. dependencies {
    8. classpath "com.android.tools.build:gradle:4.0.0"
    9. // NOTE: Do not place your application dependencies here; they belong
    10. // in the individual module build.gradle files
    11. }
    12. }
    13. allprojects {
    14. repositories {
    15. google()
    16. jcenter()
    17. }
    18. }
    19. task clean(type: Delete) {
    20. delete rootProject.buildDir
    21. }
    Alles anzeigen




    die user rechte hab ich nun im mom unter </application> gepackt, da werden keine fehler angezeigt
  • Ich hab noch ein 2. build.grandle für das modul gefunden und die implementierungen jetzt zu den anderen gepackt.
    ist das so OK ?

    Quellcode

    1. apply plugin: 'com.android.application'
    2. android {
    3. compileSdkVersion 30
    4. buildToolsVersion "30.0.0"
    5. defaultConfig {
    6. applicationId "com.example_kaladial82.sharedpref"
    7. minSdkVersion 23
    8. targetSdkVersion 30
    9. versionCode 1
    10. versionName "1.0"
    11. testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    12. }
    13. buildTypes {
    14. release {
    15. minifyEnabled false
    16. proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    17. }
    18. }
    19. }
    20. dependencies {
    21. implementation fileTree(dir: "libs", include: ["*.jar"])
    22. implementation 'androidx.appcompat:appcompat:1.1.0'
    23. implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    24. testImplementation 'junit:junit:4.12'
    25. androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    26. androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
    27. implementation "androidx.camera:camera-camera2:${camerax_version}"
    28. implementation "androidx.camera:camera-lifecycle:${camerax_version}"
    29. implementation "androidx.camera:camera-view:1.0.0-alpha12"
    30. implementation "androidx.camera:camera-extensions:1.0.0-alpha12"
    31. }
    Alles anzeigen
  • Ok ich bekomm mittlerweile die Kamera auf und kann nen Bild machen und beim verlassen der Kam wird auch das Event aufgerufen In dem Event macht er unter anderem das:

    Quellcode

    1. Toast.[i]makeText[/i](getApplicationContext(), "Bild gespeichert unter: " + bild.getAbsolutePath() ,Toast.LENGTH_SHORT).show();bm1 = BitmapFactory.[i]decodeFile[/i](bild.getAbsolutePath());ivBild1.setImageBitmap(bm1);i++;bild = new File(dir, i + ".png");Toast.[i]makeText[/i](getApplicationContext(), "Neues Bild: " + bild.getAbsolutePath() ,Toast.LENGTH_SHORT).show();
    Wieso zeigt er mir die Toasts richtig an aber das ImageView bleibt leer?

    ahja und wo ist /storage/emulated/0/ <--- also wie find ich über den Windows Explorer dieses Verzeichnis auf dem Handy?
  • hallo

    Frage unter welcher Android Version arbeitest du?
    Ab API 23 erstmal User permission zur Laufzeit.
    Ab API 26 Zugriff auf externe sd Karte nur mit SAF,
    Ab API 28 auch interne sd Karte nur vollzugriff mit SAF.

    Außer die Ordner mit Android und deinen Paketnamen diese werden aber auch beim löschen der app gelöscht.

    Ab API 29 auch scoped storage

    Ps welche Fehler Meldung kommt denn wenn du auf den Speicher zugreifen willst?
    Ein Feedback auf Tipps ist auch schön. :P

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von jogimuc ()