Files
linkedsign/android/README.md
T

103 lines
2.6 KiB
Markdown

# LinkedSign Android Native
Cliente Android nativo de LinkedSign construido con **Kotlin + Jetpack Compose**.
## Objetivo
- compartir autenticación con la web
- consumir el mismo backend REST
- mantener cache local en el teléfono
- sincronizar datos solo cuando el usuario lo solicite
## Qué incluye
- login
- registro
- aviso de validación por correo
- dashboard
- documentos originales y firmados
- subida de PDF
- subida de certificados `.p12/.pfx`
- firmado básico desde Android
- perfil
- solicitud de cambio de contraseña
- sesión local segura
- desbloqueo biométrico con huella si el dispositivo lo soporta
- cache local SQLite
- tipografía centralizada por variables en `ui/theme/Type.kt`
- UI Android refactorizada siguiendo la referencia visual de `android_firma_electronica.html`
## Arquitectura usada
- Kotlin nativo
- Jetpack Compose
- Retrofit
- OkHttp
- Moshi
- EncryptedSharedPreferences
- SQLiteOpenHelper
## Estructura
```text
android/
app/
build.gradle
src/main/
AndroidManifest.xml
java/net/linkedcorp/linkedsign/
res/values/
build.gradle
gradle.properties
settings.gradle
README.md
```
## Backend
Por defecto la app apunta a:
```text
http://192.168.222.40:4000
```
Ese valor está en:
[app/build.gradle](/home/mgonzalez/desarrollo/react/linkedsign/android/app/build.gradle)
Si cambias IP o dominio, actualiza:
```groovy
buildConfigField "String", "API_BASE_URL", "\"http://TU_HOST:4000\""
```
## Abrir en Android Studio
1. Abre la carpeta:
`/home/mgonzalez/desarrollo/react/linkedsign/android`
2. Deja que Android Studio sincronice Gradle
3. Configura el SDK si hace falta
4. Ejecuta en emulador o dispositivo físico
## APK generado
Se generó un build debug en:
[`android/apk/LinkedSign-debug.apk`](/home/mgonzalez/desarrollo/react/linkedsign/android/apk/LinkedSign-debug.apk)
Comando usado:
```bash
source /etc/profile.d/android-sdk.sh
cd /home/mgonzalez/desarrollo/react/linkedsign/android
GRADLE_USER_HOME=/home/mgonzalez/desarrollo/react/linkedsign/android/.gradle-home ./gradlew assembleDebug
```
## Notas
- `android_react/` conserva la versión anterior hecha con Expo/React Native.
- `android/` es ahora la base nativa instalable.
- La app Android y la web se complementan: misma cuenta, mismo backend, cache local y sincronización manual.
- El enlace de validación por correo sigue siendo servido por el frontend web actual.
- La referencia visual principal usada para el rediseño móvil está en [`android_firma_electronica.html`](/home/mgonzalez/desarrollo/react/linkedsign/android_firma_electronica.html).