A. 什么是百度地图android sdk
网络地图 Android SDK是一套基于Android 2.1及以上版本设备的应用程序接口, 您可以通过该接口实现丰富的LBS功能:使用该套 SDK开发适用于Android系统移动设备的地图应用,通过调用地图SDK接口,可以轻松访问网络地图服务和数据,构建功能丰富、交互性强的地图类应用程序。功能如下:
①地图:提供地图(2D、3D)的展示和缩放、平移、旋转、改变视角等地图操作;
②POI检索:可根据关键字,对POI数据进行周边、区域和城市内三种检索;
③地理编码:提供地理坐标和地址之间相互转换的能力;
④线路规划:支持公交信息查询、公交换乘查询、驾车线路规划和步行路径检索;
⑤覆盖物:提供多种地图覆盖物(自定义标注、几何图形、文字绘制、地形图图层等),满足开发者的各种需求;
⑥定位:采用多种定位模式,使用定位SDK获取位置信息,使用地图SDK我的位置图层进行位置展示;
⑦离线地图:支持使用离线地图,节省用户流量,同时为用户带来更好的地图体验;
⑧导航:支持调启网络地图导航和Web导航来满足用户对导航功能的需求;
⑨LBS云检索:支持用户检索存储在LBS云内的自有POI数据,并展示;
⑩特色功能:提供短串分享、Place详情页展示等特色功能,帮助开发者搭建功能更加强大的应用;
B. 百度地图 android sdk怎么安装
1)下载网络地图移动版API(Android)开发包
网络地图 Android SDK是一套基于Android 2.1(v1.3.5及以前版本支持android 1.5以上系统)及以上版本设备的应用程序接口。您可以使用该套 SDK开发适用于Android系统移动设备的地图应用,通过调用地图SDK接口,您可以轻松访问网络地图服务和数据,构建功能丰富、交互性强的地图类应用程序。要在Android应用中使用网络地图API,就需要在工程中引用网络地图API开发包,这个开发包包含两个文件:mapapi.jar和libBMapApiEngine.so。下载地址:http://developer..com/map/sdk-android.htm
2)申请API Key
网络地图Android SDK提供的所有服务是免费的,接口使用无次数限制,但是我们使用网络地图API之前必须要申请相应的API Key,然后才可使用网络地图Android SDK。
3)网络地图功能介绍
地图展示:包括2D图、卫星图、3D图地图展示。
地图操作:提供平移、缩放、双指手势操作、底图旋转等地图相关操作。
自定义绘制:提供自定义绘制点、线、面基本几何图形的功能。
网络地图导航:提供调起网络地图Android版(v5.0及以上版本)导航功能。
地图搜索:提供根据关键字进行范围检索、城市检索和周边检索。且支持LBS云检索用户自有数据。
详情查询:提供餐饮类的POI的详细信息查看(Place详情)。
线路规划:提供公交、驾车和步行三种类型,多种方案(不含地铁、时间优先、最少换乘、最少步行)的线路规划。
地理编码:提供地址信息与坐标之间的相互转换。
位置标注:提供一个或多个POI位置标注,且支持用户自定义图标。
实时路况:提供城市实时交通路况信息图。
离线地图:提供离线地图功能,可节省用户流量。
定位:采用GPS、WIFI、基站、IP混合定位模式,请使用Android定位SDK获取定位信息,使用地图SDK定位图层进行位置展示。
C. 开发android手机软件的工具有哪些
Android SDK
Android是谷歌(Google)公司推出的手机开发平台。 与iPhone相似,Android采用WebKit浏览器引擎,具备触摸屏、高级图形显示和上网功能,用户能够在手机上查看电子邮件、搜索网址和观看视频节目等,比iPhone等其他手机更强调搜索功能,界面更强大
集成开发环境 Eclipse
Eclipse是着名的跨平台的自由集成开发环境(IDE)。最初主要用来java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。 Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件
Android NDK
Android NDK 是在SDK前面又加上了“原生”二字,即Native Development Kit,因此又被Google称为“NDK”。 在此之前,Android平台的第三方应用程序均是依靠基于Java的Dalvik特制虚拟机进行开发的。原生SDK的公布可以让开发者更加直接的接触Android系统资源,...
Android组件界面设计工具 DroidDraw
DroidDraw 是一个基于Java Swing的Android界面设计器,我们可以通过它来生成复杂的Android Layout XML文件,据作者介绍,Android的Layout和Swing Layout中有很好的对应,设计器的代码编写起来还是比较容易的。 android下,高级组件,通过xml来配置,书写
NetBeans开发Android的插件
这是一款在 NetBeans 中开发 Android 平台应用的插件。
D. 安卓开发需要学什么
安卓开发需要学:
一、应用程序
Android以Java为编程语言,使接口到功能,都有层出不穷的变化,其中Activity等同于J2ME的MIDlet,一个 Activity 类负责创建视窗,一个活动中的Activity就是在 foreground(前景)模式,背景运行的程序叫做Service。
二、中介软件
操作系统与应用程序的沟通桥梁,并用分为两层:函数层(Library)和虚拟机(Virtual Machine)。 Bionic是 Android 改良libc的版本。
Android 同时包含了Webkit,所谓的Webkit 就是Apple Safari浏览器背后的引擎。Surface flinger 是就2D或3D的内容显示到屏幕上。Android使用工具链(Toolchain)为Google自制的Bionic Libc。
三、硬件抽像层
Android 的 HAL(硬件抽像层)是能以封闭源码形式提供硬件驱动模块。HAL
的目的是为了把 Android framework 与 Linux kernel 隔开。
让 Android 不至过度依赖 Linux
kernel,以达成 kernel independent 的概念,也让 Android framework
的开发能在不考量驱动程序实现的前提下进行发展。
四、编程语言
Android 是运行于 Linux kernel之上,但并不是GNU/Linux。因为在一般GNU/Linux 里支持的功能,Android 大都没有支持。
包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以bionic 取代Glibc、以Skia 取代Cairo、再以opencore 取代FFmpeg 等等。
五、安全控制
目前Android 的 Linux kernel控制包括安全(Security),存储器管理(Memory Managemeat),程序管理(Process Management),网络堆栈(Network Stack),驱动程序模型等。
下载Android源码之前,先要安装其构建工具Repo来初始化源码。Repo 是 Android 用来辅助Git工作的一个工具。
参考资料来源:网络—android开发
E. Android开发中百度地图的定位为什么总是北京,不是自己的位置
给,对照一下
可能的问题:1.用虚拟机,虚拟机定位就是在北京。
2.手机(或虚拟机)是否开启了GPS功能
------------------------------
public class MainActivity extends AppCompatActivity {
MapView mMapView = null;
private BaiMap mBaiDuMap;
public LocationClient mLocationClient;
// public BDLocationListener myListener = new MyLocationListener();
public MyLocationListener myListener = new MyLocationListener();
private BitmapDescriptor mCurrentMarker;
private MyLocationConfiguration.LocationMode mCurrentMode;
// 经纬度
private TextView tvJingDu;
// 纬度
private TextView tvWeiDu;
// 高度
private TextView tvGaoDu;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_main);
// 经纬度TextView 初始化
tvJingDu = (TextView) findViewById(R.id.tv_jing_);
tvWeiDu = (TextView) findViewById(R.id.tv_wei_);
tvGaoDu = (TextView) findViewById(R.id.tv_gao_);
//===================================
// 普通模式
mCurrentMode = MyLocationConfiguration.LocationMode.COMPASS;
// TODO
// mCurrentMarker = BitmapDescriptorFactory.fromResource(R.drawable.dingwei);
mCurrentMarker = null;
// 找到地图控件
mMapView = (MapView) findViewById(R.id.bmapView);
mBaiDuMap = mMapView.getMap();// 获取地图
mBaiDuMap.setMapType(BaiMap.MAP_TYPE_NORMAL);// 设置地图模式为普通模式
// 开启定位图层
mBaiDuMap.setMyLocationEnabled(true);
mLocationClient = new LocationClient(this); // 定位用到一个类
mLocationClient.registerLocationListener(myListener);// 注册监听
// TODO
mBaiDuMap.setMyLocationConfigeration(new MyLocationConfiguration(
mCurrentMode, true, mCurrentMarker, R.color.myBlue, Color.YELLOW
));
// LocationClientOption类用来设置SDK的位置方式
LocationClientOption option = new LocationClientOption();//以下是给定位设置参数
option.setOpenGps(true); // 打开gps
option.setCoorType("bd09ll"); // 设置坐标类型
option.setScanSpan(2000);
mLocationClient.setLocOption(option);
mLocationClient.start();
}
boolean isFirstLoc = true; // 是否首次定位
// 3.网络位置监听
public class MyLocationListener implements BDLocationListener {
@Override
public void onReceiveLocation(BDLocation location) {
Log.i("监听被执行了", "监听被执行了");
if (location == null || mMapView == null) {
return;
}
// // 定位结果
// StringBuffer sb = new StringBuffer(256);
// StringBuffer sb1 = new StringBuffer(256);
// StringBuffer sb2 = new StringBuffer(256);
// // 经度
// String jd = sb.append(location.getLongitude()).toString();
// tvJingDu.setText("" + jd);
// Log.i("经度", "" + jd);
// // 纬度
// String wd = sb1.append(location.getLatitude()).toString();
// tvWeiDu.setText("" + sb1);
// Log.i("纬度", "" + wd);
//
// String gao = sb.append(location.getAltitude()).toString();
// tvGaoDu.setText("" + gao);
// 经度
double d1 = location.getLongitude();
String s1 = "" + d1;
tvWeiDu.setText(s1);
Log.i("经度", "" + s1);
// 纬度
double d2 = location.getLatitude();
Log.i("TGA", "d2" + d2);
String s2 = "" + d2;
tvJingDu.setText(s2);
Log.i("纬度", "" + s2);
MyLocationData locData = new MyLocationData.Builder()
.accuracy(location.getRadius())
// 此处设置开发者获取到的方向信息,顺时针0-360
.direction(0).latitude(location.getLatitude())
.longitude(location.getLongitude()).build();
mBaiDuMap.setMyLocationData(locData);
if (isFirstLoc) {
isFirstLoc = false;
LatLng ll = new LatLng(location.getLatitude(),
location.getLongitude());
MapStatus.Builder builder = new MapStatus.Builder();
// 缩放的等级 12.0f
builder.target(ll).zoom(18.0f);
mBaiDuMap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build()));
}
Log.i("MyLocationListener被执行了!", "onReceiveLocation");
}
@Override
public void onConnectHotSpotMessage(String s, int i) {
}
}
// 结束方法
@Override
protected void onDestroy() {
super.onDestroy();
mMapView.onDestroy();
}
@Override
protected void onResume() {
super.onResume();
mMapView.onResume();
}
@Override
protected void onPause() {
super.onPause();
mMapView.onPause();
}
}
F. android开发中如何设置ImageButton的大小
在Android开发中,java代码用于将zoom设置为fitxy,从而使类能够继承uibutton、重写button和设置ImageView size来设置imagebutton的大小,具体Java设置代码如下:
<ImageButton
android:id="@+id/btn_delete"
android:layout_width="48dp"
android:layout_height="80dp"
android:scaleType="fitXY"
android:background="@drawable/bg_sms"/>
此外,Android还包括一些C/C++库,这些库可以被Android系统中的不同组件使用,他们通过Android应用程序框架为开发人员提供服务。
(6)手机百度android开发扩展阅读:
Android应用软件开发语言有C语言等多种语言,但主流的开发语言是java语言,这使得界面的功能有了无尽的变化,增加软件交互的可能性是Java的最大特点。
所有的Android应用程序都是用Java语言编写的,用java语言开发的软件程序库、数据库和运行库是Android移动软件的主要特点。
Java语言是增长最快的编程语言,它具有面向对象的特点,它相对容易理解,它的显着特点是简单,它继承了C++语言的高级本质,它是计算机程序设计语言发展的一大进步,Java语言有一个独立的体系结构,可以在任何系统中任意运行。