2017-02-15 9 views
-1

私のプロジェクトでは、私のアプリケーションのモデルの一部としてJavaオブジェクトのセットを持っています。それらはすべて純粋なJavaであるため、Javaライブラリモジュールにあります。 Androidアプリモジュールで使用されていて、それは問題ではありません。また、私のアクティビティでこれらを渡す必要があります。そのため、Parcelableを作成してください。AndroidライブラリのJavaクラスまたはJavaライブラリのParcelableオブジェクト

しかし、私はParcelableがAndroidからのもので、Javaモジュールでの使用に成功していないため、Android Studioにいくつか問題があります。だから私はAndroidライブラリでクラスを移動するためにテストしましたが、Androidは純粋なJavaであるため無視しているようですが、それぞれに赤いJのアイコンがあります。私の想定を検証するために、私はAndroidモジュールでJavaクラスを作成するためにテストしましたが、それを行うオプションはありません。

クラスを別々のモジュールに保持する方法はありますか?あれば、それは何ですか?それとも、アプリケーションモジュールのすべてのクラスを移動する必要がありますか? は

ありがとう(私は最後の解決策可能な場合を避けることを好むだろう)

編集:解決策は、Androidのライブラリを使用しているようだが、Androidのメーカーはとひどく振る舞うなぜ私にはわからない私モジュールは、私は、ライブラリのメインパッケージ内のJavaクラスとJavaのパッケージを作成することはできません。

Can't create a Java class in pact44.objects

をまた、私はpact44メインパッケージにパッケージを作成することはできません。

Can't create packages in pact44.objects

+0

をパフォーマンスが問題ではない場合:あなたはJavaで直列化の代わりに、Androidの-Parcelableを使用して考えていますか?詳細については、http://www.developerphil.com/parcelable-vs-serializable/ – k3b

+0

を参照してくださいはい、それは、申し訳ありません... –

答えて

0

だから私は、Android図書館で私のクラスを移動するためにテストしているが、Androidのは、彼らは純粋なJavaのであるため、それらを無視しているようです。

無視しますか?どういう意味ですか?ライブラリモジュールを作成し、コードをそのモジュールに移動した後、アプリケーションモジュールからこのクラスにアクセスできません。

私の前提を確認するために、私はAndroidモジュールでJavaクラスを作成するためにテストしましたが、それを行うオプションはありません。

たとえば、どのようにアクティビティクラスを作成しますか?新しいJavaクラスを作成するオプションが必要です。 IDEがあなたに新しいJavaクラスを作成するオプションを与えていない場合は、そのことを想定していない場所に作成しようとしていることを意味します。

ライブラリコードをアプリケーションコードから分離したいが、ライブラリ内のAndroidクラスにアクセスしたい場合は、新しい "アンドロイドライブラリモジュール"を作成することをおすすめします。アプリのbuild.gradleに依存関係としてライブラリを追加することを忘れないでください

はここを見て:https://developer.android.com/studio/projects/android-library.html

+0

それはすでにポストには、私はそれを試してみましたが、アンドロイドスタジオは私を作成することを提案していないその中のクラス... 実際には本当の問題ですが、私はJavaクラスを作成できる別のアンドロイドライブラリを持っていることを見てきました。私は、なぜAndroid Studioが新しいモジュールで私にそれを提案しないのかわかりません... –

+0

新しいライブラリを作成した後、gradleはプロジェクトを同期していますか? src/main/javaにJavaクラスを作成しようとしていますか?このディレクトリの外にjavaクラスを作成しようとすると、ideはこのオプションを与えません。 – Flood2d

+0

_So私はAndroidライブラリでクラスを移動するためにテストしましたが、Androidは純粋なJavaであるため無視しているようです._これは事実ではありません。申し訳ありません。私は問題を示す2枚の画像を掲示します。 @ Flood2d私はプロジェクトを同期しましたが、何も変更されません、ありがとう –