zoukankan      html  css  js  c++  java
  • 页面类跳转Demo

    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;
    		}
    	}
    }
    

      

  • 相关阅读:
    zookeeper 是如何保证事务的顺序一致性的?
    Hibernate的一级缓存和二级缓存有什么区别?
    写出Hibernate中核心接口/类的名称,并描述他们各自的责任?
    请说说你对Struts2的拦截器的理解?
    什么是MVC模式?   
    JDBC中的Statement 和PreparedStatement的区别?
    说说数据库连接池工作原理和实现方案?
    如何删除表中的重复数据,只保留一条记录?
    Where和having都是条件筛选关键字,它们有什么分别?
    JSP和Servlet有哪些相同点和不同点?
  • 原文地址:https://www.cnblogs.com/spring87/p/4745101.html
Copyright © 2011-2022 走看看