向Android Studio项目添加Java文件夹

23

开始使用Android Studio而非Eclipse ADT来开展我的第一个项目。 我想添加子文件夹以包含Java类,以便构建我的应用程序结构,但无法在我的活动中引用它们。

结构如下(用应用程序名称替换)

src/main/[MyCompany]/[myAppName]/model/user.java

src/main/[MyCompany]/[myAppName]/helperClasses/SQLiteHelper.java
然而,我无法直接在代码中引用它们,也无法通过导入引用它们,只能将它们放在appName文件夹中与活动一起引用。
这是否仅是Android中的限制,还是有更好地组织项目文件夹的方法。我使用了“新建->文件夹-java”选项来创建文件夹。
3个回答

45

IntelliJIdea将包和目录混合在一起。

因此,在java文件夹上右键单击,选择新建-“Package”,然后添加您的目录。


你能否在这里提供一些建议?http://stackoverflow.com/questions/39542522/issue-while-creating-the-new-package-inside-package-in-android-studio - Pankaj

15

在我的情况下,我想要一个带有Java文件夹的模拟包:

  1. 第一步,您必须将项目模式设置为:

输入图片描述

  1. 右键单击,新建,目录,在我的情况下为“mock”。
  2. 右键单击,新建,文件夹,Java文件夹:

输入图片描述

  1. 点击复选框“更改文件夹位置”,并放置您的路径,在我的情况下为“src/mock/java”:

输入图片描述

  1. 解决方案如下:

输入图片描述


12
不要新增文件夹,右键点击当前的包(com.example.coolapp)并选择“新建→包”。输入子文件夹的名称,将在com.example.coolapp下创建一个新的包子文件夹。在Java中,每个子文件夹都被视为一个新的包。以这种方式操作可以确保在子文件夹中创建或移动的Java类正常运行(Android Studio会自动更新导入语句和包名以确保其正确运行)。 - Soren Stoutner

1
尝试这个路径:src/main/java/[MyCompany]/[myAppName]/...
src/main/java/ 是 Android Studio 中默认的源目录
或者,如果您不想更改目录结构,您必须修改您的 build.gradle 以更改源目录。
类似于以下内容:(此示例适用于 ADT 项目)
android {

    ...

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }
    }

    ...

}

似乎由于我对AndroidStudio不熟悉,你所提出的方案基本上就是我已经拥有的。 src/main/java/companyName.AppName/model/user.Java 这并没有帮助,除非我直接将user.java放入companyName.AppName文件夹中。我很好奇是否可以将Java文件放入Android项目的子文件夹中? 抱歉回复晚了,圣诞节等等... - Essah
2
大约三周前,我认为您想将ADT项目导入AS项目。所以我回答了那样。但是现在,我再次阅读了您的问题,我发现误解了您的问题。抱歉,是我的错。 我认为 new->folder-java 是问题所在。根据我的猜测,您的项目的build.gradle文件中有类似这样的内容:sourceSets { main { java.srcDirs = ['src/main/java', 'src/main/[MyCompany]/[myAppName]'] } }。检查一下,然后轻松地运行“与Gradle同步”。 通常情况下,您不必创建新的文件夹-java。 只需将文件夹拖放到项目导航视图中即可。 - Han-Jong Ko
但他想要改变目录结构。这就是问题所在。 - Gangnus

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接