El consultorio de Android

s4suk3

Abro este hilo para no molestar en FEDA con preguntas intermitentes, y tener un poco agrupadas las dudas.
Me dedico a desarrollar apps android, entre otras cosas e intentaré ayudar cuando pueda si tenéis dudas,

Para abrir el hilo disparo con algo que me tiene un poco loco.

Estoy creando un sdk en un .aar la cual depende de otro .aar, y otras librerías de maven, como Retrofit.
Por lo que estoy viendo el aar que genero yo, no contiene el aar que incluyo, al igual que la librería de retrofit no se incluye en mi aar.
Para que me funcione el sdk debo añadir los dos aar + retrofit en la app.

Alguna idea para incluir todo en un aar? También se me ocurrió meter retrofit como jar, para evitar tener que añadirlo en la app.

He leído que la solución es usar maven, pero no puedo utilizarlo / no me dejan.

nobody1

Qué opina usted de esto:

https://twitter.com/therupas/status/1093971882188197888

2 respuestas
Adrux

Este año empiezo DAW, tengo bastante interes por el mundillo android y moviles.

Mi pregunta es: sabes si tendré futuro con DAW para desarrollar/trabajar con android? He leido por ahi que sí, ya que se trabaja mucho con java o js si no recuerdo mal

3 respuestas
s4suk3

#2 tú que opinas de esto? https://dineroensandalias.com/como-ganar-dinero-sin-hacer-nada/
#3 si te gusta el oficio encontrarás trabajo fácil, pero dependiendo de tu ubicación habrá más o menos ofertas, mi consejo es que aprendas por tu cuenta a usar git, ya que no lo suelen enseñar en los ciclos y es algo básico para programar

1
autlos

#3 para tener un perfil de desarrollador Android tienes que aprender por tu cuenta el 80% de las cosas así que da igual que estudies DAW o DAM. Aunque por contexto, DAM está más relacionado.

1 respuesta
Cosamala

#3 DAW es WEB y DAM es Multiplataforma... debiste tirar por el DAM. Te lo dice alguien que tiene el DAW y de android (Por lo menos en mi modulo) no vimos nada.

3 respuestas
_Rpv

#2 Sí se ganará eso para que iba a vender cursos?
#1 Trabajas por cuenta propia o ajena?

1 respuesta
Adrux

#5 #6 bueno, más que nada para mí android es un hobby así que tiraré a aprenderlo por mi cuenta.

DAW en cambio es lo que más me molaba en el medio. Aún así gracias por las respuestas

s4suk3

#6 ten en cuenta que hoy en día haciendo webs puedes hacer apps de escritorio con electron, y apps híbridas, yo creo que es aun siendo programador nativo de android en java/kotlin, es necesario dominar html/css/js.
#7 trabajo en una empresa "indie", somos 4, cada uno especializado en algunas tecnologías, pero también hago cosas por mi cuenta.

1 1 respuesta
Cosamala

#9 Si, esta claro que todo esta "relacionado" pero para android tiraria mas por DAM que por DAW

Tig

#1 en tu build.gradle tienes que usar api para declarar la dependencia en vez de implementation

api retrofit

Y así se exporta

Por cierto, llevo 8 años en Android y no tengo (casi) ni idea de html/js/css.

1 1 respuesta
s4suk3

#11 ya hice api, pero el aar dependencia no lo incluye, entiendo que los aar deberían mergearse con el manifest/resources etc no?

estuve probando esto https://github.com/Mobbeel/fataar-gradle-plugin pero sin éxito, me da error

1 respuesta
zoeshadow

Yo hice DAW y llevo 5 años programando Android, al final cuenta más donde te metes una vez empiezas a currar y no tanto lo que estudies...

Tig

#12 supongo que has visto esto https://stackoverflow.com/questions/25698160/can-an-aar-include-transitive-dependencies

Sí lo consumes como dependencia local, deberías montar un maven local para que se resuelvan las dependencias. Cuesta muy poco.

Sí lo vas a compartir con terceros, puedes o publicarlo o montar un jfrog

Yo uso unos plugins para publicar .aars, te lo añade como task de gradle y lo puedes meter en tu ci o hacerlo a mano. No estoy en ordenador, no recuerdo exactamente qué plugins

1 respuesta
s4suk3

#14 no puedo utilizar un repositorio local, ni publicarlo para terceros, creo que la solución sera unir los dos .aar en una librería, y luego generar un único aar

1 respuesta
Tig

#15 y subirlo a algún maven privado o que necesite contraseña? Supongo que existe ese servicio

Nosotros tenemos nuestro propio maven, pero tenemos a una persona para ese tipo de cosas.

Suerte en cualquier caso

1 1 respuesta
autlos

#6 es lo que digo, que básicamente en daw no verá nada, pero si lo que quiere es hacer android, en cualquier formación lo va a ver por encima, sea DAM o grado. Así que le tocará tirar de ser autodidacta.

Cursar una asignatura de Android e imitar 4 apps está lejos de saber Android.

djamb

#16 se puede montar un sonatype si lo quiere tener en una máquina local.
Por ejemplo tienes jitpack por si quieres subirlo y no calentarte la cabeza

1 respuesta
s4suk3

#18 era para un cliente y no querían líos, meter el aar y pista, lo que he hecho ha sido juntar el código de los dos .aar y las dependencias de retrofit, okhttp etc añadirlas como jar con un task gradle

1 mes después
J

Buenas, estoy con el tema de cambiar la vista en función del tamaño en android y tengo un problema, a ver si alguien puede echarme una mano:

Tengo dos layouts activity_main y activity_main2, con uno y dos fragments respectivamente.

Tengo un layouts en values con lo siguiente:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="main_layout" type="layout">@layout/activity_main</item>
<bool name="has_two_panes">false</bool>
</resources>

Otro en values-sw420dp-land con:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="main_layout" type="layout">@layout/activity_main2</item>
<bool name="has_two_panes">true</bool>
</resources>

En el main tengo:

setContentView(R.layout.main_layout);

La cosa es, yo arranco la aplicación en Portrait y me sale el layout activity_main, pero al ponerlo en Landscape no se cambia a activity_main2, es como si no identificara que el tamaño de la pantalla a cambiado.

No se si es que me falta algo o que es lo que ocurre, a ver si alguien me echa un cable.

1 respuesta
s4suk3

#20 no lo he probado pero..

I don't know what is the problem in the way you are trying. But I always create values folders like this values, values-ldpi, values-mdpi, values-hdpi, values-xhdpi, values-w360dp-mdpi, values-w600dp-mdpi and so on. Its always work for me.

1 mes después
B

Buenas, refloto esto un poquito.

Pregunta de un novato estoy terminando mi primer año de ciclos sanos y todo lo que pregunto no me lo han enseñado aún xD por mi cuenta he estado mirando, tocando y haciendo cursos no muy buenos, pero al menos algo básico se aprende.

La cuestión es la siguiente, para conectar una base de datos a una App y así poder hacer que se manipule esa base de datos o se puedan hacer búsquedas y mostrarlas en la App, qué usarías? Firebase (no me han enseñado NoSQL pero he visto que tienen unos vídeos que enseñan de SQL a NoSQL tendría tiempo para investigar, pero lo que quiero hacer tampoco es muy grande la verdad), otra opción es que se podría usar mysql-connector.jar bajo Android por lo que he visto, es una buena opción? O finalmente utilizar PHP para conectar la base de datos a Android?

Saludos y gracias.

1 respuesta
zoeshadow

#22 ¿Lo que quieres es hacer una app que pueda conectarse a la base de datos a modo administrador, o quieres que un usuario pueda ver/buscar/añadir cosas que estan en una base de datos a modo usuario?

Si es lo segundo, no se suele ni plantear la posibilidad de que la app acceda directamente al servidor de DB, normalmente lo que se hace es hacer una petición HTTP al servidor(esta app puede estar escrita en el lenguaje que quieras) y que este te provea los datos que necesite el usuario.

Si las operaciones son muy sencillas (CRUD Create, read, update and delete) hay muchas librerías/frameworks que te permiten hacer una aplicación en el servidor muy "fina" por encima de la base de datos y ya ir tirando de ahí, añadiendo cachés, comprobaciones, agregaciones extras si hiciera falta.

1 1 respuesta
B

#23
Sí, es el segundo caso. La idea es que los usuarios se puedan registrar y acceder con su cuenta para luego poder rear, actualizar o eliminar por ejemplo. Podrías proporcionarme el nombre de alguno de esos frameworks?

2 respuestas
zoeshadow

#24 Cualquier framework web de PHP suele tener un ORM que es la pieza que mapea clases del lenguaje de turno con tablas de la bbdd

En PHP creo que se lleva ahora mucho Laravel -> https://laravel.com/ y su ORM -> https://laravel.com/docs/5.8/eloquent
Otra alternativa sería Symfony + Doctrine -> https://symfony.com/doc/current/doctrine.html

1 respuesta
Leos

#24 Si es muy simple en vez de laravel mirate lumen, es de laravel pero más simple y ligero

1 1 respuesta
B

#25 #26

Me han recomendado que utilice Firebase y la verdad que he visto poco y nada de NoSQL pero preferiría aprenderlo antes que profundizar en PHP.

2 respuestas
MisKo

#27 No estoy muy puesto en Firebase, pero creo que sigues teniendo que tener un backend que conecte a firebase si no quieres 'compartir' el user/passw/token de acceso a Firebase directamente en la app del movil.

Que alguien me corrija, pq como he comentado, estoy perdido en Firebase xD

s4suk3

#27 como programador es básico que sepas montar una rest api, ya sea en php, nodejs, java...
cuando tengas tiempo aprende algo sobre esto, el problema de aprender firebase es que ese aprendizaje no vale de nada cuando no uses firebase, y tu código dependerá de google

2 meses después
imsack

Buenas tengo una duda con el tema de activitys y de fragments, ¿a nivel de optimización es mejor usar unos o los otros?Os pongo un ejemplo, supongamos que tengo un login con dos campos usuario y contraseña y dos botones entrar y registrar, creéis que seria buena opción usar un fragment para cargar los campos para registrarse o es mejor ponerlos en un activity aparte.

Se como se hacen las dos cosas pero quiero saber que es mas optimo.

2 respuestas