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_multimap, R.string.demo_desc_multimap, MultiMapViewDemo.class), new DemoInfo(R.string.demo_title_layers, R.string.demo_desc_layers, LayersDemo.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_offline, R.string.demo_desc_offline, OfflineDemo.class), new DemoInfo(R.string.demo_title_poi, R.string.demo_desc_poi, PoiSearchDemo.class), new DemoInfo(R.string.demo_title_geocode, R.string.demo_desc_geocode, GeoCoderDemo.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_cloud, R.string.demo_desc_cloud, CloudSearchDemo.class), new DemoInfo(R.string.demo_title_navi, R.string.demo_desc_navi, NaviDemo.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); 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; } } }
最近下载更多
qwe2453968430 LV1
2022年5月18日
GZW012345 LV8
2022年4月8日
3089559272 LV11
2021年12月26日
wyx065747 LV67
2021年7月1日
Little already LV3
2021年6月22日
yoodo8816 LV2
2021年1月6日
haoqiong LV1
2020年11月27日
木木沐 LV7
2020年11月19日
862960632 LV14
2020年11月3日
sjk1635927903 LV8
2020年6月25日