- 浏览: 632724 次
- 性别:
- 来自: 在野
文章分类
最新评论
-
tubinting:
学习了
[原创] 如何在android中实现swipe的手势功能及页面拖动动画 -
checkes:
我手上也有一块beagleboard 是omap37的这里看到 ...
Android成功刷到beagle board ^_^ -
thebye85:
成功了,谢谢分享
程序中如何开启关闭wifi服务 -
皇室勇少:
高人陋于市...
Google I/O 大会总结系列 - Dalvik开发者: Dan Bornstein -
wcily123:
lordhong 写道jjcang 写道大神一定没有用过e.p ...
[书评]深入潜出Google Android
前言:为了得奖。。。android。。。T_T。。。
完成notepad 3部曲,又看了其他人的MapView使用例子,手痒啊,做了个简陋的都市列表,并用MapView来看卫星地图,还有目前路况(traffic,如果有的话),Zoom In/Out,纯抄袭,羞愧中。。。
基本上基于notepad样板,做了个City的list:(偷工减料,static一下了,其实应该从db或者web service上面拿。。。)
geocode是从IBM一个Perl的例子上copy的。。。
接下来把notepad copy一下,改成自己的东西。。。
现在是重点了,CityMap:
要extends MapActivity,因为是个View嘛。。。
在onCreate()里面拿到传递进去的city,然后拿city的geocode:
GeoPoint是个DTO/VO,里面就放两个float的经度和纬度:
搞定显示,接下来是key events:
i: zoom in
o: zoom out
s: satellite
t: traffic
最后加个回到城市list的menu:
进 adb shell里 看不到?? 如果能看到 rm了 然后从新 push吧
进 adb shell里 看不到?? 如果能看到 rm了 然后从新 push吧
完成notepad 3部曲,又看了其他人的MapView使用例子,手痒啊,做了个简陋的都市列表,并用MapView来看卫星地图,还有目前路况(traffic,如果有的话),Zoom In/Out,纯抄袭,羞愧中。。。
基本上基于notepad样板,做了个City的list:(偷工减料,static一下了,其实应该从db或者web service上面拿。。。)
java 代码
- static {
- cities = new ArrayList<String>();
- cities.add("beijing");
- cities.add("london");
- cities.add("bangalore");
- cities.add("potsdam");
- cities.add("brasilia");
- geocodes = new HashMap<String, GeoPoint>();
- geocodes.put("beijing", new GeoPoint(40.25f,116.5f));
- geocodes.put("london", new GeoPoint(51.52f,-0.1f));
- geocodes.put("bangalore", new GeoPoint(12.97f,77.56f));
- geocodes.put("potsdam", new GeoPoint(52.4f,13.07f));
- geocodes.put("brasilia", new GeoPoint(-15.78f,-47.91f));
- }
接下来把notepad copy一下,改成自己的东西。。。
java 代码
- @Override
- protected void onCreate(Bundle icicle) {
- super.onCreate(icicle);
- setContentView(R.layout.city_list);
- fillData();
- }
- private void fillData() {
- ArrayAdapter<String> cities =
- new ArrayAdapter<String>(this, R.layout.city_row, MapConstants.cities);
- setListAdapter(cities);
- }
- @Override
- protected void onListItemClick(ListView l, View v, int position, long id) {
- super.onListItemClick(l, v, position, id);
- Intent i = new Intent(this, CityMap.class);
- //这里传递选择的城市名字
- i.putExtra(MapConstants.CITY_NAME, MapConstants.cities.get(position));
- startSubActivity(i, ACTIVITY_VIEW);
- }
-
- //mapview 回来的时候显示城市list
- @Override
- protected void onActivityResult(int requestCode, int resultCode, String data, Bundle extras) {
- super.onActivityResult(requestCode, resultCode, data, extras);
- fillData();
- }
现在是重点了,CityMap:
java 代码
- public class CityMap extends MapActivity
要extends MapActivity,因为是个View嘛。。。
在onCreate()里面拿到传递进去的city,然后拿city的geocode:
java 代码
- private MapView myMapView;
- @Override
- public void onCreate(Bundle icicle) {
- super.onCreate(icicle);
- Bundle extras = getIntent().getExtras();
- // get the geopoint by city
- String city = extras.getString(MapConstants.CITY_NAME);
- GeoPoint gp = MapConstants.geocodes.get(city);
GeoPoint是个DTO/VO,里面就放两个float的经度和纬度:
java 代码
- public class GeoPoint {
- private float latitude;
- private float longitude;
java 代码
- myMapView = new MapView(this);
-
- Point p = new Point((int) (gp.getLatitude() * 1000000),
- (int) (gp.getLongitude() * 1000000));
- // 地图控制器。。。
- MapController mc = myMapView.getController();
-
- mc.animateTo(p);
- // 21是最zoom in的一级,一共是1-21级
- mc.zoomTo(21);
- setContentView(myMapView);
- // 切换到卫星地图
- myMapView.toggleSatellite();
搞定显示,接下来是key events:
i: zoom in
o: zoom out
s: satellite
t: traffic
java 代码
- public boolean onKeyDown(int keyCode, KeyEvent event) {
- if (keyCode == KeyEvent.KEYCODE_I) {
- // zoom in
- myMapView.getController().zoomTo(myMapView.getZoomLevel() + 1);
- return true;
- } else if (keyCode == KeyEvent.KEYCODE_O) {
- // zoom out
- myMapView.getController().zoomTo(myMapView.getZoomLevel() - 1);
- return true;
- } else if (keyCode == KeyEvent.KEYCODE_S) {
- // 卫星地图
- myMapView.toggleSatellite();
- return true;
- } else if (keyCode == KeyEvent.KEYCODE_T) {
- // traffic,路况
- myMapView.toggleTraffic();
- return true;
- }
- return false;
- }
最后加个回到城市list的menu:
java 代码
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- super.onCreateOptionsMenu(menu);
- menu.add(0, EXIT_ID, R.string.exit_citymap);
- return true;
- }
- @Override
- public boolean onMenuItemSelected(int featureId, Item item) {
- super.onMenuItemSelected(featureId, item);
- switch(item.getId()) {
- case EXIT_ID:
- finish();
- break;
- }
- return true;
- }
评论
14 楼
fastzch
2007-12-10
各位有在android中如何开发Web Service的教程或例子吗?
13 楼
lordhong
2007-12-01
慢慢来,我也是刚起步,东抄西抄的...
12 楼
qiuzhiqing
2007-11-30
跑了个HelloWorld!呵呵
差距啊~~~
差距啊~~~
11 楼
andy54321
2007-11-26
暂时还没研究这个地步,看来差距不小呢
10 楼
huanghero0663
2007-11-21
crazyox 写道
好东西, 不知道以后做这种手机软件的公司会不会多, 前景好不好啊!
关注中,希望又新的东西出来^_^
9 楼
crazyox
2007-11-20
好东西, 不知道以后做这种手机软件的公司会不会多, 前景好不好啊!
8 楼
lordhong
2007-11-20
今天就adb shell。。。rm了一把,NND,程序都改了,emulator竟然不把新的app load进去,真是白痴。。。害我debug半个多小时。。,
7 楼
yb31
2007-11-19
试了下
adb shell 里已经有了.
重新rm掉.再install,或push也不行
adb shell 里已经有了.
重新rm掉.再install,或push也不行
6 楼
fins
2007-11-19
lordhong 写道
我用adb install lordhong.MapDemo1.apk,然后显示0 bytes虾米的,emulator里面也找不到。。。怎么回事?严格按照google doc:
Running an Android Application
To run a compiled application, you will upload the .apk file to the /data/app/ directory in the emulator using the adb tool as described here:
1. Start the emulator (run <your_sdk_dir>/tools/emulator from the command line)
2. On the emulator, navigate to the home screen (it is best not to have that application running when you reinstall it on the emulator; press the Home key to navigate away from that application).
3. Run adb install myproject/bin/<appname>.apk to upload the executable. So, for example, to install the Lunar Lander sample, navigate in the command line to <your_sdk_dir>/sample/LunarLander and type ../../tools/adb install bin/LunarLander.apk
4. In the emulator, open the list of available applications, and scroll down to select and start your application.
—T.T...
Running an Android Application
To run a compiled application, you will upload the .apk file to the /data/app/ directory in the emulator using the adb tool as described here:
1. Start the emulator (run <your_sdk_dir>/tools/emulator from the command line)
2. On the emulator, navigate to the home screen (it is best not to have that application running when you reinstall it on the emulator; press the Home key to navigate away from that application).
3. Run adb install myproject/bin/<appname>.apk to upload the executable. So, for example, to install the Lunar Lander sample, navigate in the command line to <your_sdk_dir>/sample/LunarLander and type ../../tools/adb install bin/LunarLander.apk
4. In the emulator, open the list of available applications, and scroll down to select and start your application.
—T.T...
进 adb shell里 看不到?? 如果能看到 rm了 然后从新 push吧
5 楼
fins
2007-11-19
lordhong 写道
我用adb install lordhong.MapDemo1.apk,然后显示0 bytes虾米的,emulator里面也找不到。。。怎么回事?严格按照google doc:
Running an Android Application
To run a compiled application, you will upload the .apk file to the /data/app/ directory in the emulator using the adb tool as described here:
1. Start the emulator (run <your_sdk_dir>/tools/emulator from the command line)
2. On the emulator, navigate to the home screen (it is best not to have that application running when you reinstall it on the emulator; press the Home key to navigate away from that application).
3. Run adb install myproject/bin/<appname>.apk to upload the executable. So, for example, to install the Lunar Lander sample, navigate in the command line to <your_sdk_dir>/sample/LunarLander and type ../../tools/adb install bin/LunarLander.apk
4. In the emulator, open the list of available applications, and scroll down to select and start your application.
—T.T...
Running an Android Application
To run a compiled application, you will upload the .apk file to the /data/app/ directory in the emulator using the adb tool as described here:
1. Start the emulator (run <your_sdk_dir>/tools/emulator from the command line)
2. On the emulator, navigate to the home screen (it is best not to have that application running when you reinstall it on the emulator; press the Home key to navigate away from that application).
3. Run adb install myproject/bin/<appname>.apk to upload the executable. So, for example, to install the Lunar Lander sample, navigate in the command line to <your_sdk_dir>/sample/LunarLander and type ../../tools/adb install bin/LunarLander.apk
4. In the emulator, open the list of available applications, and scroll down to select and start your application.
—T.T...
进 adb shell里 看不到?? 如果能看到 rm了 然后从新 push吧
4 楼
crazyox
2007-11-19
今天javaeye是怎么了? 老打不开自己的博客?
3 楼
crazyox
2007-11-19
android做出来的东西可以直接在手机上看?
2 楼
lordhong
2007-11-19
我用adb install lordhong.MapDemo1.apk,然后显示0 bytes虾米的,emulator里面也找不到。。。怎么回事?严格按照google doc:
Running an Android Application
To run a compiled application, you will upload the .apk file to the /data/app/ directory in the emulator using the adb tool as described here:
1. Start the emulator (run <your_sdk_dir>/tools/emulator from the command line)
2. On the emulator, navigate to the home screen (it is best not to have that application running when you reinstall it on the emulator; press the Home key to navigate away from that application).
3. Run adb install myproject/bin/<appname>.apk to upload the executable. So, for example, to install the Lunar Lander sample, navigate in the command line to <your_sdk_dir>/sample/LunarLander and type ../../tools/adb install bin/LunarLander.apk
4. In the emulator, open the list of available applications, and scroll down to select and start your application.
—T.T...
Running an Android Application
To run a compiled application, you will upload the .apk file to the /data/app/ directory in the emulator using the adb tool as described here:
1. Start the emulator (run <your_sdk_dir>/tools/emulator from the command line)
2. On the emulator, navigate to the home screen (it is best not to have that application running when you reinstall it on the emulator; press the Home key to navigate away from that application).
3. Run adb install myproject/bin/<appname>.apk to upload the executable. So, for example, to install the Lunar Lander sample, navigate in the command line to <your_sdk_dir>/sample/LunarLander and type ../../tools/adb install bin/LunarLander.apk
4. In the emulator, open the list of available applications, and scroll down to select and start your application.
—T.T...
1 楼
lordhong
2007-11-19
靠!有附件就发不上去,去掉附件就可以了,JE大bug啊。。。附件续上。。。
发表评论
-
做个android开发者的调查,希望大家帮忙
2010-08-18 13:25 4112做个android开发者的调查,希望大家帮忙:http://w ... -
AdFreeDetector 开源了
2010-06-02 09:48 3989AdFree Android http://forum.big ... -
代码实例 -- 在程序里检查虚拟键盘状态, 并开启关闭
2010-02-23 23:56 4017最近都在推上, 荒废了blog, 所以都没怎么写心得, 对不起 ... -
Nexus One 真的是 Superphone 吗?
2010-01-24 02:24 5394本文首发于 ifanr.com : http://www.i ... -
N900开箱照及Droid对比
2009-11-15 02:04 5136今天收到从 Nokia 芬兰总 ... -
Droid 初体验之包装, 实机对比, 及其他
2009-11-15 02:02 2918Droid的包装令人失望, 可以说是山寨的不能山寨了. 纸板 ... -
Droid 初体验
2009-11-15 01:59 2662今天早上去 Verizon 手机 ... -
JavaEye Android 客户端开源啦
2009-11-02 11:02 10815http://code.google.com/p/javaey ... -
[书评]深入潜出Google Android
2009-10-03 09:51 5778首先感谢图灵教育的刘江大人赠书 http://www.turi ... -
谁在移动mmarket上成功上传过app?
2009-09-06 09:13 4933MLGBD... 竟然指定要IE6, 而且... 还JS A ... -
PrimoSpot - 寻找停车位的app (断断续续做了几个月, 今晚终于发布了)
2009-08-25 11:28 4546PrimoSpot.com是个专门帮车主寻找停车位的网站. ... -
JavaEye Android 客户端正式发布
2009-08-02 10:27 5563经过2个半星期的努力… lordhong和mqqqvpppm, ... -
天朝android开发者group
2009-07-04 10:59 5155http://groups.google.com/group/ ... -
[原创] 如何在android中实现shake的动作检测 - part 1
2009-04-18 10:13 4038新型的手机现在都加入了三维规则加速器(acceleromete ... -
[原创] 如何在android中实现swipe的手势功能及页面拖动动画
2009-04-17 10:18 10599iPhone界面解锁是用手指划动来实现的, 那么这个手势ges ... -
程序中如何开启关闭wifi服务
2009-04-16 09:30 4737开启关闭wifi服务牵涉到系统服务的问题, 在你的manife ... -
Android成功刷到beagle board ^_^
2009-04-08 11:38 9146捣鼓了3天, 终于成功把android刷到beagle boa ... -
今年的Google I/O, 谁去啊?
2009-04-03 12:08 21545月27, 28的google I/O 开发者大会, JE的有 ... -
N800 刷 Android 带软键盘, wifi
2009-04-02 10:29 3014NITdroid http://guug.org/nit/ni ... -
[原创] 如何在Android Market赚钱 part 2 - 免费app附带广告
2009-03-03 10:56 5813如果你的app用户量潜力上来说是巨大的, 而且用户会时常使用你 ...
相关推荐
本示例探讨的是如何在Android应用中利用高德地图API加载谷歌的卫星瓦片,并将其缓存到本地,同时展示如何在地图上加载多个Marker并显示其title。这个项目基于Android Studio 3.0,以下将详细介绍实现这些功能的关键...
在Android开发中,`android-support-v4`库是Google提供的一款重要的支持库,它使得...这样,开发者就可以利用`android-support-v4`库提供的工具,轻松地处理Android 6.0及以上系统的权限问题,保证应用的正常运行。
在Android开发中,高德地图是一款广泛使用的地图与导航库,为开发者提供了丰富的地图功能,如定位、路线规划、导航等。"android 高德地图导航demo"是开发者用来学习和实践这些功能的一个实例项目。这个项目可能包含...
在Android Studio中,开发者需要在`onCreate()`方法中初始化百度地图控件,设置地图的显示样式,例如卫星视图或普通视图。此外,还需要注册地图的触摸事件监听器,以捕捉用户长按地图的行为。 当用户在地图上长按一...
开发中,地图开发是经常需要使用的“组件”,国内比较出名的是就是百度地图和高德地图。此案例是高德地图实现定位和3D地图显示。 博客地址:http://blog.csdn.net/dickyqie/article/details/57074846
在“Android百度地图SDK v3.0.0 (四) 引入离线地图功能”这一主题中,我们将探讨如何在Android应用程序中利用百度地图SDK实现离线地图功能,以便在没有网络连接的情况下也能展示地图。 离线地图在很多情况下非常...
总的来说,实现“android快速滑动列表+首字母提示”涉及的关键技术点包括:`ListView`的使用,`Adapter`的适配,`SectionIndexer`接口的实现,以及性能优化。开发者需要具备扎实的Android基础知识,熟悉UI组件和数据...
最后,记得在项目的build.gradle文件中同步依赖并构建项目,这样就可以在Android设备或模拟器上运行应用,看到地图并实现定位功能了。 通过这个简单的例子,你可以了解到如何在Android应用中集成高德地图API,实现...
总的来说,Android版百度地图定位自己位置和图层切换涉及了Android SDK集成、位置服务的使用、地图图层管理等多个方面。开发者需要理解Android系统的定位机制,熟悉百度地图SDK的API,才能有效地实现这些功能,为...
在Android开发中,集成高德地图并实现定位功能是一项常见的任务。本文将深入探讨如何在Android应用中实现实时定位,并允许用户通过拖动地图来改变显示的位置,从而模拟类似微信中的位置分享功能。我们将主要关注以下...
在Android开发中,实现地图应用是一项常见的任务,而高德地图API为开发者提供了丰富的功能,包括轨迹回放。本文将详细解析如何利用高德地图SDK在Android平台上创建一个轨迹回放Demo。 首先,我们需要理解“轨迹回放...
在Android开发中,集成百度地图API能够为应用提供丰富的地理定位和导航功能。这篇文档将深入探讨如何在Android应用中实现百度地图的定位与路线规划功能,并针对存在的小bug进行探讨。 首先,我们需要在Android项目...
"ArcGIS Android 叠加天地图"是指利用ArcGIS SDK for Android来实现将天地图(TianDiTu)的数据层与自定义地图数据进行叠加,提供更全面、详细的地理信息服务。下面我们将详细探讨这一主题。 1. **ArcGIS Android ...
在Android开发领域,自定义地图和手绘地图的实现是一个极具创新性和实用性的技术话题,尤其是在景区导航的应用中。本文将深入探讨如何基于mAppWidget实现这样的功能,并介绍相关的关键知识点。 首先,我们要理解`...
在Android游戏开发中,地图编辑器是一个至关重要的工具,它允许开发者创建、设计并管理游戏中的虚拟世界。本文将深入探讨“Android游戏开发之地图编辑器”的相关知识点,包括地图编辑器的功能、工作原理以及如何在...
在Android开发中,使用百度地图API来实现运动轨迹和GPS定位是一项常见的功能。这个实训项目主要涉及以下几个核心知识点: 1. **百度地图API**:首先,你需要集成百度地图SDK到你的Android项目中。这通常包括在项目...
在Android应用开发中,集成百度地图接口是一项常见的需求,它能为用户提供丰富的地图服务,如定位、导航、路径规划等。下面将详细讲解如何在Android项目中实现这一功能。 首先,你需要在百度地图开放平台...
在Android开发中,集成百度地图并实现定位及批量添加标注是一项常见的需求。本文将深入探讨这一主题,通过详细的步骤和代码示例,帮助开发者掌握如何在应用中有效地使用百度地图API。 首先,我们需要在Android项目...
总的来说,这个项目展示了如何在Android应用中集成百度地图,获取用户当前位置,以及手动设定地图中心点到任意坐标的功能。通过学习和实践这些知识点,开发者能够构建更丰富的地图应用场景,如导航、位置分享等。
通过以上步骤,你就可以在Android应用中成功地读取、解析KML文件,并将其中的地理信息展示在高德地图上了。这个过程涵盖了XML解析、地图API的使用以及Overlay对象的创建等多个知识点,是Android地图开发中一个实用且...