非常に奇妙なエラー。Androidアプリケーション内の非アクティビティクラスに単純なインターフェイスを実装しようとしています。ただし、実行時エラーが発生します。実装を削除すると、コードは正常に機能します。私はコードにそれ自体を語らせます、気軽にチャイムを鳴らしてください。ありがとう!
これにより、グローバルのインスタンスをインスタンス化するときにClassNotFoundExceptionがスローされます
public class Globals implements IReceivable {
private volatile static Globals uniqueGlobal;
private static ClientSocket clientSocket;
private Globals()
{
}
public static Globals getInstance() {
synchronized (Globals.class) {
if (uniqueGlobal == null) {
uniqueGlobal = new Globals();
uniqueGlobal.InitializeClient();
}
}
return uniqueGlobal;
}
@Override
public void MessageReceived(UUID clientId, String message) {
// TODO Auto-generated method stub
}
}
削除すると、すべて正常に動作します
public class Globals {
private volatile static Globals uniqueGlobal;
private static ClientSocket clientSocket;
private Globals()
{
}
public static Globals getInstance() {
synchronized (Globals.class) {
if (uniqueGlobal == null) {
uniqueGlobal = new Globals();
uniqueGlobal.InitializeClient();
}
}
return uniqueGlobal;
}
}
編集
これがIReceivableインターフェースです
public interface IReceivable {
public void MessageReceived(UUID clientId, String message);
}
そして正確なエラー:
12-02 10:14:15.859:E / AndroidRuntime(546):java.lang.NoClassDefFoundError:com.example.utilities.Globals
エラーをスローしている行は次のようになります。
Globals global = Globals.getInstance();