B
ben56a
Ambitioniertes Mitglied
- 0
Hallo,
ich bin gerade dabei eine App zu programmieren, die als Grundstruktur eine MVC - Architektur haben soll.
Wie ich bislang dachte, ist die onCreate in meiner MainActivity sozusgen die Main-Funktion, die als erstes beim Programmstart aufgerufen wird.
Folglich habe ich eine View Programmier:
auch einen Controller habe ich geschrieben:
Mein Model macht convertiert momentan einfach nur die Eingabe:
Nun dachte ich mir, dass man in der MainActivity folgendes macht:
Leider funktioniert das ganze aber nicht so wie ich mir das vorstelle. Ich bekomme nach dem Programmstart eine Exception.
Hat mir jemand einen Tip ob ich die MVC - Architektur so umsetzen kann?
ich bin gerade dabei eine App zu programmieren, die als Grundstruktur eine MVC - Architektur haben soll.
Wie ich bislang dachte, ist die onCreate in meiner MainActivity sozusgen die Main-Funktion, die als erstes beim Programmstart aufgerufen wird.
Folglich habe ich eine View Programmier:
Code:
public class View extends Activity{
private TextView tfEingabe;
private TextView tfAusgabe;
private Button butSend;
public View(){
this.tfEingabe = (TextView)findViewById(R.id.tfEingabe);
this.tfAusgabe = (TextView)findViewById(R.id.tfAusgabe);
this.butSend = (Button)findViewById(R.id.Button01);
}
public CharSequence getEingabe()
{
return this.tfEingabe.getText();
}
public void setEingabe(CharSequence input)
{
this.tfAusgabe.setText(input);
}
public void addActionListenerAusgabe(OnClickListener cl)
{
this.butSend.setOnClickListener(cl);
}
}
Code:
public class Controller {
View m;
Ausgabe a;
public Controller(Ausgabe a, View m)
{
this.m = m;
this.a = a;
setListener();
}
public void setListener()
{
m.addActionListenerAusgabe(new setOnClickListener());
}
class setOnClickListener implements OnClickListener{
public void onClick(View v) {
String eing = m.getEingabe();
m.setEingabe(a.Convert(eing));
}
}
}
Code:
public class Ausgabe {
public String Convert(String input)
{
return input.toUpperCase();
}
}
Code:
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);
Ausgabe a = new Ausgabe();
View v = new View();
Controller c = new Controller(a, v);
}
}
Hat mir jemand einen Tip ob ich die MVC - Architektur so umsetzen kann?