› Foros › PC › Software libre
Atlante escribió:¿Excusa? en 24 horas, contando que ese día no dormimos, nos alimentamos a base de chino y redbull, y si hay vida social, se va a enfocar exclusivamente en ayudarte a encontrar problemas en la app que vas a comprar, es físicamente imposible probar la buena (ya no digo perfecta) funcionalidad de un programa. Es de lógica básica! Una semana sería un buen comienzo.
Con los porcentajes ibas bien encaminado, pero has invertido la relación. Hay una pequeña cantidad de apps (principalmente juegos) que en el supuesto imsomne anterior podrían quedar "revisados" en 1 día, pero son la minoría (no creo ni que lleguen al 10%). Los periodos de prueba de las aplicaciones desde que nacieron los trials suelen ser de 10, 15, 30 dias. Eso de reinventarlo a 1 día....
Es cierto que el precio de muchas de las aplicaciones, pueden inducir al pensamiento "total, si no llega a 1 euro". Pero sigue siendo tu euro. Con las de 30 la historia se hace más evidente.Lo del navegador GPS...bueno, está claro que no has lidiado con ninguno, y que si lo has hecho no lo parece. Un mes de viajes constantes es pronto para dar un veredicto firme sobre un programa de este tipo.
Lo de la opción de ponerte en contacto con la empresa que desarrolla el programa, pues vale está ahí, pero el vendedor es Google, y es quien te debe facilitar el acceso al producto y motivar la compra. 1 dia de prueba no ayuda.
zheo escribió:No, el vendedor no es google. Google es el intermediario, de hecho si tienes problemas con la app, tienes que acudir al desarrollador.
Atlante escribió:A ver, en 1 hora, elegiste el lector pdf que esa hora te dio para decidir.
En más tiempo, habrías elegido mejor.
Claro que los 15 dias (o X) de prueba son para aplicaciones de escritorio, en eso estamos, en que se haga extensible a las apps móviles. Es una ventaja justa para el usuario.
Sobre los ejemplos de las aplicaciones que uso, te remito a lo mismo de antes: empiezo con la que más me gusta de un vistazo, a los 3 dias echo en falta algo, y ese algo lo encuentro en otra. Probablemente a la semana me de cuenta que la 1º era más sencilla, y que la prefiero. Al més sale una 3º que es la leche, y me la quedo (de momento). Esto solo se ve con el uso, por muy sencillo que sea el programa.
Hay muchos tiempos de Intermediarios entre Clientes y Desarrolladores. Google es del tipo VENDEDOR. Tu le pagas a Google la aplicación, y google te ofrece su descarga. Las clausulas del funcionamiento de garantías y responsabilidades ya las desconozco, pero lo anterior no tiene mucha más historia.
Atlante escribió:Cualquier aplicación del market de predicciones meteorológicas lleva 1000 pijotadas menos que sus homólogas de Escritorio. Aún así, de nuevo, si en 2 horas (o 1 dia) eres capaz de decidir cual es mejor, enhorabuena. Yo no (en ello estoy).
Que a ti no te importen las matemáticas y la estadística, y te parezca que 1x=15x=30x=100x, con x=PROBABILIDAD DE "valla, esto no es por lo que yo querría haber pagado". Vale. A mi si me importa.
Vendedor. Esto ya es discutir por discutir macho . Tu mismo has descrito perfectamente el rol del "Vendedor" y aún así te empeñas en que se llame de otra forma. En fin.
y a disfrutar del verano
Atlante escribió:A todo esto ¿usais o veis videos en el movil?
La verdad esque sé que no le voy a dar mucho uso, pero me puse ayer por curiosidad a pasar unos videoclips a mp4 y 3gp con ffmpeg, y usando el codec de audio aac, el HTC Magic me los reproduce con unos pequeños chasquidos. ¿Sabeis el formato óptimo para video/audio?
maeseoki escribió:Mira, lo del reproductor multimedia era algo que quería preguntar. A mi no me importa el espacio que ocupe el archivo de video, pero quiero un reproductor que pueda con la máxima calidad posible y a ser posible en un formato abierto.
[ 627.528032] usb 1-3: new high speed USB device using ehci_hcd and address 8
[ 627.686248] usb 1-3: configuration #1 chosen from 1 choice
[ 627.691591] scsi9 : SCSI emulation for USB Mass Storage devices
[ 627.692310] usb-storage: device found at 8
[ 627.692312] usb-storage: waiting for device to settle before scanning
[ 632.695705] usb-storage: device scan complete
[ 632.699542] scsi 9:0:0:0: Direct-Access HTC Android Phone 0100 PQ: 0 ANSI: 2
[ 632.716513] sd 9:0:0:0: [sdh] Attached SCSI removable disk
[ 632.716587] sd 9:0:0:0: Attached scsi generic sg9 type 0
[ 658.101305] usb 1-3: USB disconnect, address 8
maeseoki escribió:Puede parecer una tontería que lo diga pero...sabes que tienes que abrir la pantalla de notificaciones del movil, pinchar en "Conectado por USB" y luego darle a Activar?
Elric85 escribió:Otra cosa, podríamos colaborar todos en el hilo y recomendar aplicaciones y juegos que los de la primera página están un poco desfasadas no?
dark-kei escribió:Elric85 escribió:Atlante, cuando localices el mejor codec postealo porfa.
ffmpeg -i nombre_archivo_video -f mp4 -r 15 -vcodec libx264 -s 480x320 -aspect 3:2 -b 128kb -acodec libfaac -ab 64000 -ar 16000 -ac 2 nombre_archivo_codificado.mp4
Indioo escribió:¿Se sabe de la actualización de octubre de Android y su repercusión (sobretodo con lo que respecta a la interfaz Sense) en HTC Magic?
Había leído por ahí que HTC ha confirmado recientemente que la interfaz solo podrá ser usada en el modelo HTC Magic de HTC, no el de Vodafone, ya que éste tiene menos memoria RAM.
maeseoki escribió:Como HTC Magic de HTC y no de vodafone? hasta donde yo se, el Magic salió en exclusiva con Vodafone, y sólo hay un modelo. Tal vez te refieras al Hero que es el que trae el Sense, pero éste tiene la misma ram que el Magic.
De hecho, yo en mi Magic ya tengo el HTC Sense; le puse la ROM del Hero
maeseoki escribió:Como HTC Magic de HTC y no de vodafone? hasta donde yo se, el Magic salió en exclusiva con Vodafone, y sólo hay un modelo. Tal vez te refieras al Hero que es el que trae el Sense, pero éste tiene la misma ram que el Magic.
dark-kei escribió:Bufff pues como no valla con el de vodafone... menuda mierda
package android.quatre.ratlla;
import android.content.Context;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
import android.graphics.Canvas;
import android.graphics.drawable.Drawable;
/**
* Classe per crear, consultar i modificar
* un objecte tipus Tauler4Ratlla, compos
* dels atributs files, columnes, taula i
* a_n.
* @version 22/04/09
* @author Xaco
*/
public class QuatreenRatlla extends View{
private int files; // Atribut enter que indica el numero de files de l'objecte.
private int columnes; // Atribut enter que indica el numero de columnes de l'objecte.
private casella [] [] taula; // Atribut tipus matriu de caracter, que indica el contingut de l'objecte en una determinada posicio.
private int [] a_n; // Atribut tipus fila d'enter, que indica la fila lliure de l'objecte per tal de posar un nou element.
private Drawable cruz;
private Drawable cercle;
private int anchoCruz;
private int anchoCercle;
private int largoCruz;
private int largoCercle;
private int posX;
private int posY;
/**
* Classe per crear un nou objecte ti
* pus Tauler4Ratlla, fixant-hi els seus
* atributs.
*/
public QuatreenRatlla(Context context, AttributeSet attrs){
//Pre: cert.
//Post: nou objecte tipus Tauler4Ratlla creat.
super(context, attrs);
cruz=context.getResources().getDrawable(R.drawable.cruz);
cercle=context.getResources().getDrawable(R.drawable.circulo);
anchoCruz=cruz.getIntrinsicWidth();
largoCruz=cruz.getIntrinsicHeight();
anchoCercle=cercle.getIntrinsicWidth();
largoCercle=cercle.getIntrinsicHeight();
setFocusable(true);
taula=new casella[5][7];
for (int i=0; i<files;i++){
for(int j=0;j<columnes;j++){
taula[i][j].modificarContingut(' ');
}
}
a_n=new int [7];
for(int j=0; j<7; j++){
a_n[j]=1;
}
}
public boolean onTouchEvent(MotionEvent event){
return true;
}
public int meterFicha(float x, int i){
int c=0;
if(x>=0.0 && x<=60.0){
c=0;
jugada(c, i);
}
if(x>60.0 && x<=120.0){
c=1;
jugada(c, i);
}
if(x>120.0 && x<180.0){
c=2;
jugada(c, i);
}
if(x>180.0 && x<=240.0){
c=3;
jugada(c, i);
}
if(x>240.0 && x<=300.0){
c=4;
jugada(c, i);
}
if(x>300.0 && x<340.0){
c=5;
jugada(c, i);
}
if(x>340.0 && x<=400.0){
c=6;
jugada(c, i);
}
if(x>400.0 && x<=480.0){
c=7;
jugada(c, i);
}
return c;
}
/**
* Classe amb l'objectiu de comprovar si
* hi han 4 mateixos continguts a la nostra
* taula en vertical (sense deixar de banda
* l'actual posicio).
* @param c Columna on es troba l'ultim element posat a la taula.
* @return Boolea indicant si la condicio es compleix o no.
*/
public boolean victoriaColumnes(int c){
//Pre: parametre entrant valid.
//Post: indicacio de que si es compleix la condicio.
boolean b=false;
int j=0;
int m=a_n[c]-1;
char k=taula[m][c].obtenirContingut();
int i=m;
while(i!=m-4 && i>0){
if(taula[i][c].obtenirContingut()==k){
j=j+1;
if(j==4){
b=true;
}
}
i--;
}
return b;
}
/**
* Classe amb l'objectiu de comprovar si
* hi han 4 mateixos continguts a la nostra
* taula en horitzontal (sense deixar de banda
* l'actual posicio).
* @param c Columna on es troba l'ultim element posat a la taula.
* @return Boolea indicant si la condicio es compleix o no.
*/
public boolean victoriaFiles(int c){
//Pre: parametre entrant valid.
//Post: indicacio de que si es compleix la condicio.
boolean b=false;
int l=a_n[c]-1;
int j=0;
int k=0;
int m=0;
while(k<columnes && !b){
if((k>=c-3 || k<=c+3) && taula[l][k].obtenirContingut()=='X'){
m=0;
j=j+1;
if(j==4){
b=true;
}
}
if((k>=c-3 || k<=c+3) && taula[l][k].obtenirContingut()=='O'){
j=0;
m=m+1;
if(m==4){
b=true;
}
}
if(taula[l][k].obtenirContingut()!='O' && taula[l][k].obtenirContingut()!='X'){
m=0;
j=0;
}
k++;
}
return b;
}
/**
* Classe amb l'objectiu de comprovar si
* hi han 4 mateixos continguts a la nostra
* taula en diagonal (sense deixar de banda
* l'actual posicio).
* @param c Columna on es troba l'ultim element posat a la taula.
* @return Boolea indicant si la condicio es compleix o no.
*/
public boolean victoriaDiagonal(int c){
//Pre: parametre entrant valid.
//Post: indicacio de que si es compleix la condicio.
boolean b=false;
int j=0;
int m=a_n[c]-1;
int i=m-3;
char k=taula[m][c].obtenirContingut();
int n=c-3;
while(i!=m+4 && n!=c+4 && !b && n<=columnes && i<=files){
if(n>=0 && i>=1){
if(taula[i][n].obtenirContingut()==k){
j=j+1;
if(j==4){
b=true;
}
}
else{
j=0;
}
}
i=i+1;
n=n+1;
}
j=0;
m=a_n[c]-1;
i=m-3;
k=taula[m][c].obtenirContingut();
n=c+3;
while(i!=m+4 && n!=c-4 && !b ){
if(n>=0 && i>=1 && n<=columnes && i<=files){
if(taula[i][n].obtenirContingut()==k){
j=j+1;
if(j==4){
b=true;
}
}
else{
j=0;
}
}
i++;
n--;
}
return b;
}
/**
* Classe per comprvar si la taula del
* nostre objecte hi es plena.
* @return Boolea que indica si es compleix la condicio.
*/
public boolean mirarSiTaulaPlena(){
//Pre: cert
//Post: indicar si es plena o no.
boolean b=true;
int i;
int j;
for(i=1; i<=files; i++){
for(j=0; j<columnes; j++){
if(taula[i][j].obtenirContingut()=='.'){
b=false;
}
}
}
return b;
}
public boolean mirar(int c){
boolean v= (!victoriaFiles(c) && !victoriaColumnes(c) && !victoriaDiagonal(c));
return v;
}
public void joc(){
int i=1;
MotionEvent event = null;
onTouchEvent(event);
int c=meterFicha(event.getRawY(), i);
jugada(c, i);
while(!mirar(c)){
i++;
onTouchEvent(event);
c=meterFicha(event.getRawY(), i);
}
}
public void jugada(int c, int i){
Canvas canvas=null;
if(i%2==0 && a_n[c]!=c){
taula[a_n[c]][c].modificarContingut('X');
onDraw1(canvas, c);
a_n[c]++;
}
if(i%2!=0 && a_n[c]!=c){
taula[a_n[c]][c].modificarContingut('O');
onDraw2(canvas, c);
a_n[c]++;
}
}
protected void onDraw1(Canvas canvas, int c) {
super.onDraw(canvas);
posX=(a_n[c]*40)+2;
package android.quatre.ratlla;
public class casella {
private char contingut;
private int columna;
public casella(){
contingut=' ';
}
public casella(casella c){
contingut=c.contingut;
}
public char obtenirContingut(){
return this.contingut;
}
public void modificarContingut(char c){
contingut=c;
}
public int obtenirColumna(){
return this.columna;
}
}
package android.quatre.ratlla;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.util.AttributeSet;
import android.view.Window;
public class Apl4Ratlla extends Activity {
Context context;
AttributeSet a;
QuatreenRatlla taula=new QuatreenRatlla(context, a);
/** Called when the activity is first created. */
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
taula.joc();
}
}
Bou escribió:Por cierto sheenmue, tu juego sale mencionado en un Blog: http://androidandme.com/2009/09/news/ad ... -on-video/
Bou escribió:Los dueños de un Hero haríais muy muy MUY bien en descargar y aplicar la nueva ROM de Modaco, basada en el firmware actualizado que salió ayer y que mejora la velocidad de forma bestial!!
Atlante escribió:Bou escribió:Los dueños de un Hero haríais muy muy MUY bien en descargar y aplicar la nueva ROM de Modaco, basada en el firmware actualizado que salió ayer y que mejora la velocidad de forma bestial!!
Pues ojito con recomendar instalaciones de ROMs de terceros, porque no se como estará el tema en la Magic, pero mi Omnia se ha jodido, y me las estoy viendo putas para ver como les mando yo el cacharro a los del SAT con "algo que se parezca" a la rom original de Vodafone que debería llevar..
DooBie escribió:Por cierto, creo que esto ya se va de la tematica del foro, pero por si acaso.... alguien con el htc magic, ha conseguido alguna forma de ponerle un todo de llamada diferente para cada contacto????
DooBie escribió:Pues ojito con recomendar instalaciones de ROMs de terceros, porque no se como estará el tema en la Magic, pero mi Omnia se ha jodido, y me las estoy viendo putas para ver como les mando yo el cacharro a los del SAT con "algo que se parezca" a la rom original de Vodafone que debería llevar..
DooBie escribió:Por cierto, creo que esto ya se va de la tematica del foro, pero por si acaso.... alguien con el htc magic, ha conseguido alguna forma de ponerle un todo de llamada diferente para cada contacto????
dark-kei escribió:Escapology.... la release oficial para los "width Google" sale en octubre... asiq lo que as probado puede ser la versión final... por otra parte si solo tiene problemas de Localizacion, tampoco lo veo muy relevante.