Programadores. El hilo de los hinformáticos profesionales como PABLOPL.

Algún alma caritativa me puede indicar algún enlace donde aprender Android de verdad?.
Nada de hacer alguna gilipollez de App, si no entender en profundidad como se programa, con toneladas de teoría.
Me ha tocado una profesora subnormal en el ciclo que lo único que hace es pasarnos código de aplicaciones sin explicar una puta mierda, ni por que hace las cosas ni como funcionan.
Gracias de antebrazo por vuestra colaboración.

Enviado desde Mordor con un Tam Tam
 
Algún alma caritativa me puede indicar algún enlace donde aprender Android de verdad?.
Nada de hacer alguna gilipollez de App, si no entender en profundidad como se programa, con toneladas de teoría.
Me ha tocado una profesora subnormal en el ciclo que lo único que hace es pasarnos código de aplicaciones sin explicar una puta mierda, ni por que hace las cosas ni como funcionan.
Gracias de antebrazo por vuestra colaboración.

Enviado desde Mordor con un Tam Tam

Android es un SO así que no se que quieres decir con eso de "entender en profundidad como se programa", si es entender a fondo porque funciona todo como lo hace la mejor forma (y creo que la única) es bajarte el código y compilarlo y empollartelo (https://source.android.com/) , no creo que quieras eso y yo desde luego no te lo aconsejo.

Si lo que quieres es meterte a fondo y en serio pasando de tutoriales superficiales puedes mirar las API directamente y empezar a hacer cosas con ellas, están todas en https://developer.android.com/, yo desde luego no empezaría por ahí, sino por lo que tu llamas "gilipollez de app" e iría complicandolas mirando los API, de hecho ahí tienes tambien tutoriales (https://developer.android.com/about/versions/marshmallow/android-6.0-samples.html) junto con los API a los que aplican (https://developer.android.com/about/versions/marshmallow/android-6.0.html)
 
Gracias por la información @PatoLaqueado
Creo que no me he expresado bien.
Quiero aprender a desarrollar aplicaciones para Android de forma profesional. Nada de copiar fragmentos de código que funcionan sin saber como ni por qué. Me gustaría ser capaz de hacer una aplicación escribiendola en el Notepad, comprendiendo cada linea.

Enviado desde Mordor con un Tam Tam
 
Gracias por la información @PatoLaqueado
Creo que no me he expresado bien.
Quiero aprender a desarrollar aplicaciones para Android de forma profesional. Nada de copiar fragmentos de código que funcionan sin saber como ni por qué. Me gustaría ser capaz de hacer una aplicación escribiendola en el Notepad, comprendiendo cada linea.

Enviado desde Mordor con un Tam Tam

No tiene mucho sentido hacer eso hoy en día, ningún profesional lo así, no tiene sentido salvo que seas desarrollador del propio Android, un programador profesional de apps para Android, tiene el eclipe o el android studio o cualquier otro que se te cante y programa ahí sin saber como va todo lo que hay debajo al 100% (me atrevería a decir que ni al 10%), lo que diferencia a uno realmente bueno de otro es es la profundidad de conocimiento de los API y cómo los usa para resolver los problemas de cada App en concreto.

Además a nivel profesional un tío no desarrolla un App solo lo hace un grupo, hay expertos en UX, en el propio Android, en backend, vamos que lo que pretendes es un poco absurdo salvo que seas un genio.
 
Estaba mirando un ejercicio facilón del libro este de JS que explica los booleanos y me ha chocado una cosa. Explico y pongo el código, porsiaca.

Explicación: Hay 2 campos para explicar como funciona el TRUE/FALSE. El campo Available (true) y Shipping (false). Y con CSS se les pone una imagen de un tick o de una X según sea una cosa o la otra. Ahora viene lo que me desconcierta. El CSS apunta a una sola imagen, que es la imagen de ambos signos juntos, no apunta a una imagen de un tick para el TRUE y una X para el FALSE. O se me ha escapado algo realmente obvio o el navegador sabe "buscar" dentro de la imagen única que símbolo toca en cada momento... de fuck.





Código limpio de polvo y paja:

HTML:

<html>
<body>

<div id="content">
<div class="message">Available: <span id="stock"></span></div>
<div class="message">Shipping: <span id="shipping"></span></div>
</div>

<script src="js/boolean-variable.js"></script>

</body>
</html>


JavasCript


var inStock = true;
var shipping = false;

var elStock = document.getElementById('stock');
elStock.className = inStock;

var elShip = document.getElementById('shipping');
elShip.className = shipping;


CSS

.true, .false {
background: url("../images/tick-cross.png");
 
Última edición por un moderador:
Si no recuerdo mal, lo que haces es meter la foto en una cajita o <div> que tenga la mitad de tamaño que la imagen y así solo muestra uno de los dos y el otro se queda fuera de la zona visible, siendo invisible. Cuando cambias de estado entre true y false lo que haces es desplazar la imagen lo justo para sacar de la zona visible lo que tenias y poner el otro símbolo.

Enviado desde Mordor con un Tam Tam
 
Si no recuerdo mal, lo que haces es meter la foto en una cajita o <div> que tenga la mitad de tamaño que la imagen y así solo muestra uno de los dos y el otro se queda fuera de la zona visible, siendo invisible. Cuando cambias de estado entre true y false lo que haces es desplazar la imagen lo justo para sacar de la zona visible lo que tenias y poner el otro símbolo.

Enviado desde Mordor con un Tam Tam

Eso había pensado, porque algo de eso hay en el CSS, pero me parece de ser un poco puntilloso. Imagino que en una web o aplicación con una tonelada de contenido esa técnica se puede usar para aligerar recursos, pero coño, para una imagen de unos pocos pixeles... hace falta ser retorcido.
 
Desde mi punto de vista es una chapuza muy gorda, alguna razón de peso habrá para hacerlo así, pero la desconozco.

Enviado desde Mordor con un Tam Tam
 
Repito que ni idea de javascript ni de programación web, pero puede ser que al ser un lenguaje interpretado que se ejecuta en el cliente no sea capaz de recuperar una imagen u otra en función de un "evento" (un click de ratón) por lo que algo como lo que pongo más abajo no tendría sentido ?

CSS

.true {
background: url("../images/tick.png");

.false {
background: url("../images/cross.png");
 
Si, así no habría problema y es el método mas lógico en principio. El tío que ha hecho eso sus motivos tendrá, para eso ha escrito un best seller de HTML y CSS y otro de Javascript.
 
Es un método que se usaba mucho antiguamente, cuando internet iba a pedales, de esta manera se tardaba un tiempo en cargar una sola imagen (con pequeñas imágenes dentro) y solo mostrabas la parte que te interesaba jugando con las coordenadas. Así ganabas tiempo, recursos y memoria en no cargar imágenes cada dos por tres.

En la actualidad que va todo bastante más rápido, se suele usar este método para imágenes ocultas o que cambian (que aparezca con algún efecto tipo hover) y también como sprites (moviendo la imagen muy rápido de izquierda-derecha o arriba-abajo creando un efecto película).

Igual el ejemplo, además de trabajar con un booleano, te sirve para aprender está tecnica. Pero si, se puede hacer más sencillo.
 
Los sprites (agrupar todas las páginas/icono en una imagen grande y sacar el icono que quieres mediante coordenadas) se usan para ahorrar peticiones al servidor, cargas todas las imágenes en una sola petición y luego se procesa en el lado del cliente.
 
Última edición:
¿Hay alguien por aquí que sepa de Javascript? Se suponía que no iba a ponerme a darle hasta Enero pero le dedico un ratillo cada día. Me he quedado atascado aquí. Dejo código por si alguien maneja. Es muy facilito pero no funciona:

Código:
<html>
<head>   

<script type="text/javascript">

function resultado() {
    var IMP = document.getElementById('imp');
    var IVA = document.getElementById('iva');
    var TOTAL = IMP * IVA;

    document.write (TOTAL) }
    
</script> 
    
</head>

<body>
   
       
   <form name="formulario" action="">
    
    <p> Por favor, introduzca el precio e IVA del producto:<br>
    Importe: <input id="imp" type="text" name="importe" /><br> 
    IVA:     <input id="iva" type="text" name="iva" />         
    <input type="button" value="click aqui" onclick="resultado()"> 
    </p>
        
    </form>
    
    
</body>
</html>

Hay una casilla para escribir un precio, otra para escribir el IVA, y se supone que al darle al botón te devuelve el resultado de multiplicarlos. Como no me aclaraba con que saliese bajo el botón lo he puesto para que salga en una nueva pantalla, pero me imprime el famoso NaN. Esta mierda con PHP la hacia en un minuto :face::trump:
 
¿Puede ser que no le estés pasando ningún parámetro a la función? Me refiero a que por algún motivo no te los está cogiendo, deberías pasárselos dentro del paréntesis como en php.
 
Has precompilado el Kernel??

Enviado desde Mordor con un Tam Tam
 
El getElementById te da el objeto que representa el control de texto, para obtener su valor tendrías que poner .value detrás, y aún así sería mejor validar antes de multiplicar que sea un valor numérico.
 
Última edición:
El getElementById te da el objeto que representa el control de texto, para obtener su valor tendrías que poner .value detrás, y aún así sería mejor validar antes de multiplicar que sea un valor numérico.

Jij, he progresado con esa corrección .platanito.:trump:Gracias, pero me sale 0 de resultado, lo cualo es incorrecto. Voy a investigarlo...
 
Supongo que no hace falta decir que si has de escribir IMPORTE e IVA (supongo que porcentaje), el cálculo no es la multiplicación directa de los dos valores, no ?

Por otra parte, ¿hay posibilidad de ejecutar el código Paso a Paso para ver dónde está el error exactamente?
 
Jij, he progresado con esa corrección .platanito.:trump:Gracias, pero me sale 0 de resultado, lo cualo es incorrecto. Voy a investigarlo...

A saber que valores metes... Si usas coma de separador decimal posiblemente pase de ti. Usa parseFloat para convertir en numéricos antes de multiplicar.
 
Supongo que no hace falta decir que si has de escribir IMPORTE e IVA (supongo que porcentaje), el cálculo no es la multiplicación directa de los dos valores, no ?

Por otra parte, ¿hay posibilidad de ejecutar el código Paso a Paso para ver dónde está el error exactamente?

Todavía no llego a tanto.

Lo he hecho una multiplicacion y estoy metiendo numeros redondos para probar que funciona o no. Tipo importe-6 iva-1

A saber que valores metes... Si usas coma de separador decimal posiblemente pase de ti. Usa parseFloat para convertir en numéricos antes de multiplicar.


Es que no se exactamente donde va el value porque soy nuevo y subnormal.

var IMP = document.getElementById.value('imp');

var IMP = document.getElementById.('imp').value;

var IMP = document.getElementById.valueOf('imp');

No me va ninguno... pero ya voy a seguir dándole.
 
Última edición por un moderador:
Este es el bueno. Ganaras mas tiempo leyéndote tutoriales básicos que dando palos de ciego.

Gracias. Ese era efectivamente.

Lo que pasa es que tengo por aquí una pila de ejercicios de calentamiento para PHP pero digamos que son menos sencillos de llevar a cabo en Javascript si eres principiante. Me estoy leyendo un libro muy bueno pero no he llegado todavia a según que cosas básicas.
 
Arriba Pie