Cómo crear tu propia app de reloj con temperatura para Android (sin anuncios)


A medida que pasa el tiempo vamos acumulando irremediablemente dispositivos totalmente o parcialmente funcionales como tabletas o smartphone que dejan de ser útiles por obsolescencia o simplemente porque hemos adquirido un dispositivo mas potente que supera en prestaciones a lo que ya teníamos. En esta encrucijada, sobre todo por el poco valor que puede tener un dispositivo antiguo, lo ideal es darle una segunda vida con otro uso como por ejemplo como cámara de seguridad, como panel de domòtica, etc. o mi favorita: !como reloj gigante!.

En efecto ¿estas cansado de las apps de reloj y temperatura llenas de publicidad o con versiones de pago? . La solución más simple es hacer tu propia app minimalista, gratuita y sin depender de servicios comerciales.
Y lo mejor: puedes hacerlo tú mismo, sin ser experto en Android.

Opción 1 — Kivy (Python): simple y rápida

Si ya trabajas con Python, esta es la forma más sencilla.
Kivy te permite crear interfaces gráficas multiplataforma y exportar tu app a Android con facilidad.

Qué necesitas

  • Un teléfono Android con Termux, o un PC con Linux/Windows.
  • Instalar las dependencias básicas:
bashpip install kivy buildozer

Con eso podrás compilar tu app a APK usando buildozer, directamente desde tu propio sistema.

Ejemplo mínimo: reloj + temperatura + pantalla encendida

from kivy.app import App
from kivy.uix.label import Label
from kivy.clock import Clock
from kivy.core.window import Window
import requests, datetime

Window.clearcolor = (0, 0, 0, 1)
Window.borderless = True
Window.show_cursor = False

class ClockApp(App):
def build(self):
self.label = Label(font_size='60sp', halign='center', valign='middle')
Clock.schedule_interval(self.update, 60)
self.update(0)
return self.label

def update(self, dt):
now = datetime.datetime.now().strftime("%H:%M")
temp = self.get_temperature()
self.label.text = f"{now}\n{temp}°C"

def get_temperature(self):
try:
url = "https://api.open-meteo.com/v1/forecast?latitude=40.4&longitude=-3.7&current_weather=true"
data = requests.get(url, timeout=5).json()
return int(data['current_weather']['temperature'])
except:
return "--"

if __name__ == '__main__':
ClockApp().run()

Solo cambia las coordenadas latitude y longitude por tu ubicación.
Kivy mantiene la pantalla encendida automáticamente mientras la app esté activa.

Para generar el paquete instalable, compila con:

buildozer android debug

Obtendrás un APK listo para instalar.

Opción 2 — Android Studio (si prefieres Kotlin/Java)

También puedes hacerlo con Android Studio, en Kotlin, de forma muy sencilla:

class MainActivity : AppCompatActivity() {
private lateinit var textView: TextView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
textView = TextView(this)
textView.textSize = 64f
textView.gravity = Gravity.CENTER
setContentView(textView)
update()
Timer().scheduleAtFixedRate(object : TimerTask() {
override fun run() { runOnUiThread { update() } }
}, 0, 60000)
}

private fun update() {
val time = SimpleDateFormat("HH:mm", Locale.getDefault()).format(Date())
val temp = "--°C" // Aquí puedes añadir la API de Open-Meteo
textView.text = "$time\n$temp"
}
}

Con un par de líneas más puedes integrar la API gratuita de Open-Meteo para obtener la temperatura actual.

Resultado

Pantalla negra, texto blanco grande con hora + temperatura, sin apagado automático (KEEP_SCREEN_ON).
Sin publicidad, sin permisos extraños, sin coste.

Ideas para mejorar

  • Controlar el brillo máximo o modo nocturno.
  • Permitir configurar manualmente la ubicación.
  • Añadir fecha o iconos del clima.
  • Mostrar estado de batería o conexión Wi-Fi.

Conclusión:
Crear tu propia app de reloj con temperatura en Android no solo es posible, sino también una excelente forma de aprender desarrollo móvil sin depender de terceros.
Usar Kivy o Kotlin te permite mantener el control total: diseño limpio, sin anuncios y con funcionalidad útil para tu día a día.