2015-01-06 7 views
16

활동과 다른 폴더에 클래스를 설정하고 싶습니다. Android Studio에서 클래스의 폴더를 추가 할 위치는 어디입니까?

import classes.auth; 

그래서 내가 Gradle을기로를 구축했다 : 현재 폴더 구조 :

-> 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(){} 
} 

플러스, 나는 활동이 클래스를 호출 할 수 없습니다 이것은 내 구성입니다.

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"로 추가했습니다. enter image description here

편집 1 : 팁 대신 폴더의 패키지를 만드는 것이 었습니다. 그래서 패키지와 새 파일을 만들었습니다. 자동으로,이 정보로 파일을 채운 안드로이드 스튜디오 auth.java;

package com.test.testing.classes; 

public class auth { 

} 

나는 어떻게해도 활동에 수업을 가져올 수 없다. 내가 import classes (활동에) 입력을 시작 Althought는이 문서의 도움으로 나타납니다 그러나 그것은 말했다 관련된 모든 개체를 가지고 있지 않습니다

import classes.auth; 

오류를 제공합니다.

내가 Gradle을 파일을 빌드 다시 가서는 java.srcDirs에 아무것도 추가하지 않은 :

sourceSets { 
     main { 
      java.srcDirs = ['java/', 'src/main/java'] 
     } 
    } 

편집 2 : 솔루션을 import 문제 문자열이었다. 대신

import classes.auth; 

의 은 다음과 같아야합니다

이 가 이
+0

걱정하지 마세요, 나는 그 사람을 상향 투표하지 않았습니다. 나는 당신의 대답을 두 가지 이유로 받아들이지 않았다 : stackoverflow do not는 나를 아직 허용한다. 그리고 나는 꾸러미를 만든 후에도 약간의 문제를 발견하고있다. – Linesofcode

답변

17

선택 Package 위의 목록에서 나는 많은 사람들이 파일 구조에 대한 혼란 생각

1

(당신의 스냅 샷), 여기있다

import com.test.testing.classes.auth; 
:

app 
    |--> manifests 
    |--> java 
    |  |--> com.example.yourapp 
    |  |      |--> MainActivity.java 
    |  |      |--> YOUR_PACKAGE_FOLDER 
    |  | 
    |  |--> com.example.yourapp(android test) 
    |  |--> com.example.yourapp(test) 
    | 
    |--> res 

시도해 볼 수 있습니다 File -> New -> Package, 그래서 안드로이드 스튜디오는 올바른 위치에 폴더를 만듭니다.
(클래스의 경우 File -> New -> Java Class)

관련 문제