Probleme, eigene App auf Android 6.0.1 zu installieren

  • 19 Antworten
  • Neuster Beitrag
N

no1Ltan

Fortgeschrittenes Mitglied
Threadstarter
Guten Abend, liebe Android-Hilfe Community,

nach ca. 1 Jahr Pause bin ich wieder dabei, mich mit der App-Entwicklung für Android zu befassen.
Ich musste damals leider aufgeben, weil es keine Möglichkeit gab, meine App auf die Uhr zu transferieren.

Mitlerweile haben beide Geräte (Smartwatch - Moto 360, Smartphone - Galaxy S5) die gleiche Android Version drauf (6.0.1).
Mein erster Versuch, die von Android Studio generierte apk auf dem Smartphone zu installieren, scheiterte leider.
Ich hab einfach über Build eine apk erstellt, diese per Bluetooth an das S5 geschickt.
Beim Versuch, die App zu installieren, kam nur die Meldung, "X App wurde nicht installiert."

Meine Vermutung ist, dass es Probleme mit dem API gibt.
Android 6 ist API 23.

Ich habe daraufhin versucht, die build.gradle umzuschreiben, aber ich weiß nicht, was ich bei
implementation 'com.android.support:wear:
schreiben soll.
Diese build.gradle lässt sich jedenfalls nicht compilieren:
Code:
apply plugin: 'com.android.application'

android
{
    compileSdkVersion 23
    defaultConfig
    {
        applicationId "com.example.username.appname"
        minSdkVersion 23
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes
    {
        release
        {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    buildToolsVersion '23.0.3'
}
dependencies
{
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.google.android.support:wearable:2.3.0'
    implementation 'com.google.android.gms:play-services-wearable:15.0.1'
    implementation 'com.android.support:percent:23.1.1'
    implementation 'com.android.support:support-v13:23.1.1'
    implementation 'com.android.support:recyclerview-v7:23.1.1'
    implementation 'com.android.support:wear:23.0.0'
    compileOnly 'com.google.android.wearable:wearable:2.3.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
}
Das hier war die ursprüngliche build.gradle, die sich problemlos compilieren ließ, aber ich vermute,
dass ich komplett auf API 23 setzen muss, da die App auf dem Handy nicht startet.
Code:
apply plugin: 'com.android.application'

android
{
    compileSdkVersion 27
    defaultConfig
    {
        applicationId "com.example.username.appname"
        minSdkVersion 23
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
    }
    buildTypes
    {
        release
        {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    buildToolsVersion '27.0.3'
}
dependencies
{
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.google.android.support:wearable:2.3.0'
    implementation 'com.google.android.gms:play-services-wearable:15.0.1'
    implementation 'com.android.support:percent:27.1.1'
    implementation 'com.android.support:support-v13:27.1.1'
    implementation 'com.android.support:recyclerview-v7:27.1.1'
    implementation 'com.android.support:wear:27.1.1'
    compileOnly 'com.google.android.wearable:wearable:2.3.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
}
Ich hoffe, dass ich nur eine Kleinigkeit vergessen habe.
Bin leider echt raus aus der Materie :(

Ziel ist es, die App auf dem Smartphone zu installieren, so dass diese auch automatisch auf die Uhr installiert wird.

Danke für jede Hilfe!
 
N

no1Ltan

Fortgeschrittenes Mitglied
Threadstarter
Hallo,

ich habe die App nun signiert.
(Build -> Generate Signed Bundled / APK...)
Passwörter erstellt, Name, Company und am Ende V1 und V2 angekreuzt.
Es wurde anschließend eine app-release.apk erstellt.

Leider kommt die gleiche Meldung, wenn ich die App auf dem S5 installieren will.

Kann es sein, dass ich in der build.gradle wirklich ALLES auf API23 stellen muss?
compileSdkVersion 23
minSdkVersion 23
targetSdkVersion 23
?

Anders kann ich es mir grad nicht vorstellen.
Könnt ihr mir bitte helfen?
Falls ihr mehr Details braucht, sagt einfach Bescheid!

P.S. Auf dem Android Wear Emulator läuft die App tadellos.

LG
 
J

jogimuc

Erfahrenes Mitglied
Hallo das es nur am gradle ligt glaube ich nicht. Hast du überhaupt eine activity dir auf dem Handy ausgeführt wird?
In deinem gradle sehe ich nivz das da die üblichen Support libs geladen werden.

Interessent wäre auch deine Manifest. Um zusehen ob du auch eine activity für das handy hast.

Ich denke du hast nur eine activity die aus einer watch ausgeführt werden kann aber nicht auf einem handy.
 
N

no1Ltan

Fortgeschrittenes Mitglied
Threadstarter
Hallo jogimuc,

danke für deine Antwort!

Ja, du hast vollkommen Recht.
Die App ist wirklich nur für Wear gedacht.
Ich dachte, dies sei erlaubt/möglich?

Vor langer Zeit hatte ich eine App aus dem PlayStore geladen, die nur auf der Uhr zu sehen war.
Ich hatte sie direkt aus dem Store installiert und auf dem Smartphone war sie nicht auffindbar,
was an sich auch korrekt war.

Meine App soll ebenfalls nicht auf dem Handy laufen.
Das Handy soll nur zur Installation dienen (damit die App auf der Uhr landet.)

Das ist die AndroidManifest:
Code:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.username.appname">

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

    <uses-feature android:name="android.hardware.type.watch" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@android:style/Theme.DeviceDefault">
        <uses-library
            android:name="com.google.android.wearable"
            android:required="true" />
        <!--
               Set to true if your app is Standalone, that is, it does not require the handheld
               app to run.
        -->
        <meta-data
            android:name="com.google.android.wearable.standalone"
            android:value="true" />

        <activity
            android:name=".MainActivity"
            android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".Colors" />
        <activity android:name=".ConfirmAction" />
        <activity android:name=".TriggerOnResume" />
    </application>

</manifest>
 
J

jogimuc

Erfahrenes Mitglied
Hallo wie war das bei der App aus dem Store? Die ist doch bestimmt direkt vom Store auf die Wear geschickt worden und gar nicht auf dem Handy gewesen.

Auf der Wear ist bestimmt auch Google Play drauf somit kann google die app auch direkt vom Browser aus auf die Uhr oder den Tab schicken.

Was ist die MainActivity ist die für die Uhr oder Handy?
Denn die Activity wird wenn du das Auf das Handy schickst aufgerufen und ausgeführt. Wenn das keine Activity ist, die für eine Wear ist, wird das auf dem Handy nicht gehen.


Du müsstest die App wohl an die Uhr schicken und dort im Explorer installieren.
 
Zuletzt bearbeitet:
N

no1Ltan

Fortgeschrittenes Mitglied
Threadstarter
Hallo jogimuc,

ne, so war es leider nicht.
Die App musste ich vom Handy aus vom PlayStore runterladen und installieren.
Nach Abschluss der Installation war sie automatisch auf der Uhr.
Einen PlayStore speziell für und auf der Uhr gibt es nicht - zumindest bei meiner nicht.

Bei einer älteren Version von Android Studio konnte man beim Erstellen eines Projekts ankreuzen,
auf welchen Platformen es laufen soll.
Bei Android Studio 3.5 geht das leider nicht mehr.
Entweder nur Phone/Tablet ODER Wear ODER TV ODER AUTO ODER Things.

So, wie ich es verstanden habe (Youtube), müsste am Ende eine apk-Datei erstellt werden,
die für das Smartphone ist.
Innerhalb dieser apk-Datei muss dann eine weitere apk-Datei sein, die für Wear ist.
Bei mir ist das nicht der Fall, da ich anscheinend eine reine Wear-apk erstellt habe.#
Die muss aber auch auf dem Smartphone laufen.

Hast du vielleicht noch eine andere Idee?
Danke für dein Zeit.
 
J

jogimuc

Erfahrenes Mitglied
Hallo im Moment habe ich keine Idee binn auch nicht am Rechner. Nur Handy. Vieicht nechste woche.
Habe leider auch keine echte Wear.
 
N

no1Ltan

Fortgeschrittenes Mitglied
Threadstarter
Hallo,

ich habe einen kleinen Fortschritt gemacht.
Innerhalb der AndroidManifest habe ich die folgenden Zeilen geändert:
Code:
            android:name="com.google.android.wearable"
            android:required="false" />
        <!--
               Set to true if your app is Standalone, that is, it does not require the handheld
               app to run.
        -->
        <meta-data
            android:name="com.google.android.wearable.standalone"
            android:value="false" />
Da meine Watch ja abhängig vom Smartphone ist (weil sie noch Android Wear 1x nutzt), macht ein TRUE hier kein Sinn.
Die App kann auf dem Smartphone nun installiert werden.
Beim Start passiert nichts und die App ist nicht auf der Watch.

Ich habe gelesen, dass innerhalb der res-Ordners (in der finalen apk-Datei) ein weiterer Ordner namens raw sein muss,
in dem sich die apk für wear befindet.
Bei mir ist das nicht der Fall.

Langsam glaub ich wirklich dass Android Studio 3.5 das Problem ist, da ich beim Erstellen eines Projects
nicht mehr wie früher Phone/Tablet UND Wear ankreuzen kann.

Grüße
 
N

no1Ltan

Fortgeschrittenes Mitglied
Threadstarter
Hallo,

hab weitere Fortschritte gemacht.
Zuerst musste ich die API auf 29 setzen und danach die gradle-Version updaten.
Danach ging ich auf "Refactor -> Migrate to AndroidX..."
Anschließend war es mir möglich, über "File -> Project Structure" ein Wear-Modul zu importieren.

Ich habe danach alle Codes und xml-Dateien (die sowieso für Wear gedacht waren),
innerhalb des wear-Ordners eingefügt.

Leider meckert Android Studio bezüglich des FragmentManagers.
Hier mal einige Teiles des Codes, die als fehlerhaft markiert werden:
import androidx.legacy.app.FragmentPagerAdapter; -> Cannot resolve symbol 'FragmentPagerAdapter'
viewpager.setAdapter(Adapter); -> setAdapter(androidx.viewpager.widget.PagerAdapter) in ViewPager cannot be aplied
public class MyViewPagerAdapter extends FragmentPagerAdapter -> Cannot resolve symbol 'FragmentPagerAdapter'
super(manager); -> Object() in Object cannot be applied to (android.app.FragmentManager)
und weiter unten sind alle @Overrides rot unterstrichen -> does not overwrite method from its super class

Das sind alle imports innerhalb der MainActivity:
import android.app.Fragment;
import android.app.FragmentManager;
import android.os.Bundle;
import androidx.annotation.Nullable;
import androidx.legacy.app.FragmentPagerAdapter;
import androidx.viewpager.widget.ViewPager;
import android.support.wearable.activity.WearableActivity;
import java.util.ArrayList;
import java.util.List;

Komischerweise wird die gleiche MainActivity, die sich im Ordner app befindet, als fehlerfrei gesehen.
Puh, mir qualmt grad echt der Kopf.
Ich war echt froh, dass ich den ersten Teil geschafft hab.

Wäre super, wenn ihr mir da weiterhelfen könnt.
Ich hatte schon einiges probiert, aber es ist eher "try and fail".

Gruß
Beitrag automatisch zusammengefügt:

Ich nochmal:

Es ist jetzt nur noch 1 Codezeile falsch.
MyViewPagerAdapter Adapter = new MyViewPagerAdapter(getFragmentManager());
-> MyViewPagerAdapter (androidx.fragment.app.FragmentManager) in MyViewPagerAdapter cannot be applied to (android.app.FragmentManager).

Hier der gesamte Code:
Code:
package com.example.appnamewear;
import android.os.Bundle;
import android.support.wearable.activity.WearableActivity;
import androidx.annotation.Nullable;
import androidx.fragment.app.FragmentActivity;
import androidx.viewpager.widget.ViewPager;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import java.util.ArrayList;
import java.util.List;

public class MainActivity extends WearableActivity
{
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.content_main); // Link to layout
        ViewPager vp = findViewById(R.id.vp); // Link variable to ID
        SetUpViewPager(vp); // Run viewpager method
    }
    public void SetUpViewPager(ViewPager viewpager)
    {
        MyViewPagerAdapter Adapter = new MyViewPagerAdapter(getFragmentManager());
        Adapter.AddPageFragment(new Fragment1(), "Fragment1");   // Load page 1 inside of ViewPager
        Adapter.AddPageFragment(new Fragment2(), "Fragment2"); // Load page 2 inside of ViewPager
        Adapter.AddPageFragment(new Fragment3(), "Fragment3");    // Load page 3 inside of ViewPager
        Adapter.AddPageFragment(new Fragment4(), "Fragment4");   // Load page 4 inside of ViewPager
        Adapter.AddPageFragment(new Fragment5(), "Fragment5");   // Load test page inside of ViewPager
        viewpager.setAdapter(Adapter);
    }
    public class MyViewPagerAdapter extends androidx.fragment.app.FragmentStatePagerAdapter
    {
        private List<Fragment> MyFragment = new ArrayList<>();
        private List<String> MyPageTitle = new ArrayList<>();

        public MyViewPagerAdapter(FragmentManager manager)
        {
            super(manager);
        }
        public void AddPageFragment(Fragment Frag, String Title)
        {
            MyFragment.add(Frag);
            MyPageTitle.add(Title);
        }
        @Override
        public androidx.fragment.app.Fragment getItem(int i)
        {
            return MyFragment.get(i);
        }
        @Nullable
        @Override
        public CharSequence getPageTitle(int position)
        {
            return MyPageTitle.get(position);
        }
        @Override
        public int getCount()
        {
            return 5; // 4 pages total + 1 test
        }
    }
}
Danke für jede Hilfe!
Gruß
 
Zuletzt bearbeitet:
J

jogimuc

Erfahrenes Mitglied
Hallo
versuche mal
MyViewPagerAdapter Adapter = new MyViewPagerAdapter(getSupportFragmentManager());
 
N

no1Ltan

Fortgeschrittenes Mitglied
Threadstarter
Hallo,
leider hat es nicht geklappt: "Cannot resolve method 'getSupportFragmentManager()".

Ich glaube, das hatte ich sogar versucht (hatte danach gegoogelt).
 
N

no1Ltan

Fortgeschrittenes Mitglied
Threadstarter
Nachtrag:
Es funktioniert, wenn ich
public class MainActivity extends FragmentActivity
schreibe, aber ich brauche ja:
public class MainActivity extends WearableActivity

Gruß
 
J

jogimuc

Erfahrenes Mitglied
Hallo dann versuche es mal so

baue den Constructor etwas um.

Code:
import android.os.Bundle;
import android.support.wearable.activity.WearableActivity;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentStatePagerAdapter;
import androidx.viewpager.widget.ViewPager;
import java.util.ArrayList;
import java.util.List;


public class MainActivity extends WearableActivity
{
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main); // Link to layout
        ViewPager vp = findViewById(R.id.vp); // Link variable to ID
        SetUpViewPager(vp); // Run viewpager method
    }
    public void SetUpViewPager(ViewPager viewpager)
    {
        MyViewPagerAdapter Adapter = new MyViewPagerAdapter(getFragmentManager());
        Adapter.AddPageFragment(new Fragment1(), "Fragment1");   // Load page 1 inside of ViewPager
        Adapter.AddPageFragment(new Fragment2(), "Fragment2"); // Load page 2 inside of ViewPager
        Adapter.AddPageFragment(new Fragment3(), "Fragment3");    // Load page 3 inside of ViewPager
        Adapter.AddPageFragment(new Fragment4(), "Fragment4");   // Load page 4 inside of ViewPager
        Adapter.AddPageFragment(new Fragment5(), "Fragment5");   // Load test page inside of ViewPager
        viewpager.setAdapter(Adapter);
    }

    public class MyViewPagerAdapter extends FragmentStatePagerAdapter
    {
        private List<Fragment> MyFragment = new ArrayList<>();
        private List<String> MyPageTitle = new ArrayList<>();

        public MyViewPagerAdapter(androidx.fragment.app.FragmentManager fm) {
            super(fm);
        }

        public MyViewPagerAdapter(Object fragmentManager) {
            super((androidx.fragment.app.FragmentManager) fragmentManager);
        }


        public void AddPageFragment(Fragment Frag, String Title)

        {
            MyFragment.add(Frag);
            MyPageTitle.add(Title);
        }
        @Override
        public androidx.fragment.app.Fragment getItem(int i)
        {
            return MyFragment.get(i);
        }
        @Nullable
        @Override
        public CharSequence getPageTitle(int position)
        {
            return MyPageTitle.get(position);
        }
        @Override
        public int getCount()
        {
            return 5; // 4 pages total + 1 test
        }
    }
}
 
N

no1Ltan

Fortgeschrittenes Mitglied
Threadstarter
Hallo und danke!

Erstmal ein paar gute Nachrichten:
Die Codes werden von Android Studio als fehlerfrei gewertet.
Ich habe die App erfolgreich signiert und es war sogar möglich, die App auf die Uhr zu installieren.
(Das war leider viel schwieriger als gedacht.)

Die schlechte Nachricht:
Die App startet leider nicht - auch auf dem Emulator nicht.
Im Logcat steht:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.username.appname/appname.example.username.appname.MainActivity}:
java.lang.ClassCastException: android.app.FragmentManagerImpl cannot be cast to androidx.fragment.app.FragmentManager


Außerdem ist mir aufgefallen, dass diese Codezeile (in der MainActivity) grau dargestellt wird:
Code:
        public MyViewPagerAdapter(androidx.fragment.app.FragmentManager fm)
        {
            super(fm);
        }
Android Studio sagt, "Constructur 'MyViewPagerAdapter(androidx.fragment.app.FragmentManager)' is never used."

Vielleicht hilft dir diese Info?
Mir hilft sie leider nicht...

Viele Grüße
 
J

jogimuc

Erfahrenes Mitglied
Sorry

eigentlich sollte der nicht benutzte Konstruktor auskommentiert sein. keine Ahnung warum das beim Kopieren nicht geklappt hat.

Lösche den und es wird bestimmt gehen.

Ich habe es nicht getestet nur im Editor geschrieben.
 
N

no1Ltan

Fortgeschrittenes Mitglied
Threadstarter
Hallo,
leider hat sich nichts geändert.
Immer noch die gleiche Fehlermeldung beim Start der App (im Emulator).
 
J

jogimuc

Erfahrenes Mitglied
Dann zeige nochmal den Code oder schicke mir das Projekt mal im pm schaue esir mir gerne an und teste es im emulator.

Packe das Projekt ohne build Ordner in eine Zip Datei die müsstest du schicken können.
 
J

jogimuc

Erfahrenes Mitglied
Hallo habe dein Projekt mal getestet und etwas verändert im Emulator läuft es bei mir .
China Version und normale Wear OS Square API28.
Habe auch dein Fragmet Layout etwas angepasst. Die Ankerpunkte deiner ScrollView waren falsch.
Code:
import android.os.Bundle;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter;
import androidx.viewpager.widget.ViewPager;
import java.util.ArrayList;
import java.util.List;



public class MainActivity extends FragmentActivity
{
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.content_main); // Link to layout
        ViewPager vp = findViewById(R.id.vp); // Link variable to ID
        SetUpViewPager(vp); // Run viewpager method
    }
    public void SetUpViewPager(ViewPager viewpager)
    {
        FragmentManager fm1 = getSupportFragmentManager();
        MyViewPagerAdapter Adapter = new MyViewPagerAdapter(fm1);
        Adapter.AddPageFragment(new Fragment1(), "Fragment1");   // Load page 1 inside of ViewPager

        viewpager.setAdapter(Adapter);
    }
    public class MyViewPagerAdapter extends FragmentPagerAdapter
    {
        private List<Fragment> MyFragment = new ArrayList<>();
        private List<String> MyPageTitle = new ArrayList<>();


        public MyViewPagerAdapter(FragmentManager fragmentManager)
        {
            super(fragmentManager);
        }


        public void AddPageFragment(Fragment Frag, String Title)
        {
            MyFragment.add(Frag);
            MyPageTitle.add(Title);
        }
        @Override
        public Fragment getItem(int i)
        {
            return MyFragment.get(i);
        }
        @Nullable
        @Override
        public CharSequence getPageTitle(int position)
        {
            return MyPageTitle.get(position);
        }
        @Override
        public int getCount()
        {
            return MyFragment.size(); // 1 page total
        }
    }
}
Code:
import android.os.Bundle;
import androidx.viewpager.widget.ViewPager;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

public class Fragment1 extends Fragment
{
    ViewPager viewPager;

    public Fragment1() {
        // Required empty public constructor
    }
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    public View onCreateView(LayoutInflater inflater, ViewGroup container,  Bundle savedInstanceState)
    {
        View fragment1 = inflater.inflate(R.layout.fragment1, container, false); // Link view and layout
        return fragment1;
    }
}
Code:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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:id="@+id/constraint_layout_settings"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#222020">

    <TextView
        android:id="@+id/text_view_header_settings"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:background="#000000"
        android:gravity="center_horizontal"
        android:paddingTop="3dp"
        android:text="Fragment1"
        android:textColor="#ffffff"
        android:textSize="15sp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHeight_default="percent"
        app:layout_constraintHeight_percent="0.10"
        app:layout_constraintHorizontal_bias="0.503"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <ScrollView
        android:id="@+id/scroll_view_settings"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:background="#222020"
        android:fillViewport="true"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/text_view_header_settings"
        app:layout_constraintVertical_bias="0.0"></ScrollView>

</androidx.constraintlayout.widget.ConstraintLayout>
Beitrag automatisch zusammengefügt:

eine Info am rande Variablen schreibt man klein Kassen gross.
 
N

no1Ltan

Fortgeschrittenes Mitglied
Threadstarter
Hallo jogimuc,

ich danke dir vielmals!
Die App läuft jetzt und ich hatte ein Dauergrinsen, als ich sie zum ersten Mal auf der Uhr startete :)

Wenn ich mir das so anschaue, lag wohl die Hauptursache an:
Code:
public class MainActivity extends WearableActivity
Es muss, wie du geschrieben hattest, extends FragmentActivity sein.
(Vor dieser androidX-Geschichte lief das ja auch noch.)

Dann noch zusätzlich:
Code:
        FragmentManager fm1 = getSupportFragmentManager();
        MyViewPagerAdapter Adapter = new MyViewPagerAdapter(fm1);
und die anderen kleinen Änderungen.

Abschließend musste ich in der build.gradle(wear) noch diese Zeile einfügen:
Code:
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
Ja, das mit der Kleinschreibung bei Variablen und Großschreibung bei Klassen weiß ich eigentlich.
Vielleicht war es ein Flüchtigkeitsfehler.
Die Beispiel-App hatte ich schnell gemacht, damit wir uns auf das eigentliche Problem fokusieren können.

Tja, die App läuft zwar, aber es wartet noch viel viel Arbeit auf mich ;)
Vielen Dank nochmal!
 
J

jogimuc

Erfahrenes Mitglied
Danke für das Feedback.

Noch viel Spaß und Erfolg bei der weiteren Arbeit.
 
Oben Unten