Quiero crear una aplicación de Android que permita al usuario cargar una imagen o un archivo. ¿Dónde puedo almacenar esa imagen o archivo?

¡Creo que necesitas probar Dropbox! Si no tiene problemas para pagar el almacenamiento en la nube y necesita principalmente un centro en línea para archivos más pequeños, como documentos de trabajo, Dropbox es una excelente opción. Dropbox se integra con muchas aplicaciones, por lo que puede guardar fácilmente el contenido de estas aplicaciones en una carpeta de Dropbox en línea. El único inconveniente es comparativamente poco almacenamiento gratuito, aunque puede aumentar su volumen al recomendar amigos o comprar ciertos teléfonos durante los períodos de promoción.

Los archivos compartidos en Dropbox se pueden editar simultáneamente. A diferencia de Google Drive, que admite cambios de todas las partes al mismo tiempo, Dropbox crea dos versiones del documento mientras muestra una advertencia de “copia en conflicto”. Esto podría ser problemático, pero las versiones antiguas y eliminadas de los archivos se guardan por hasta 30 días, lo que le permite restaurar las joyas perdidas de la comunicación. Las cuentas pagas pueden suscribirse a un historial de versiones de un año por $ 39 por año y obtener más control sobre el intercambio de archivos, con enlaces protegidos por contraseña y con fecha de vencimiento. Para registrarse en DropBox desde mi enlace, Александр te ha invitado a unirte a Dropbox. y para obtener espacio libre adicional!

Android ofrece varias opciones para que guardes datos de aplicaciones persistentes. La solución que elija depende de sus necesidades específicas, como si los datos deben ser privados para su aplicación o accesibles para otras aplicaciones (y el usuario) y cuánto espacio requieren sus datos.

Verifique estas opciones de almacenamiento | Desarrolladores de Android.

y no olvides que Firebase es una bonita solución.

Para almacenar imágenes en línea, lo principal requerido sería un servidor, ahora alojar su propio servidor puede ser bastante costoso, así que le sugiero que busque un servicio de terceros, como Firebase.

Puedes usar Firebase Storage para cargar, almacenar y descargar archivos de imagen con bastante facilidad.

Puede usar la API de Mobsted para guardar datos. Mobsted: crea tu propia aplicación, aplicaciones de negocios

Puede almacenarlo en Firebase y más tarde, cuando obtenga suficiente profic, puede crear una instancia de mongodb, comenzar a cargar archivos allí e incluso en cubos de almacenamiento de AWS.