Hi!
Ich versuche gerade ein einfaches Android Programm zu entwickeln scheitere jedoch am Display update. Ich lade (periodisch) ein Bild (von einer Webcam) aus dem Internet und moechte dieses Anzeigen. Leider bleibt das Bild schwarz. Ich vermute ich habe irgendwas ueberlagert kann aber den Fehler nicht finden. Ohne timer, alles in einer Klasse funktioniert das Programm. Jemand eine Idee was ich da uebersehen habe?
DANKE!
Andreas
Java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package org.me.cam;
import android.app.Activity;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.text.Editable;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import java.io.IOException;
import java.io.InputStream;
import java.net.*;
import java.util.Timer;
import java.util.TimerTask;
/**
*
* @author and
*/
public class CammCam extends Activity {
public static Drawable drawable;
public static ImageView imgView;
public int seconds = 10;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Timer timer = new Timer();
imgView = (ImageView) findViewById(R.id.ImageView01);
timer.schedule(new WebcamUpdate(), seconds * 1000);
}
public static ImageView getImgView(){
return imgView;
}
public static Drawable getDrawable(){
return drawable;
}
}
class WebcamUpdate extends TimerTask {
String inputUrl = "http://my-url-.com";
public void run() {
Drawable drawable=CammCam.getDrawable();
ImageView imgView=CammCam.getImgView();
Log.d(this.toString(),"Updating Cam...");
drawable=LoadImageFromWebOperations(inputUrl);
imgView.setImageDrawable(drawable);
}
private Drawable LoadImageFromWebOperations(String url) {
try {
InputStream is = (InputStream) new URL(url).getContent();
Drawable d = Drawable.createFromStream(is, "src name");
return d;
} catch (Exception e) {
System.out.println("Exc=" + e);
return null;
}
}
}
Alles anzeigen