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語言有一個獨立的體系結構,可以在任何系統中任意運行。