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. C# 用模板生成静态页

    最近在研究静态页输出的问题,找了一些资料.做了一个简单的模板模式的静态输出 模板代码: <html xmlns="http://www.w3.org/1999/xhtml"& ...

  2. 使用VS2003 发送Email

    使用VS2003发送Email与之后VS2005版本及以上VS版本不一样,记录一下, 需要引用using System.Web.Mail; public void SendEmail() { try ...

  3. SQL————高级查询

    高级查询 --连接查询 select * from 表1,表2 ————形成笛卡尔积 select * from 表1,表2 where 表1.主键=表2.外键  ————主外键位置可以互换 --jo ...

  4. Java面试题整理(题目内容非原创)

    面试题分类: 1.java 基础面试题 Java基础中对于io 中文件的读.写,util中的list map set这些要分清楚 还有线程.socket 都需要了解下 参考链接:http://blog ...

  5. Qt5 多显示器获取不同显示器的分辨率和位置的方法

    Qt5 多显示器获取不同显示器的分辨率和位置的方法 先放官方文档链接:QDesktopWidget - Qt5 Reference 之前一直在用被我乱搞后的ShadowPlayer作为默认播放器,后来 ...

  6. PHP不显示报错了怎么办~

    php.ini里设置吧, 找到 display_errors, 设置成on, error_reporting = E_ALL

  7. python基础教程第3章——字符串

    1.字符串格式化 字符串格式化操作符%+转换标志+最小字段宽度+点后跟精度值+转换类型 String模块提供另外一种格式化方式 from string import Template s=Templa ...

  8. OpenCV2.4.9+VS2012安装与配置

    需要下载并安装Visual Studio 2012 然后在OpenCV官网下载安装OpenCV2.4.9 for Windows,网址为http://opencv.org/downloads.html ...

  9. python---连接MySQL第四页

    python缓存结果集式的cursor可以用来提高性能. 例子: #!conding:utf-8 from mysql.connector import errorcode import mysql. ...

  10. [方法] Windows 下SSH远程连接Linux

    考虑到Linux服务器自带SSH服务,并且SSH服务开机启动. 因此,方法如下: 安装putty 输入Linux服务器IP地址 此外,如果想远程重启Linux服务器,在命令行中输入reboot即可.