Android Location的使用

Android的Location功能代码 无废话,上代码。此代码为Location功能的简单封装。 package arui.youkuaiyun.com; import static android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS; import android.app.Activity; import android.content.Context; imp 阅读详情

作者:邹杰


Location 在Android 开发中还是经常用到的,如通过经纬度获取天气,根据Location 获取所在地区详细Address (比如Google Map 开发)等。而在Android 中通过LocationManager来获取Location .通常获取Location 有GPS 获取,WIFI 获取。

这边介绍一个简单的小Demo ,来教大家如何获取Location ,从而获取经纬度。

第一步:创建一个Android 工程命名为LocationDemo .

第二步:修改main.xml 代码如下:

第二步:修改main.xml 代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView 
	android:id="@+id/longitude" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="longitude:"
    />
<TextView
	android:id="@+id/latitude"  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="latitude:"
    />
</LinearLayout>


第三步:修改LocationDemo.java ,代码如下:


package pku.ss;
import pku.ss.R;
import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationManager;
import android.os.Bundle;
import android.widget.TextView;

public class LocationDemoActivity extends Activity {
	private TextView longitude;
	private TextView latitude;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        longitude = (TextView)findViewById(R.id.longitude);
        latitude = (TextView)findViewById(R.id.latitude);
        
        Location mLocation = getLocation(this);
        
        longitude.setText("Longitude: " + mLocation.getLongitude());
        latitude.setText("Latitude: " + mLocation.getLatitude());
    }
    
    //Get the Location by GPS or WIFI
	public Location getLocation(Context context) {
		LocationManager locMan = (LocationManager) context
				.getSystemService(Context.LOCATION_SERVICE);
		Location location = locMan
				.getLastKnownLocation(LocationManager.GPS_PROVIDER);
		if (location == null) {
			location = locMan
					.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
		}
		return location;
	}
}


第四步:增加权限,修改AndroidManifest.xml 代码如下(第16行为所增行):



<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="pku.ss"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".LocationDemo"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
    <uses-sdk android:minSdkVersion="7" />
	<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
</manifest>


第五步:运行LocationDemo 工程,所得效果如下:



Android - Location 基于位置的服务 Android Location API 使您可以轻松构建位置感知应用程序,而无需关注底层位置技术的细节。这在Google Play services的帮助下成为可能,通过自动位置跟踪、地理围栏和活动识别,有助于为您的应用添加位置感知。本教程向您展示如何在您的 APP 中使用定位服务来获取当前位置、获取定期位置更新、查... 阅读详情

相关推荐

Android学习笔记 - 定位篇 (Location)

1.UserLocation能做什么   1.获取用户的位置   2.追踪用户的移动   2.UserLocation的关键API   1.LocationManager:用于管理Android用户定位服务   2.LocationProviders:提供多种定位方式供开发者选择   3.定位方式的分类   1.GPS定位,使用GPS卫星进行定位         2.

D!eR 个人博客 1万+

Android定位功能实现

android的定位功能有两种方式: 1. 使用第三方地图sdk提供的定位功能。 2. 使用sdk的Location实现,借助GPS(高精度)和网络(低精度)实现定位。

weixin_40239288的博客 5340

Android 高手进阶教程(十四)之----Android Location的使用!!

大家好,今天说说Location, Location在Android开发中还是经常用到的,比如 通过经纬度获取天气,根据Location获取所在地区详细Address(比如Google Map开发).等。而在Android 中通过LocationManager来获取Location.通常获取Location有GPS获取,WIFI获取。我今天做一个简单的小Demo,来教大家如何获取Location,从而获取经纬度。下一节将教大家通过Location来获取Address.首先第一步:创建一个Android 工

Android_Tutor的专栏 2万+

android 设置定位,Android定位--LocationManager的用法

用户定位LocationManager的作用:1.获取用户的位置2.追踪用户的移动LocationManager的关键API1.LocationManager:用于管理Android的用户定位服务2.LocationProviders:提供多种定位方式供开发者选择。<1>GPSProvider<2>Network Provider定位方式的分类:1.GPS定位:使用GPS卫...

weixin_29497981的博客 5837

Android高手进阶教程(十五)之---通过Location获取Address的使用!

大家好,上一节我讲了一下如何通过LocationManager来获取Location,没有看过上一节的同学,可以点击如下链接返回查看:Android高手进阶教程十四之---Android Location的使用!我们获取Location的目的之一肯定是有获取这个位置的详细地址,而我们有了Location在来获取Address就相对简单多了,因为GoogleApi已经封装好了方法,我们只需呀通过Location获取GeoPoint,然后在通过GeoPoint来获取我们想要的Address.下面是我做的一个简单

Android_Tutor的专栏 3万+

Android Location开关过程分析

Android Location开关过程分析有同事发现目前车机的location位置在刷机(线刷之后),每次的location初始值(在settings中看见的)都不一致.之前对这个是一点都没接触过,所以今天拿出来研究下,凑一篇博客.location的三种工作模式?从settings->location界面来看,location主要有三种工作模式:high_accuracy battery_savi

bberdong的专栏 6569

android 微信 wap,解决安卓微信浏览器中location.reload 或者 location.href失效的问题

出自:http://www.cnblogs.com/joshua317/p/6163471.html在移动wap中,经常会使用window.location.href去跳转页面,这个方法在绝大多数浏览器中都不会存在问题,但早上测试的同学会提出了一个bug:在安卓手机的微信自带浏览器中,这个是失效的,并没有跳转;原来的代码:window.location.reload(location.href);...

weixin_39869593的博客 377

android 模拟位置信息Location使用示例

android 自带location除了可以输出gps的经纬度信息,还可以进行传入location数据,进行模拟输出。输出模拟的位置信息可以在同一个应用程序,也可以给其他应用app使用。本文的源码下载:http://download.youkuaiyun.com/detail/qq_16064871/98570361,开启传入location信息先打开系统本机的gps,然后去开发者选项里打开模拟位置服务

mmsx990的博客 2万+

解决安卓微信浏览器中location.reload 或者 location.href失效的问题

在移动wap中,经常会使用window.location.href去跳转页面,这个方法在绝大多数浏览器中都不会  存在问题,但早上测试的同学会提出了一个bug:在安卓手机的微信自带浏览器中,这个是失效的,并没有跳转; 原来的代码: window.location.reload(location.href); 初步判断可能是缓存的问题,首先想到的解决办法就是在要跳转的url后面加个时间戳,告...

myzhou2017的博客 994

Android应用中Location定位技术详解与实践

移动设备的定位功能已成为现代智能应用不可或缺的一部分。Android Location API 提供了一系列用于获取设备地理位置信息的工具和服务。开发者可以通过这些API实现各种应用场景,如地图服务、位置分享、本地化服务、紧急服务等。Android提供了Location API来支持GPS定位以及其他定位技术。主要的类和接口包含在包中,其中是最关键的类,它提供了对GPS以及其他位置来源的访问。为了访问位置信息,开发者需要请求权限,并确保在应用的Manifest文件中声明了或权限。

weixin_35696112的博客 802

避坑指南:处理A股通达信分时数据转日K线时,你可能会遇到的3个时间戳问题

本文针对量化交易中处理A股通达信分时数据转日K线时的常见时间戳问题,提供了专业解决方案。重点解析了午休时段处理、Pandas重采样参数设置及CSV读取时的日期解析陷阱,帮助开发者避免数据预处理错误,提升策略回测准确性。适用于Python量化交易开发者。

weixin_42549496的博客 288

使用Criteria确定android location

使用Criteria确定android location provider android location provider有两个: LocationManager.GPS_PROVIDER:GPS,精度比较高,但是慢而且消耗电力,而且可能因为天气原因或者障碍物而无法获取卫星信息,另外设备可能没有GPS模块;LocationManager.NETWORK_PROVIDER:通过网络获

成长的味道 3078

C语言练习题:据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤的数值是公斤数值的两倍。现给定某人身高,请你计算其标准体重应该是多少?

题目内容: 据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤的数值是公斤数值的两倍。现给定某人身高,请你计算其标准体重应该是多少?(顺便也悄悄给自己算一下吧……) 输入格式: 输入第一行给出一个正整数H(100 < H ≤ 300),为某人身高。 输出格式: 在一行中输出对应的标准体重,单位为市斤,保留小数点后1位。 输入样例: 169 输出样例: 124.2 代码如下: #include<stdio.h> int main() { i

weixin_44877226的博客 2万+

安卓微信浏览器中location.reload等失效的问题

在移动wap中,经常会使用window.location.href去跳转页面,这个方法在绝大多数浏览器中都不会存在问题,在安卓手机的微信自带浏览器中,这个是失效的,并没有跳转; 场景: 页面上有一个按钮,点击的时候执行window.location.reload(),正常情况reload()后会向后台发出请求,但在安卓的微信浏览器中reload后,通过fiddler抓包发现,并没有发送请求。应该是...

weixin_42072601的博客 657

Spring Boot 构建war 部署到tomcat下无法在Nacos中注册服务

因此,当使用外部容器时,如此处的 Tomcat 来部署项目,AbstractAutoServiceRegistration 就不能监听到容器启动事件了,也就不会尝试向服务注册中心注册当前这个微服务,那么注册就失败了,并且也就没有异常信息了。自定义获取获取外部容器端口的方法, 然后监听应用启动事件,当应用被启动时,获取外部容器启动的端口号,然后将这个 port 设置到 NacosAutoServiceReigistration 中。在启动类同级目录,复制下面代码即可(不需要修改,直接构建war即可)

ttyy1112的专栏 2519

使用GitLab+Drone CI持续集成自动部署web项目,图文详细

kind: pipeline # 定义对象类型,还有secret和signature两种类型 type: docker # 定义流水线类型,还有kubernetes、exec、ssh等类型 name: mall-tiny-drone # 定义流水线名称 steps: # 定义流水线执行步骤,这些步骤将顺序执行 - name: package # 流水线名称 image: maven:3-jdk-8 # 定义创建容器的Docker镜像 volumes: # 将容器内目录挂载到宿主机,仓库

4105

Android10.0 ,Android Q,报错没有Location权限

升级老项目到Android 10.0 ,明明已经加了Location权限,但是就是报没有Location权限的错,后来搜了一波才发现10.0有了新的Location权限,动态申请权限工具类博客之前写过 这个是之前的首先在AndroidManifest里声明 <!-- 这个权限用于进行网络定位 --> <uses-permission android:name="androi...

Motejia的博客 2723

将GroundDINO、EdgeMTAM和FoundationPose的ONNX模型转换为TensorRT格式并部署到NVIDIA Jetson Orin平台的完整技术指南

TensorRT模型部署指南:从ONNX到Jetson Orin的优化实践 本文详细介绍了将GroundDINO、EdgeMTAM和FoundationPose模型从ONNX格式转换为TensorRT引擎并在Jetson Orin平台部署的全流程。主要内容包括: 环境配置:JetPack 5.1.2+环境搭建,TensorRT工具链安装,存储与交换空间优化 模型转换:动态尺寸处理、自定义算子实现、层融合策略及INT8量化校准 部署优化:引擎序列化加密、多模型并行推理架构设计、CUDA流异步执行 实战技巧。

huanghm88的专栏 437

【无标题】​expo-location的Location.getCurrentPositionAsync(options)​安卓不生效

Location.getLastKnownPositionAsync(),不过文档说这个方法不精确,也不及时。不过对我来说,不是导航用,也足够了。尝试发现在里面填精确度会生效,但在安卓真机上还是不行。最后在偶热再看看文档时发现了另一个方法。然后翻了文档找了很多方法,还是不行。

zrtAiLeeJ的博客 786

【嘉立创EDA】PCB金属包边设计快捷方法

本文使用嘉立创EDA,描述如何在PCB设计时,快速增加边框包边设计,特别是金属包边(伪)——这里标记(伪)是因为该这里的包边特指不含边缘壁。请参考本文时特别注意!本文将此过程记录,以供有需要的读者参考。

l64481000的博客 1733

手把手教你学simulink(31.31)--双向DCDC电源场景示例:设计并实现一个基于变频控制的双向降压变换

设计并实现一个基于 Simulink 的双向降压变换器,能够在充电模式(从高压侧向低压侧传输能量)和放电模式(从低压侧向高压侧传输能量)之间切换,确保输出电压稳定,并根据负载变化自动调整工作模式。

MHD0815的博客 343

java-通过继承android.location.Location实现自定义化的location对象

然而,在调用安卓原生的android.location.LocationListener获取定位对象时,给到的将是以默认WGS84为坐标系的点,所以由于该种原因,导致我们在调用的大多数大陆地区api地图时会出错。2.获取到的定位点有可能出现漂移现象,为了给获取到的点打上标记,以便于后续的处理,我希望加上相关的漂移属性。通过计算y=y0与y-y1=(y2-y1)/(x2-x1)(x-x1)的交点x(其中,(x1,y1),(x2,y2)是多边形上两个连续的边界点),并且通过判断它与x0的大小关系进行记数。

m0_74024372的博客 924

【ROS】Nav2源码之nav2_collision_monitor(碰撞监测)详解

nav2_collision_monitor碰撞监视器是一个节点,为机器人提供了一个额外的安全级别。它使用来自传感器的数据,执行若干与避免碰撞相关的任务,绕过成本图和轨迹规划器,监测是否需要紧急停止或者减速。

郭老二 1455

安卓系统的 Network Location Provider 模块是什么

Network Location Provider 模块解决了GPS 不可用、耗电高和启动慢的问题,通过 Wi-Fi、基站、蓝牙等网络信息,实现快速、低耗的定位。它不仅是 Android 系统位置服务框架的重要组成部分,也是现代移动应用能够无缝获取位置的关键技术。未来,随着更多混合定位技术的发展,这一模块仍将是定位技术优化的核心方向。温馨提示:由于谷歌的 Network Location Provider 在国内不可用,很多 Android 应用无法直接依赖该模块获取网络定位。对此,

weixin_40598552的博客 642

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

上一篇: Andorid中一些重要的代码片段
下一篇: SQLite数据库中系统表介绍及应用相关
pku_android
博客等级 码龄15年 450粉丝 151原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值