› Foros › PC › Software libre
zaius5 escribió:Espero explicarme bien,tengo una clase que hereda de activity y otra clase que no lo hace ,en la ejecucion del activity llamo a la otra clase,entonces querria saber como podria obtener una referencia de la activity desde la otra clase para obtener el valor de ciertas variables
public void foo(Activity activity, ...){
int tralara = activity.unEntero;
...
}
laClase.foo(this, ...);
amuchamu escribió:zaius5 escribió:Espero explicarme bien,tengo una clase que hereda de activity y otra clase que no lo hace ,en la ejecucion del activity llamo a la otra clase,entonces querria saber como podria obtener una referencia de la activity desde la otra clase para obtener el valor de ciertas variables
En el método de la otra clase tienes que añadir un campo de clase Activity, y en la Activity sólo tienes que pasarle una referencia a this
Por ejemplo, en la clase laClase tienes una función:public void foo(Activity activity, ...){
int tralara = activity.unEntero;
...
}
Y en la Activity llamas a esa función como:laClase.foo(this, ...);
Edito: he editado, que te había dicho otra cosa.
package com.android;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Point;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;
import com.google.android.maps.Projection;
public class OverlayMapa extends Overlay{
private Double latitud;
private Double longitud;
/*public OverlayMapa(Double latitud,Double longitud) {
super();
this.latitud=latitud;
this.longitud=longitud;
}*/
public void draw(Canvas canvas, MapView mapView, boolean shadow){
Projection projection = mapView.getProjection();
GeoPoint geoPoint =new GeoPoint(latitud.intValue(),longitud.intValue());
if (shadow == false)
{
Point centro = new Point();
projection.toPixels(geoPoint, centro);
Paint p = new Paint();
p.setColor(Color.BLUE);
Bitmap bm = BitmapFactory.decodeResource(mapView.getResources(), R.drawable.marcador_google_maps);
canvas.drawBitmap(bm, centro.x - bm.getWidth(), centro.y - bm.getHeight(), p);
}
}
}
zaius5 escribió:El construcctor que tengo comentado no sirve porque la asignacion seria despues de llamar a draw()
amuchamu escribió:zaius5 escribió:El construcctor que tengo comentado no sirve porque la asignacion seria despues de llamar a draw()
Pero el constructor es lo primero que se ejecutará, antes del draw :S Si un método no es estático (de clase), no puede ejecutarse sin un objeto y al crear el objeto se usa el constructor.
Solid_87 escribió:Próximamente me haré con un HTC que tiene android y tengo varias dudas respecto a sus juegos.
La calidad gráfica de los juegos para este sistema está a la altura de los de Iphone o PSP?
Son muy caros?
muchas gracias
manugarrote escribió:Os tengo que pedir un favor.
Estoy probando a incluir anuncios en mi aplicación con Admob. El caso es que en el emulador me funciona perfectamente, pero en el móvil no puedo ver ninguno de los anuncios.
¿A alguien le importaría instalarse la aplicación y decirme si puede ver los anuncios?
Enlace: http://www.mediafire.com/?d4i36q1xve24x7w
Muchísimas gracias!!
PD: si va en contra de las normas, decídmelo y edito el post.
I/Ads ( 5842): To get test ads on this device, call adRequest.addTestDevice("[...]");
I/Ads ( 5842): adRequestUrlHtml: <html><head><script src="http://www.gstatic.com/afma/sdk-core-v40.js"></script><script>AFMA_buildAdURL({"preqs":5,"u_sd":1,"slotname":"a14e3423bf8f379","u_w":320,"msid":"gcmdesarrollos.AvionesEspanoles","js":"afma-sdk-a-v4.1.1","isu":"[...]","format":"320x50_mb","net":"wi","app_name":"4.android.gcmdesarrollos.AvionesEspanoles","hl":"es","u_h":480,"testing":1,"u_audio":1});</script></head><body></body></html>
I/Ads ( 5842): Received ad url: <"url": "http://r.admob.com:80/ad_source.php?preqs=5&u_sd=1&slotname=a14e3423bf8f379&u_w=320&msid=gcmdesarrollos.AvionesEspanoles&js=afma-sdk-a-v4.1.1&isu=[...]&format=320x50_mb&net=wi&app_name=4.android.gcmdesarrollos.AvionesEspanoles&hl=es&u_h=480&testing=1&u_audio=1&u_so=p&output=html®ion=mobile_app&u_tz=-120&ex=1&client_sdk=1&askip=0", "afmaNotifyDt": "null">
W/Ads ( 5842): IOException connecting to ad url.
W/Ads ( 5842): java.net.ConnectException: r.admob.com/127.0.0.1:80 - Connection refused
W/Ads ( 5842): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:254)
W/Ads ( 5842): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:533)
W/Ads ( 5842): at java.net.Socket.connect(Socket.java:1055)
W/Ads ( 5842): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:62)
W/Ads ( 5842): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionPool.get(HttpConnectionPool.java:88)
W/Ads ( 5842): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getHTTPConnection(HttpURLConnectionImpl.java:927)
W/Ads ( 5842): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:909)
W/Ads ( 5842): at b.run(Unknown Source)
W/Ads ( 5842): at java.lang.Thread.run(Thread.java:1096)
amuchamu escribió:Lo he probado y no me salen. Creo que lo tienes con los anuncios de prueba, y el logcat me muestra algunos mensajes que puede que sean la causa, te pego lo que creo que corresponde al programa:I/Ads ( 5842): To get test ads on this device, call adRequest.addTestDevice("[...]");
I/Ads ( 5842): adRequestUrlHtml: <html><head><script src="http://www.gstatic.com/afma/sdk-core-v40.js"></script><script>AFMA_buildAdURL({"preqs":5,"u_sd":1,"slotname":"a14e3423bf8f379","u_w":320,"msid":"gcmdesarrollos.AvionesEspanoles","js":"afma-sdk-a-v4.1.1","isu":"[...]","format":"320x50_mb","net":"wi","app_name":"4.android.gcmdesarrollos.AvionesEspanoles","hl":"es","u_h":480,"testing":1,"u_audio":1});</script></head><body></body></html>
I/Ads ( 5842): Received ad url: <"url": "http://r.admob.com:80/ad_source.php?preqs=5&u_sd=1&slotname=a14e3423bf8f379&u_w=320&msid=gcmdesarrollos.AvionesEspanoles&js=afma-sdk-a-v4.1.1&isu=[...]&format=320x50_mb&net=wi&app_name=4.android.gcmdesarrollos.AvionesEspanoles&hl=es&u_h=480&testing=1&u_audio=1&u_so=p&output=html®ion=mobile_app&u_tz=-120&ex=1&client_sdk=1&askip=0", "afmaNotifyDt": "null">
W/Ads ( 5842): IOException connecting to ad url.
W/Ads ( 5842): java.net.ConnectException: r.admob.com/127.0.0.1:80 - Connection refused
W/Ads ( 5842): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:254)
W/Ads ( 5842): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:533)
W/Ads ( 5842): at java.net.Socket.connect(Socket.java:1055)
W/Ads ( 5842): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:62)
W/Ads ( 5842): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionPool.get(HttpConnectionPool.java:88)
W/Ads ( 5842): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getHTTPConnection(HttpURLConnectionImpl.java:927)
W/Ads ( 5842): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:909)
W/Ads ( 5842): at b.run(Unknown Source)
W/Ads ( 5842): at java.lang.Thread.run(Thread.java:1096)
Donde pone [...] salían unos números y letras que he editado por si acaso, eran un identificador que correspondía a mi móvil, que supongo que no será nada útil pero por si acaso.
Y se ve así: http://img28.imageshack.us/img28/6020/d ... 213927.png
failed: Ad request successful, but no ad returned due to lack of ad inventory.
Einy escribió:A ver si esto te ayuda RealViewSwitcher Class. No sé si es exactamente lo que buscas.
Un saludo.
AzagraMac escribió:Necesito algo para recuperar una imagen del buffer y la pueda guardar en un archivo de imagen, y la otra es algo relacionado con tratamiento de imagenes desde la camara y codigos QR, Barras, etc...
Sabeis donde puedo encontrar algo?
saludos y gracias
Denbrough escribió:Einy escribió:A ver si esto te ayuda RealViewSwitcher Class. No sé si es exactamente lo que buscas.
Un saludo.
Creo que si que es lo que busco, pero como estoy medio durmiendo no se si voy a entender demasiado el ejemplo jajajaja, luego lo mirare pacientemente e intentare aplicarlo a mi programa, gracias!
EDIT: Es exactamente lo que buscaba, pero no me aclaro a usarlo con un arraw de ImageView, asi que empezare por lo basico mostrando unicamente 2 imageview y de ahi ire viendo como va. Gracias d enuevo
elchicosinhada escribió:AzagraMac escribió:Necesito algo para recuperar una imagen del buffer y la pueda guardar en un archivo de imagen, y la otra es algo relacionado con tratamiento de imagenes desde la camara y codigos QR, Barras, etc...
Sabeis donde puedo encontrar algo?
saludos y gracias
Para los códigos de barras y qr, zxing: http://code.google.com/p/zxing/
AzagraMac escribió:ahora, quiero poner un banner de publicidad, tengo cuenta con con google Adsense, alguna idea?
dark-kei escribió:@imanol_hh17 Has instalado algún launcher alternativo? un widget recientemete?
Empieza desinstalado cosas desde la fecha del error
dark-kei escribió:AzagraMac escribió:ahora, quiero poner un banner de publicidad, tengo cuenta con con google Adsense, alguna idea?
Usa el SDK de admob, sencillito y con un tutorial muy bueno.
imanol_hh17 escribió:dark-kei escribió:@imanol_hh17 Has instalado algún launcher alternativo? un widget recientemete?
Empieza desinstalado cosas desde la fecha del error
Sólo tengo instalado lo más básico y todo desde el market. La verdad que soy n00b en el tema de Android y todavia no he trasteado con nada fuera de lo común. No puedo acceder al menú, me sale el mensaje ese una y otra vez y no puedo hacer otra cosa que apretar "forzar cierre" para que en el mismo segundo me aparezca otro mensaje y así todo el rato hasta que tengo que forzar el apagado de la tablet. Y si hay una forma de desinstalar cosas desde el Pc no sabría cómo hacerlo que como digo soy un n00b del copón en esto del Android.
Denbrough escribió:Bueno mi proyecto va bien, pero ahora me encontre otro problema.
El caso es que al no encontrar la forma de hacer zoom multitactil empece a usar webview al incorperarlo ya de por si. El caso es que el proyecto qu eestoy realizando es un lector de comics y claro, al usar webview salen los controles del zoom abajo a la derecha y las barras de scroll a la derecha y a la izquierda. ¿Sabeis como podria ocultarlo?
Os dejo una imagen:
He mirado por internet pero la opcion de webview.getZoomControls().setVisibility(View.GONE), no funciona.
Gracias
Denbrough escribió:Bueno mi proyecto va bien, pero ahora me encontre otro problema.
El caso es que al no encontrar la forma de hacer zoom multitactil empece a usar webview al incorperarlo ya de por si. El caso es que el proyecto qu eestoy realizando es un lector de comics y claro, al usar webview salen los controles del zoom abajo a la derecha y las barras de scroll a la derecha y a la izquierda. ¿Sabeis como podria ocultarlo?
Os dejo una imagen:
He mirado por internet pero la opcion de webview.getZoomControls().setVisibility(View.GONE), no funciona.
Gracias
stview.setVerticalScrollbarOverlay(false);
stview.setHorizontalScrollBarEnabled(false);
imagen.setVerticalScrollBarEnabled(false);
imagen.setHorizontalScrollBarEnabled(false);
AzagraMac escribió:[oki] de nada hombre!! ya nos diras cuando la publicas en el Market
Yo estoy ultimando unos detalles de un juego que estoy haciendo, tengo problemas con el SDK AdMob, he hecho una prueba, creando un proyecto nuevo y lo pruebo hay, genial!!! sin problemas, tanto en el emulador como en mi Android (HTC Desire HD), lo pongo en mi juego, igual manera, y nada! ni en el emulador ni en mi Android.
Reviso el codigo, y no veo nada raro, lo comparo con el proyecto creado solo para ver si me tiraba, y esta igual.
Alguna idea?
Os paso un PDF que es el que he seguido y no tiene mala pinta http://www.megaupload.com/?d=9DA6JB6Q
saludos
dark-kei escribió:
@Denbrough "ahora solo me falta ocultar los controles del + y el -"
Has probado a hacerles un wrapper con un layout? los layout basicos como el Linear no dan ningun problema al darles la orden de ocultado (setVisibility(View.Invisible)) y con ello ocultarias también ese componente
android:scrollbars="none"
dark-kei escribió:@Denbrough Yo con los assets no he notado diferencia de rendimiento, es más ahi es donde se mete la musica y es algo que consume mas.... por otro lado... has pensado en descargarte las imagenes a la SD?
Denbrough escribió:dark-kei escribió:@Denbrough Yo con los assets no he notado diferencia de rendimiento, es más ahi es donde se mete la musica y es algo que consume mas.... por otro lado... has pensado en descargarte las imagenes a la SD?
Eso lo había pensado, pero de momento estoy viendo que todo funcione y demas, sor primerizo en esto de android. Lo que había pensado es que como la aplicación tampoco coge nada del teléfono, que esté directamente toda (imágenes y demás) en la SD, pero tengo que mirar como se hace porque no tengo ni idea. Voy poquito a poco, viendo que todo funcione y viendo que todo va segun yo quiero.
dark-kei escribió:Denbrough escribió:dark-kei escribió:@Denbrough Yo con los assets no he notado diferencia de rendimiento, es más ahi es donde se mete la musica y es algo que consume mas.... por otro lado... has pensado en descargarte las imagenes a la SD?
Eso lo había pensado, pero de momento estoy viendo que todo funcione y demas, sor primerizo en esto de android. Lo que había pensado es que como la aplicación tampoco coge nada del teléfono, que esté directamente toda (imágenes y demás) en la SD, pero tengo que mirar como se hace porque no tengo ni idea. Voy poquito a poco, viendo que todo funcione y viendo que todo va segun yo quiero.
Para sacar assets / drawables a la SD o descargarlos a la SD este codigo (mio ) te puede echar un cable:
http://code.google.com/p/simply-lockscreen-sdk/source/browse/SimplyLockscreenTheme/SimplyLockscreenTheme/src/addon/simplylock/theme/example/ListOfImages.java
maxPaginas = contador.list().lenght;
Denbrough escribió:
Muchas gracias.
¿Con eso podria generar una carpeta en la SD y esas cosas?
¿y como accederia a ellas?
La verdad es que al final tendre que decir que la aplicacion la habesi hecho vosotros, me estais ayudando muchisimo.
Yo por mi lado sigo avanzando y tengo todo el primer capitulo listo, a falta de cambiar las imagenes de izquierda a derecha, reducir tamaño de algunas imagenes y contar los archivos de la carpeta assets que me esta dando problemas haciendolo asi:maxPaginas = contador.list().lenght;
tanto esa como listFiles me estan dando problemas
THEME_IMAGES.add(0, URL)
I/Ads ( 479): Received ad url: <"url": "http://r.admob.com:80/ad_source.php?preqs=0&u_sd=0.75&slotname=a14e568c5ad2971&u_w=320&msid=XXXXXXXXXX&cap=m%2Ca&js=afma-sdk-a-v4.1.1&isu=B3EEABB8EE11C2BE770B684D95219ECB&format=320x50_mb&net=ed&app_name=XXXXXXXXXX&hl=es&u_h=426&u_audio=4&u_so=p&adtest=on&output=html®ion=mobile_app&u_tz=-120&ex=1&client_sdk=1", "afmaNotifyDt": "null">
W/webcore ( 479): Can't get the viewWidth after the first layout
I/Ads ( 479): onReceiveAd()
AzagraMac escribió:...
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
listValues = getResources().getStringArray(R.array.basic);
adView = new AdView(this, AdSize.BANNER, "33924016235");
LinearLayout layout = (LinearLayout)findViewById(R.id.ads);
layout.addView(adView);
adView.setAdListener(new PubliListener(layout)); //Solo si usas listener
adView.loadAd(new AdRequest());
}
<RelativeLayout android:id="@+id/relativeLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">
<RelativeLayout android:layout_height="fill_parent" android:layout_width="fill_parent" android:id="@+id/relativeLayout2" android:layout_marginBottom="50dip">
<!-- TU CONTENIDO -->
</RelativeLayout>
<LinearLayout android:id="@+id/ads"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_gravity="center_horizontal">
</LinearLayout>
</RelativeLayout>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<activity android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation"/>
private void CopyAssets(String dirFinal){//Este codigo copio los archivos TODOS de la carpeta assets a la carpeta externa
AssetManager am = getResources().getAssets();
String[] files = null;
try {
files = am.list("capitulo_1");//de esta forma los cogemos todos
} catch (IOException e) {
Log.e("tag", e.getMessage());
}
for(int i=0; i<files.length;i++){
InputStream in = null;
OutputStream out = null;
try {
createDirectory(dirFinal + "/capitulo_1");
in = am.open("capitulo_1/" + files[i]);
out = new FileOutputStream(dirFinal + "/capitulo_1/" + files[i]);//Aqui va la salida
copyFile(in, out);
in.close();
in = null;
out.flush();
out.close();
out = null;
} catch (Exception e) {
Log.e("tag", e.getMessage());
}
}
}
private void copyFile(InputStream in, OutputStream out) throws IOException{
byte[] buffer = new byte[1024];
int read;
while((read=in.read(buffer))!= -1){
out.write(buffer, 0, read);
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/background"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:padding="30dip"
android:orientation="horizontal">
<LinearLayout
android:orientation="vertical"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_gravity="center">
<com.google.ads.AdView
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
android:id="@+id/adView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
ads:adSize="BANNER"
ads:adUnitId="a14e568c5ad2971"
/>
<TextView
....../>
<Button
....../>
<Button
...... />
<Button
...... />
<Button
...... />
</LinearLayout>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:myapp="http://schemas.android.com/apk/res/com.azagramac.helloworld.android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<com.google.ads.AdView
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
android:id="@+id/adView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
ads:adSize="BANNER"
ads:adUnitId="a14e568c5ad2971"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
</LinearLayout>
<!-- AdMobActivity definition -->
<activity android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation"/>
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
<meta-data android:value="true" android:name="ADMOB_ALLOW_LOCATION_FOR_ADS"/>
</application>
<!-- AdMob SDK requires Internet permisson -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-sdk android:minSdkVersion="3" android:targetSdkVersion="4" />
</manifest>
<!-- AdMobActivity definition -->
<activity android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation"/>
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
<meta-data android:value="true" android:name="ADMOB_ALLOW_LOCATION_FOR_ADS"/>
</application>
<!-- AdMob SDK requires Internet permisson -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
</manifest>
dark-kei escribió:@Denbrough De mover olvidate hombre, eso es imposible xDD necesitarias decompilarlo y recompilarlo xDD
@AzagraMac que version de admob usas? lo mio no te va??
Esq eso q has puesto es es de una version mas antigua que la actual seguro