目錄
- 1.廣播
- 1.廣播的創建
- 2.簡單的廣播示例
- 3.實作Activity之間的廣播發送
- 2.百度地圖
- 1.匯入百度地圖依賴包
- 2.注冊和獲取密鑰
- 1.獲取sha1值
- 2.包名
- 3.創建應用
- 3.配置key
- 4.添加地圖
- 5.地圖核心功能
- 1.設定縮放級別
- 2.設定中心點位置
1.廣播
? 和我們常聽說的廣播類似,通過調節不同的電臺頻率,來接收不同的資訊,在安卓當中,很多資訊都可以發送給接收它資訊的應用,也就是在同一‘頻率’上的收音機,從而來進行對應的提示或者操作,

1.廣播的創建

2.簡單的廣播示例
新建MyReceiver廣播類
package com.hnucm.android_611;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// TODO: This method is called when the BroadcastReceiver is receiving
// an Intent broadcast.
Log.i("MyReceiver","MyReceiver");
}
}
MainActivity
注冊廣播,然后定義廣播(以下定義廣播內容為:網路狀態發生改變)
package com.hnucm.android_611;
import androidx.appcompat.app.AppCompatActivity;
import android.content.IntentFilter;
import android.media.MediaParser;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MyReceiver myReceiver=new MyReceiver();
IntentFilter intentFilter=new IntentFilter();
intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");
registerReceiver(myReceiver,intentFilter);
}
}
示例如下

3.實作Activity之間的廣播發送
再建一個MainActivity2
在MainActivity和MainActivity2中都增加一個按鈕控制元件,分別用來作為跳轉和發送廣播的操作
MainActivity.java

MainActivity2.java


下面是示例

2.百度地圖
1.匯入百度地圖依賴包
先去官網下載百度地圖SDK

簡單的分析
影像處理C,C++比JAVA快,所以都使用C,C++來編譯成SO檔案實作

找到工程目錄中 app 目錄下的 libs 檔案夾,將剛剛下好的開發包中的libs中的檔案放進來

在Android Studio中先匯入依賴包,在 build.gradle 檔案中的android節點下 加入如下代碼

sourceSets {
main {
jniLibs.srcDir 'libs'
}
}
發現專案中多了這個檔案夾

點擊 jniLibs 檔案夾下的 BaiduLBS_Android.jar 檔案,并右鍵 Add as Library.加入jar包

百度地圖SDK就匯入完成了,
2.注冊和獲取密鑰
1.獲取sha1值
先找到c盤 user 用戶名下的.android 檔案夾

打開cmd命令列切到該目錄
輸入一下命令
keytool -list -v -keystore debug.keystore

默認密碼android (全部小寫)

找到SHA1值
2.包名
在manifest檔案中找到包名并復制

3.創建應用
在控制臺應用管理中選擇我的應用,然后創建應用

應用型別選擇Android SDK
將剛剛準備的sha1值和包名寫入

點擊得到密鑰
3.配置key
在application節點下輸入下面的meta-data標簽,并輸入在百度地圖注冊的key

添加相應的權限
<!-- 訪問網路,進行地圖相關業務資料請求,包括地圖資料,路線規劃, POI檢索等 -->
<uses-permission android:name="android.permission.INTERNET" /><!-- 獲取網路狀態,根據網路狀態切換進行資料請求網路轉換 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 讀取外置存盤,如果開發者使用了so動態加載功能并且把so檔案放在了 外置存盤區域,則需要申請該權限,否則不需要 -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <!-- 寫外置存盤,如果開發者使用了離線地圖,并且資料寫在外置存盤區 域,則需要申請該權限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
創建MyApplication類繼承系統的Application類并重寫oncreate方法,使用SDK前的初始化
Application的onCreate()方法在應用程式啟動時就會執行,比AppCompatActivity中的onCreate()方法還要早
package com.hnucm.android_611;
import android.app.Application;
import com.baidu.mapapi.CoordType;
import com.baidu.mapapi.SDKInitializer;
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// 應用程式啟動就會執行
// 初始化的事情
//在使用SDK各組件之前初始化context資訊,傳入 ApplicationContext
SDKInitializer.initialize(this);
//自4.3.0起,百度地圖SDK所有介面均支持百度坐標和國測局坐標,用此方法設定您使用的坐標型別,
// 包括BD09LL和GCJ02兩種坐標,默認是BD09LL坐標,
SDKInitializer.setCoordType(CoordType.BD09LL);
}
}
在application節點下添加name屬性

4.添加地圖
在布局檔案中添加地圖組件

然后運行程式出現地圖表示百度地圖配置成功

5.地圖核心功能
先獲得地圖控制元件,
1.設定縮放級別

核心代碼
MapStatus.Builder builder = new MapStatus.Builder();
// 設定縮放級別,中心點位置
builder.zoom(18.0f);
mBaiduMap.setMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build()));
2.設定中心點位置
這句話可以設定中心點的位置
LatLng cenpt = new LatLng(28.135339, 112.900747);
LatLng cenpt = new LatLng(28.135339, 112.900747);
MapStatus.Builder builder = new MapStatus.Builder();
// 設定縮放級別,中心點位置
builder.zoom(18.0f)
.target(cenpt);
mBaiduMap.setMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build()));
更多的功能,可以前往官方檔案查看,目前我的課設不需要這個功能,就先不研究了…
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/286971.html
標籤:其他
