新鲜出炉的蚂蚁金服面经,Flutter与Native交互,谈一谈Binder的原理和实现一次拷贝的流程

这篇具有很好参考价值的文章主要介绍了新鲜出炉的蚂蚁金服面经,Flutter与Native交互,谈一谈Binder的原理和实现一次拷贝的流程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

super.dispose();
}

void updateMapMarker() async {
await platform.invokeMethod(‘refrashMap’, “我是参数”);
}

// This widget is the root of your application.
@override
Widget build(BuildContext context) {
print(‘-------------build--------------’);
updateMapMarker();
return Scaffold(
body: Stack(
children: [
Center(
child: AndroidView(viewType: ‘MyMap’),
),
],
));
}

@override
bool get wantKeepAlive => true;
}

Android端代码

怎么配置baidu地图的sdk这里就不细说了,baidu地图的文档给开发者提供了相当详细的说明,在代码里面主要看中MethodChannel和EventChannel的功能,MethodChannel可以通过MethodCall监听Flutter程序事件发来的事件的数据,然后可以通过EventChannel进行发送数据回去,两者结合再一起则是双通道的通信机制。这里发送的数据格式有要求,格式如下(官网图片)

新鲜出炉的蚂蚁金服面经,Flutter与Native交互,谈一谈Binder的原理和实现一次拷贝的流程,2024年程序员学习,flutter,交互,binder

MainActivity.java

com.example.my_project

import android.annotation.SuppressLint;
import android.content.SharedPreferences;
import android.graphics.Point;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.Gravity;
import android.view.WindowManager;
import android.widget.Toast;

import com.baidu.location.BDAbstractLocationListener;
import com.baidu.location.BDLocation;
import com.baidu.location.LocationClient;
import com.baidu.location.LocationClientOption;
import com.baidu.mapapi.map.BaiduMap;
import com.baidu.mapapi.map.BitmapDescriptor;
import com.baidu.mapapi.map.BitmapDescriptorFactory;
import com.baidu.mapapi.map.MapStatus;
import com.baidu.mapapi.map.MapStatusUpdate;
import com.baidu.mapapi.map.MapStatusUpdateFactory;
import com.baidu.mapapi.map.MapView;
import com.baidu.mapapi.map.MyLocationConfiguration;
import com.baidu.mapapi.map.MyLocationData;
import com.baidu.mapapi.map.UiSettings;
import com.baidu.mapapi.model.LatLng;

import org.jetbrains.annotations.NotNull;

import java.util.ArrayList;

import io.flutter.app.FlutterActivity;
import io.flutter.plugin.common.EventChannel;
import io.flutter.plugin.common.MethodCall;
import io.flutter.plugin.common.MethodChannel;
import io.flutter.plugin.common.MethodChannel.MethodCallHandler;
import io.flutter.plugin.common.MethodChannel.Result;
import io.flutter.plugins.GeneratedPluginRegistrant;

public class MainActivity extends FlutterActivity {
private final String eventString = “event”;
private static final String TAG = “MainActivity”;
private static final String CHANNEL = “samples.flutter.io/getLocation”;
private static final String eventChannel = “com.example.my_project/event”;
private MethodChannel channel;
// 后台服务器地址
String host = null;

String locationText;
Double longitude, latitude;
static User user = new User(“”, “”);

private static MapView mapView;
private static BaiduMap mBaiduMap;
private LocationClient mLocationClient;
private static String myId = null;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
GeneratedPluginRegistrant.registerWith(this);
mapView = new MapView(this);
MapRegistrant.registerWith(this, mapView);

//定位初始化
mLocationClient = new LocationClient(this);
//注册LocationListener监听器
MyLocationListener myLocationListener = new MyLocationListener();
mLocationClient.registerLocationListener(myLocationListener);

// 不显示百度地图Logo
mapView.removeViewAt(1);
mBaiduMap = mapView.getMap();
// 改变地图状态,使地图显示在恰当的缩放大小
mMapStatus = new MapStatus.Builder().zoom(18.0f).build();
MapStatusUpdate mMapStatusUpdate = MapStatusUpdateFactory.newMapStatus(mMapStatus);
mBaiduMap.setMapStatus(mMapStatusUpdate);
mBaiduMap.setMyLocationEnabled(true);

mBaiduMap.setMyLocationConfiguration(new MyLocationConfiguration(
MyLocationConfiguration.LocationMode.FOLLOWING, true, null));

//实例化UiSettings类对象
UiSettings mUiSettings = mBaiduMap.getUiSettings();
//禁用地图旋转功能,启用后对显示屏幕范围内的Marker有一定影响
mUiSettings.setRotateGesturesEnabled(false);
//禁用地图俯视功能
mUiSettings.setOverlookingGesturesEnabled(false);

new MethodChannel(getFlutterView(), CHANNEL).setMethodCallHandler(
new MethodCallHandler() {
@Override
public void onMethodCall(MethodCall call, Result result) {
// 在这个回调里处理从Flutter来的调用
switch (call.method) {
case “getLocationDics”:
if (locationText == “”) {
result.success(“地球的某一个角落”);
break;
}
result.success(locationText);
break;
case “getLocationLongitude”:
result.success(longitude);
break;
case “getLocationLatitue”:

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
新鲜出炉的蚂蚁金服面经,Flutter与Native交互,谈一谈Binder的原理和实现一次拷贝的流程,2024年程序员学习,flutter,交互,binder
新鲜出炉的蚂蚁金服面经,Flutter与Native交互,谈一谈Binder的原理和实现一次拷贝的流程,2024年程序员学习,flutter,交互,binder
新鲜出炉的蚂蚁金服面经,Flutter与Native交互,谈一谈Binder的原理和实现一次拷贝的流程,2024年程序员学习,flutter,交互,binder
新鲜出炉的蚂蚁金服面经,Flutter与Native交互,谈一谈Binder的原理和实现一次拷贝的流程,2024年程序员学习,flutter,交互,binder
新鲜出炉的蚂蚁金服面经,Flutter与Native交互,谈一谈Binder的原理和实现一次拷贝的流程,2024年程序员学习,flutter,交互,binder
新鲜出炉的蚂蚁金服面经,Flutter与Native交互,谈一谈Binder的原理和实现一次拷贝的流程,2024年程序员学习,flutter,交互,binder
新鲜出炉的蚂蚁金服面经,Flutter与Native交互,谈一谈Binder的原理和实现一次拷贝的流程,2024年程序员学习,flutter,交互,binder

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
新鲜出炉的蚂蚁金服面经,Flutter与Native交互,谈一谈Binder的原理和实现一次拷贝的流程,2024年程序员学习,flutter,交互,binder

文末

我总结了一些Android核心知识点,以及一些最新的大厂面试题、知识脑图和视频资料解析。

以后的路也希望我们能一起走下去。(谢谢大家一直以来的支持)

部分资料一览:

  • 330页PDF Android学习核心笔记(内含8大板块)

新鲜出炉的蚂蚁金服面经,Flutter与Native交互,谈一谈Binder的原理和实现一次拷贝的流程,2024年程序员学习,flutter,交互,binder

新鲜出炉的蚂蚁金服面经,Flutter与Native交互,谈一谈Binder的原理和实现一次拷贝的流程,2024年程序员学习,flutter,交互,binder

  • Android学习的系统对应视频

  • Android进阶的系统对应学习资料

新鲜出炉的蚂蚁金服面经,Flutter与Native交互,谈一谈Binder的原理和实现一次拷贝的流程,2024年程序员学习,flutter,交互,binder

  • Android BAT大厂面试题(有解析)

新鲜出炉的蚂蚁金服面经,Flutter与Native交互,谈一谈Binder的原理和实现一次拷贝的流程,2024年程序员学习,flutter,交互,binder

本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算文章来源地址https://www.toymoban.com/news/detail-849459.html

1ac0)

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

到了这里,关于新鲜出炉的蚂蚁金服面经,Flutter与Native交互,谈一谈Binder的原理和实现一次拷贝的流程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 蚂蚁金服的面试流程,【微信小程序学习(1),字节跳动面试必问

    (1)协议必须是https协议 (2)一个接口最多配置20个域名 (3)并发限制上限时10个 (4)开发过程中设置不校验合法域名:开发工具—右上角详情—本地设置—不校验 3、发送ajax请求 (1)封装功能函数 功能点要明确 函数内部应该保留固定代码(静态的) 将动态的数据抽取

    2024年04月23日
    浏览(31)
  • 大咖实录 蒋国飞蚂蚁金服技术实验室负责人演讲实录

    蚂蚁金服副总裁、技术实验室负责人蒋国飞演讲实录 主持人:谢谢漆博的精彩分享。  在蚂蚁金服,有一个神秘的技术实验室,研究如何将技术从实验走向实用。接下来我们先来了解一下从这个实验室走出来的区块链技术,到底是如何走向实用的?  有请蚂蚁金服副总裁、技

    2024年02月16日
    浏览(33)
  • 26、react UI 组件库 Ant-design 蚂蚁金服UI组件库

    material-ui (国外) 官网:https://mui.com/zh/material-ui/getting-started/installation/ 这是国外非常流行的 react UI 组件库,但是在国内并不是很常用。 Ant-design UI组件库 官网:https://ant.design/index-cn 这是国内比较流行 react UI 组件库,又蚂蚁金服团队开发。这一篇博客主要来讲解在 react 项目中

    2024年02月08日
    浏览(30)
  • 腾讯云服务器租用报价表新鲜出炉(轻量和CVM价格)

    腾讯云服务器分为轻量应用服务器和云服务器CVM,CVM为专业级云服务器,适用于企业级如科学计算、集群应用、高容灾等使用场景;轻量应用服务器适用于个人博客简单的Web应用或测试环境使用。 腾讯云服务器租用价格表2023新版报价出炉,轻量服务器2核2G4M带宽88元一年、

    2024年02月04日
    浏览(32)
  • 新鲜出炉:小巧优雅的 css-in-js库StyledFc

    一个简单的运行时 css-in-js 库,用于封装 react 组件 零依赖 非常小, 3kb. 运行时生成css 支持css变量 支持类似less的嵌套css样式 支持props动态css 支持typescript 演示 拟开发一个 Card 组件,组件有一个 title 属性,用于显示标题,一个 footer 属性,用于显示底部内容, children 属性作为

    2024年02月21日
    浏览(33)
  • Flutter 与第三方 Native-SDK 的交互代理方案

    场景 在使用 Flutter 进行功能模块或者整体项目的开发时,如果需要(阶段性)频繁地和某个第三方 Native-SDK 进行交互,而该 Native-SDK 没有实现 Flutter 插件版本的情况下,如果直接把这部分交互 API 加入到原有的 channel 类里面,会使得该 channel 类变得臃肿,造成代码维护及迭代

    2024年02月02日
    浏览(31)
  • 新鲜出炉的 MVVM 脚手架 —— KtArmor-MVVM,面试安卓系统架构

    } 通过 @BindViewModel 注解viewModel 变量,KtArmor-MVVM 通过 反射 ,自动创建 LoginViewModel 实例, 并赋值给 viewModel 变量。直接使用即可! @BaseUrl(API.BASE_URL) // 看这里!! interface ApiService { @POST(API.LOGIN) suspend fun login(@Query(“username”) username: String, @Query(“password”) password: String): BaseRe

    2024年04月10日
    浏览(37)
  • 新鲜出炉!由腾讯安全深度参编的“首份网络安全态势感知国家标准”发布

    近日, 公安部第三研究所牵头、腾讯安全深度参编的信息安全国家标准《信息安全技术-网络安全态势感知通用技术要求》 ,由国家标准化管理委员会正式发布,将于2023年10月1日起实施。 作为国内首份网络安全态势感知的国家标准 ,它规范了网络安全态势感知体系的 数据汇

    2024年02月06日
    浏览(35)
  • 蚂蚁集团最新业绩出炉:净利润同比下降63%,连续三个季度下滑

    11月17日,阿里巴巴集团(简称“阿里”,HK:09988、NYSE:BABA)公布2023财年第二季度(对应自然年2022年第三季度)业绩。财报显示,阿里巴巴2022年第三季度的收入为人民币2071.76亿元(约合291.24万美元),同比增长3.23%。  2022年第三季度,阿里的经调整EBITDA为人民币433.11亿元(

    2024年02月04日
    浏览(82)
  • 2023届秋招图像算法岗面经记录(TPlink(普联)、潮州三环、中电十所、科大讯飞、旷视、超参数、虹软、大华、速腾聚创、中兴、哲库、字节、OPPO、百度、之江实验室、蚂蚁、Intel、小米)

    秋招战线拉的很长,四个月过去,offer二三,皆不甚满意。然世间没有完满之事,大多数情况下都是在几个次优解之间做选择。且选择越多后悔越多,人最重要的可能还是知足。现总结自身情况与经验教训,给有幸点开的小伙伴一点点参考。 【 自身背景】: 四川某末流985,

    2024年02月10日
    浏览(78)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包