1

コードをプロキシまたは生成することにより、 Dexmaker使用して既にロードされているクラスのメソッドの動作を実行時に変更することは可能ですか?

アップデート

一言:Androidフレームワークからではなく、自分のアプリケーションからメソッドを追加/既存のメソッドを変更したいです。

4

1 に答える 1

1

いいえ、できません。

元のクラスを拡張する新しいクラスを作成することも、場合によってはクラスのコピーを作成して、新しい名前と微調整された実装を使用することもできます。ただし、既存のクラスを置き換えることはできません。

おそらく最善の策は、変更したいコードを別のクラスに抽出し、そのクラスのインスタンスをそれを使用するものに渡すことです。そして、新しい実装を作成する必要がある場合は、それをサブクラス化し、代わりにサブクラスを渡すことができます。

于 2012-07-06T22:12:54.617 に答える