2017-03-02 124 views
0

這SensorTestActivity.java在Android Studio中的紅色標記R:的Android Studio錯誤:<identifier>預計

package szabojanos.accelerometer; 
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; 


@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); 
    lastUpdate = System.currentTimeMillis(); 
} 

@Override 
public void onSensorChanged(SensorEvent event) { 
    if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) { 
     getAccelerometer(event); 
    } 

} 

private void getAccelerometer(SensorEvent event) { 
    float[] values = event.values; 
    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 = event.timestamp; 
    if (accelationSquareRoot >= 2) // 
    { 
     if (actualTime - lastUpdate < 200) { 
      return; 
     } 
     lastUpdate = actualTime; 
     Toast.makeText(this, "Az eszköz fel volt rázva", 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) { 

} 

@Override 
protected void onResume() { 
    super.onResume(); 
    sensorManager.registerListener(this, 
      sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), 
      SensorManager.SENSOR_DELAY_NORMAL); 
} 

@Override 
protected void onPause() { 
    super.onPause(); 
    sensorManager.unregisterListener(this); 
} 

這是android_sensor_test.xml佈局文件:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      xmlns:tools="http://schemas.android.com/tools" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="vertical" > 

<TextView 
    android:id="@+id/textview" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"/> 

</LinearLayout> 

我下面這個教程:http://www.vogella.com/tutorials/AndroidSensor/article.html#tutorial-accelerometer 任何幫助,將不勝感激。

回答

0

清潔重建您的項目在第一,然後導入[R

基本語法

import szabojanos.accelerometer.R; 

FYI

致電requestWindowFeaturesuper.onCreate

super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_NO_TITLE);// Call this after super.onCreate 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
      WindowManager.LayoutParams.FLAG_FULLSCREEN); 
0

您錯過了.R導入。你可以自動通過紅線去解決這個問題,按組合ALT+ENTER並選擇import yourpackage.R

0

import yourpackage.R如果在你的xml文件中有任何問題,請解決然後嘗試清理和構建。