当前位置:  编程技术>移动开发
本页文章导读:
    ▪an sdk target must be specified处置        an sdk target must be specified处理 错误原因,在eclipse中配置了多个Android的jar包,如当配置到下图部分的时候,只应该有一个jar包,下图的配置是正确的,如果Android2.1下面还有其他包则出错,.........
    ▪ 运用Terminal        使用Terminal 使用Terminal****************************************Terminal终端機模式$ su     //換成root權限#mount -o remount,rw /system  #chmod a+w+x /system/build.prop //改變成可寫可執行,然後可以複製一份#Text edit.........
    ▪ day2 学习定位+mapAPI       day2 学习定位+地图API 任务是做一个定位+手机拍照+地图的很常见的应用 今天按官方教程做了一个定位+地图的例子了解一下API。拍照的例子没找到官方的例子,瞎搜了一圈例子没做完,明天.........

[1]an sdk target must be specified处置
    来源: 互联网  发布时间: 2014-02-18
an sdk target must be specified处理
错误原因,在eclipse中配置了多个Android的jar包,如当配置到下图部分的时候,只应该有一个jar包,下图的配置是正确的,如果Android2.1下面还有其他包则出错,
解决方法:如果出现了多个Android版本,到\android-sdk_r05-windows\android-sdk-windows\platforms目录以及\android-sdk_r05-windows\android-sdk-windows\add-ons目录下将其他jar包剪切移到别的文件夹中,

此后再新建工程则不会出现相关错误,这是由于Google对相关Android的jar包的下载是使用自己的专用下载工具,如果设定不完整会下载多个Android版本,在eclipse配置时才导致冲突

    
[2] 运用Terminal
    来源: 互联网  发布时间: 2014-02-18
使用Terminal
使用Terminal
****************************************
Terminal终端機模式
$ su     //換成root權限
#mount -o remount,rw /system 
#chmod a+w+x /system/build.prop //改變成可寫可執行,然後可以複製一份#Text edit the file
#reboot

    
[3] day2 学习定位+mapAPI
    来源: 互联网  发布时间: 2014-02-18
day2 学习定位+地图API

任务是做一个定位+手机拍照+地图的很常见的应用

今天按官方教程做了一个定位+地图的例子了解一下API。拍照的例子没找到官方的例子,瞎搜了一圈例子没做完,明天再整理。

定位、地图相关的配置:

AndroidManifest.xml

	<application android:icon="@drawable/icon" android:label="@string/app_name">
		<uses-library android:name="com.google.android.maps" />
		<activity android:name=".LocationMapActivity" 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-permission android:name="android.permission.INTERNET" />
	<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
	<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

 主要是声明 需要googlemap的lib和互联网和定位的访问权限。

 布局中需要声明MapView

 <com.google.android.maps.MapView
  android:id="@+id/mapview" android:layout_width="fill_parent"
  android:layout_height="fill_parent" android:clickable="true"
  android:apiKey="0MhdDulsEpJMaz65SIdleweZoylEaKL11yQc_nQ" />

 关键的地方在apiKey,网上一堆因为这个访问不到地图,问问题的。 apiKey是与应用的签名证书关联的,使用google地图需要在,在http://code.google.com/intl/zh-CN/android/maps-api-signup.html 注册。完整说明见http://code.google.com/intl/zh-CN/android/add-ons/google-apis/mapkey.html

这里只是获得一个与debug密钥匹配的签名。

1 先从debug的密钥库取出密钥

密钥库一般在 C:\Documents and Settings\<user>\.android\debug.keystore
执行命令输入签名

keytool -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android

结果类似

Certificate fingerprint (MD5): 94:1E:43:49:87:73:BB:E6:A6:88:D7:20:F1:8E:B5:98 


2 在http://code.google.com/intl/zh-CN/android/maps-api-signup.html进行注册
获取map api key


 

主要的代码:

定位主要的API 是位置服务的访问入口 LocationManager  和 位置服务时间的侦听器LocationListener 。

通过LocationManager访问服务:

 

		LocationManager locMan = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
		locMan.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 1000,
				10, myLocationListener);
		locMan.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 10,
				myLocationListener);

位置服务有多个Provider,一般是GPS 和 基站定位的,没搞清电信服务商没开放接口的话,如何通过API如何能访问得到基站位置数据。。。

 

 通过LocationListener 接受事件和位置信息

	public final LocationListener myLocationListener = new LocationListener() {
		//位置变化事件
		@Override
		public void onLocationChanged(Location location) {
			GeoPoint point = new GeoPoint(
					(int) (location.getLatitude() * 1000000), (int) (location
							.getLongitude() * 1000000));
			OverlayItem overlayitem2 = new OverlayItem(point, "title",
					"snippet2");
			itemizedOverlay.addOverlay(overlayitem2);
			mapView.getController().animateTo(point);
			Log.i(this.getClass().getName(), "---location:"
					+ location.toString());
		}
		//用户关闭位置服务Provider
		@Override
		public void onProviderDisabled(String provider) {
			Log.i(this.getClass().getName(), "---onProviderDisabled:"
					+ provider.toString());
		}
		//用户启用位置服务Provider可用,例如连到GPS卫星信号
		@Override
		public void onProviderEnabled(String provider) {
			Log.i(this.getClass().getName(), "---onProviderEnabled:"
					+ provider.toString());

		}
		//位置服务Provider状态变化,例如连到GPS卫星信号
		@Override
		public void onStatusChanged(String provider, int status, Bundle extras) {
			Log.i(this.getClass().getName(), "---onStatusChanged:" + status);
		}
	};

 

地图代码:

 

		linearLayout = (LinearLayout) findViewById(R.id.zoomview);
		//获取mapView
		mapView = (MapView) findViewById(R.id.mapview);
		//设置Zoom 
		mapView.getController().setZoom(13);
		//zoom的显示控制按钮
		mapView.setBuiltInZoomControls(true);
		//获取地图上的图层
		mapOverlays = mapView.getOverlays();
		//增加一个层,后续在地图上加标识
		drawable = this.getResources().getDrawable(R.drawable.icon);
		itemizedOverlay = new HelloItemizedOverlay(drawable);
		mapOverlays.add(itemizedOverlay);

 

 

 

1 楼 rmn190 2010-10-15  
能否把完整的代码传上来呢?
2 楼 zgycsmbi 2012-01-14  
楼主,能把完整的代码发一份给我吗
350038760@qq.com
thanks

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3