Chcę ustawić klasy w różnych folderach niż czynności. Obecna struktura folderów:Gdzie dodać folder zajęć w Android Studio?
-> 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(){}
}
Plus, nie mogę nazwać tę klasę aktywności:
import classes.auth;
Poszedłem więc do budowania Gradle An to są moje konfiguracje:
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 jest trochę zagmatwany odnośnie struktur folderów, mamy kilka opcji do wyboru i nie mam pojęcia, co niektórzy z nich robią. W moim przypadku dodałem folder "classes" jako "Java Folder".
EDIT 1: czubek utworzyć pakiet zamiast folderu. Tak więc utworzyłem w nim pakiet i nowy plik. Automatycznie, studio android wypełnione tą informacją plik auth.java;
package com.test.testing.classes;
public class auth {
}
Co się stanie, że nadal nie jestem w stanie zaimportować zajęć do zajęć. Mimo, kiedy zacznę wpisywać (aktywności) import classes
jawi się jako pomoc dokumentacji, ale nie ma żadnych przedmiotów powiązanych, który powiedział:
import classes.auth;
daje błąd.
poszedłem ponownie zbudować plik Gradle i nie dodaje niczego do java.srcDirs
:
sourceSets {
main {
java.srcDirs = ['java/', 'src/main/java']
}
}
EDIT 2: Rozwiązaniem problemu import
był łańcuch. Zamiast
import classes.auth;
Powinno być:
import com.test.testing.classes.auth;
Nie martw się, nie byłem tym facetem, który przegrał. Nie przyjąłem twojej odpowiedzi z dwóch powodów: stackoverflow nie pozwala mi jeszcze na to, i znajduję pewne problemy nawet po utworzeniu paczki. – Linesofcode