非同期 HTTP ダウンロードを利用するアプリケーションを設計しています。このアプリケーションを Android、Windows デスクトップ、Mac OS デスクトップで動作させたいので、Java で開発し、非常にモジュール化しようとしています。
(わかりやすくするために編集します。使用しているライブラリはAsyncHttpClientとAndroid-Async-Httpです)
ダウンロードを処理するためのライブラリは既にありますが、問題は、使用するライブラリに関係なく、CORE モジュールの特定のメソッドがダウンロード機能を実行できる必要があることです。どうしようかと思ったのは2つ。
GenericDownloader
アイデア 1: CORE で呼び出される抽象クラスを配置し、特定のアプリで のようなクラスを使用して拡張しますAndroidDownloader
。- アイデア 2: CORE に呼び出されるインターフェイス
DownloadInterface
を配置し、アイデア 1 と同様の方法で特定のアプリに実装します。
これらの両方のアイデアの問題は、抽象クラスまたはインターフェイスをインスタンス化できないことです。その機能を CORE に実装するにはどうすればよいでしょうか?
他にどうすればこの問題を解決できますか?