- 浏览: 258384 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (289)
- java (72)
- oracle (3)
- mysql (5)
- spring (28)
- hibernate (2)
- osgi (0)
- linux (2)
- ExtJs (1)
- jvm (0)
- mybatis (7)
- 分布式 (11)
- MINA (6)
- apache+tomcat (13)
- js+htm (7)
- android (44)
- http (1)
- hbase+hdoop (0)
- memcache (13)
- search (27)
- 部署及性能 (12)
- mongoDB (2)
- 多线程 (12)
- 安全管理验证 (9)
- struts (1)
- webservice (0)
- easyUI (1)
- spring security (16)
- pattern (6)
- 算法 (2)
最新评论
-
lzh8189146:
CommonsHttpSolrServer这个类,现在是不是没 ...
CommonsHttpSolrServer -
xiaochanzi:
我按照你的方法试了下,tomcat6可以发布,但是访问任何网页 ...
基于内嵌Tomcat的应用开发 -
phoneeye:
麻烦你,如果是抄来的文章,请给出来源。谢谢
ant 两则技巧 -
neverforget:
转载不注明出处
Spring Security3.1登陆验证 替换 usernamepasswordfilter -
liang1022:
若不使用eclipse ,如何在命令行下 运行服务端程序 ?
WebService CXF学习(入门篇2):HelloWorld
- <span style="font-size:24px;">public class LocationUtils {
- //public static String cityName = "深圳"; //城市名
- public static String cityName ; //城市名
- private static Geocoder geocoder; //此对象能通过经纬度来获取相应的城市等信息
- /**
- * 通过地理坐标获取城市名 其中CN分别是city和name的首字母缩写
- * @param context
- */
- public static void getCNBylocation(Context context){
- geocoder = new Geocoder(context);
- //用于获取Location对象,以及其他
- LocationManager locationManager;
- String serviceName = Context.LOCATION_SERVICE;
- //实例化一个LocationManager对象
- locationManager = (LocationManager)context.getSystemService(serviceName);
- //provider的类型
- String provider = LocationManager.NETWORK_PROVIDER;
- Criteria criteria = new Criteria();
- criteria.setAccuracy(Criteria.ACCURACY_FINE); //高精度
- criteria.setAltitudeRequired(false); //不要求海拔
- criteria.setBearingRequired(false); //不要求方位
- criteria.setCostAllowed(false); //不允许有话费
- criteria.setPowerRequirement(Criteria.POWER_LOW); //低功耗
- //通过最后一次的地理位置来获得Location对象
- Location location = locationManager.getLastKnownLocation(provider);
- String queryed_name = updateWithNewLocation(location);
- if((queryed_name != null) && (0 != queryed_name.length())){
- cityName = queryed_name;
- }
- /*
- * 第二个参数表示更新的周期,单位为毫秒;第三个参数的含义表示最小距离间隔,单位是米
- * 设定每30秒进行一次自动定位
- */
- locationManager.requestLocationUpdates(provider, 30000, 50,
- locationListener);
- //移除监听器,在只有一个widget的时候,这个还是适用的
- locationManager.removeUpdates(locationListener);
- }
- /**
- * 方位改变时触发,进行调用
- */
- private final static LocationListener locationListener = new LocationListener() {
- String tempCityName;
- public void onLocationChanged(Location location) {
- tempCityName = updateWithNewLocation(location);
- if((tempCityName != null) && (tempCityName.length() != 0)){
- cityName = tempCityName;
- }
- }
- public void onProviderDisabled(String provider) {
- tempCityName = updateWithNewLocation(null);
- if ((tempCityName != null) && (tempCityName.length() != 0)) {
- cityName = tempCityName;
- }
- }
- public void onProviderEnabled(String provider) {
- }
- public void onStatusChanged(String provider, int status, Bundle extras) {
- }
- };
- /**
- * 更新location
- * @param location
- * @return cityName
- */
- private static String updateWithNewLocation(Location location) {
- String mcityName = "";
- double lat = 0;
- double lng = 0;
- List<Address> addList = null;
- if (location != null) {
- lat = location.getLatitude();
- lng = location.getLongitude();
- } else {
- System.out.println("无法获取地理信息");
- }
- try {
- addList = geocoder.getFromLocation(lat, lng, 1); //解析经纬度
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- if (addList != null && addList.size() > 0) {
- for (int i = 0; i < addList.size(); i++) {
- Address add = addList.get(i);
- mcityName += add.getLocality();
- }
- }
- if(mcityName.length()!=0){
- return mcityName.substring(0, (mcityName.length()-1));
- } else {
- return mcityName;
- }
- }
- /**
- * 通过经纬度获取地址信息的另一种方法
- * @param latitude
- * @param longitude
- * @return 城市名
- */
- public static String GetAddr(String latitude, String longitude) {
- String addr = "";
- /*
- * 也可以是http://maps.google.cn/maps/geo?output=csv&key=abcdef&q=%s,%s,不过解析出来的是英文地址
- * 密钥可以随便写一个key=abc
- * output=csv,也可以是xml或json,不过使用csv返回的数据最简洁方便解析
- */
- String url = String.format(
- "http://ditu.google.cn/maps/geo?output=csv&key=abcdef&q=%s,%s",
- latitude, longitude);
- URL myURL = null;
- URLConnection httpsConn = null;
- try {
- myURL = new URL(url);
- } catch (MalformedURLException e) {
- e.printStackTrace();
- return null;
- }
- try {
- httpsConn = (URLConnection) myURL.openConnection();
- if (httpsConn != null) {
- InputStreamReader insr = new InputStreamReader(
- httpsConn.getInputStream(), "UTF-8");
- BufferedReader br = new BufferedReader(insr);
- String data = null;
- if ((data = br.readLine()) != null) {
- String[] retList = data.split(",");
- if (retList.length > 2 && ("200".equals(retList[0]))) {
- addr = retList[2];
- } else {
- addr = "";
- }
- }
- insr.close();
- }
- } catch (IOException e) {
- e.printStackTrace();
- return null;
- }
- return addr;
- }
- } </span>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
发表评论
-
android之ConnectivityManager简介,网络连接状态
2012-09-13 10:56 934转发:http://blog.csdn.net/chenzhe ... -
解决Android布局中ScrollView与ListView的冲突
2012-08-27 09:25 737http://06peng.com/read.php/7.ht ... -
APK_获取Android的APK包签名信息
2012-08-02 14:09 1279http://blog.csdn.net/jiguanghov ... -
Android系列之Android 命令行手动编译打包详解
2012-08-01 22:08 900http://blog168.chinaunix.net/sp ... -
Android屏幕锁定详解(一)
2012-06-17 21:35 810http://mzh3344258.blog.51cto.co ... -
android 获取手机通讯录信息
2012-06-15 17:28 1105android 获取手机通讯录信息 博客分类: androi ... -
Android Intent.ACTION_CHOOSER 与 Intent.ACTION_PICK_ACTIVITY
2012-06-15 14:02 1424http://blog.csdn.net/feng88724/ ... -
Android绘制进阶之一:图形的绘制
2012-06-15 11:28 744http://mikewang.blog.51cto.com/ ... -
Android画图之Matrix(一)
2012-06-14 16:53 703http://chroya.iteye.com/blog/71 ... -
Android Bitmap和Canvas学习笔记 Android Bitmap和Canvas学习笔记
2012-06-14 14:04 720http://www.pin5i.com/showtopic- ... -
Paint类介绍
2012-06-14 13:41 692** * Paint类介绍 * ... -
Android Activity和Intent机制学习笔记 打电话,发短信等练习
2012-06-12 13:22 1104http://ycl248.blog.163.com/blog ... -
taskAffinity属性
2012-06-12 13:22 686taskAffinity属性 分类: Android 2011 ... -
区分Activity的四种加载模式----以及Intent的setFlags
2012-06-12 13:22 703区分Activity的四种加载模式----以及Intent的s ... -
android 自带的主题 theme 的使用
2012-06-12 13:22 1149android 自带的主题 theme 的使用 2011 ... -
TextView小组件的使用--附带超链接和跑马灯效果
2012-06-07 08:40 811TextView小组件的使用--附带超链接和跑马灯效果 分类: ... -
EditText使用详解
2012-06-07 08:40 858EditText使用详解 分类: ... -
(转)解决requestFocus后依旧无法获得焦点问题
2012-06-07 08:40 1433(转)解决requestFocus后依旧无法获得焦点问题 博 ... -
android 在程序中开启GPS功能
2012-06-07 08:40 1067android 在程序中开启GPS功能 LocationMan ... -
转到手机设置界面
2012-06-06 16:34 0//转到手机设置界面 Intent intent=new In ...
相关推荐
在Android开发中,获取设备的当前位置以及地区名称是...以上就是Android获取当前位置及地区名称的完整实现过程中的关键知识点。在实际开发中,要根据应用的特性和用户需求,合理选择定位策略,同时关注性能和用户体验。
在获取到位置信息后,通常会显示在地图上,并且可以将该位置与城市列表进行匹配,以确定并显示用户当前所在城市。 **最近访问和热门城市**功能则增加了用户体验的便捷性。最近访问记录保存用户最近选择的城市,可以...
在Android开发中,城市切换选择列表是一个常见的功能,特别是在应用涉及到地理位置信息或者提供服务时,用户需要方便地选择他们的所在城市。本项目“Android城市切换选择列表”旨在提供一个高效、用户友好的解决方案...
在Android开发中,仿微信城市选择是一个常见的需求,主要用于用户设置个人资料或者定位服务时选取所在城市。这个功能实现的核心在于构建一个可滚动的选择界面,包含省份和城市的数据,并能够进行交互操作。以下是对...
在Android应用开发中,获取用户当前所在城市的地理位置信息是一项常见的需求。百度地图API提供了一种高效、便捷的方式来实现这一功能。本教程将详细介绍如何利用百度地图API来定位并获取当前城市的名字。 首先,...
此外,为了让用户能够快速定位到当前所在城市,我们通常会结合定位结果自动选中最近的城市。这需要对获取到的经纬度信息与城市数据进行匹配,找到距离最近的城市。 最后,整个功能的集成和测试也是关键。确保在不同...
2. 城市定位:通过IP地址获取城市名称是一种常见的地理定位方式。这通常涉及到DNS解析、IP库查询等技术。当用户访问网站或使用应用时,服务器可以通过其IP地址获取到大致的地理位置信息,从而实现个性化推荐、广告...
"当前城市"通常指的是用户的设备所在地,这可以通过GPS定位或网络IP来获取。"热门城市"是指用户经常搜索或访问的一线城市,例如北京、上海、广州等,这些数据可以从服务器获取或者根据用户行为分析得出。"历史城市...
在安卓(Android)开发中,实现城市切换的Demo是一个常见的需求,主要用于提供用户选择或更改其所在城市的功能。这个Demo通常包括城市定位、城市列表展示以及城市切换等多个环节。以下将详细阐述这些知识点: 1. **...
在项目中需要获取用户所在位置的经纬度和城市上送给风控系统。一般来说,定位有两种方式: 用第三方SDK定位,如百度地图、高德地图、谷歌地图; 用Android原生SDK中的api定位; 本文讲述定位的第二种方式–用...
这个功能在地图应用、电商应用、生活服务类应用等中非常常见,用于帮助用户精确地定位到他们所在的地理位置或者指定的送达地址。下面我们将详细探讨如何在Android中实现这样一个功能。 首先,我们需要一个数据结构...
在Android开发中,"城市选择三级联动"是一个常见的功能需求,尤其在应用涉及到地理位置信息时。这个功能通常涉及省、市、区三个级别的选择,用户可以通过级联的方式快速找到并选择他们所在的地区。下面我们将详细...
在Android开发中,有时我们需要实现一个功能,让用户能够选择他们所在的省份、城市和区县,这就是所谓的省市区三级联动选择器。"android 城市列表选择器 可以直接下载使用"是一个针对这种需求的解决方案,它提供了一...
Android提供了`Location`服务,允许应用获取设备的位置信息。此Demo主要依赖于网络定位,而不是GPS。网络定位通常通过蜂窝网络信号塔或Wi-Fi接入点的数据来估算位置,相比GPS定位,它的优势在于不需要直接的卫星...
在本例中,`WheelView`被用于展示中国的省份和城市,让用户能够方便地滚动并选择他们所在的区域。 1. **WheelView的基本使用**:`WheelView`通常需要自定义数据源,如省份和城市列表。开发者需要创建一个包含所有...
城市天气预报源码是针对Android平台开发的一款应用,旨在为用户提供实时、准确的气象信息,让用户可以方便地了解所在城市或任何指定城市的天气情况。这个源码经过了修改,可能包含了一些优化或新功能,使其更适合...
Android系统提供了LocationManager和Geocoder类来获取用户的位置信息,源码可能利用这些API来定位用户所在城市并自动加载对应天气信息。 在数据存储方面,应用可能使用SharedPreferences进行轻量级的数据持久化,...
在Android应用开发中,地区选择器是一个常见的组件,用于让用户选择他们的城市或所在区域。"Android 地区选择器,简洁集成,节省资源"的标题表明这是一个专为开发者设计的解决方案,旨在简化集成过程,同时优化性能...
2. AndroidManifest.xml:需要在文件中添加相应的权限,例如 `<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />`,以允许应用访问精确的位置信息。 三、CELLID定位测试 进行CELLID定位...
它通常包含国家、省份(或州)、城市三级或四级的选择,用户可以通过这个组件方便地筛选并选择他们所在的地区。在Android应用中,城市选择器可以设计为下拉菜单、弹出对话框或者滑动选择器等形式,以适应不同场景和...