1, 基于百度地图API开发,用于实现地理位置选取,发送,展示,与消息编辑界面切入点有两处,代码如下:
case R.id.menuitem_location_share: // Begin : add by qiang.liu 2013-12-9 for multi send from contact if (ensureMultiRecipient()) { Toast.makeText(getApplicationContext(), R.string.confirm_send_multi_audio, Toast.LENGTH_SHORT).show(); return; } // End : add by qiang.liu 2013-12-9 for multi send from contact //Begin: add by liuxue 2013-11-26 if (mNetWorkStatus) { if (!rcsIsConnected()) { Toast.makeText(ComposeMessageActivity.this, strNetworkUnavailable, Toast.LENGTH_SHORT).show(); return; } } //End: add by liuxue 2013-11-26 if (isRecipientsEditorVisible() && TextUtils.isEmpty(mRecipientsEditor.getText())) { showToastNoContacts(); return; } //yexiaoyan 20131224 change begin if(!isRcs){ Toast.makeText(getApplicationContext(), R.string.msg_tost_notRcs, Toast.LENGTH_SHORT).show(); return; } //yexiaoyan 20131224 change end // zhangmeie 20131224 change begin Intent intent = new Intent(ComposeMessageActivity.this,LocationActivity.class); intent.putExtra(LocationActivity.MESSAGE_TYPE,LocationActivity.LOCATION_EDITOR); startActivityForResult(intent, REQUEST_CODE_LOCATION_MESSAGE); |
获得经,纬度,地理位置后返回到消息编辑界面切入点如下:
caseREQUEST_CODE_LOCATION_MESSAGE: { if (sendByRCS && mConversation != null && aService != null && ensureCapabilityRcs(formatNumber(mConversation.getRecipients().get(0).getNumber())) && rcsIsConnected()) { if (mNetWorkStatus) { Bundle bundle = (Bundle)data.getExtras(); double lat =bundle.getDouble(LocationActivity.MESSAGE_LAT); double lng =bundle.getDouble(LocationActivity.MESSAGE_LNG); String mAddress =bundle.getString(LocationActivity.MESSAGE_ADDRESS); try { aService.sendLocation(getSingleRecipientNumber(), lat,lng, mAddress, ""); } catch (Exception ex) { ex.printStackTrace(); }
mConversation.ensureThreadId(); onMessageSent(); } else { String message = getString(R.string.network_not_ready); Toast.makeText(ComposeMessageActivity.this, message, Toast.LENGTH_SHORT) .show(); } } break; |
2, 主要类文件有:
com.android.mms.ui.LocationActivity.java
com.android.mms.ui.LocationMapView.java
com.android.mms.ui.MyBaiduLotion.java
LocationActivity是地理位置选择或详情,若处于选择状态,地图中心位置为手机持有者地理位置,可拖动地图选择目标位置,点击发送按钮,发送位置给接收端;若处于详情状态,中心位置通过选择位置消息经纬度位置,拖动不可再选择位置,发送按钮不可见.
LocationMapView继承百度地图MapView类,新增OnMapViewChangedListener借口,拖动地图调用重写onTouchEvent方法触发OnMapViewChangedListener监听,在 LocationActivity类实现的OnMapViewChangedListener中,获得经纬度,及时更新选中地理位置
MyBaiduLotion主要是通过经纬度逆解析出地理位置
3, 然后必须在配置文件注册百度服务
<service android:name="com.baidu.location.f" android:enabled="true" android:process=":remote"> <intent-filter> <actionandroid:name="com.baidu.location.service_v3.3" > </action> </intent-filter> </service>
|
4, 独立的百度地图 privatestaticfinal String key = "xxxxxxxxxxxxxxxxxxxx";
5,关于jar与so,在Mms/src/libs文件夹下,导入baidumapapi_v2_3_1.jar,locSDK_3.3.jar,armeabi文件夹(包括libBaiduMapSDK_v2_3_1.so和liblocSDK3.so),若要在源码里面编译必须在Mms/Android.mk加入jar配置信息
….................... LOCAL_STATIC_JAVA_LIBRARIES += liblocsdk
LOCAL_STATIC_JAVA_LIBRARIES += liblocbaidusdk …........................ include $(CLEAR_VARS)
................ LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := liblocsdk:libs/locSDK_3.3.jar
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := liblocbaidusdk:libs/baidumapapi_v2_3_1.jar
.................. include $(BUILD_MULTI_PREBUILT) …................... |
注意若要在源码编译必须在Mms/proguard.flags文件中导入百度架包,如下:
-keep class com.baidu.** { *;
}
-keep class vi.com.gdi.bgl.android.**{
*;
} |
相关推荐
基于COMSOL的电磁场与光学仿真:多极分解通用模型探讨石墨烯临界耦合光吸收与费米能级可调性,COMSOL 多极分解,分方向多级展开通用模型,电磁场,面上箭头,透射率光学 BIC 仿真。 COMSOL 准 BIC控制石墨烯临界耦合光吸收。 COMSOL 光学仿真,石墨烯,光吸收,费米能级可调 ,关键词:COMSOL; 多极分解; 分方向多级展开通用模型; 电磁场; 面上箭头; 透射率; BIC 仿真; 准 BIC; 控制石墨烯; 临界耦合光吸收; 光学仿真; 石墨烯; 光吸收; 费米能级可调。,COMSOL多极分解法仿真石墨烯光吸收特性及费米能级调控
Matlab Simulink下的单相光伏储能模型:可再生能源发电与蓄电池储能系统建模与仿真,涵盖MPPT电导增量法及并网技术,Matlab simulink模型,单相光伏储能模型可再生能源发电 太阳能发电蓄电池储能建模与仿真 可调节光照强度,采用MPPT电导增量法最大功率点跟踪双向DC DC蓄电池储能及补偿。 额定功率2500w,并网等级311v有效值220v ,Matlab Simulink模型; 单相光伏储能模型; 可再生能源发电; 太阳能发电; 蓄电池储能建模与仿真; 调节光照强度; MPPT电导增量法; 最大功率点跟踪; 双向DC DC; 额定功率2500w; 并网等级311v; 有效值220v,基于Matlab Simulink的单相光伏储能模型:MPPT跟踪与蓄电池储能补偿研究
包含项目论文和毕业答辩PPT,详情请看博客:https://blog.csdn.net/2401_87429224/article/details/145231201 论文主要包括以下内容: 1、中英文摘要; 2、目录; 3、绪论,包括背景、意义、开发工具、国内外现状等; 4、系统分析,包括可行性分析、设计原则、需求分析、业务流程分析等; 5、系统设计,包括功能设计、数据库设计等; 6、系统实现,包括各模块实现; 7、软件测试,包括测试环境、测试条件、运行情况等。
"图腾柱PFC电路仿真研究:电压电流双闭环PI控制下的动态响应与稳定性验证及主电路设计说明",图腾柱(totem pole)PFC电路仿真,采用电压电流双闭环PI控制。 输出特性好。 仿真中模拟了给定电压变化时的动态响应情况。 可验证闭环控制的稳定性。 另也有图腾柱PFC主电路参数的设计说明 matlab simulink plecs等环境 ,totem_pole; PFC电路仿真; 电压电流双闭环PI控制; 动态响应; 闭环控制稳定性; 主电路参数设计; Matlab Simulink; PLECS。,"图腾柱PFC电路仿真与参数设计研究,电压电流双闭环PI控制稳定性的验证"
2025年材料员网络培训考试题库及答案.docx
**Qt CPP多列时间轴控件:事件线发展故事大纲的可视化编辑器**,Qt CPP实现的多列时间轴控件、可与多段字符串格式自由转、也可手动添加列表项、专门用来以时间轴作为事件线发展顺序的故事大纲。 时间可输入任意内容,不限于时间,每一时间段允许多列,即多个文字节点,行与行、列与列 之间任意拖拽更顺序,可与文字自由转,按需修改快捷键,所有的编辑可撤销,美观的调整动画。 源码: 使用Qt5.13.1_MinGW编译通过。 ,Qt CPP时间轴控件; 多列时间节点; 自由转换字符串格式; 手动添加列表项; 时间轴事件线; 拖拽更换顺序; 快捷键自定义; 编辑可撤销; 动画调整。,基于Qt C++的多功能多列时间轴故事线管理控件
===下载后有不懂的可以私信我。==== 红外解码与红外遥控是电子工程领域中常见的一种技术,主要应用于家用电器、智能家居设备以及遥控玩具等。本文将深入探讨这两个概念,并结合"28.红外遥控解码数码管显示实验"这一主题,为你提供丰富的学习内容。 我们要理解红外(Infrared,简称IR)的基本原理。红外是一种电磁波,频率范围在300GHz到400THz之间,位于可见光的红色光谱之外。在遥控系统中,红外通信通常采用的是近红外频段,即约940nm左右的波长。它具有传输距离近、功耗低、抗干扰能力较弱的特点,适用于室内短距离通信。 红外遥控系统由两部分组成:发射器(遥控器)和接收器(解码器)。发射器通常包含一个微控制器和红外LED,用于编码并发射控制信号。这些信号是通过特定的编码方式,如RC5、NEC、SIRC等编码协议发送的,以确保数据的准确性和唯一性。接收器则含有一个红外光电传感器,用于捕捉这些信号并进行解码。 红外解码是接收器的核心功能。当接收到红外信号后,解码器会对其进行解调,然后解析出编码的指令。解码过程包括信号放大、滤波、峰值检测和脉冲计数等步骤。不同的编码协议有不同的解码方法,例如NEC协议的解码需要识别前导码、地址码、命令码和校验码等组成部分。 数码管显示在红外遥控实验中扮演了重要角色。数码管,也称为数字管或七段显示器,可以用来显示数字、字母和一些特殊字符。在红外遥控解码实验中,一旦解码成功,通常会通过数码管将接收到的指令代码或状态信息呈现出来,便于观察和调试。 "28.红外遥控解码数码管显示实验"可能是一个实践项目,旨在帮助学习者亲手搭建一个简单的红外遥控系统。这个实验可能涵盖了以下内容: 1. 硬件搭建:包括红外接收模块、微控制器(如Arduino或AVR)、数码管及其驱动电路。 2. 软件编程:编写微控制器的程序来实现红外信号的接收、解码以及数码管的显示控制。这涉及到对红外解码协议的理解和编程实现。 3. 实验操作:调整遥控器,发送不同指令,观察数码管的反馈,验证解码的正确性。 通过这样的实验,你可以亲身体验红外遥控系统的完整流程,加深对红外解码原理和实践应用的理解。同时,这也是提升动手能力和解决问题能力的良好机会。 红外解码和红外遥控是电子工程师必备的技能之一。掌握这些知识不仅可以让你理解和设计自己的遥控系统,还为进入更高级的嵌入式系统开发打下基础。希望这个资源能对你在红外学习的道路上有所帮助,祝你在探索科技的旅程中不断进步。。内容来源于网络分享,如有侵权请联系我删除。
资源说明: 1:csdn平台资源详情页的文档预览若发现'异常',属平台多文档切片混合解析和叠加展示风格,请放心使用。 2:29页图文详解文档(从零开始项目全套环境工具安装搭建调试运行部署,保姆级图文详解),旨在为更多的人甚至零基础的人也能运行、使用和学习。 3:配套毕业论文,万字长文,word文档,支持二次编辑。 4:配套答辩ppt,pptx格式,支持二次编辑。 5:工具环境、ppt参考模板、相关电子教程、视频教学资源分享。 6:资源项目源码均已通过严格测试验证,保证能够正常运行,本项目仅用作交流学习参考,请切勿用于商业用途。 7:项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通。 内容概要: 本系统基于 B/S 网络结构,在 IDEA 中开发。服务端用 Java 并借 Spring Boot 框架搭建后台。前台采用支持 HTML5 的 VUE 框架。用 MySQL 存储数据,可靠性强。 能学到什么: 使用Spring Boot搭建后台。VUE 框架构建前端交互界面、前后端数据交互、MySQL管理数据、从零开始环境搭建、调试、运行、打包、部署流程。
【Unity动画烘焙插件】GPU ECS Animation Baker
MATLAB轴承动力学模拟:滚动轴承故障建模与ODE45数值计算(含正常、外圈故障、内圈故障及滚动体故障分析),MATLAB轴承动力学代码(正常、外圈故障、内圈故障、滚动体故障),根据滚动轴承故障机理建模(含数学方程建立和公式推导)并在MATLAB中采用ODE45进行数值计算。 可模拟不同轴承故障类型,输出时域加速度波形、滚道接触力、相图。 ,核心关键词:MATLAB; 轴承动力学代码; 故障机理建模; 数学方程建立; 公式推导; ODE45数值计算; 不同轴承故障类型; 时域加速度波形; 滚道接触力; 相图。,MATLAB滚动轴承故障动力学模型及数值模拟分析系统
原作者:刘金琨教授
《2024最强Java面试八股文》是一份针对Java面试的全面指南,内容涵盖JVM、MQ、MyBatis、MySQL、Redis、Spring Boot、Spring Cloud以及设计模式等多个方面。这份资料旨在帮助求职者系统地复习和掌握Java及相关技术的核心知识点,从而在面试中取得更好的成绩。 该资源不仅适用于校招,也适用于社招。无论您是一名即将毕业的学生还是已经有一定工作经验的开发者,都可以通过这份资料深入了解Java面试的常见考点和难点,提升自己的技能和知识储备。 在内容上,这份资料对每个技术点都进行了深入浅出的讲解,并配有大量的实例和案例分析。此外,还提供了丰富的题目和答案,帮助您更好地掌握每个知识点的运用。 总的来说,《2024最强Java面试八股文》是一份不可多得的Java面试宝典,它系统地梳理了Java面试的核心知识点,并提供了一系列的实战技巧和经验。无论您是正在准备面试的求职者,还是希望深入了解Java技术的开发者,都可以从这份资料中受益匪浅。
内容概要:本文提出了一个名为LDP(Language-driven DP)的新框架,旨在利用预训练的对比语言-图像模型CLIP来估计双像素(DP)图像对的模糊图,从而实现高质量的无监督去模糊任务。研究解决了以往需要额外数据进行监督的问题,首次通过文本提示引导CLIP来估计模糊程度并应用自定义格式处理立体图像对,进一步提出了三种损失函数和一个先验注意力模块以确保恢复图像的质量。该方法通过广泛的实验验证,在标准测试集上取得了当前最优性能。 适合人群:计算机视觉研究人员以及从事深度学习和图像处理的技术人员。 使用场景及目标:用于从具有视差相关模糊问题的双像素传感器获取到的图片对恢复清晰的全焦点图片,尤其适用于单张拍摄情况下的图像修复工作。此外,该研究可以推动更多利用大规模预训练视觉语言模型应用于低级视觉任务的可能性。 其他说明:文中还提供了详细的实证比较和其他现有方法的优势分析,证明了所提出的架构能够提高去模糊效果的同时显著降低了推理时间。同时给出了模型的不同组件及其损失设置的消融实验细节与模型局限性的探讨,补充材料中有更深入的具体实验参数介绍及更多的定性和定量评估。
CSDN海神之光上传的全部代码均可运行,亲测可用,直接替换数据即可,适合小白; 1、代码压缩包内容 主函数:Main .m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,可私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开除Main.m的其他m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博主博客文章底部QQ名片; 4.1 CSDN博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作
Simulink光伏储能VSG仿真模型:完美波形运行,实现光储一次调频、削峰填谷及直流母线电压控制功能,simulink仿真模型光伏储能VSG,加电容,正常运行,波形完美一一光储一次调频、储能削峰填谷、 直流母线电压控制。 2018b及以上都可运行哈 ,simulink仿真;光伏储能;VSG;加电容;正常运行;波形完美;光储一次调频;储能削峰填谷;直流母线电压控制;2018b及以上版本。,Simulink光伏储能VSG模型:电容增强与优化调频调压功能解析
三相VIENNA整流器仿真研究:T型整流器双闭环PI控制及中点电位平衡控制策略,SPWM调制与高效能表现,三相VIENNA整流器仿真 matlab仿真 T型vienna整流器仿真 双闭环PI控制,中点电位平衡控制,SPWM调制,三相锁相环。 图3为三相电流波形,图4THD为1.01%,电感仅为2mL。 图4直流侧电压波形,能准确跟踪给定值750V,图5为直流母线侧上下电容电压,中点电位波动极小。 功率因数为99%以上。 ,三相VIENNA整流器仿真; Matlab仿真; T型vienna整流器仿真; 双闭环PI控制; 中点电位平衡控制; SPWM调制; 三相锁相环; 电流波形; THD; 电感; 直流侧电压波形; 直流母线侧电容电压; 功率因数。,三相Vienna整流器:仿真、控制与性能优化分析
===下载后有不懂的可以私信我。==== 时间序列预测是一种重要的数据分析技术,尤其在金融、气象学、工程控制等领域有着广泛的应用。它通过对历史数据的分析,寻找规律并预测未来的趋势。在这个项目中,我们将关注一种基于最小均方(LMS)算法的时间序列预测方法,该方法利用了MATLAB编程环境来实现。MATLAB是数学计算和数据分析的强大工具,它提供了丰富的库函数和优化工具,使得复杂算法的实现变得相对简单。 最小均方(Least Mean Squares,LMS)算法是自适应滤波理论中的一个关键算法,最初由Widrow和Hoff在1960年提出。它的主要目标是在不断更新滤波器权重的过程中,最小化预测误差的平方和。在时间序列预测中,LMS算法可以用来调整模型参数,以适应数据的变化,从而提高预测的准确性。 在MATLAB中实现LMS算法,首先需要理解基本的步骤: 1. **数据预处理**:对原始时间序列数据进行清洗,去除异常值,可能还需要进行归一化或标准化处理,以消除量纲影响。 2. **模型设定**:选择合适的预测模型,例如线性模型、ARIMA模型或者神经网络模型。LMS算法通常用于在线学习,适合于线性模型。 3. **初始化**:设定滤波器的初始权重,以及学习速率和步长等参数。 4. **迭代过程**:对于每一个新的数据点,用当前滤波器权重计算预测值,然后根据预测误差更新权重。LMS算法的关键在于误差的梯度下降更新规则。 5. **误差计算**:计算预测值与实际值之间的误差,通常使用均方误差(MSE)作为评估指标。 6. **性能评估**:通过比较预测结果与实际值,评估模型的预测性能。常用的评估指标有均方根误差(RMSE)、平均绝对误差(MAE)等。 在这个项目中,MATLAB源码应该包含了以上所有步骤的实现。通过运行代码,你可以观察到预测结果和实际值的对比,以及随着迭代次数增加,预测性能的变化。这有助于理解LMS算法如何逐步优化模型参数,提高预测精度。 需要注意的是,LMS算法虽然简单且易于实现,但在噪声较大的环境中可能会收敛较慢,且可能存在稳定性问题。为了改善这些问题,可以考虑使用改进版的LMS算法,如快速LMS(Fast LMS)、正常化LMS(Normalized LMS)或加速度LMS(Accelerated LMS)等。 在实际应用中,时间序列预测不仅仅是模型的选择和训练,还包括特征工程、模型验证和调参等多个环节。因此,理解并掌握LMS算法只是时间序列预测的一部分,还需要结合其他数据处理和预测技巧,才能构建出更强大的预测系统。这个MATLAB项目提供了一个很好的学习平台,帮助你深入理解LMS算法在时间序列预测中的应用,并通过实际操作提升技能。。内容来源于网络分享,如有侵权请联系我删除。
bs4_test.zip
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。