当前位置: 首页 > 知识库问答 >
问题:

如何将位置gps数据写入变量Android Studio[重复]

璩慎之
2023-03-14

伙计们。我有一个问题,因为我是Android开发的初学者。我需要获取并将用户的GPS数据写入数据库,但我不知道如何做到这一点。如果我试图将数据写入变量,Android Studio会说错误“变量是从内部类中访问的,需要声明为最终”。

import static android.Manifest.permission.ACCESS_FINE_LOCATION;

public class LogsHelper extends Service {
    public String action;
    public String item;
    FusedLocationProviderClient client;
    Context context;
    double lat;
    double lon;
    LatLng latLng;
    protected  Location location;
    Activity activity;
    public LogsHelper(String item, Context context, Activity activity) {
        this.item = item;
        this.context = context;
        this.activity = activity;
    }
    public void onCreate() {
        super.onCreate();
    }
    public void createLog(String old_item, String new_item, int action){
        this.getCoordinates();

    }
    public double[] getCoordinates(){
        double[] latLong = new double[2];
        requestPermission();
        client = LocationServices.getFusedLocationProviderClient(activity);
        client.getLastLocation().addOnCompleteListener(activity, new OnCompleteListener<Location>() {
            @Override
            public void onComplete(@NonNull Task<Location> task) {
                if(task.isSuccessful() && task.getResult() != null){
                    /*There is a problem*/
                    location = task.getResult();
                }
            }
        });
        return latLong;
    }
    private void requestPermission(){
        ActivityCompat.requestPermissions(activity, new String[]{ACCESS_FINE_LOCATION}, 1);
    }
}

共有1个答案

闻人修明
2023-03-14

位置有两个主要属性:经度和纬度。这两个数字的组合表示一个位置。

if(位置!=null){

double latitude = location.getLatitude();

double longitude = location.getLongitude();   

}

那么您可以将这2个属性存储在DB上,还有问题吗?

 类似资料:
  • 问题内容: 我想将变量插入到我的数据库中,其中一些是php可以正常工作,但是问题是javascript变量,它不起作用。我对此很陌生,任何帮助都将很好。 这是我的第一个问题,对不起,如果我把代码块弄错了。 应该发生的是,当我按下按钮时,它将时间保存在变量中,第二次按下按钮时,它将时间保存在另一个变量中,现在我希望将这些时间变量保存在数据库中。 谢谢你。 问题答案: 阿贾克斯工作: 谢谢你的建议。

  • 问题内容: 干杯,我正在尝试通过Android获取当前的GPS位置。我也遵循了这篇教程和Vogellas的文章。虽然没有用。使用LocationManager.NETWORK_PROVIDER时,无论我站在哪里,我总能得到51的纬度和9的经度。当使用LocationManager.GPS_PROVIDER时,我什么也没得到。 虽然使用GMaps时一切正常::S不知道为什么。如何像GMaps一样获取

  • 我有一个问题,而试图使用Android模拟位置,我的主要目标是设置Android GPS认为我们在一个不同的地方,又名假GPS。 我目前尝试了两种不同的类似解决方案,可在这两个网站上使用: 编程丛林 莫比亚奇 这两个教程都是2012年的,我不知道它们是否过时,或者我很难实现它们。 首先,我要确保我有权限: ACCESS_COARSE_LOCATION ACCESS_FINE_LOCATION AC

  • dolphindb 目前使用的 是 pool = ddb.DBConnectionPool("0.0.0.0", 8903, 20, "admin", "123456") appender = ddb.PartitionedTableAppender("dfs://dd", "dd", "instrument_id", pool) 多线程 线程池写入 问题是: 批量写入有重复 怎么去除重复呢 写入

  • 问题内容: 我正在向stdin写入大量数据。 我如何确保它不会阻塞? 我读了一个大字符串并将其写入后,似乎无法解决。 我有大量的文件集,这些文件将被顺序写入stdin(> 1k个文件) 所以发生的事情是我正在运行一个循环 它以某种方式挂在文件号上。400.该文件是带有长字符串的大文件。 我确实怀疑这是一个阻碍性问题。 仅当我从0迭代到1000时才会发生这种情况。但是,如果我要从文件400开始,则不