最近用到了百度地圖愿棋,需要根絕服務(wù)器發(fā)送的經(jīng)緯度進(jìn)行定義位置。
1 申請(qǐng)百度開(kāi)發(fā)者帳號(hào)均牢,這個(gè)不用多收了吧
2創(chuàng)建應(yīng)用如下? demo 如下
3 獲取 sha1 碼 這個(gè)比較麻煩糠雨,這個(gè)一般需要兩個(gè) 一個(gè) 是 發(fā)布版本 一個(gè)是 測(cè)試版本。如下:
正常情況下:
一徘跪、獲取開(kāi)發(fā)版SHA1:
在此我直接用AndroidStudio提供的命令控制臺(tái)了甘邀,畢竟做android開(kāi)發(fā)幾乎都是用Android Studio了琅攘。
1、打開(kāi)android studio 找到Terminal并打開(kāi)松邪,或者在最下面找到Terminal 如下圖:
2坞琴、 輸入命令? C:? ? 進(jìn)入c盤(pán);
3逗抑、接著 輸入命令? cd Users\Administrator? 其中Administrator是自己的用戶名? Administrator文件下有個(gè).adnroid文件剧辐, 輸入命令? cd? .android,最后就找到了.android邮府,如圖:
4荧关、輸入命令? keytool -list -v -keystore debug.keystore? 其中debug.keystore是studio默認(rèn)的keystore,按回車褂傀,然后輸入秘鑰:android(系統(tǒng)默認(rèn))? ? 回車(秘鑰庫(kù)口令是看不到的)如下圖:
這樣就成功獲取到開(kāi)發(fā)版的SHA1值了忍啤,是不是很簡(jiǎn)單呀,那是當(dāng)然仙辟!
二同波、獲取發(fā)布版的SHA1:
獲取發(fā)布版的SHA1,跟獲取開(kāi)發(fā)版的SHA1的1叠国、2未檩、3步驟一樣,不一樣的地方就是第4步稍微不同而已煎饼。
1讹挎、同上;
2吆玖、同上筒溃;
3、同上沾乘;
4怜奖、輸入命令? keytool -list -v -keystore 文件目錄\自己的簽名文件 比如我的:keytool -list -v -keystore E:\簽名文件\android.keystore ,接著按回車翅阵,然后輸入秘鑰:(我只知道我的歪玲,哈哈)? ? 回車(秘鑰庫(kù)口令是看不到的)如下圖:
這樣就成功獲取到發(fā)布版的SHA1值了,是不是很簡(jiǎn)單掷匠。
4 這樣得到了 ak 值 也就是 密鑰滥崩,讓后將他加入到項(xiàng)目的配置文件里放在application中:
5 下載所需要的sdk 放入項(xiàng)目中,下面是只需要定位的例子:
記得要對(duì)jar包添加依賴哦:
6 最后上代碼了:
監(jiān)聽(tīng)器 類:
importandroid.content.Context;
importandroid.hardware.Sensor;
importandroid.hardware.SensorEvent;
importandroid.hardware.SensorEventListener;
importandroid.hardware.SensorManager;
public classMyOrientationListenerimplementsSensorEventListener{
privateSensorManagermSensorManager;
privateSensormSensor;
privateContextmContext;
private floatlastX;
privateOnOrientationListenermOnOrientationListener;
publicMyOrientationListener(Contextcontext)
{
this.mContext=context;
}
public voidstart()
{
mSensorManager= (SensorManager)mContext
.getSystemService(Context.SENSOR_SERVICE);
if(mSensorManager!=null)
{
//獲得方向傳感器
mSensor=mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION);
}
//判斷是否有方向傳感器
if(mSensor!=null)
{
//注冊(cè)監(jiān)聽(tīng)器
mSensorManager.registerListener(this,mSensor,SensorManager.SENSOR_DELAY_UI);
}
}
public voidstop()
{
mSensorManager.unregisterListener(this);
}
//方向改變
@Override
public voidonSensorChanged(SensorEvent event) {
if(event.sensor.getType()==Sensor.TYPE_ORIENTATION)
{
floatx=event.values[SensorManager.DATA_X];
if(Math.abs(x-lastX)>1.0)
{
if(mOnOrientationListener!=null)
{
mOnOrientationListener.onOrientationChanged(x);
}
}
lastX=x;
}
}
public voidsetOnOrientationListener(OnOrientationListener listener)
{
mOnOrientationListener=listener;
}
public interfaceOnOrientationListener
{
voidonOrientationChanged(floatx);
}
@Override
public voidonAccuracyChanged(Sensor sensor,intaccuracy) {
}
}
很簡(jiǎn)單讹语,只要沉下信钙皮,喜歡的點(diǎn)個(gè)贊吧 。。短条。