Farklı klasörlerde sınıfları etkinliklerden kurmak istiyorum. Android Studio'da sınıf klasörleri nereye eklenir?
import classes.auth;
Yani gradle kuruluşları bir araya gitti: Geçerli klasör yapısı:
-> APP
-> Manifests
-> Java
-> com.test.testing
-> classes
auth.java
home_activity
-> libs
auth.java
package com.test.testing;
// error here: Package name ‘com.test.testing’ does not correspond to file path.
public class auth{
public void auth(){}
}
Artı, ben aktivitede bu sınıfı arayamam bu benim yapılandırmalarım:
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.test.testing"
minSdkVersion 15
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets {
main {
java.srcDirs = ['src/main/java', 'java/', 'src/main/java/com/test/testing/classes']
assets.srcDirs = ['src/main/assets', 'src/main/assets/']
}
}
}
Android Studio, klasör yapıları hakkında biraz kafa karıştırıcı, seçebileceğimiz birkaç seçeneğimiz var ve bunlardan bazıları hakkında hiçbir fikrim yok. Benim durumumda, "sınıflar" klasörünü "Java Klasörü" olarak ekledim.
DÜZENLEME 1: ucu yerine bir klasörün bir paket yaratmaktı. Bu yüzden paketi ve bunun içinde yeni bir dosya oluşturdum. Otomatik olarak, android stüdyo bu bilgi ile dolu auth.java;
package com.test.testing.classes;
public class auth {
}
Sorun şu ki, sınıfı yine de etkinliklere alamıyorum. Ben import classes
(aktivitesinde) yazmaya başladığınızda Hintçe bir dokümantasyon yardımı olarak görünür ama söylenmesi ilişkili herhangi bir nesne, yok:
import classes.auth;
hatayı verir.
Ben Gradle dosyasını oluşturmak için tekrar gitti vejava.srcDirs
bir şey eklemek vermedi:
sourceSets {
main {
java.srcDirs = ['java/', 'src/main/java']
}
}
DÜZENLEME 2: çözüm import
sorununa dize oldu. Bunun yerine
import classes.auth;
ait olmalı:
Endişelenme, ben bir başkası olmadım. Cevabınızı iki nedenden dolayı kabul etmedim: stackoverflow bana henüz izin vermez ve paketi oluşturduktan sonra bile bazı sorunlar buluyorum. – Linesofcode