我知道大量的 java,但这是我第一次使用 android sdk 编程。我需要实时获取手机的旋转并将其显示在屏幕上。我想知道使用什么传感器方法,因为我听说 getOrientation 是处理器密集型的,可能无法实时工作。其次,我想知道该程序在哪个类中正确,我还不太了解 android 类层次结构。第三,如何让屏幕上的数字实时变化?谢谢您的帮助!
问问题
1281 次
1 回答
1
我想知道使用什么传感器方法,因为我听说 getOrientation 是处理器密集型的,可能无法实时工作。
您需要查看OrientationEventListener对象。
其次,我想知道该程序在哪个类中正确,我还不太了解 android 类层次结构。
为了让您开始,您可以将所有这些代码构建到Activity
. 与传统的 Java 程序不同,它没有main()
入口点方法,并且您不会使用应用程序组件类的构造函数来实例化它们。生命周期回调方法,例如onCreate()
和onDestroy()
是您想要对实例信息进行初始化和拆卸的地方。 本指南可以帮助您构建应用程序以使用单个Activity
.
第三,如何让屏幕上的数字实时变化?谢谢您的帮助!
OrientationEventListener
每次更改都包含一个回调方法,只需使用此回调来更新 UI 中的视图。
这是一个简单的例子:
public class OrientationActivity extends Activity {
private OrientationEventListener mListener;
private TextView mTextView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mTextView = new TextView(this);
setContentView(mTextView);
mListener = new OrientationEventListener(this, SensorManager.SENSOR_DELAY_UI) {
@Override
public void onOrientationChanged(int orientation) {
mTextView.setText(String.valueOf(orientation);
}
};
}
@Override
public void onResume() {
super.onResume();
mListener.enable();
}
@Override
public void onPause() {
super.onPause();
mListener.disable();
}
}
于 2012-07-12T18:59:44.547 回答