目录
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()));
更多的功能,可以前往官方文档查看,目前我的课设不需要这个功能,就先不研究了…
安卓广播与百度地图SDK集成详解
本文详细介绍了如何在Android中创建和使用广播接收器,以及如何集成和配置百度地图SDK。从获取SHA1值到设置地图的缩放级别和中心点,步骤清晰,适合初学者参考。
1973

被折叠的 条评论
为什么被折叠?



