package baidumapsdk.demo;

import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView; import com.baidu.mapapi.SDKInitializer;
import com.baidu.mapapi.VersionInfo; public class BMapApiDemoMain extends Activity {
private static final String LTAG = BMapApiDemoMain.class.getSimpleName(); /**
* 构造广播监听类,监听 SDK key 验证以及网络异常广播
*/
public class SDKReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
String s = intent.getAction();
Log.d(LTAG, "action: " + s);
TextView text = (TextView) findViewById(R.id.text_Info);
text.setTextColor(Color.RED);
if (s.equals(SDKInitializer.SDK_BROADTCAST_ACTION_STRING_PERMISSION_CHECK_ERROR)) {
text.setText("key 验证出错! 请在 AndroidManifest.xml 文件中检查 key 设置");
} else if (s
.equals(SDKInitializer.SDK_BROADCAST_ACTION_STRING_NETWORK_ERROR)) {
text.setText("网络出错");
}
}
} private SDKReceiver mReceiver; @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView text = (TextView) findViewById(R.id.text_Info);
text.setTextColor(Color.YELLOW);
text.setText("欢迎使用百度地图Android SDK v" + VersionInfo.getApiVersion());
ListView mListView = (ListView) findViewById(R.id.listView);
// 添加ListItem,设置事件响应
mListView.setAdapter(new DemoListAdapter());
mListView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View v, int index,
long arg3) {
onListItemClick(index);
}
}); // 注册 SDK 广播监听者
IntentFilter iFilter = new IntentFilter();
iFilter.addAction(SDKInitializer.SDK_BROADTCAST_ACTION_STRING_PERMISSION_CHECK_ERROR);
iFilter.addAction(SDKInitializer.SDK_BROADCAST_ACTION_STRING_NETWORK_ERROR);
mReceiver = new SDKReceiver();
registerReceiver(mReceiver, iFilter);
} void onListItemClick(int index) {
Intent intent = null;
intent = new Intent(BMapApiDemoMain.this, demos[index].demoClass);
this.startActivity(intent);
} private static final DemoInfo[] demos = {
new DemoInfo(R.string.demo_title_basemap,
R.string.demo_desc_basemap, BaseMapDemo.class),
new DemoInfo(R.string.demo_title_map_fragment,
R.string.demo_desc_map_fragment, MapFragmentDemo.class),
new DemoInfo(R.string.demo_title_layers, R.string.demo_desc_layers,
LayersDemo.class),
new DemoInfo(R.string.demo_title_multimap,
R.string.demo_desc_multimap, MultiMapViewDemo.class),
new DemoInfo(R.string.demo_title_control,
R.string.demo_desc_control, MapControlDemo.class),
new DemoInfo(R.string.demo_title_ui, R.string.demo_desc_ui,
UISettingDemo.class),
new DemoInfo(R.string.demo_title_location,
R.string.demo_desc_location, LocationDemo.class),
new DemoInfo(R.string.demo_title_geometry,
R.string.demo_desc_geometry, GeometryDemo.class),
new DemoInfo(R.string.demo_title_overlay,
R.string.demo_desc_overlay, OverlayDemo.class),
new DemoInfo(R.string.demo_title_heatmap, R.string.demo_desc_heatmap,
HeatMapDemo.class),
new DemoInfo(R.string.demo_title_geocode,
R.string.demo_desc_geocode, GeoCoderDemo.class),
new DemoInfo(R.string.demo_title_poi, R.string.demo_desc_poi,
PoiSearchDemo.class),
new DemoInfo(R.string.demo_title_route, R.string.demo_desc_route,
RoutePlanDemo.class),
new DemoInfo(R.string.demo_title_bus, R.string.demo_desc_bus,
BusLineSearchDemo.class),
new DemoInfo(R.string.demo_title_share, R.string.demo_desc_share,
ShareDemo.class),
new DemoInfo(R.string.demo_title_offline,
R.string.demo_desc_offline, OfflineDemo.class),
new DemoInfo(R.string.demo_title_radar,
R.string.demo_desc_radar, RadarDemo.class),
new DemoInfo(R.string.demo_title_open_baidumap, R.string.demo_desc_open_baidumap,
OpenBaiduMap.class),
new DemoInfo(R.string.demo_title_favorite,
R.string.demo_desc_favorite, FavoriteDemo.class),
new DemoInfo(R.string.demo_title_cloud, R.string.demo_desc_cloud,
CloudSearchDemo.class),
new DemoInfo(R.string.demo_title_opengl, R.string.demo_desc_opengl,
OpenglDemo.class)
}; @Override
protected void onResume() {
super.onResume();
} @Override
protected void onDestroy() {
super.onDestroy();
// 取消监听 SDK 广播
unregisterReceiver(mReceiver);
} private class DemoListAdapter extends BaseAdapter {
public DemoListAdapter() {
super();
} @Override
public View getView(int index, View convertView, ViewGroup parent) {
convertView = View.inflate(BMapApiDemoMain.this,
R.layout.demo_info_item, null);
TextView title = (TextView) convertView.findViewById(R.id.title);
TextView desc = (TextView) convertView.findViewById(R.id.desc);
title.setText(demos[index].title);
desc.setText(demos[index].desc);
if (index >= 16) {
title.setTextColor(Color.YELLOW);
}
return convertView;
} @Override
public int getCount() {
return demos.length;
} @Override
public Object getItem(int index) {
return demos[index];
} @Override
public long getItemId(int id) {
return id;
}
} private static class DemoInfo {
private final int title;
private final int desc;
private final Class<? extends android.app.Activity> demoClass; public DemoInfo(int title, int desc,
Class<? extends android.app.Activity> demoClass) {
this.title = title;
this.desc = desc;
this.demoClass = demoClass;
}
}
}

  

页面类跳转Demo的更多相关文章

  1. 简单单页面路由跳转demo

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 【swift学习笔记】二.页面转跳数据回传

    上一篇我们介绍了页面转跳:[swift学习笔记]一.页面转跳的条件判断和传值 这一篇说一下如何把数据回传回父页面,如下图所示,这个例子很简单,只是把传过去的数据加上了"回传"两个字 ...

  3. 3.servlet实现页面的跳转

    效果: 在网页的输入框中输入lily,跳到成功的页面(请求转发),输入的不是lily则跳到百度的页面(跳到工程之外的页面,则是请求重定向) 1.建Web project“2Servlet_Basic” ...

  4. window.location.reload();页面实现跳转和刷新

    1 history.go(0)2 location.reload()3 location=location4 location.assign(location)5 document.execComma ...

  5. HTML页面自动跳转,windows操作

    1) html的实现 <head> <!-- 以下方式只是刷新不跳转到其他页面 --> <meta http-equiv="refresh" cont ...

  6. Android笔记-4-实现登陆页面并跳转和简单的注册页面

    实现登陆页面并跳转和简单的注册页面   首先我们来看看布局的xml代码 login.xml <span style="font-family:Arial;font-size:18px; ...

  7. [Xcode 实际操作]九、实用进阶-(24)使用Segue(页面的跳转连接)进行页面跳转并传递参数

    目录:[Swift]Xcode实际操作 本文将演示使用Segue(页面的跳转连接)进行页面跳转并传递参数. 参照结合:[Xcode10 实际操作]九.实用进阶-(23)多个Storyboard故事板中 ...

  8. 苹果手机Safari无痕浏览模式下系统登录成功但是页面不跳转

    昨天下午,测试提了一个bug,问题是:在苹果手机Safari无痕浏览模式下系统登录成功但是页面不跳转. 思前想后找了半天没思路,后来经过同事的点拨,说可能是禁用了cookie之类的,反正我也没思路就顺 ...

  9. JS定时刷新页面及跳转页面

    JS定时刷新页面及跳转页面 Javascript 返回上一页1. Javascript 返回上一页 history.go(-1), 返回两个页面: history.go(-2); 2. history ...

随机推荐

  1. 键盘事件之keydown keypress keyup区别

    经过测试,显然事件执行的顺序是: keydown->keypress->keyup. 但是连续按一个按键的话,会一直触发:keydown keypress.直到你提起按键,会触发keyup ...

  2. OC——类

    1.Objective-C是C语言的超集,完全兼容C语言 2.所有的关键字都以“@”开头,例如:@interface,@class,@implementation 3.Objective-C的所有对象 ...

  3. Spring-----3、Spring的核心机制(依赖注入)

    转载自:http://blog.csdn.net/hekewangzi/article/details/41345237

  4. [string]Regular Expression Matching

    Implement regular expression matching with support for '.' and '*'. '.' Matches any single character ...

  5. android 应用开发对大图片的处理

    一,下载 android下载大图片(例如微博长图片)会出现OOM down掉问题 解决这个问题的办法是下载图片时先得到图片的宽度和高度,如果超出规定限制则对图片进行缩放 关键参数 1. BitmapF ...

  6. not valid for Running the scheme

    The run destination iPhone6 Plus is not valid for Running the scheme 'MyApp’. Phone6 Plus's iOS 8.0 ...

  7. PHP中实现异步调用多线程程序代码

    本文章详细的介绍了关于PHP中实现异步调用多线程方法,下面我们以给1000个用户发送一封推荐邮件,用户输入或者导入邮件账号了提交服务器执行发送来讲述. 比如现在有一个场景,给1000个用户发送一封推荐 ...

  8. ffmpeg在Win7 VS2010中debug通过,release出错的问题解决方法

    我所用的系统环境是Win7 32位操作系统+VS2010编译环境.所以在debug模式下调通之后,在Release模式下调试不通过,最后通过上网查资料和自己对比两个编译选项得出以下结论: 修改“项目- ...

  9. web 之MVC

    MVC 把一个应用的输入.处理.输出流程按照Model, View, Controller 的方式进行分离,这样一个应用被分为三层:模型层.视图层.控制层. 1.View 2.Controller 在 ...

  10. Oracle EBS-SQL (WIP-1):检查非标任务没挂需求.sql

    SELECT WE.WIP_ENTITY_NAME, MSI.SEGMENT1, MSI.DESCRIPTION, WDJ.CLASS_CODE, WDJ.START_QUANTITY, WDJ.SC ...