小编jjN*_*ord的帖子

Haversine公式或Vincenty公式更适合计算距离吗?

哪个更适合计算两个纬度/经度点,Haversine公式或Vincenty公式之间的距离?为什么?

距离显然是在地球上计算的.WGS84与GCJ02坐标是否影响计算或距离(Vincenty的公式考虑了WGS84轴)?

例如,在Android中,Haversine公式用于Google Map Utils,但Vincenty公式由android.Locationobject(Location.distanceBetween())使用.

language-agnostic trigonometry geospatial latitude-longitude

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

Android片段动画onResume

情况如下:

我正在使用API​​ 17引入的子片段.说我有

ActivityA -> FragmentA
ActivityA -> FragmentB

FragmentA -> ChildFragmentA
FragmentA -> ChildFragmentB
Run Code Online (Sandbox Code Playgroud)

所以我正在使用FragmentTransaction ActivityA->FragmentA->ChildFragmentA转换到ActivityA->FragmentA->ChildFragmentB使用动画添加到backstack并弹出backstack(当我转到ChildFragmentB时会有动画,当我按下并移动到ChildFragmentA时会有动画).

现在我导航到ActivityA->FragmentB(FragmentA不再附加).当我导航回到ActivityA->FragmentA哪里ChildFragmentB是可见的,ChildFragmentB动画的,因为它从未来什么时候ChildFragmentA.

我想在恢复时禁用此动画Activity->FragmentA.但是在儿童片段之间转换时要保持它.此动画在FragmentTransaction中设置.有没有办法让这种情况发生?

android android-animation android-fragments android-nested-fragment

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

使用GitHub API V3从组织获取私人回购

我无法获得和组织私人回购.我正在使用API​​ V3这个方法:http://share.jjnford.com/HhIZ

我正在使用jQuery.getJSON命令并将我的OAuth2访问令牌传递给API URL,但我只返回公共存储库.

此外,如果我将私有组织存储库分配到用户帐户(上下文)并拉出用户存储库,则除了从组织分叉的私有存储库之外,所有存储库(公共和私有)都会显示.

任何人都可以帮我解决这个问题......这是我的最后一个障碍......

提前致谢!

git api jquery github github-api

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

Java静态基元,对象,方法和堆(内存管理和最佳实践)

好的,所以我已经用Java开发了一年多一点时间,并且正在努力深入学习语言及其最佳实践.

所以这就是我所知道的:

  • Java"按类型传递" - 即基元通过副本传递,对象引用通过副本传递(引用指向堆上的对象).

  • 原始实例变量和引用存在于堆中的类对象中,而本地原语和引用存在于堆栈中(在它们各自的堆栈帧中).

  • Perm Gen.存储空间是存储类元数据的位置(用于反射).

  • Heap有一个Eden空间,其中有新对象,一个Young空间,其中存放了GC的幸存者和Tenured空间,其中放置了长寿命对象.

所以这就是我想要了解的内容:

  • 静态和静态最终基元和引用在哪里,JVM能够使用单个实例?

  • 静态和静态最终对象是否存储在堆中(我假设它们被移动到终身)?

  • 根据应用程序中静态最终引用的数量,什么被认为是最佳实践?

  • 创建更多静态最终引用会减少JVM中的堆空间量吗?

我已经阅读了很多不同的解释(都有所不同),并且如果Java语言中经验丰富的老手可以提供一个很好的解释,我会很高兴.提前致谢!

java heap static jvm memory-management

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

"尝试使用不兼容的返回类型"和"接口继承"

我遇到了使用继承的不兼容返回类型的问题.

public interface A { }
public interface B extends A { }

public interface C {
    Map<String, A> getMapping();
}

public interface D extends C {
    Map<String, B> getMapping();
}
Run Code Online (Sandbox Code Playgroud)

有没有办法让这项工作?

现在,编译器告诉我,我正在"尝试在接口D上使用不兼容的返回类型".

java inheritance interface

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

如何使用 Kubernetes 使用自签名证书访问私有 Docker 注册表?

目前,在使用自签名证书进行身份验证的内部网络上运行私有 Docker 注册表(Artifactory)。

当 Kubernetes 启动一个新节点时,它无法使用私有 Docker 注册表进行身份验证,因为这个新节点没有自签名证书。

任何帮助将非常感激。谢谢!

cloud infrastructure docker google-cloud-platform kubernetes

9
推荐指数
3
解决办法
8038
查看次数

改变倾听者的偏好

我看过这篇有用的帖子:

SharedPreferences.onSharedPreferenceChangeListener未被一致地调用

但是我没有运气.我正在尝试创建一个在服务中运行的OnSharedPreferenceChangeListener.一切都正确实现,但听众并不总是被触发.

public MyServiceOne extends Service {

    public SharedPreferences mSharedPreferences;

    // Listener defined by anonymous inner class.
    public OnSharedPreferenceChangeListener mListener = new OnSharedPreferenceChangeListener() {        

        @Override
        public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
            Log.d("debug", "A preference has been changed");            
        }
    };

    @Override
    public void onCreate() {            
        mSharedPreferences = getSharedPreferences(MySharedPreferences.NAME, Context.MODE_PRIVATE);
        mSharedPreferences.registerOnSharedPreferenceChangeListener(mListener);
    }

    @Override   
    public void onDestroy() {
        super.onDestroy();
        mSharedPreferences.unregisterOnSharedPreferenceChangeListener(mListener);
    }
}
Run Code Online (Sandbox Code Playgroud)

UPDATE

问题源于我没有提及的事实.我正在运行两个服务,当在MyService2中进行共享首选项更改时,不会触发任何内容.在清单中,我定义了在不同进程中运行的服务.有没有办法让这项工作?

service android onchange listener preference

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

具有多个参数的Java泛型

我在网站上看到过处理具有多个参数的泛型的示例,但没有一个适用于我的情况.

所以这是交易:我正在尝试学习Java泛型,并决定创建一个简单的二进制数组搜索实用程序函数.我正在使用自定义对象和整数进行测试.要获得有关错误和警告的反馈,我正在使用Eclipse.这是我有的:

public static int binarySearch(Comparable[] array, Comparable item, int start, int end) {
    if(end < start) {
        return -1;
    }
    int mid = (start + end) / 2;
    if(item.compareTo(array[mid]) > 0) {
        return binarySearch(array, item, mid + 1, end);
    } else if(item.compareTo(array[mid]) < 0) {
        return binarySearch(array, item, start, mid - 1);
    } else {
        return mid;
    }
}
Run Code Online (Sandbox Code Playgroud)

所以很明显我得到Raw类型的警告,说泛型应该参数化.如果我有多个参数需要是同一类型,我怎么能正确地做到这一点?

以下是使用泛型和正确参数检查的工作解决方案:

public static <T extends Comparable<? super T>> int binarySearch(T[] array, T item, int start, int end) { …
Run Code Online (Sandbox Code Playgroud)

java generics comparable

6
推荐指数
2
解决办法
325
查看次数

Content Provider和Content Observer示例?

我是Android开发的新手,并且与内容提供商和内容观察员一起玩.但是,我无法在线查找示例.我一直在玩和读这个但是已经卡住了.这是我想要做的:

我创建了一个小内容提供商(我已经确认它正在工作并在手机上的数据库中插入/删除数据).我们称之为A.apk.现在我想创建一个B.apk,它将通过对db进行的任何更新得到通知.因此,如果创建新内容,B将显示它,如果内容被删除,它将从B的视图中删除.

我很困难,很想看看如何使用最佳实践正确完成这项工作.一个例子将非常感谢!

database android android-contentprovider observer-pattern

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

OS X的Perl和CPAN升级帮助

这是我的问题.我正在运行OS X v10.7(Lion)并且想要设置我编写的旧Perl程序(然后使用带有ActivePerl的Windows系统然后使用其ppm).

我读过使用CPAN来安装Perl模块(我正在尝试安装Graph模块).每当我尝试安装它时,它都会因拒绝连接而失败.为什么?所以我读到我应该运行以下内容来更新CPAN并修复任何损坏的链接:

cpan> install Bundle:CPAN
cpan> reload cpan
cpan> index cpan
cpan> exit
Run Code Online (Sandbox Code Playgroud)

但是,执行此操作后,每次尝试进行CPAN安装或升级时,我都会遇到这种情况:

New CPAN.pm version (v1.9800) available.
  [Currently running version is v1.9456]
  You might want to try
    install CPAN
    reload cpan
  to both upgrade CPAN.pm and run the new version without leaving
  the current session.
Run Code Online (Sandbox Code Playgroud)

我试图使用OS X中包含的默认Perl内容而不是下载ActivePerl.如何修复CPAN并安装图形模块?

PS:运行安装CPAN并重新加载CPAN没有做任何事情,但它生成了相同的消息.

更新 我能够通过终端升级到v1.9800进行手动安装(make,install).但我仍然无法安装图形模块.这是我得到的:

http://cloud.jjnford.com/3D1C1H4217222b1p1O3a

更新 - 问题已解决 我终于能够解决问题了.我刚刚将/User/jj/.cpan目录移动到User/jj/.cpan_bak,然后重新配置了CPAN和安装的Graph Module,没有大惊小怪.

macos terminal perl cpan perl-module

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

从其他APK动态加载类

我正在创建一个框架,供我的工作环境中的许多部门使用.我需要一种方法从单个部门apk中动态地将类加载到框架中.例如,一种将部门A的内容提供者类动态加载到框架中的方法.

我试图解决这个问题的运气很少,任何帮助都会非常感激.谢谢.

android frameworks load dynamic apk

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

按下菜单按钮时,如何创建单击事件和双击事件?

我希望能够在按下菜单按钮时检测单击或双击.如果检测到单击,则会发生偶数,如果检测到双击,则会发生不同的事件.这是我尝试过的(使用toast代替事件):

private static final long DOUBLE_PRESS_INTERVAL = 250; // in millis
private long lastPressTime;

@Override
public boolean onPrepareOptionsMenu(Menu menu) {    

    // Get current time in nano seconds.
    long pressTime = System.currentTimeMillis();


    // If double click...
    if (pressTime - lastPressTime <= DOUBLE_PRESS_INTERVAL) {
        Toast.makeText(getApplicationContext(), "Double Click Event", Toast.LENGTH_SHORT).show();
        return true;
    }

    // If not double click....
    Toast.makeText(getApplicationContext(), "Single Click Event", Toast.LENGTH_SHORT).show();

    // record the last time the menu button was pressed.
    lastPressTime = pressTime;      
    return true;
}
Run Code Online (Sandbox Code Playgroud)

问题是每次双击事件之前都会检测到单击事件.

java double android click double-click

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

Android与Gradle和Proguard

我刚刚使用Gradle创建了一个新的Android库项目,并希望通过Proguard对代码进行优化和混淆.

这是build.gradle文件的android部分:

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.1"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    release {
        runProguard true
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.txt'
    }
}
Run Code Online (Sandbox Code Playgroud)

当我从终端运行gradle build命令时,它在:library:proguardRelease失败并显示以下消息:

* What went wrong:
Execution failed for task ':library:proguardRelease'.
> java.io.IOException: The output jar is empty. Did you specify the proper '-keep' options?
Run Code Online (Sandbox Code Playgroud)

有谁知道这是为什么?

Gradle 1.10 JVM 1.6.0_65 Progruard 4.10

android proguard gradle android-library

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