के बजाय SensorManager.getOrientation() का उपयोग कैसे करें Iroid में एक ऐप कर रहा हूं। ऐप में कुछ उद्धरण डेटाबेस में सहेजे गए हैं और मैं फोन के सेंसर का उपयोग कर स्क्रीन में उद्धरण स्लाइड करना चाहता हूं। तो मैं चाहता हूं कि जब फोन बायीं तरफ जाता है तो मैं स्क्रीन में अगले उद्धरण में देख सकता हूं और जब मैं स्क्रीन में पिछले कोट को देखने के लिए फोन को दाईं ओर ले जाता हूं। आपको लगता है कि किस प्रकार का सेंसर फोन उपयोग करना बेहतर है? मैं Type_orientation का उपयोग करने की कोशिश कर रहा हूं लेकिन मुझे यह त्रुटि है कि: यह निरंतर API स्तर 8 में बहिष्कृत किया गया था। मैं इसे सेंसर मैनेजर.getOrientation() से कैसे बदल सकता हूं। या क्या आपको लगता है कि कोई अन्य सेंसर है जो मेरे लिए उपयोग करना बेहतर है?TYPE_ORIENTATION
package com.example.prova1;
import java.util.HashMap;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.widget.TextView;
public class SlideQuote extends Activity implements SensorEventListener
{
//a TextView
private TextView quote;
private TextView author;
//the Sensor Manager
private SensorManager sManager;
float x;
int id;
int total;
String s1,s2;
Database quotedatabase = new Database(this);
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.slide_quote);
//get the TextView from the layout file
quote = (TextView) findViewById(R.id.textView3);
author = (TextView) findViewById(R.id.textView4);
id=1;
//get a hook to the sensor service
sManager= (SensorManager) getSystemService(Context.SENSOR_SERVICE);
if(sManager.getSensorList(Sensor.TYPE_ORIENTATION).size()!=0){
Sensor s =sManager.getSensorList(Sensor.TYPE_ORIENTATION).get(o);
sManager.registerListener(this,s ,SensorManager.SENSOR_DELAY_NORMAL);
s1= quotedatabase.getQuote(id);
s2= quotedatabase.getAuthor(id);
total=quotedatabase.getQuotesCount();
quote.setText(s1);
author.setText(s2);
}
}
//when this Activity starts
@Override
protected void onResume()
{
super.onResume();
/*register the sensor listener to listen to the gyroscope sensor, use the
callbacks defined in this class, and gather the sensor information as quick
as possible*/
sManager.registerListener(this, sManager.getDefaultSensor(Sensor.TYPE_ORIENTATION),SensorManager.SENSOR_DELAY_NORMAL);
}
//When this Activity isn't visible anymore
@Override
protected void onStop()
{
//unregister the sensor listener
sManager.unregisterListener(this);
super.onStop();
}
@Override
public void onAccuracyChanged(Sensor arg0, int arg1)
{
//Do nothing.
}
@Override
public void onSensorChanged(SensorEvent event)
{
//if sensor is unreliable, return void
if (event.accuracy == SensorManager.SENSOR_STATUS_UNRELIABLE)
{
return;
}
//else it will output the Roll, Pitch and Yawn values
x=event.values[2];
if(x>25){
if(id==total)
{id=1;
}
else{
id++;
}
s1= quotedatabase.getQuote(id);
s2= quotedatabase.getAuthor(id);
quote.setText(s1);
author.setText(s2);
}
if(x<-25){
if(id==1)
{id=total;}
else{
id--;}
s1= quotedatabase.getQuote(id);
s2= quotedatabase.getAuthor(id);
quote.setText(s1);
author.setText(s2);
}
}
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
sManager.unregisterListener(this);
Intent backIntent = new Intent(getApplication(), Quote.class);
finish();
startActivity(backIntent);
}
}
कि कैसे की जगह है ** TYPE_ORIENTATION ** श्रोता? –