Hallo,
jetzt habe ich Android Studio auf 3.6.3 hochgezogen. Muß ich Gradle noch separat updaten? Ich habe außerdem das ganze Projekt gelöscht und noch mal ganz von vorn erzeugt (New Project -> Empty Activity).
Das build.gradle ist jetzt:
apply plugin: 'com.android.application'
android {
compileSdkVersion 29
buildToolsVersion "29.0.3"
defaultConfig {
applicationId "de.mincom2s.dreikonapp"
minSdkVersion 23
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}
Die Hello-World App funktioniert damit (naja, was man so funktionieren nennen kann).
Dann habe ich sie erweitert zu einem Dialog, der mal ein Login-Dialog werden soll: Bisher nur die Edit-Felder Name und Passwort und den Login-Button; der hat einen onClickListener (mit View.OnClickListener( und die onClick-Methode, die nur die Werte in Variablen ausliest, sonst bisher nichts, kein Xzing, keine weitere Klasse, keine Methode, etc.
Damit alles komplett ist, hier auch noch die ganze Activity-Klasse:
public class LoginActivity extends AppCompatActivity {
String userName="";
String password="";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
Button loginButton = (Button) findViewById(R.id.loginButton);
loginButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Code here executes on main thread after user presses button
EditText userNameText = (EditText) findViewById(R.id.userNameInput);
userName = userNameText.getText().toString();
EditText passwordText = (EditText) findViewById(R.id.passwordInput);
password = passwordText.getText().toString();
}
});
}
}
Das Verhalten wie vorher: Die App startet ordentlich, sieht aus wie gewünscht; wenn ich auf den Button klicke, springt der Breakpoint in onClick an; onClick wird ordentlich durchlaufen, die eingetippten Werte kommen als Variablen an, alles prima. Nur wenn die onClick verlassen wird, wird die App beendet.
Der komplette Logcat-Inhalt (Level Verbose) ist:
04-24 17:21:35.160 17890-17890/? I/art: Late-enabling -Xcheck:jni
04-24 17:21:35.242 17890-17890/de.mincom2s.dreikonapp W/ActivityThread: Application de.mincom2s.dreikonapp is waiting for the debugger on port 8100...
04-24 17:21:35.244 17890-17890/de.mincom2s.dreikonapp I/System.out: Sending WAIT chunk
04-24 17:21:35.414 17890-17896/de.mincom2s.dreikonapp I/art: Debugger is active
04-24 17:21:35.444 17890-17890/de.mincom2s.dreikonapp I/System.out: Debugger has connected
04-24 17:21:35.444 17890-17890/de.mincom2s.dreikonapp I/System.out: waiting for debugger to settle...
04-24 17:21:35.644 17890-17890/de.mincom2s.dreikonapp I/System.out: waiting for debugger to settle...
04-24 17:21:35.845 17890-17890/de.mincom2s.dreikonapp I/System.out: waiting for debugger to settle...
04-24 17:21:36.045 17890-17890/de.mincom2s.dreikonapp I/System.out: waiting for debugger to settle...
04-24 17:21:36.245 17890-17890/de.mincom2s.dreikonapp I/System.out: waiting for debugger to settle...
04-24 17:21:36.445 17890-17890/de.mincom2s.dreikonapp I/System.out: waiting for debugger to settle...
04-24 17:21:36.645 17890-17890/de.mincom2s.dreikonapp I/System.out: waiting for debugger to settle...
04-24 17:21:36.846 17890-17890/de.mincom2s.dreikonapp I/System.out: waiting for debugger to settle...
04-24 17:21:37.046 17890-17890/de.mincom2s.dreikonapp I/System.out: debugger has settled (1482)
04-24 17:21:37.055 17890-17890/de.mincom2s.dreikonapp W/System: ClassLoader referenced unknown path: /data/app/de.mincom2s.dreikonapp-2/lib/arm
04-24 17:21:37.099 17890-17890/de.mincom2s.dreikonapp W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter androidx.vectordrawable.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
04-24 17:21:37.139 17890-17890/de.mincom2s.dreikonapp I/art: Rejecting re-init on previously-failed class java.lang.Class
04-24 17:21:37.139 17890-17890/de.mincom2s.dreikonapp I/art: Rejecting re-init on previously-failed class java.lang.Class
04-24 17:21:37.264 17890-17920/de.mincom2s.dreikonapp D/OpenGLRenderer: Use EGL_SWAP_BEHAVIOR_PRESERVED: true
04-24 17:21:37.337 17890-17920/de.mincom2s.dreikonapp I/Adreno-EGL: : EGL 1.4 QUALCOMM build: (I14a17c7611)
OpenGL ES Shader Compiler Version: XE031.06.00.02
Build Date: 12/04/15 Fri
Local Branch: workspace
Remote Branch:
Local Patches:
Reconstruct Branch:
04-24 17:21:37.341 17890-17920/de.mincom2s.dreikonapp I/OpenGLRenderer: Initialized EGL, version 1.4
Weder in Android Studio noch auf dem Handy finde ich eine Exception, Fehlermedlung, Meldung, Warnung, die mir weiterhelfen würde.
Da die App auf dem Handy meiner Frau funktioniert, muß die Ursache doch irgendwo in meinem Handy liegen. Ich habe aber keine Idee, wonach ich suchen könnte.
Viele Grüße
Gerhard