- Forum-Beiträge: 86
23.08.2013, 23:08:45 via Website
23.08.2013 23:08:45 via Website
mein AsyncTask soll eine ganz einfache Aufgabe erledigen. Er soll eine URL mit einem GET Parameter öffnen und den Inhalt der Seite dann in einen String speichern und in einem TextView ausgeben. Immer wenn ich auf Absenden in der App klicke, stürzt sie ab. Ich poste euch mal meinen Code und hoffe ihr könnt mir sagen was daran nicht funktioniert und warum und falls möglich auch gleich berichtigen. Bitte keine Antworten wie "Google doch mal" Das mache ich schon den ganzen Tag, hab mir mehrere Beispiele angeguckt aber bei mir funktioniert es einfach nicht.
2
3 private Button btnSave;
4 public EditText etKlasse;
5 public TextView tvAusgabe;
6
7 /** Called when the activity is first created. */
8 @Override
9 public void onCreate(Bundle savedInstanceState) {
10 super.onCreate(savedInstanceState);
11 setContentView(R.layout.options);
12
13 // TODO Auto-generated method stub
14
15 ActionBar actionBar = getActionBar();
16 if(actionBar != null){
17
18 String abTitel = getString(R.string.action_settings);
19
20 actionBar.setTitle(abTitel);
21 actionBar.setDisplayHomeAsUpEnabled(true);
22 }
23
24 btnSave = (Button) findViewById(R.id.btnOptionsSave);
25 etKlasse = (EditText) findViewById(R.id.etOptionsKlasse);
26 tvAusgabe = (TextView) findViewById(R.id.tvOptionsAusgabe);
27
28 btnSave.setOnClickListener(new View.OnClickListener() {
29 @Override
30 public void onClick(View v) {
31 // TODO Auto-generated method stub
32 String strEingabe = etKlasse.getText().toString();
33
34 if(TextUtils.isEmpty(strEingabe)){
35 Toast.makeText(OptionsActivity.this, "Bitte Abkürzung für deine Klasse eingeben", Toast.LENGTH_LONG).show();
36 }else{
37 new CheckKlassenID().execute(strEingabe);
38 }
39
40 }
41 });
42
43 }
44
45
46
47 @Override
48 public boolean onOptionsItemSelected(MenuItem item){
49
50 if(item.getItemId() == android.R.id.home){
51 onBackPressed();
52 }
53
54 return super.onOptionsItemSelected(item);
55 }
56
57}
58
59
60
61
62class CheckKlassenID extends AsyncTask<String, String, String> {
63
64 public TextView tvAusgabe;
65
66 @Override
67 protected String doInBackground(String... params) {
68 String klasse = params[0];
69 String quellcode = null;
70 URL url = null;
71 try {
72 url = new URL("LINK WEGEN FORUM RAUSGENOMMEN" + klasse);
73 String readLine = null;
74 String sResult = null;
75 BufferedReader buffReader = new BufferedReader (new InputStreamReader (url.openStream ()));
76 while ((readLine = buffReader.readLine ()) != null) {
77 if (sResult == null) {
78 sResult = readLine;
79 }
80 else {
81 sResult = sResult + readLine;
82 }
83 }
84 quellcode = sResult;
85 }
86 catch (MalformedURLException me) {
87 me.printStackTrace();
88 }
89 catch (IOException ioe) {
90 ioe.printStackTrace();
91 }
92
93 return quellcode;
94 }
95
96 @Override
97 protected void onPostExecute(String result) {
98
99 tvAusgabe.setText(result);
100
101 }
102
103 @Override
104 protected void onPreExecute() {
105 }
106
107
108}
Habe mittlerweile echt keinen Plan mehr, also bitte ich um hilfreiche Erklärungen.
Gruß
Phillipp
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.