アクティビティとは異なるフォルダにクラスを設定したいとします。 現在のフォルダ構造: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のANを構築するために行ってきましたこれは私の構成です:
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"として追加しました。
EDIT 1: 先端ではなく、フォルダのパッケージを作成することでした。 私はそれの中にパッケージと新しいファイルを作成しました。自動的に、この情報でファイルを埋めるアンドロイドスタジオauth.java;
package com.test.testing.classes;
public class auth {
}
私はまだクラスをアクティビティにインポートできません。言っ Althought私は(活動中)import classes
の入力を開始するとき、それはドキュメントヘルプとして表示されますが、それは任意のオブジェクトが関連付けられていない、:
import classes.auth;
はエラーになります。
私はGradleのファイルを構築するためにもう一度行って、それがjava.srcDirs
に何も追加しませんでした:
sourceSets {
main {
java.srcDirs = ['java/', 'src/main/java']
}
}
EDIT 2: import
問題を解決するには、文字列でした。 代わりの
import classes.auth;
は次のようになります。
import com.test.testing.classes.auth;
私はその男が上級者ではないことを心配しないでください。私は2つの理由であなたの答えを受け入れていません:stackoverflow do notはまだ私を許可し、私はパッケージを作成した後でもいくつかの問題を見つけるよ。 – Linesofcode