Apple’s Move to iOS app, installed on the Android device before setup, transfers contacts, photos, calendars and message history directly during the new iPhone’s initial setup process.
Cloud-based accounts like Google Photos or email can be added separately afterward, which covers most data that Move to iOS doesn’t handle directly, such as app-specific data.
Keeping the Android phone charged and on the same Wi-Fi network during the transfer avoids the most common cause of an interrupted or incomplete transfer.