Beiträge von TheLiam

    Aber natürlich, ich kopier hier mal den Code hin (für meine Android-developers.de Freunde ;) ) Auch wenn ich ahne, dass hier wieder diese seltsame 3 Zeilen Sache angezeigt wird. Zuerst wird das ganze Ding erstellt als txt, dann der Pfad genommen und runtergeladen dorthin.

    Java
    package com.ftp.android;
    import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;
    import org.apache.commons.net.ftp.FTPClient;
    import android.app.Activity;import android.content.Context;import android.os.Bundle;import android.widget.Toast;
    public class Main extends Activity {    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        FTPClient client = new FTPClient();        FileOutputStream fos = null;        String filename = "Liamschnell.txt";        String string = "";        FileOutputStream foss;		try {			foss = openFileOutput(filename, Context.MODE_WORLD_WRITEABLE);	        Toast.makeText(getApplicationContext(), getFilesDir().toString(), Toast.LENGTH_LONG).show();	        foss.write(string.getBytes());	        foss.close();		} catch (FileNotFoundException e1) {			// TODO Auto-generated catch block			e1.printStackTrace();		} catch (IOException e) {			// TODO Auto-generated catch block			e.printStackTrace();		}        try{        	client.connect("213.202.225.41",21);        	client.login("Düdelüü", "Römtömtöm");        	Toast.makeText(getApplicationContext(), "We are in!", Toast.LENGTH_LONG).show();        	client.enterLocalPassiveMode();        	//Filename to be downloaded        	        	String filename = getFilesDir().toString()+"/Liamschnell.txt";        	fos = new FileOutputStream(filename);        	        	Toast.makeText(getApplicationContext(), "Entered FTP, downloading: " +filename, Toast.LENGTH_LONG).show();        	//Download the File        	        	client.retrieveFile("Liamschnell.txt", fos);           }        catch (IOException e){        	Toast.makeText(getApplicationContext(), "Stufe 1: " +e.toString(), Toast.LENGTH_LONG).show();        }        finally{        	try{        		if(fos != null){        			fos.close();        		}        		client.disconnect();        	}catch (IOException e){        		Toast.makeText(getApplicationContext(), e.toString(), Toast.LENGTH_LONG).show();         	}        }    }}

    Hallo,



    GELÖST



    ich möchte gerne eine .txt Datei von meinem FTP runterladen, hochladen geht ohne Probleme. Ich bekomme allerdings IMMER eine FileNotFound Exception, auch wenn ich die Datei selbst schon in den Data/com.android.ftp verschoben habe, was ja der interne Speicher meiner App ist. Auch erstelle ich sie per Code, dann allerdings wird sie noch im unterordner /files gespeichert.


    Java
    FTPClient client = new FTPClient();        FileOutputStream fos = null;        String FILENAME = "Liamschnell";        String string = "Hallo";
            FileOutputStream foss;		try {			foss = openFileOutput(FILENAME, Context.MODE_WORLD_WRITEABLE);	        foss.write(string.getBytes());	        foss.close();		} catch (FileNotFoundException e1) {			// TODO Auto-generated catch block			e1.printStackTrace();		} catch (IOException e) {			// TODO Auto-generated catch block			e.printStackTrace();		}        try{        	client.connect("---",21);        	client.login("---", "---");        	Toast.makeText(getApplicationContext(), "We are in!", Toast.LENGTH_LONG).show();        	client.enterLocalPassiveMode();        	//Filename to be downloaded        	        	String filename = "files/Liamschnell";        	fos = new FileOutputStream(filename);        	        	Toast.makeText(getApplicationContext(), "Entered FTP, downloading: " +filename, Toast.LENGTH_LONG).show();        	//Download the File        	        	client.retrieveFile(filename+".txt", fos);           }        catch (IOException e){        	Toast.makeText(getApplicationContext(), "Stufe 1: " +e.toString(), Toast.LENGTH_LONG).show();        }        finally{        	try{        		if(fos != null){        			fos.close();        		}        		client.disconnect();        	}catch (IOException e){        		Toast.makeText(getApplicationContext(), e.toString(), Toast.LENGTH_LONG).show();         	}        }

    Hm, das ist seltsam. ist dein Handy auf de eingestellt? Bei mir ist alles in Deutsch, es gibt auch noch eine englische Version die nur genommen wird wenn de nicht ist, vllt. sollte ich dieses -de-DE noch mit rein nehmen ;) Aber schön wenn es dir gefällt!

    Hallo Leute,


    ich bin jetzt etwas über eine Woche voll in der Android-Programmierung drin und würde euch gerne heute meine erste App vorstellen: HowTo: Zombies!
    Im Prinzip ist ein eine App um die Zombie Apokalypse zu überleben mit hilfreichen Tipps, Schritt für Schritt Anleitungen sowie...


    Features:
    -Survival Test
    -Handbuch des kleinen Zombiejägers
    -Taschenlampe
    -GPS Daten für Rettung [Blockierte Grafik: http://www.android-hilfe.de/images/smilies/wink.gif]


    Es werden noch viele Updates folgen, schaut sie euch doch mal an [Blockierte Grafik: http://www.android-hilfe.de/images/smilies/smile.gif]


    https://market.android.com/details?id=com.zombies.survive

    Hallo liebe Entwickler,


    ich erstelle gerade meine erste "richtige" App mit mehreren Views/Screens und Klassen und so weiter (nichts besonderes, I know, macht aber spaß). Nun habe ich das Problem, dass wenn ich in den Screen Skaliere um zu sehen wie es in 5,4" aussieht (Ich habe 3,2"). Es ist zwar okay, allerdings wirkt dann doch alles sehr klein. Nicht die Hintergrundgrafik, die geht super mit und skaliert sich. Aber meine Spinner sind doch sehr klein aufeinmal. Ausserdem habe ich für den Titel das "Margins" erhöht damit es die Buttons unter sich drückt, LinearLayout kann ja keine Leerzeilen haben. Dies wird allerdings nicht mitskaliert, heisst meine Spinner sind nicht ganz unten am Bildschirm sondern je größer desto mittiger.


    Ihr bekommt mein Problem mit? Was kann ich dagegen tun? Auch meine Margins Einstellungen (+200dpi) um es nach unten zu drücken (Buttons) wird nicht mitskaliert. Muss ich wirklich für jede Auflösung selbst alles ändern? Android ist doch sonst so vorbildlich[Blockierte Grafik: http://www.android-hilfe.de/images/smilies/wink.gif]

    Es tut mir wahnsinnig leid, aber ich habe noch ein Thema. Folgendes, wirklich simples Basis Programm crasht bei JEDEM Start sobald ich Code einfüge. Ob Toast, Vibrate oder nur ein BIldwechsel, crasht einfach immer. Und natürlich ohne Fehlermeldung oder so...

    Java
    package com.vibdroid;
    import android.app.Activity;import android.content.Context;import android.graphics.drawable.Drawable;import android.os.Bundle;import android.os.Vibrator;import android.text.InputFilter.LengthFilter;import android.view.View;import android.widget.Button;import android.widget.ImageButton;import android.widget.Toast;
    public class MainActivity extends Activity {    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);    	final ImageButton andvib = (ImageButton)findViewById(R.id.vib_but);        andvib.setOnClickListener(new View.OnClickListener() {						@Override			public void onClick(View v) {				Drawable ne = null;				ne = getResources().getDrawable(R.drawable.icon);			    andvib.setImageDrawable(ne);			}		});    }}


    Hoffe es sind nicht nur die üblichen 3 Zeilen Code, wenn ja: Forum ists.

    Ich habe jetzt schon zweimal gesehen, dass wenn ich etwas in meiner Public class der MainActivity definiere Ich es daraufhin nicht verwenden kann, im Editor schon allerdings nicht auf dem Handy (crash). Also ich definiere so etwas:

    Java
    public class MainActivity extends Activity { /** Called when the activity is first created. */	Context toastcntxt = getApplicationContext();	CharSequence w_an_txt = "Wlan an";	CharSequence w_off_txt = "Wlan aus";	CharSequence medien_aus_txt = "Medienlautstärke aus";



    Wenn ich nun in einer private void darauf zugreife crasht es, ich kann keinen Toast mit dem toastcntxt erstellen, dafür muss ich es in die private void reinkopieren. Kann doch nicht sein?

    UPDATE: Verschiebe ich die drawable definitionen und den ImageView in fitpicture und rufe selbiges auf geht alles...global definieren ist also Schrott? ;)
    I continue as always, stehe aber vor einem Seltsamen Android Crash beim Startup vom meinem programm. Hier der Code, es crasht seitdem Ich die Bilder wifi_on und wifi_off in das Drawable mit der id:wifi_draw setzen will. Ich weiß noch immer nicht wieso der Code bei mir immer nur in 3 Zeilen kommt. Seltsame Sache das:

    Java
    package com.dummies.android.silentmodetoggle;
    import android.app.Activity;import android.net.wifi.WifiManager;import android.content.Context;import android.graphics.drawable.Drawable;import android.media.AudioManager;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.ImageView;
    public class MainActivity extends Activity {    /** Called when the activity is first created. */	private AudioManager mAudioManager;	private WifiManager wfm;	private int ringMode;	ImageView im = (ImageView)findViewById(R.id.wifidraw);	Drawable wifi_off = getResources().getDrawable(R.drawable.wifi);	Drawable wifi_on = getResources().getDrawable(R.drawable.wifi_on);    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        wfm = (WifiManager)getBaseContext().getSystemService(Context.WIFI_SERVICE);    	mAudioManager = (AudioManager)getSystemService(AUDIO_SERVICE);    	fitpicture();        lautlos_click();        vibrations_click();        normal_click();        media_click();        wlan_click();        if(wfm.isWifiEnabled()==true){        	im.setImageDrawable(wifi_on);}        else{        	im.setImageDrawable(wifi_off);}                	    }    private void fitpicture(){    	ImageView imv = (ImageView)findViewById(R.id.phone_icon);    	Drawable newimage = null;    	ringMode = mAudioManager.getRingerMode();    	if(ringMode == AudioManager.RINGER_MODE_SILENT) //Silent    		newimage = getResources().getDrawable(R.drawable.phone_silent);    	if(ringMode == AudioManager.RINGER_MODE_VIBRATE) //Vibrate    		newimage = getResources().getDrawable(R.drawable.phone_vibrate);    	if(ringMode == AudioManager.RINGER_MODE_NORMAL) //Normal    		newimage = getResources().getDrawable(R.drawable.phone_on);    	    	imv.setImageDrawable(newimage);   	    }    private void wlan_click(){    	Button wlanbut = (Button)findViewById(R.id.wifi_button);    	wlanbut.setOnClickListener(new View.OnClickListener() {			public void onClick(View v) {				if(wfm.isWifiEnabled()){					wfm.setWifiEnabled(false);					im.setImageDrawable(wifi_off);				}				else{					wfm.setWifiEnabled(true);					im.setImageDrawable(wifi_on);				}							}		});    }    private void lautlos_click() {        Button lautlosButton = (Button)findViewById(R.id.lautlosbutton);        lautlosButton.setOnClickListener(new View.OnClickListener() {						public void onClick(View v) {				mAudioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);						fitpicture();							}		});    }    private void vibrations_click() {    	Button vibrationsButton = (Button)findViewById(R.id.vibrationsbutton);    	vibrationsButton.setOnClickListener(new View.OnClickListener() {						public void onClick(View v) {				mAudioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);				fitpicture();							}		});    }    private void normal_click() {    	Button lautButton = (Button)findViewById(R.id.normalbutton);    	lautButton.setOnClickListener(new View.OnClickListener() {						public void onClick(View v) {				mAudioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);				fitpicture();							}		});    }    private void media_click() {    	final AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);    	Button mediaButton = (Button)findViewById(R.id.mediasndbutton);    	mediaButton.setOnClickListener(new View.OnClickListener() {						public void onClick(View v) {				am.setStreamVolume(AudioManager.STREAM_MUSIC, 0, 0);			}		});    }}



    Das andere Bild geht problemlos.

    Jope, hab das schon probiert, das geht. Kannst du mir sagen was dieses "super" bedeutet? Also bei super.onResume(). Letzte Frage: Werden die ganzen Funktionen die bei onResume stehen in einer Schleife ausgeführt? Sonst wäre das Problem ja klar, er prüft eben nur einmal den RingMode.


    Danke (auch für das Java editieren!)

    Hey,
    diese kleine App soll das Telefon stummschalten, vibrieren einschalten und die Medienlautstärke regeln. Klappt auch alles toll, nur will ich Abhängig vom Zustand (Laut,Stumm,Vibration) das Bild anpassen. Folgender Code soll das machen, mit fitpicture das Bild ändern und mit currentringchecker den aktuellen Status prüfen. Wenn ich drauf klicke ändert sich das Bild allerdings nicht (Es geht allerdings, also kein Datei problem oder sowas, wenn ich es in die onCreate reinkopiere geht es). Ich bräuchte das Verständniss ob jede Activity in einer Schleife ausgeführt wird oder wie das läuft, dachte das geht mit dem onResume.


    Tut mir leid, der Java-Code Button hier kürzt das ganze Ding so hässlich ab, ich weiß nicht was ich dagegen tun soll, ich poste den Code nochmal ohne Code-Klammern darunter!


    Java
    package com.dummies.android.silentmodetoggle;
    import android.app.Activity;import android.content.Context;import android.graphics.drawable.Drawable;import android.media.AudioManager;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.ImageView;
    public class MainActivity extends Activity {    /** Called when the activity is first created. */	private AudioManager mAudioManager;	private int ringMode;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);    	mAudioManager = (AudioManager)getSystemService(AUDIO_SERVICE);    	currentringchecker();    	fitpicture();        lautlos_click();        vibrations_click();        normal_click();        media_click();    }    private void currentringchecker() {    	ringMode = mAudioManager.getRingerMode();    }    private void fitpicture(){    	ImageView imv = (ImageView)findViewById(R.id.phone_icon);    	Drawable newimage = null;    	    	if(ringMode == 0) //Silent    		newimage = getResources().getDrawable(R.drawable.phone_silent);    	if(ringMode == 1) //Vibrate    		newimage = getResources().getDrawable(R.drawable.phone_vibrate);    	if(ringMode == 2) //Normal    		newimage = getResources().getDrawable(R.drawable.phone_on);    	    	imv.setImageDrawable(newimage);   		    }    private void lautlos_click() {        Button lautlosButton = (Button)findViewById(R.id.lautlosbutton);        lautlosButton.setOnClickListener(new View.OnClickListener() {						public void onClick(View v) {				mAudioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);							}		});    }    private void vibrations_click() {    	Button vibrationsButton = (Button)findViewById(R.id.vibrationsbutton);    	vibrationsButton.setOnClickListener(new View.OnClickListener() {						public void onClick(View v) {				mAudioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);			}		});    }    private void normal_click() {    	Button lautButton = (Button)findViewById(R.id.normalbutton);    	lautButton.setOnClickListener(new View.OnClickListener() {						public void onClick(View v) {				mAudioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);			}		});    }    private void media_click() {    	final AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);    	Button mediaButton = (Button)findViewById(R.id.mediasndbutton);    	mediaButton.setOnClickListener(new View.OnClickListener() {						public void onClick(View v) {				am.setStreamVolume(AudioManager.STREAM_MUSIC, 0, 0);			}		});    }    @Override    protected void onResume(){    	super.onResume();    	currentringchecker();    	fitpicture();    }}




    Danke im Vorraus! :Android:

    Ich hab mir mal die Englische Version von "Android Programming for Dummies" geholt, Englisch ist kein Problem. Nach dem was ich gestern um 2 Uhr gesehen habe werde ich das wohl studieren, neben den Java Grundlagen angepasst auf Android gibts auch noch ne Schnelleinführung in XML und sonstiges, auch wenn ich mich für den Titel schäme ;)

    Dann werde ich mir wohl erstmal Java Tutorials geben, Java ist auch eine Insel soll ja gut sein.
    Von den hier genannten Sachen sagen mir nur ein paar Sachen etwas wie z.b. Threading.



    Danach erst Android ;)

    Mhm, so richtige massive Kenntnisse also... ;)
    Ich werd mal Amazon nach einem Android Buch abklappern, ich habe eigentlich halt keine Verwendung für Java außer Android, deswegen dachte ich es gibt einen Mittelweg, mit MonoDroid in C# zu programmieren wird aber sowas von umständlich, dann doch lieber 4 Wochen Java lernen und dann nochmal Android versuchen, oder?
    Kombi Tutorials werden wohl rar sein, also Java anhand von Android lernen.

    Hallo Leute,


    ich komme von der 3D Spiele Entwicklung unter einer Abwandlung von C (Lite-C) und habe damit gute Sachen gemacht, sprich bin sehr sicher (http://www.gravix-game.de).
    Nun habe ich seit 4 Monaten mein HTC Hero und würde gerne dort weitermachen mit der Entwicklung. Ich kenne etwas C#, das war es dann aber auch schon. Deswegen habe ich etwas Angst vor Java, scheint mir so zu sein:
    1.Java sehr sicher sein
    2.Android erlernen


    Also nicht beides aufeinmal sondern ich müsste mich erst eingehend mit Java beschäftigen um mich dann auf Android umstellen zu können(?).
    Grundverständniss ist etwas von C# da, für das Programmieren sowieso.
    Wie sind eure Erfahrungen?


    Liam

    Hallo Devs,


    ich habe jetzt mal so alles eingerichtet was das SDk angeht und auch schon fleissig an Hello World ausprobiert. Aber wie gehts jetzt weiter? Alle sagen: Das Hello World Programm ist toll. Ja. Naja. Und dann?


    Muss ich auch noch XML Lernen? Scheint ja in Java gut. Sehr gut. gebraucht zu werden. Werde mir wohl mal Literatur kaufen müssen. Oder hat hier jemand was?


    Denn ich hole mir nächste Woche das HTC Hero oder Magic (lieber Hero) und will dann schonmal was können. Habe auch bereits Erfahrung im Bereich 3D Spieleprogrammierung, dachte das wird jetzt leichter dadurch aber im moment bin ich überfordert ;)


    Liam