Activity updatet xml's nicht

  • Antworten:27
  • Bentwortet
DerRKDCB
  • Forum-Beiträge: 34

22.02.2014, 14:02:45 via Website

Hallo liebe Community!

Bei meiner App gibt es seit kurzem ein Problem: Die Änderungen in xml's werden nicht mehr erkannt:

Ein Bsp.:

Hier gibt es den String mit dem Namen "str_SshConnecting" und dem Inhalt "SSH connecting...". Dieser String wurde gerade erstellt

Wenn ich diesem im Code einbinden möchte wird er nicht erkannt.


In meiner Layout-xml wird er aber erkannt!
Auch geänderte alte Strings werden nicht geupdatet und haben den alten Inhalt.

Weiß jemand, woran das liegen könnte? Danke für eure Hilfe! :)

Gruß, Robert

Antworten
Mac Systems
  • Forum-Beiträge: 1.727

22.02.2014, 14:06:35 via Website

Project -> Clean !!!!

Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV

Antworten
DerRKDCB
  • Forum-Beiträge: 34

22.02.2014, 14:13:09 via Website

Danke für deine Antwort, wir kommen dem ganzen schon näher! ;)

Weißt du, was ich gegen das "R cannot be resloved to a variable" machen kann? Sorry, bin noch neu auf dem Gebiet...


Gruß, Robert


EDIT:

jetzt werden gar keine Resourcen mehr erkannt:

— geändert am 22.02.2014, 14:37:40

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

22.02.2014, 16:22:27 via Website

Sicher dein Projekt und mach ein Project clean in Eclipe un dann build es neu. Das sollte helfen

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
DerRKDCB
  • Forum-Beiträge: 34

25.02.2014, 20:07:15 via Website

Sorry wegen der langsamen Antwort, hab zurzeit viel um die Ohren.

So, dass habe ich jetzt alles gemacht, jetzt werden aber gar keine Resourcen mehr erkannt...


Das ganze Layout wird nicht mal gefunden. Was kann ich tun?

Gruß, Robert

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

25.02.2014, 21:05:03 via App

Googlen hilft manchmal. Du sicherst dein Projekt machst in eclipse ein Clean und dann BuildAll

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
DerRKDCB
  • Forum-Beiträge: 34

25.02.2014, 21:59:55 via Website

"Clean" und "Build All" hab ich schon gemacht, weil dies auf anderen Websiten empfohlen wurde. Ja, ich habe gegooglet ;)
Jedenfalls ist das Ergebnis das Gleiche.
In anderen Foren habe ich gelesen, dass was mit den Imports vielleicht nicht stimmt.. Hier mal der gesamte Code der Activity:

1package de.derrkdcb.piremote;
2
3import java.util.Properties;
4
5
6import android.R;
7import android.app.Activity;
8import android.content.Intent;
9import android.os.AsyncTask;
10import android.os.Bundle;
11import android.text.method.ScrollingMovementMethod;
12import android.view.Menu;
13import android.view.MenuItem;
14import android.view.View;
15import android.widget.TextView;
16
17import com.jcraft.jsch.ChannelExec;
18import com.jcraft.jsch.JSch;
19import com.jcraft.jsch.Session;
20
21public class MainActivity extends Activity {
22
23public TextView txtDebug;
24
25 @Override
26 protected void onCreate(Bundle savedInstanceState) {
27 super.onCreate(savedInstanceState);
28 setContentView(R.layout.activity_main);
29
30 txtDebug = (TextView)findViewById(R.id.txtDebug);
31 txtDebug.setMovementMethod(new ScrollingMovementMethod());
32
33
34 }
35
36 @Override
37 public boolean onCreateOptionsMenu(Menu menu) {
38 // Inflate the menu; this adds items to the action bar if it is present.
39 getMenuInflater().inflate(R.menu.main, menu);
40 return true;
41 }
42
43 @Override
44 public boolean onOptionsItemSelected(MenuItem item){
45
46 if (item.toString().equals(getString(R.string.str_itemAbout))) {
47 About(txtDebug);
48 }
49
50 return true;
51 }
52
53 public void About (View v) {
54 // Opens the About-Screen
55 Intent intent = new Intent(v.getContext(), About.class);
56 startActivityForResult(intent, 0);
57
58 }
59
60 public void Shutdown (View v) {
61
62 Shell ShutdownShell = new Shell();
63 ShutdownShell.execute("pi", "192.168.178.53", "logitech1!", "sudo shutdown -h 0");
64
65 }
66
67
68 private class Shell extends AsyncTask<String, String, Long>{
69
70 @Override
71 protected Long doInBackground(String... arguments) {
72
73 // Extract Arguments
74 String user = arguments[0];
75 String host = arguments[1];
76 int port = 22;
77 String password = arguments[2];
78 final String command = arguments[3];
79
80 System.out.println("SSH connecting...");
81 runOnUiThread(new Runnable() {
82 public void run() {
83 //TODO add strings
84 txtDebug.setText(txtDebug.getText() + "\n\n" + getString(R.string.str_SshConnecting));
85 }
86 });
87
88
89 try
90 {
91 JSch jsch = new JSch();
92 Session session = jsch.getSession(user,host, port);
93 session.setPassword(password);
94
95 // Avoid asking for key confirmation
96 Properties prop = new Properties();
97 prop.put("StrictHostKeyChecking", "no");
98 session.setConfig(prop);
99
100 session.connect();
101
102 System.out.println("SSH connected!");
103 runOnUiThread(new Runnable() {
104 public void run() {
105 //TODO add strings
106 txtDebug.setText(txtDebug.getText() + "\n");
107 }
108 });
109
110
111 ChannelExec channel = (ChannelExec)session.openChannel("exec");
112 channel.setCommand(command);
113 channel.connect();
114
115 runOnUiThread(new Runnable() {
116 public void run() {
117 txtDebug.setText(txtDebug.getText() + "\nCommand: --" + command + "-- was executed");
118 }
119 });
120
121 channel.disconnect();
122
123 }
124 catch (Exception e)
125 {
126 System.out.println(e.getMessage());
127
128 runOnUiThread(new Runnable() {
129 public void run() {
130 //TODO add strings
131 txtDebug.setText(txtDebug.getText() + "\n");
132 }
133 });
134
135 }
136 return null;
137
138 }
139 }
140}

Gruß, Robert

Antworten
impjor
  • Forum-Beiträge: 1.793

25.02.2014, 22:01:22 via App

Import android.R; löschen... Wenn du das importierst bezieht sich deine R.bla.blub nicht auf deine Sachen, sondern auf Android-System-Ressourcen.

LG

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten
DerRKDCB
  • Forum-Beiträge: 34

25.02.2014, 22:08:37 via Website

das klingt für mich auch einleuchtend, aber dann wird bei
1setContentView(R.layout.activity_main);
(Bsp.)
kommt dann "R cannot be resolved to a variable"

1import de.derrkdcb.piremote.*;
oder
1import de.derrkdcb.piremote.R;
statt
1import android.R;
funktioniert leider auch nicht...

Für euch muss sich das grausam anhören, was ich hier so schreiben, aber ich bin noch neu auf dem Gelände ;)

Gruß, Robert

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

26.02.2014, 07:09:18 via App

Lass das Import komplett weg. Den musst du auch nicht ersetzen odder so. einfach nur löschen

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
DerRKDCB
  • Forum-Beiträge: 34

26.02.2014, 17:12:11 via Website

Ja, dass hab ich ja auch versucht... dann kommt eben "R cannot be resolved to a variable"

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

26.02.2014, 17:17:45 via Website

Erstell mal zum Test nen neues Projekt, und schau ob das mit Recourcen dort auch so ist.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
DerRKDCB
  • Forum-Beiträge: 34

26.02.2014, 17:39:51 via Website

stimmt, darauf bin ich noch garnicht gekommen!

Ja, da ist es genau das Gleiche...

kein einziges Zeichen wurde geändert/hinzgefügt

Das komische ist nur, dass bei einem Freund, dem ich das projekt geschickt habe, exakt die gleichen probleme auftreten.

Gruß, Robert

EDIT:
Jetz hab ich gerade bei dem neuen projekt einen clean gemacht, jetzt ist der fehler nicht mehr vorhanden

EDIT2:
Komischerweise funktioniert jetzt in dem neuen Projekt und auch älteren Projekten alles wieder (gerade eben war das noch anders -_-)
Aber beim hauptsächlichen Projekt gehts nach wie vor nicht...

— geändert am 26.02.2014, 17:47:33

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

26.02.2014, 17:47:05 via Website

Ggf. clean noch mal beim anderen projekt machen oder die r.java löschen und sie neu generieren lassen

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
DerRKDCB
  • Forum-Beiträge: 34

26.02.2014, 19:40:34 via Website

kannst du mir bitte erklären, wie ich die r.java lösche und neu generiere?
Ich dachte das passiert automatisch bei einem clean & build all...

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

26.02.2014, 19:49:30 via Website

Du kannst die Datei auch von Hand löschen (rechtsclick) und dann ein Build all.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
DerRKDCB
  • Forum-Beiträge: 34

26.02.2014, 20:41:36 via Website

ich kann leider keine r.java finden, ich hab jetz mal den kompletten "gen" ordner gelöscht und dann "build all"... selbes ergebnis
Liegt es vllt daran, dass besagte r.java nicht vorhanden ist? bei allen anderen Projekten ist diese nämlich vorhanden.

Gibt es eine funktion, dass Eclipse diese datei generiert?

— geändert am 26.02.2014, 20:42:49

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

26.02.2014, 21:21:46 via App

Entweder Build all oder Run on Andoid. Er wird sich zwar beschweren dass die Datei nicht vorhanden ist aber dann erstellen.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
DerRKDCB
  • Forum-Beiträge: 34

27.02.2014, 16:45:34 via Website

Build All hab ich ja schon gefühlte 100x gemacht, das funktioniert nicht...

Was meinst du mit Run on Android? Wenn du Run as Android Application meinst, geht es nicht, denn dafür darf der Code keine Fehler enthalten...

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

27.02.2014, 17:13:00 via Website

Dann erstell ein neues projekt und kopier den Code von Hand da rein.
Immer noch besser als noch weiter daran rum zu werkeln

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
DerRKDCB
  • Forum-Beiträge: 34

27.02.2014, 19:02:41 via Website

Genau das hatte ich als nächsten Schritt vor ;)

Trotzdem danke für deine Bemühungen :)

Gruß, Robert

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

27.02.2014, 19:03:17 via Website

Kein Problem

LG
Pascal

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

27.02.2014, 19:03:33 via Website

Sorry für den Doppelpost :(

— geändert am 27.02.2014, 19:03:50

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Mac Systems
  • Forum-Beiträge: 1.727

27.02.2014, 19:06:44 via Website

Wenn deine R wirklich nicht mehr erzeugt wirst, hast du warscheinlich einen Fehler im Code oder XML, wenn der Compiler darüber stolpert gibts keine R und danach ist das ganze projekt "rot". Schau mal in den Meldungen die Eclipse so ausspuckt, darunter wird er zu finden sein :bashful:

Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV

Antworten
DerRKDCB
  • Forum-Beiträge: 34

27.02.2014, 21:40:07 via Website

Da könnte das Problem liegen...
Allerdings läuft es jetz wunderbar, und ich will nicht solang rumprobieren, bis es nicht mehr funktioniert ;D

Gruß, Robert

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

28.02.2014, 05:53:57 via App

Dann den jetzigen Projektstand ersmal sichern.

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Phil G.
  • Forum-Beiträge: 86

28.02.2014, 08:15:02 via Website

Eclipse zickt auch immer mal rum wenn im XML ein Syntaxfehler ist. (nach einem ADT Update hatte er mal komische Zeilenumbrüche in die XMls eingebaut, Klammern und falsche Parameter prüfen)

Bevor du Clean machst -> Haken bei Build Automaticly rausnehmen -> clean machen -> Haken wieder rein bzw. mal von Hand builden

Antworten
Mac Systems
  • Forum-Beiträge: 1.727

28.02.2014, 11:52:28 via Website

Zum sichern nutzt du hoffentlich git oder svn ;)

Windmate HD, See you @ IO 14 , Worked on Wundercar, Glass V3, LG G Watch, Moto 360, Android TV

Antworten