Android Studio: Wieso verändern die Elemente ihre Position?

Hey,

ich habe da ein kleines Problem. Auf dem PC sind alle Elemente dort, wo sie sein sollten, aber wenn ich die App auf dem Handy ausführe, sind die Elemente irgendwie bzw. irgendwo platziert. Kann mir jemand vielleicht sagen, woran es liegen könnte?

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:background="@color/black_shade_1"
  tools:context=".MainActivity">
  <ImageView 
    android:layout_width="152dp"
    android:layout_height="185dp" 
    app:srcCompat="@drawable/iconqrlogo" 
    android:id="@+id/imageView"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    android:layout_marginTop="32dp"
    app:layout_constraintHorizontal_bias="0.498" />
  <ProgressBar
    style="?android:attr/progressBarStyle"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/progressBar"
    android:visibility="visible"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.498"
    android:layout_marginTop="56dp"
    app:layout_constraintTop_toBottomOf="@+id/imageView" />
  <Button
    android:text="@string/generateButton"
    android:layout_width="250dp"
    android:layout_height="60dp"
    android:id="@+id/generateQrCode"
    app:backgroundTint="@color/yellow"
    android:textColor="#000000"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintHorizontal_bias="0.496"
    app:layout_constraintBottom_toBottomOf="parent"
    android:layout_marginBottom="160dp" />
  <Button
    android:text="@string/scanCode"
    android:layout_width="250dp"
    android:layout_height="60dp"
    android:id="@+id/scanQrCode"
    app:backgroundTint="@color/yellow"
    android:textColor="#000000"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/progressBar"
    android:layout_marginTop="48dp"
    app:layout_constraintHorizontal_bias="0.503"
    app:layout_constraintBottom_toTopOf="@+id/generateQrCode"
    app:layout_constraintVertical_bias="0.061" />
</androidx.constraintlayout.widget.ConstraintLayout>
Android Studio: Wieso verändern die Elemente ihre Position?
Computer, Apps, Programmieren, Java, Android, Android App, Android Studio
Wieso ändern sich die Position der Elemente am Handy?

Hey Leute,

ich habe ein kleines Preoblem und zwar die Positionen der Elemente im Android Studio enspricht nicht der am Handy also am Handy werden sie komplett anders angeordernt und nicht wie ich sie im Android Studio positioniert hatte.

Z.B. der Button sollte oben sein und nicht unten!

Hat jemand vielleicht eine Idee voran es liegen könnte?

Danke im Voraus


  

<?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:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="158dp"
        android:layout_marginBottom="274dp"
        android:text="@string/button"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toStartOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>



---------------------------manifest------------------
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.test">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.Test">
        <activity
            android:name=".MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

</manifest>


-----------------gradle-------------------------
plugins {
    id 'com.android.application'
}

android {
    compileSdk 31

    defaultConfig {
        applicationId "com.example.test"
        minSdk 21
        targetSdk 31
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {

    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'com.google.android.material:material:1.3.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}
Wieso ändern sich die Position der Elemente am Handy?
Programmieren, Design, Java, Android App, Android Studio
Android Studio App stürzt ab nach klick auf Button?

Hallo,

ich habe eine Android Studio Applikation mit einer Bottom Navigation bar, bei welcher unter dem Reiter "Profile" ein User hinzugefügt werden soll. Wenn ich dort auf "Add User" klick stürzt die App allerdings ab, in der Version ohne Navigationsbar funktioniert das allerdings einwand frei. Vielleicht kann mir jedmand helfen, den Fehler zu finden.

Hier ist die UI von Profile:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout ...
    ...
    <Button
        android:id="@+id/btAddUser"
        ...
        android:text="Add User"
        android:onClick="onAddUser"
        />

</LinearLayout>

Hier die UI der BottomBar:

<?xml version="1.0" encoding="utf-8"?>
<...
    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/fragment_container"
        >  
...
 app:menu="@menu/bottom_navigation"/>
    </FrameLayout>

Die Klasse zur BottomBar:

package com.example.bottomnav;
import ...
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

BottomNavigationView bottomNavigation = findViewById(R.id.bottom_navigation);    bottomNavigation.setOnNavigationItemSelectedListener(navListener);
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
...
private BottomNavigationView.OnNavigationItemSelectedListener navListener =
new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull @NotNull MenuItem item) {
Fragment selectedFragment = null;
switch (item.getItemId())
{
case R.id.nav_projects:
selectedFragment = new ...
ProfileFragment();
break;
}
                    getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
selectedFragment).commit();
return true;
}};}

Hier der Code zum Profil hinzufügen:

@Nullable
@org.jetbrains.annotations.Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    return inflater.inflate(R.layout.fragment_profile, container, false);
}

public
class MyActivity extends AppCompatActivity {
    ...

    Button btAddUser;
...

    Boolean isAdmin = Boolean.FALSE;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.fragment_profile);
       ...
        btAddUser = findViewById(R.id.btAddUser);

        btAddUser.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {onAddUser(btAddUser);}

    public void onAddUser(View view) {
...

Computer, Java, Android, Informatik, XML, Progamm, Android Studio
Wie kann ich einen Fehler bei Android Studio (Kotlin) beheben?

Ich habe heute zum ersten Mal den folgenden Fehler in der Ausgabe in Android Studio erhalten:

A problem occurred configuring root project 'MeinProjektName'.

Could not resolve all artifacts for configuration ':classpath'.

Could not find org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.0-release-764.

Searched in the following locations:

https://dl.google.com/dl/android/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.5.0-release-764/kotlin-stdlib-jdk8-1.5.0-release-764.pom

https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.5.0-release-764/kotlin-stdlib-jdk8-1.5.0-release-764.pom

Required by:

project :

Could not find org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.5.0-release-764.

Searched in the following locations:

https://dl.google.com/dl/android/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.5.0-release-764/kotlin-stdlib-jdk8-1.5.0-release-764.pom

https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.5.0-release-764/kotlin-stdlib-jdk8-1.5.0-release-764.pom

Required by:

project : > com.android.tools.build:gradle:4.2.0

project : > com.android.tools.build:gradle:4.2.0 > com.android.tools.build:builder:4.2.0

project : > com.android.tools.build:gradle:4.2.0 > com.android.tools.build:aaptcompiler:4.2.0

project : > com.android.tools.build:gradle:4.2.0 > com.android.tools.lint:lint-gradle-api:27.2.0

project : > com.android.tools.build:gradle:4.2.0 > com.android.tools.build:gradle-api:4.2.0

project : > com.android.tools.build:gradle:4.2.0 > androidx.databinding:databinding-compiler-common:4.2.0

project : > com.android.tools.build:gradle:4.2.0 > com.android.tools.build:builder:4.2.0 > com.android.tools.build:builder-model:4.2.0

project : > com.android.tools.build:gradle:4.2.0 > com.android.tools.build:builder:4.2.0 > com.android.tools:sdk-common:27.2.0

project : > com.android.tools.build:gradle:4.2.0 > com.android.tools.build:builder:4.2.0 > com.android.tools:common:27.2.0

project : > com.android.tools.build:gradle:4.2.0 > com.android.tools.build:builder:4.2.0 > com.android.tools.build:manifest-merger:27.2.0

project : > com.android.tools.build:gradle:4.2.0 > com.android.tools.build:builder:4.2.0 > com.android.tools.analytics-library:tracker:27.2.0

project : > com.android.tools.build:gradle:4.2.0 > com.android.tools.lint:lint-gradle-api:27.2.0 > com.android.tools.lint:lint-model:27.2.0

project : > com.android.tools.build:gradle:4.2.0 > com.android.tools.build:builder:4.2.0 > com.android.tools:sdklib:27.2.0 > com.android.tools:repository:27.2.0

project : > com.android.tools.build:gradle:4.2.0 > com.android.tools.build:builder:4.2.0 > com.android.tools:sdk-common:27.2.0 > com.android.tools.analytics-library:shared:27.2.0

Possible solution:

 - Declare repository providing the artifact, see the documentation at https://docs.gradle.org/current/userguide/declaring_repositories.html

Wie kann ich ihn beheben?

Fehler, Programmieren, Android, Android Studio, kotlin
Android Studio - JSCH SSH gibt keinen Wert zurück?

Ich habe folgenden Code der mir bei "executeRemoteCommand" keinen Wert zurück gibt, nie:

package com.adsoleware.remotepifm;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;

import com.jcraft.jsch.ChannelExec;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;

import java.io.ByteArrayOutputStream;
import java.util.Properties;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        new Thread(new Runnable() {
            public void run() {

                try {
                    Log.e("Some Tag", executeRemoteCommand("pi", "raspberry", "192.168.178.34", 22));
                } catch (Exception e) {
                    Log.e("Some Tag", e.getMessage());
                }

            }
        }).start();
    }

    public static String executeRemoteCommand(
            String username,
            String password,
            String hostname,
            int port) throws Exception {

        try{
            JSch jsch = new JSch();
            Session session = jsch.getSession(username, hostname, 22);
            session.setPassword(password);

            // Avoid asking for key confirmation
            Properties prop = new Properties();
            prop.put("StrictHostKeyChecking", "no");
            session.setConfig(prop);

            session.connect();

            // SSH Channel
            ChannelExec channelssh = (ChannelExec) session.openChannel("exec");
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            channelssh.setOutputStream(baos);

            // Execute command
            //channelssh.setCommand("sudo ./PiFmRds/src/pi_fm_rds -freq 105.3 -audio Music/sound.wav");
            channelssh.setCommand("ls");


            channelssh.connect();
            channelssh.disconnect();

            return baos.toString();
        } catch (Exception e){
            Log.e("Some Tag", e.getMessage());

            return "ERROR";
        }

    }
}
Computer, Programmieren, ssh, Android Studio
Flutter-Future<List> als List zurück geben?

Heeeeey Leute,

Ich rufe eine Liste aus der Datenbank ab und will daraus eine Liste auf der App visualisieren.

Aber in einer async Funktion kann ich keine liste zurück geben.
Wie bekomme ich die Liste jetzt in meinen build.

Code sieht so aus

  void missionEntries()async{
    final Future<List>mission=DBManagement().getAll();
    List missions=await mission.then((value) => null);
  }

  @override
  Widget build(BuildContext context) {
    missionEntries();
    return Expanded(
      child: Container(
        child: ListView.builder(
          itemCount: missions.length,
          itemBuilder: (context, index) {
            return GestureDetector(
              onLongPress: ()=>print("Eintrag bearbeiten!"),
              onTap: ()=>print("Eintrag einsehen!"),
              child: Card(
                child: Row(
                  children: <Widget>[
                    Expanded(
                      child: Text(
                        missions[index]["num"],
                        textAlign: TextAlign.center,
                      ),
                    ),
                    Expanded(
                      child: Text(missions[index]["location"]),
                    ),
                    Expanded(
                      child: Text(missions[index]["date"].toString()),
                    ),
                    Expanded(
                      child: Text(missions[index]["time"].toString()),
                    ),
                    Expanded(
                      child: IconButton(
                        icon: Icon(Icons.delete),
                        onPressed: ()=>print("löschen")
                      )
                    ),
                  ],
                ),
              ),
            );
          }
        ),
      ),
    );
  }

und missionEntries(); müsste eigentlich zu

List missions=missionEntries() werden weil ich die missions liste

ein paar zeilen weiter im ListView.builder brauche.

Hoffe Ihr könnt mir helfen.

Programmieren, Scripten, Visual Studio, Flutter, Android Studio
Kann flutter App nicht übers Smartphone ausführen?

Hallo,

Ich bin gerade dabei mir in flutter bzw. dart rein zu fuchsen.
Bis jetzt hab ich das über den Browser ausgegeben und das läuft auch super.
Heute habe ich versucht das ganze über mein Smartphone auszuführen, bekomme aber ne Fehlermeldung.
Normalerweise nutze ich Virtual Code, hab aber Android Studio auch probiert, der Fehler ist der gleiche.
Java App's kann ich übrigens problemlos auf das Handy übertragen und nutzen.
Zumindest über Android Studio

Der Fehler sieht wie folgt aus

 FAILURE: Build failed with an exception.


* What went wrong:                                                      
Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'.
> Failed to install the following Android SDK packages as some licences have not been accepted.
     build-tools;29.0.2 Android SDK Build-Tools 29.0.2
  To build this project, accept the SDK license agreements and install the missing components using the Android Studio SDK Manager.
  Alternatively, to transfer the license agreements from one workstation to another, see http://d.android.com/r/studio-ui/export-licenses.html


  Using Android SDK: F:\Emulator\Android\Sdk


* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.


* Get more help at https://help.gradle.org

Android Sdk ist eigentlich in F:\Emulator\Android\Sdk vorhanden,
Fehlende Lizenz, kann ich nichts mit anfangen.

Wie gesagt, über Java läuft das ganze auch problemlos,
Ich denke ich muss einfach irgendwas bestimmtes noch draufziehen,

Ich finde es bestimmt auch selbst irgendwann raus, dauert dann nur ewig,
deswegen würde ich mich freuen wenn wer helfen kann.

LG

App, Programmieren, Script, sdk, Visual Studio, Flutter, Android Studio
Codeblocks; C++, Visual Studio und ein wenig Andoid Studio?

Hallo,

ich hatte mich eine Zeit lang mit Programmierung auseinander gesetzt.

dabei habe ich das "Hello World mal "durchgearbeitet" :-)

Hier mal einige Fragen dazu die ich mir nicht ganz erklären konnte.

__________________________________Hier die Fragen welche c++ angeht__________

1)

Codeblocks ist doch nur das Program mit welcher die Applikation oder das Programm oder was auch immer geschrieben wird? Es kann also auch irgendein anderen Programm genutzt werden (um bei dem Word-Beispiel zu bleiben, Libre office writer oder so ähnlich)

2) Wenn also das Programm in Codeblocks mit der Sprache C++ geschrieben wird muss am Anfang immer angegeben werden welche Bibliotheken genutzt werden.

<include iostream.h> und so weiter.

Frage 2) ist iostram.h eine Standardbibliothek oder ist eine Standard Bibliothek bereits in dem jeweiligen compiler inbegriffen?

Frage 2.1) und wenn die Sprache von Standardbibliotheken ist gibt es auch spezielle Bibliotheken? sofern ja welche?

Und hier noch eine der wichtigsten Fragen überhaupt.

___________________ Hier geht es um App-Programmierung als auch Visual Studio

Seitdem ich mich mit der Programmierung von Prgrammen oder Apps beschäftigt habe musste ich mir unendlich viele Sachen installieren und deinstallieren und dennoch haben viele Sachen nicht funktioniert, gerade als es um App-Programmierung ging kaum was. Die Lerndvd ist mit Apps für Android 4 auch ein wenig veraltet.

3)

Gibt es ein Programm oder eine DVD die installiert werden kann und welche den direkten Einstieg in die Programmierung ermöglicht. Also Ein Exe-Datei die ich anwende und wenn das durchgelaufen ist ich einfach mit dem Programmcode loslegen kann.

_____________________________________________________________________________

Allgemein noch eine Frage

4)

Gibt es irgendwo eine Beschreibung welche Bibliothek für was genutzt werden kann. Und mit welcher Biblithek habe ich die Möglichkeit das Consolenfenster und die Ausgabe in Textdateien nach eigenem Wunsch zu gestalten?

Computer, Windows, Technik, Programmieren, Softwareentwicklung, Technologie, Visual Studio, codeblocks, Android Studio, Spiele und Gaming
2 Stunden Countdown App in Java?

Ich habe in Youtub ein Video gesehen, wo jemand in Englisch eine Countdown App programmiert hat. Diese hat funktioniert. Er hat es mit 10 Minuten gemacht. Ich möchte das mit 2 Stunden, aber es funktioniert überhaubt nicht. Wenn man die App öffnet, dann zeigt es irgendwelche Zahlen an und dann läuft der Timer nicht. Was habe ich falsch gemacht? Ich habe es genauso gemacht, wie im Video. Es wäre sehr schön, wenn der Fehler hier behoben wird, dann können andere auch einen größeren Timer machen. Ich bedanke mich im Vorraus ;)

    private TextView countdownText;
    private Button countdownButton;

    private CountDownTimer countDownTimer;
    private long timeLeftInMilliseconds = 7200000; //2 Stunden
    private boolean timerRunning;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_internet);
        this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);



        countdownText = findViewById(R.id.countdowntext);
        countdownButton = findViewById(R.id.button3);

        countdownButton.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {

                startStop();

            }

        });
        updateTimer();
    }


    public void startStop(){


        if (timerRunning){

            stopTimer();

        }else{

            startTimer();
        }

    }



    public void startTimer(){

        countDownTimer = new CountDownTimer(timeLeftInMilliseconds, 1000) {
            @Override
            public void onTick(long l) {

                timeLeftInMilliseconds = 1;
                updateTimer();
            }

            @Override
            public void onFinish() {

            }
        }.start();

        countdownButton.setText("Pause");
        timerRunning = true;
    }


    public void stopTimer(){

        countDownTimer.cancel();
        countdownButton.setText("Start");
        timerRunning = false;
    }

    public void updateTimer(){
        int hours = (int) timeLeftInMilliseconds / 3600000;
        int minutes = (int) timeLeftInMilliseconds | 3600000 / 60000;
        int seconds = (int) timeLeftInMilliseconds | 60000 / 1000;

        String timeLeftText;

        timeLeftText = "" + hours;
        timeLeftText += ":";
        timeLeftText += "" + minutes;
        timeLeftText += ":";
        timeLeftText += "" + seconds;

        if(seconds < 10)  timeLeftText  += "0";
        timeLeftText += seconds;

        countdownText.setText(timeLeftText);

    }


}
App, Programmieren, Java, Android, Informatik, Countdown, Android Studio

Meistgelesene Fragen zum Thema Android Studio