[英]Where to add folder of classes in 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(){}
}
另外,我无法在活动中调用此类:
import classes.auth;
所以我去构建gradle这是我的配置:
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对文件夹结构有点混乱,我们有几个选项可供选择,我不知道它们中的一些是什么。 在我的例子中,我将文件夹“classes”添加为“Java Folder”。
编辑1:提示是创建一个包而不是一个文件夹。 所以我在其中创建了包和一个新文件。 android工作室自动将这个信息填入文件auth.java ;
package com.test.testing.classes;
public class auth {
}
会发生什么事情,我仍然无法将课程导入活动。 虽然当我开始输入(在活动中) import classes
它显示为文档帮助但它没有任何关联的对象,它说:
import classes.auth;
给出错误。
我再次去构建Gradle文件,它没有向java.srcDirs
添加任何东西:
sourceSets {
main {
java.srcDirs = ['java/', 'src/main/java']
}
}
编辑2: import
问题的解决方案是字符串。 代替
import classes.auth;
应该:
import com.test.testing.classes.auth;
从上面的列表中选择Package
(在快照中)
我想很多人都对文件结构感到困惑,这里是:
app
|--> manifests
|--> java
| |--> com.example.yourapp
| | |--> MainActivity.java
| | |--> YOUR_PACKAGE_FOLDER
| |
| |--> com.example.yourapp(android test)
| |--> com.example.yourapp(test)
|
|--> res
你可以尝试File -> New -> Package
,这样android studio就会在正确的位置创建文件夹。
( File -> New -> Java Class
的File -> New -> Java Class
类)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.