"¿Puedo permitir que solo mi aplicación acceda a mi servidor?"
Sí, es posible restringir el acceso al cliente. No sabía esto en aquel entonces, pero es posible controlar quién puede acceder a los archivos almacenados en un servidor mediante la autenticación de encabezado HTTP / HTTPS, que requiere un combo de "username: password" codificado en base64 en el encabezado de la solicitud para obtener el archivo (HTML , IMAGEN etc.)
Y para evitar el rastreo de encabezados, la sugerencia de Milen de usar un certificado HTTPS es el camino a seguir porque HTTPS encripta todo usando la clave pública del sitio (incluidos los encabezados).
Entonces, ¿cómo debería haber implementado esto?
En el lado de Android, cree una aplicación que envíe un nombre de usuario y una contraseña únicos cada vez que deba buscarse el documento / imagen / archivo.
En el lado del servidor, configure un script de servidor en PHP, o Python, o lo que esté usando (más conveniente que usar .htaccess para restringir el acceso a los archivos en apache) que base64 decodifica el nombre de usuario y la contraseña de la solicitud, comprueba si hay una coincidencia correcta, envía el encabezado de tipo de contenido correcto junto con el archivo.
Esperemos que esta información sea suficiente para quien la necesite. Aunque no terminé probando esto, espero que funcione.
Ninguna de las otras respuestas aquí es mayormente correcta, pero creo que cada una contribuyó de alguna manera para encontrar una solución a esta pregunta.