pramkies
- Forum-Beiträge: 25
15.05.2012, 10:17:44 via Website
15.05.2012 10:17:44 via Website
Hallo,
folgendes Problem:
Meine App verbindet sich mit einen FTP SERVER um Daten zu laden!!
Bis jetzt habe ich zu Testversuchen, UserName und UserPass vom FTP-Account im Code mitprogrammiert ! Und es klappt !!
Aber nun will ich, dass der Anwender über zwei EditText Felder sein UserName und UserPass selber eingibt!!!
ich will diese speichern um in mein Programm weiter benutzten zu können !! Hierzu benutzte ich ein Singleton !!
// Verbindung zu FTP-Server bzw. Account informationen über 2 EditText-felder auslesen!!
public class FtpAccountActivity extends Activity implements OnClickListener{
/** Called when the activity is first created. */
private Button btn_connect;
private EditText edtx_username;
private EditText edtx_userpass;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Singleton.getInstance();
connect = (Button) findViewById(R.id.btn_connect);
connect.setOnClickListener(this);
username = (EditText)findViewById(R.id.edtx_username);
userpass = (EditText)findViewById(R.id.edtx_userpass);
}
public void onClick(View v) {
if (v == connect) {
Singleton.getInstance().setUserName("gast");---------------->>> klappt !
Singleton.getInstance().setUserPass("gast123");------------->>> klappt
// Singleton.getInstance().setUserName(username.getText().toString());-------->>> klappt nicht warum ?
// Singleton.getInstance().setUserPass(userpass.getText().toString());----------->>> Klappt nicht warum ?
.
.
.
}
und hier die Singleton Klasse ! aber die sollte in Ordnung sein !!
public final class Singleton
{
/**
* Privates Klassenattribut,
* wird beim erstmaligen Gebrauch (nicht beim Laden) der Klasse erzeugt
*/
private static Singleton instance;
private String UserName;
private String UserPass;
/** Konstruktor ist privat, Klasse darf nicht von außen instanziiert werden. */
private Singleton() {
UserName = "failed";
UserPass = "failed";
}
/**
* Statische Methode „getInstance()“ liefert die einzige Instanz der Klasse zurück.
* Ist synchronisiert und somit thread-sicher.
*/
public synchronized static Singleton getInstance()
{
if (instance == null)
{
instance = new Singleton();
}
return instance;
}
// UserName fürs Ftp Server speicher bzw. bekommen
public String getUserName() {
return UserName;
}
// UserName fürs Ftp Server speicher bzw. zu setzten
public void setUserName(String username) {
UserName = username;
}
// UserPass fürs Ftp Server speicher bzw. bekommen
public String getUserPass( ) {
return UserPass;
}
// UserPass fürs Ftp Server speicher bzw. zu setzten
public void setUserPass(String userpass) {
UserPass = userpass;
}
}
folgendes Problem:
Meine App verbindet sich mit einen FTP SERVER um Daten zu laden!!
Bis jetzt habe ich zu Testversuchen, UserName und UserPass vom FTP-Account im Code mitprogrammiert ! Und es klappt !!
Aber nun will ich, dass der Anwender über zwei EditText Felder sein UserName und UserPass selber eingibt!!!
ich will diese speichern um in mein Programm weiter benutzten zu können !! Hierzu benutzte ich ein Singleton !!
// Verbindung zu FTP-Server bzw. Account informationen über 2 EditText-felder auslesen!!
public class FtpAccountActivity extends Activity implements OnClickListener{
/** Called when the activity is first created. */
private Button btn_connect;
private EditText edtx_username;
private EditText edtx_userpass;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Singleton.getInstance();
connect = (Button) findViewById(R.id.btn_connect);
connect.setOnClickListener(this);
username = (EditText)findViewById(R.id.edtx_username);
userpass = (EditText)findViewById(R.id.edtx_userpass);
}
public void onClick(View v) {
if (v == connect) {
Singleton.getInstance().setUserName("gast");---------------->>> klappt !
Singleton.getInstance().setUserPass("gast123");------------->>> klappt
// Singleton.getInstance().setUserName(username.getText().toString());-------->>> klappt nicht warum ?
// Singleton.getInstance().setUserPass(userpass.getText().toString());----------->>> Klappt nicht warum ?
.
.
.
}
und hier die Singleton Klasse ! aber die sollte in Ordnung sein !!
public final class Singleton
{
/**
* Privates Klassenattribut,
* wird beim erstmaligen Gebrauch (nicht beim Laden) der Klasse erzeugt
*/
private static Singleton instance;
private String UserName;
private String UserPass;
/** Konstruktor ist privat, Klasse darf nicht von außen instanziiert werden. */
private Singleton() {
UserName = "failed";
UserPass = "failed";
}
/**
* Statische Methode „getInstance()“ liefert die einzige Instanz der Klasse zurück.
* Ist synchronisiert und somit thread-sicher.
*/
public synchronized static Singleton getInstance()
{
if (instance == null)
{
instance = new Singleton();
}
return instance;
}
// UserName fürs Ftp Server speicher bzw. bekommen
public String getUserName() {
return UserName;
}
// UserName fürs Ftp Server speicher bzw. zu setzten
public void setUserName(String username) {
UserName = username;
}
// UserPass fürs Ftp Server speicher bzw. bekommen
public String getUserPass( ) {
return UserPass;
}
// UserPass fürs Ftp Server speicher bzw. zu setzten
public void setUserPass(String userpass) {
UserPass = userpass;
}
}
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.