残念ながら、iOS と Android はまったく異なる言語で記述されているため、それらの間でライブラリを共有することはできません。
データベースとの間でデータを送受信するために HTTP REST サービスを使用する必要があるかどうかは、ビジネス ケースによって実際に決定されます。そうは言っても、私が開発したアプリのほとんどは、ほとんどの場合、何らかの目的で Web サービスを使用しています。
完全にネイティブなアプリを作成することが目標である場合、ニーズを満たすためにすべてのビジネス ロジックとデータ アクセス ロジックをコピーする以外に選択肢はありません。ただし、ネイティブを維持することがそれほど重要でない場合は、アプリにXamarinをお勧めします。
Xamarin は、ネイティブ iOS、Android、および Windows アプリの作成に使用できるクロスプラットフォーム フレームワークです。Mono フレームワーク API を使用して C# でロジックを記述し、そのコードをそれぞれの SDK 固有の API 呼び出しに変換します。
Xamarin が他のすべてのクロスプラットフォーム フレームワークと異なるのは、その設計パターンです。Xamarin では、3 つのサブプロジェクトを持つ単一のプロジェクトを作成することをお勧めします。
まず、UI 用に 2 つのサブプロジェクトを作成します。1 つは iOS 用、もう 1 つは Android 用です。これらのプロジェクトは、プラットフォームに忠実な UI を作成します。したがって、最終結果は 100% ネイティブのルック アンド フィールを持つアプリになります。
次に、パブリック コモン ライブラリ (PCL) のサブプロジェクトを作成します。これは、データベース アクセス、ビジネス ロジック、およびネットワーク接続のすべてが行われる場所です。この PCL は、iOS サブプロジェクトと Android サブプロジェクトの両方で使用できます。
これは、あなたが望むものの理想的なソリューションです。iOS と Android の両方で真のネイティブなルック アンド フィールが得られ、2 つの間で共有できるライブラリが得られます。
私は個人的に Xamarin を使用し、多くのネイティブ iOS および Android アプリを作成してきました。ビジネス ケースに Xamarin をお勧めします。