小编Ale*_*ien的帖子

在android中使用GPS确定车辆的速度

我想知道如何使用gps在车辆中使用手机获得车辆的速度.我已经读过加速度计不是很准确.另一件事是; 坐在车内时可以访问GPS.你在建筑物里会不会产生同样的效果?

这是我尝试过的一些代码,但我使用的是NETWORK PROVIDER.我将非常感谢您的帮助.谢谢...

package com.example.speedtest;

import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.widget.Toast;

public class MainActivity extends Activity {
    LocationManager locManager;
    LocationListener li;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        locManager=(LocationManager)getSystemService(Context.LOCATION_SERVICE);
        li=new speed();
        locManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, li);
    }
    class speed implements LocationListener{
        @Override
        public void onLocationChanged(Location loc) {
            Float thespeed=loc.getSpeed();
            Toast.makeText(MainActivity.this,String.valueOf(thespeed), Toast.LENGTH_LONG).show();
        }
        @Override
        public void onProviderDisabled(String arg0) {}
        @Override
        public void onProviderEnabled(String arg0) {}
        @Override
        public void onStatusChanged(String arg0, int arg1, Bundle …
Run Code Online (Sandbox Code Playgroud)

gps android location android-location

23
推荐指数
3
解决办法
7万
查看次数

考虑到新引入的闰秒,1岁(java)lib如何正确执行UTC时间格式化

自UTC.1.1707 UTC以来以毫秒表示的时间戳是存储时间戳的常用方法,例如在Java中.

例如:

long timestampUtc = System.currentTimeMillis();
Run Code Online (Sandbox Code Playgroud)

这样的时间戳可以以人类读取时间格式形成,例如使用该代码

    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US);
    df.setTimeZone(TimeZone.getTimeZone("UTC"));
    String humanTimeUtc = df.format(new Date(timestampUtc));
    System.out.println(humanTimeUtc);
Run Code Online (Sandbox Code Playgroud)

给出输出: 2014-02-14 14:58:05

现在想象一下,今天午夜时分,管理层引入了新的UTC闰秒.如果我在tommorow上面运行代码,我系统上的java JRE就不会知道闰秒的介绍,并且会错误地格式化时间(一秒钟).

我的推定是否正确?
如何在不能始终使用最新JRE的系统中正确格式化时间(例如,在日志文件中)?

背景信息:
这用于嵌入式设备,该设备通过GPS同步其系统时钟,具有闰秒的GPS数量到UTC.

java time gps date

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

CAGradientLayer发回

我有一个UIViewController我用它创建背景渐变的地方

    CAGradientLayer *gradient = [CAGradientLayer layer];
    ...
    gradient.frame = frame;
    self.backGradient = gradient;
    [self.view.layer insertSublayer:gradient atIndex:0];
Run Code Online (Sandbox Code Playgroud)

它工作正常,后来我必须将_selectionFrame我的视图控制器的子视图发送回:(
我经常需要发送_selectionFrame到后面和前面,用于动画和绘图目的)

self 是viewController:

[self.view sendSubviewToBack:_selectionFrame]; 
Run Code Online (Sandbox Code Playgroud)

然而,这发送的_selectionFrame背后gradient.我希望它只是在渐变之上但在每个其他子视图之下.问题是渐变不是视图,所以我不能使用渐变的函数.
我想打个电话[self.view sendSubviewToBack:gradient];

但这不起作用.

cocoa-touch core-animation ios cagradientlayer

10
推荐指数
2
解决办法
7562
查看次数

找到两个位置的交集

我想在Android中找到两个位置的交叉点.

我不想考虑图中所示的圆圈不相交或包含或完全重叠的情况.

我的问题是位置以度为单位,半径(精度)以米为单位给出.我不知道如何混合这些单位.

在我的情况下,环境是Android,但问题不是Android特定的.

带有Radiuses的位置,单位为m

math geometry gps intersection latitude-longitude

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

ios磁力计:强制显示校准视图

作为机械罗盘的使用者,我注意到磁力计提供的航向经常偏离45度或更多,尽管在那种情况下没有出现校准显示.

如果我在室外测试或使用我的应用程序,我会在罗盘视图出现时校准磁力计.这是有效的,似乎这是必要的.

我不希望通过使用八字形动作执行频繁校准,在可能实现或多或少精确的标题时向我的应用程序的用户显示不准确的标题.

每次我的指南针视图出现时,是否有人知道强制显示磁力计校准视图的解决方案?

我在这里搜索了所有(?)帖子,只有一个人有类似的想法,但没有答案.

calibration magnetometer cllocationmanager ios

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

位置管理器在后台间隔一段时间后停止工作

我米显影一个应用程序中,我必须跟踪LocationUpdateBackground以及在Foreground而是在一段时间间隔之后Background该应用停止更新Location.当我把它带回来时Foreground它再次启动,当我在一段时间间隔之后把它放在背景中时它会再次停止.

我无法找到问题,请尽可能帮助我.

iphone gps location ios

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

iOS标准位置服务与重要变更位置服务与区域监控

我正在开发一个iOS应用程序,其主要功能之一是监听用户的位置.我需要一个高位置准确性来了解用户何时进入某些区域,并且我不确定应该使用哪种位置服务.

AFAIK,重大变化的定位服务提供低精度,对吧?我不确切地知道应该通过"重大改变"来理解什么.我还没有读过它在Apple文档中的准确性,但我在一些帖子中读到了一些关于它的内容,所以这不符合我的需求.如果是这样,我应该在标准位置服务区域监控之间进行选择.我知道标准服务可以设置精度水平和距离过滤器,但这似乎耗尽了电池.另一方面,区域监控似乎在功率水平方面更有效,但我不确定我是否可以通过此服务达到高精度.我需要监控很多方面; 我不知道这是否可行,或者只能提供一个.

提前致谢

gps location core-location cllocationmanager ios

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

从二进制文件中读取大量int的最快方法

我在嵌入式Linux设备上使用Java 1.5,并希望读取具有2MB int值的二进制文件.(现在4字节Big Endian,但我可以决定,格式)

使用DataInputStream通过BufferedInputStream 使用dis.readInt()),这500万个电话需要17S阅读,但文件中读取到一个大的字节的缓冲区需要5秒.

我怎样才能更快地将该文件读入一个巨大的int []?

读取过程不应超过512 kb.

以下使用的代码nio并不比java io的readInt()方法快.

    // asume I already know that there are now 500 000 int to read:
    int numInts = 500000;
    // here I want the result into
    int[] result = new int[numInts];
    int cnt = 0;

    RandomAccessFile aFile = new RandomAccessFile("filename", "r");
    FileChannel inChannel = aFile.getChannel();

    ByteBuffer buf = ByteBuffer.allocate(512 * 1024);

    int bytesRead = inChannel.read(buf); //read into buffer.

    while (bytesRead != -1) …
Run Code Online (Sandbox Code Playgroud)

java io nio

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

ECEF到lla(lat,lon,alt)在java中

我查看了网站上的帖子,但没有发现我的问题......正如头条说我试图从ecef转换为lla.

我正在使用此文档: 直接公式中的转换文章,而不是迭代公式和此站点进行结果比较:ECEF2LLA

我在java中开发,所以我的代码如下:

public static final double a = 6378137;
public static final double f = 1/298.257223563;
public static final double b = a*(1-f);
public static final double e = Math.sqrt((Math.pow(a, 2)-Math.pow(b, 2))/Math.pow(a, 2));
public static final double e2 = Math.sqrt((Math.pow(a, 2)-Math.pow(b, 2))/Math.pow(b, 2));
public static double[] ecef2lla(double x , double y , double z){
    double[] lla = {0,0,0};
    double lon,lat,height,N;
    double p = Math.sqrt(Math.pow(x, 2)+Math.pow(y, 2));
    double theta = Math.atan((z*a)/(p*b));
    lon = Math.atan(y/x);
    lon = …
Run Code Online (Sandbox Code Playgroud)

java math gps latitude-longitude coordinate-systems

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

无法在Comparator <String>中使用静态List <String>

为什么我必须完全限定静态字段List中的java.lang.String

public static class MyComparator<String> implements Comparator<String> {

        public static List sortOrder;
        public static List<Integer> sortOrder2;
        public static List<java.lang.String> sortOrder3; // works!
        public static List<String> sortOrder4; // <-Compiler error only in this line


        @Override
        public int compare(String s1, String s2) {

            // TODO

            return -1;
        }
    }
Run Code Online (Sandbox Code Playgroud)

错误是"无法对非静态类型字符串进行静态引用"

java generics comparator

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