What are the key programming languages and technologies required to develop an Android application that can record, control, and display basic parameters over a local network, and what are the main challenges involved in implementing such an application?