小编fel*_*ixd的帖子

通过调用生命周期回调来停止应用程序

如何以简单的方式停止我的整个应用程序?(所有活动,服务,线程等等,只需要一切)应该调用生命周期回调(特别是onStop()onDestroy()).

谷歌建议以下可能的解决方案:

  • 杀死进程:但这不会调用生命周期回调
  • 和完成(); 但这只适用于一个活动:

但是可以从外部访问此方法,如:

//Getting all activityies, how?
//For each gotten activity
AcitvityName.finish();
or via or via getParent().finish(); ?
Run Code Online (Sandbox Code Playgroud)

这对我没有帮助:退出Android应用程序的最佳方法?

FD

android quit

5
推荐指数
1
解决办法
599
查看次数

无论屏幕方向如何,如何获得正确的方位(磁方向)?

无论当前的屏幕方向(横向或纵向),我都希望获得当前的磁性方向.

我找到了这个例子,但它不是独立的方向,对吧?而也帮不了我.我也读过http://android-developers.blogspot.de/2010/09/one-screen-turn-deserves-another.html.

这是我目前采用的方法,我不想使用(短):

mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION);

private SensorEventListener sensorEventListener = new SensorEventListener() {

    public void onSensorChanged(SensorEvent event) {

        /* Get measured value */
        float current_measured_bearing = (float) event.values[0];

        /* Compensate device orientation */
        switch (((WindowManager) getSystemService(WINDOW_SERVICE))
                .getDefaultDisplay().getRotation()) {
        case Surface.ROTATION_90:
            current_measured_bearing = current_measured_bearing + 90f;
            break;
        case Surface.ROTATION_180:
            current_measured_bearing = current_measured_bearing - 180f;
            break;
        case Surface.ROTATION_270:
            current_measured_bearing = current_measured_bearing - 90f;
            break;
        }
Run Code Online (Sandbox Code Playgroud)

但最后一部分肯定是错的!getRotationMatrix()在这种情况下,如何正确使用更新的方法?(方向独立)或者我只需要event.values[]根据旋转矩阵使用数组的其他值?或者我需要'重新映射坐标'?那么,实现这一目标的正确方法是什么?

我正在为具有360°屏幕旋转和API Level 11+的设备开发.

我知道这些问题经常被问到,但我不能将他们的答案转移到我的问题上.

java android bearing digital-compass android-sensors

3
推荐指数
1
解决办法
7777
查看次数

Android.widget.RelativeLayout无法强制转换为android.widget.ImageView

我正在尝试获取XML布局文件中定义的ImageView实例:

<RelativeLayout
    android:id="@+id/visual_compass_container"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/output_container" >

    <ImageView
        android:id="@+id/visual_compass"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:contentDescription="Compass"
        android:scaleType="fitStart"
        android:src="@drawable/compass_rose" />

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

但我总是得到运行时错误:

... java.lang.ClassCastException: android.widget.RelativeLayout cannot be
cast to android.widget.ImageView ... at net.example.MainActivity.onCreate
(MainActivity.java:57)
Run Code Online (Sandbox Code Playgroud)

线"57"是那一个:

compassView = (ImageView) findViewById(R.id.visual_compass);
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚为什么会抛出这个错误; 我没有看到这段代码的问题.还有谁知道吗?

谢谢Felix D.

java android runtime-error classcastexception android-layout

2
推荐指数
1
解决办法
1万
查看次数

计算平均值和巨大的长数组

我正在尝试计算long存储在数组中的许多(超过200个)(原始类型)值的平均值。通常,您将所有数字相加并除以值的数量。但是在这种情况下这是不可能的,因为Java中没有原始数据类型能够保存如此大量的数据,不是吗?将java.math.BigInteger在这里帮助?

java arrays performance numbers

2
推荐指数
1
解决办法
4496
查看次数

元素周期表的数据结构

我的目标是使用元素周期表(或列表)来获取有关Java中特定元素的信息.我想通过原子序数和符号进行搜索(但转换应该很简单).

我在这个JQuery插件中找到了这些信息.但它存储为JSON文件.

看起来硬编码信息是最有效的(因为它不会经常更改并且由于性能原因),但是如何将JSON转换为硬编码enum

java enums cheminformatics

1
推荐指数
1
解决办法
6002
查看次数