Migrate Android Code

S

Sunderland85

Neues Mitglied
0
Hallo Leute,
ich bin gerade dabei mir selbst die Android Programmoerung beizubirngen,
allerdigns stehe ich gerade vor dem Problem, das alle Tutorials sei
Tab, Blutooth, Google Maps etc. immer auf alten Code basieren,
wo ich meistens den Zugriff R.id.irgendwas nicht mehr erlaubt ist.

Das Problem ist als das ich die Klasse R die ich ja auch nicht verändern kann, weil Eclipse sie wieder auf dem Urpsrungszsutand zurückstuft.

Gibt es da eine Anleitung, oder vll ein bereits vorhandener Foreneintrag, der mir weiterhelfen könnte?

danke euer Sunderland
 
Sunderland85 schrieb:
Hallo Leute,
ich bin gerade dabei mir selbst die Android Programmoerung beizubirngen,
allerdigns stehe ich gerade vor dem Problem, das alle Tutorials sei
Tab, Blutooth, Google Maps etc. immer auf alten Code basieren,
wo ich meistens den Zugriff R.id.irgendwas nicht mehr erlaubt ist.
Du könntest z.B. das alte Android SDK nehmen wenn du meinst es liegt daran.
Ich denke eher, dass der Fehler entweder am Import von R oder nicht vorhandenen XML Dateien liegt.
 
the_alien schrieb:
Du könntest z.B. das alte Android SDK nehmen wenn du meinst es liegt daran.
Ich denke eher, dass der Fehler entweder am Import von R oder nicht vorhandenen XML Dateien liegt.

nein daran liegt es nicht ich bneutze SDK 7, worauf sich android meldung bezieht ist 14?!?
Ich verstehe es nicht..
 
Vielleicht möchtest du ein paar mehr Informationen teilen. Die Codeschnippsel und Beispielapps von Google funktionieren im Normalfall ziemlich gut.
 
Code:
   private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            String action = intent.getAction();

            // When discovery finds a device
            if (BluetoothDevice.ACTION_FOUND.equals(action)) {
                // Get the BluetoothDevice object from the Intent
                BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
                // If it's already paired, skip it, because it's been listed already
                if (device.getBondState() != BluetoothDevice.BOND_BONDED) {
                    mNewDevicesArrayAdapter.add(device.getName() + "\n" + device.getAddress());
                }
            // When discovery is finished, change the Activity title
            } else if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)) {
                setProgressBarIndeterminateVisibility(false);
                setTitle(R.string.select_device);
                if (mNewDevicesArrayAdapter.getCount() == 0) {
                    String noDevices = getResources().getText(R.string.none_found).toString();
                    mNewDevicesArrayAdapter.add(noDevices);
                }
            }
        }
    };

Es ist eigentlich egal welchen Code ich reinpsote es ist immer der gleiche fehler.
Immer bei:
Code:
R.string.attribut
 
Sunderland85 schrieb:
Es ist eigentlich egal welchen Code ich reinpsote es ist immer der gleiche fehler.
Immer bei:
Code:
R.string.attribut

Existiert der String denn in deiner string.xml?
 
"Project > Clean..." schon versucht?
 
ja geht nicht R.string.<atrribut>

ist imer die meldung dass ich den code umschreiben muss!

Das ist ein Tutoiral code aus dem web der immer funktioniert hat
früher bie anderen mitlgiedern
 
Welches R importierst Du denn?
Code:
import android.R
oder
Code:
import [deinPaketName].R
?
 
Code:
import android.R
das wonach er verlangt.
dann ist aber das jewielige Atrribut unterstrichen er verlangt dass ich den code umschreibe. Ein statischer Zugriff sei nicht mehr erlaubt
 
android.R kann nicht deine strings haben.
 
swordi schrieb:
android.R kann nicht deine strings haben.

wie soll ich das dann umschreiben?

Alle Tutorials die ja früher funktioniert haben, verlangt elcipse nach diesem R.
Ich versteh nur bahnhof, ich weiss dass string.xml die strings hat.
 
Du musst
Code:
import <DeinPaketName>.R
importieren. Natürlich verlangt eclipse nach EINEM R. Wenn Du die falsche Klasse importierst, kann es aber nicht funktionieren.
 
Code:
package de.android.sensor;




    import de.android.sensor.R;
import android.R;
import android.app.Activity;
    import android.graphics.Color;
    import android.hardware.Sensor;
    import android.hardware.SensorEvent;
    import android.hardware.SensorEventListener;
    import android.hardware.SensorManager;
    import android.os.Bundle;
    import android.view.View;
    import android.view.Window;
    import android.view.WindowManager;
import android.widget.Toast;

    public class SensorTestActivity extends Activity implements SensorEventListener {
        private SensorManager sensorManager;
        private boolean color = false; 
        private View view;
        private long lastUpdate;

        
    /** Called when the activity is first created. */

        @Override
        public void onCreate(Bundle savedInstanceState) {
            requestWindowFeature(Window.FEATURE_NO_TITLE);
            getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                    WindowManager.LayoutParams.FLAG_FULLSCREEN);
          
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            view = findViewById(R.id.textView);
            view.setBackgroundColor(Color.GREEN);

            sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
            sensorManager.registerListener(this,
                    sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
                    SensorManager.SENSOR_DELAY_NORMAL);
            lastUpdate = System.currentTimeMillis();
        }

        @Override
        public void onSensorChanged(SensorEvent event) {
            if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
                float[] values = event.values;
                // Movement
                float x = values[0];
                float y = values[1];
                float z = values[2];

                float accelationSquareRoot = (x * x + y * y + z * z)
                        / (SensorManager.GRAVITY_EARTH * SensorManager.GRAVITY_EARTH);
                long actualTime = System.currentTimeMillis();
                if (accelationSquareRoot >= 2) //
                {
                    if (actualTime - lastUpdate < 200) {
                        return;
                    }
                    lastUpdate = actualTime;
                    Toast.makeText(this, "Device was shuffed", Toast.LENGTH_SHORT)
                            .show();
                    if (color) {
                        view.setBackgroundColor(Color.GREEN);
                        
                    } else {
                        view.setBackgroundColor(Color.RED);
                    }
                    color = !color;
                }

            }

        }

        @Override
        public void onAccuracyChanged(Sensor sensor, int accuracy) {
            // TODO Auto-generated method stub

        }

        @Override
        protected void onResume() {
            super.onResume();
            // register this class as a listener for the orientation and
            // accelerometer sensors
            sensorManager.registerListener(this,
                    sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
                    SensorManager.SENSOR_DELAY_NORMAL);
        }

        @Override
        protected void onPause() {
            // unregister listener
            sensorManager.unregisterListener(this);
            super.onStop();
        }
    }

hier ein anderes beispiel:
imporitere ich android.R; sind nur die atribute rot
importeire ich packet.R ist der import rot
 
Hast du deine Imports denn mal gefixt?

edit:
Die Klasse R wird generiert. Das heißt sie wird erst beim kompilieren erstellt. Importiere deine R Klasse, aus deinem Projekt und dann geh mal auf "Project -> Clean".
Wenn es dann noch nicht geht hast du noch andere Fehler im Projekt die du beheben musst.
 
Sunderland85 schrieb:
Code:
package de.android.sensor;

    import de.android.sensor.R;
    import android.R;
imporitere ich android.R; sind nur die atribute rot
importeire ich packet.R ist der import rot
Naja Du darfst Klassen mit gleichem Namen auch nicht mehrfach importieren. Du solltest Deine Wissenlücken im Bereich java bei Gelegenheit verkleinern.
 
JanF schrieb:
Naja Du darfst Klassen mit gleichem Namen auch nicht mehrfach importieren. Du solltest Deine Wissenlücken im Bereich java bei Gelegenheit verkleinern.

nein du hast das nicht verstanden.
importiere ich das eine oder das andere.
d.h.
also:
d.h. <packetname>.R existiert nicht wie den auch, android nimmt nur die R kalsse her für Konstanten.
der import wird wegen nicht vorhandensein rot.

den anderen import velrngt eclipse auf teufel komm raus. selbst wenn ich
diesen paket.R import versuche.
 
Sunderland85 schrieb:
nein du hast das nicht verstanden.
importiere ich das eine oder das andere.
d.h.
also:
d.h. <packetname>.R existiert nicht wie den auch, android nimmt nur die R kalsse her für Konstanten.
der import wird wegen nicht vorhandensein rot.

den anderen import velrngt eclipse auf teufel komm raus. selbst wenn ich
diesen paket.R import versuche.

Deine R Klasse muss auch erst vom System erstellt werden. Importiere dein R und mach ein Clean auf dein Projekt.
 
Zuerst Grundlagen lernen. Sonst hat das hier keinen sinn

Gesendet mit der Android-Hilfe.de-App
 
  • Danke
Reaktionen: the_alien

Ähnliche Themen

S
Antworten
9
Aufrufe
1.186
swa00
swa00
M
Antworten
4
Aufrufe
1.166
swa00
swa00
5
Antworten
0
Aufrufe
1.140
586920
5
Zurück
Oben Unten