集成百度地图导航其实很简单,但是必须要在百度TT语音播报后台成功注册了注册地址注册时候很简单我就不赘述了,

上代码:

TodaytaskdetailActivity .java

package com.wdkj.housemanager.activity;import android.Manifest;
import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.method.ScrollingMovementMethod;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ScrollView;
import android.widget.TextView;
import android.widget.Toast;import com.baidu.location.BDLocation;
import com.baidu.location.BDLocationListener;
import com.baidu.location.LocationClient;
import com.baidu.location.LocationClientOption;
import com.baidu.navisdk.adapter.BNCommonSettingParam;
import com.baidu.navisdk.adapter.BNOuterLogUtil;
import com.baidu.navisdk.adapter.BNOuterTTSPlayerCallback;
import com.baidu.navisdk.adapter.BNRoutePlanNode;
import com.baidu.navisdk.adapter.BNaviSettingManager;
import com.baidu.navisdk.adapter.BaiduNaviManager;
import com.bumptech.glide.Glide;
import com.wdkj.housemanager.R;
import com.wdkj.housemanager.bean.Constant;
import com.wdkj.housemanager.bean.SuccessdEvent;
import com.wdkj.housemanager.bean.TaskItemBean;
import com.wdkj.housemanager.view.CircleImageView;import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;import java.io.File;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;import butterknife.BindView;
import butterknife.ButterKnife;import static com.baidu.navisdk.adapter.BNRoutePlanNode.CoordinateType.BD09LL;
import static com.baidu.navisdk.adapter.BNRoutePlanNode.CoordinateType.WGS84;
import static com.baidu.navisdk.adapter.PackageUtil.getSdcardDir;
import static com.baidu.navisdk.adapter.PackageUtil.init;/*** 今日任务详情*/
public class TodaytaskdetailActivity extends Activity implements View.OnClickListener {@BindView(R.id.ll_back)LinearLayout llBack;@BindView(R.id.tv_creatperson)TextView tvCreatperson;@BindView(R.id.tv_task)TextView tvTask;@BindView(R.id.iv_person)CircleImageView ivPerson;@BindView(R.id.tv_execuperson)TextView tvExecuperson;@BindView(R.id.tv_category)TextView tvCategory;@BindView(R.id.tv_name)TextView tvName;@BindView(R.id.tv_status)TextView tvStatus;@BindView(R.id.tv_starttime)TextView tvStarttime;@BindView(R.id.tv_endtime)TextView tvEndtime;@BindView(R.id.tv_overtime)TextView tv_overtime;@BindView(R.id.tv_content)TextView tvContent;@BindView(R.id.wb_location)WebView wbLocation;@BindView(R.id.ll_save)LinearLayout llSave;@BindView(R.id.ll_photo)LinearLayout llPhoto;@BindView(R.id.ll_onwer)LinearLayout llOnwer;@BindView(R.id.sc_view)ScrollView scView;@BindView(R.id.iv_housesave)ImageView ivHousesave;@BindView(R.id.iv_housephoto)ImageView ivHousephoto;@BindView(R.id.iv_housejd)ImageView ivHousejd;@BindView(R.id.tv_housesave)TextView tvHousesave;@BindView(R.id.tv_housephoto)TextView tvHousephoto;@BindView(R.id.tv_housejd)TextView tvHousejd;@BindView(R.id.ll_newbottom)LinearLayout llNewbottom;@BindView(R.id.ll_task_map)LinearLayout llTaskmap;private TaskItemBean detailBean;private WebSettings webSettings;private int requestCode;private static final String[] authBaseArr = { Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.ACCESS_FINE_LOCATION };private static final String[] authComArr = { Manifest.permission.READ_PHONE_STATE };public static List<Activity> activityList = new LinkedList<Activity>();private static final int authBaseRequestCode = 1;private static final int authComRequestCode = 2;private boolean hasInitSuccess = false;private boolean hasRequestComAuth = false;public static final String ROUTE_PLAN_NODE = "routePlanNode";private String mSDCardPath = null;private static final String APP_FOLDER_NAME = "BNSDKSimpleDemo";private static final String TAG = "TodaytaskdetailActivity";private MyLocationListener myListener;private LocationClient mLocationClient;private double mCurrentLat,mCurrentLon;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);activityList.add(this);setContentView(R.layout.activity_todaytaskdetail);ButterKnife.bind(this);if (getIntent() != null) {detailBean = (TaskItemBean) getIntent().getSerializableExtra("todaytaskBean");requestCode = getIntent().getIntExtra("requestCode", 0);}initLocation();EventBus.getDefault().register(this);scView.smoothScrollTo(0, 0);llTaskmap.setOnClickListener(this);//点击导航}private boolean initDirs() {mSDCardPath = getSdcardDir();if (mSDCardPath == null) {return false;}File f = new File(mSDCardPath, APP_FOLDER_NAME);if (!f.exists()) {try {f.mkdir();} catch (Exception e) {e.printStackTrace();return false;}}return true;}String authinfo = null;/*** 内部TTS播报状态回传handler*/private Handler ttsHandler = new Handler() {public void handleMessage(Message msg) {int type = msg.what;switch (type) {case BaiduNaviManager.TTSPlayMsgType.PLAY_START_MSG: {// showToastMsg("Handler : TTS play start");break;}case BaiduNaviManager.TTSPlayMsgType.PLAY_END_MSG: {// showToastMsg("Handler : TTS play end");break;}default:break;}}};/*** 内部TTS播报状态回调接口*/private BaiduNaviManager.TTSPlayStateListener ttsPlayStateListener = new BaiduNaviManager.TTSPlayStateListener() {@Overridepublic void playEnd() {// showToastMsg("TTSPlayStateListener : TTS play end");}@Overridepublic void playStart() {// showToastMsg("TTSPlayStateListener : TTS play start");}};private void initNavi() {BNOuterTTSPlayerCallback ttsCallback = null;// 申请权限if (android.os.Build.VERSION.SDK_INT >= 23) {if (!hasBasePhoneAuth()) {this.requestPermissions(authBaseArr, authBaseRequestCode);return;}}BaiduNaviManager.getInstance().init(this, mSDCardPath, APP_FOLDER_NAME, new BaiduNaviManager.NaviInitListener() {@Overridepublic void onAuthResult(int status, String msg) {if (0 == status) {authinfo = "key校验成功!";} else {authinfo = "key校验失败, " + msg;}
//                TodaytaskdetailActivity.this.runOnUiThread(new Runnable() {
//
//                    @Override
//                    public void run() {
//                        Toast.makeText(TodaytaskdetailActivity.this, authinfo, Toast.LENGTH_LONG).show();
//                    }
//                });}public void initSuccess() {//Toast.makeText(TodaytaskdetailActivity.this,"百度导航引擎初始化成功", Toast.LENGTH_SHORT).show();hasInitSuccess = true;initSetting();}public void initStart() {//Toast.makeText(TodaytaskdetailActivity.this, "百度导航引擎初始化开始", Toast.LENGTH_SHORT).show();}public void initFailed() {//Toast.makeText(TodaytaskdetailActivity.this, "百度导航引擎初始化失败", Toast.LENGTH_SHORT).show();}}, null, ttsHandler, ttsPlayStateListener);}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.ll_task_map:if (BaiduNaviManager.isNaviInited()) {Toast.makeText(TodaytaskdetailActivity.this,"即将开始导航",Toast.LENGTH_SHORT).show();routeplanToNavi();}break;}}private BNRoutePlanNode.CoordinateType mCoordinateType = null;//    private void routeplanToNavi(BNRoutePlanNode.CoordinateType coType) {
private void routeplanToNavi() {
//        mCoordinateType = coType;if (!hasInitSuccess) {//Toast.makeText(TodaytaskdetailActivity.this, "还未初始化!", Toast.LENGTH_SHORT).show();}// 权限申请if (android.os.Build.VERSION.SDK_INT >= 23) {// 保证导航功能完备if (!hasCompletePhoneAuth()) {if (!hasRequestComAuth) {hasRequestComAuth = true;this.requestPermissions(authComArr, authComRequestCode);return;} else {//Toast.makeText(TodaytaskdetailActivity.this, "没有完备的权限!", Toast.LENGTH_SHORT).show();}}}BNRoutePlanNode sNode = null;BNRoutePlanNode eNode = null;sNode = new BNRoutePlanNode(mCurrentLon, mCurrentLat,null, null, BD09LL);//起点eNode = new BNRoutePlanNode(detailBean.getLon(), detailBean.getLat(),null, null, WGS84);//终点if (sNode != null && eNode != null) {List<BNRoutePlanNode> list = new ArrayList<BNRoutePlanNode>();list.add(sNode);//添加起点list.add(eNode);//添加终点BaiduNaviManager.getInstance().launchNavigator(this, list, 1, true, new DemoRoutePlanListener(sNode));}}public class DemoRoutePlanListener implements BaiduNaviManager.RoutePlanListener {private BNRoutePlanNode mBNRoutePlanNode = null;public DemoRoutePlanListener(BNRoutePlanNode node) {mBNRoutePlanNode = node;}@Overridepublic void onJumpToNavigator() {/** 设置途径点以及resetEndNode会回调该接口*/for (Activity ac : activityList) {if (ac.getClass().getName().endsWith("BNDemoGuideActivity")) {return;}}Intent intent = new Intent(TodaytaskdetailActivity.this, BNDemoGuideActivity.class);//跳转到导航界面Bundle bundle = new Bundle();bundle.putSerializable(ROUTE_PLAN_NODE, (BNRoutePlanNode) mBNRoutePlanNode);intent.putExtras(bundle);startActivity(intent);}@Overridepublic void onRoutePlanFailed() {// TODO Auto-generated method stubToast.makeText(TodaytaskdetailActivity.this, "算路失败", Toast.LENGTH_SHORT).show();}}private void initSetting() {BNaviSettingManager.setDayNightMode(BNaviSettingManager.DayNightMode.DAY_NIGHT_MODE_DAY);BNaviSettingManager.setShowTotalRoadConditionBar(BNaviSettingManager.PreViewRoadCondition.ROAD_CONDITION_BAR_SHOW_ON);BNaviSettingManager.setVoiceMode(BNaviSettingManager.VoiceMode.Veteran);// BNaviSettingManager.setPowerSaveMode(BNaviSettingManager.PowerSaveMode.DISABLE_MODE);BNaviSettingManager.setRealRoadCondition(BNaviSettingManager.RealRoadCondition.NAVI_ITS_ON);Bundle bundle = new Bundle();// 必须设置APPID,否则会静音bundle.putString(BNCommonSettingParam.TTS_APP_ID, "9480303");//将TTS申请的语音设置好BNaviSettingManager.setNaviSdkParam(bundle);}@Subscribepublic void onEventMainThread(SuccessdEvent event) {if (event.getCode() == 100 || event.getCode() == 300) {detailBean.setStatus(2);}}private boolean hasBasePhoneAuth() {// TODO Auto-generated method stubPackageManager pm = this.getPackageManager();for (String auth : authBaseArr) {if (pm.checkPermission(auth, this.getPackageName()) != PackageManager.PERMISSION_GRANTED) {return false;}}return true;}private boolean hasCompletePhoneAuth() {// TODO Auto-generated method stubPackageManager pm = this.getPackageManager();for (String auth : authComArr) {if (pm.checkPermission(auth, this.getPackageName()) != PackageManager.PERMISSION_GRANTED) {return false;}}return true;}@Overrideprotected void onResume() {super.onResume();}/*** 初始化定位*/private void initLocation(){// 开启定位图层myListener = new MyLocationListener();mLocationClient = new LocationClient(TodaytaskdetailActivity.this);mLocationClient.registerLocationListener(myListener);LocationClientOption option = new LocationClientOption();option.setOpenGps(true); // 打开gpsoption.setCoorType("bd09ll"); // 设置坐标类型option.setScanSpan(60000);mLocationClient.setLocOption(option);mLocationClient.start();}public class MyLocationListener implements BDLocationListener {@Overridepublic void onReceiveLocation(final BDLocation location) {//获取定位结果// map view 销毁后不在处理新接收的位置if (location == null) {return;}mCurrentLat = location.getLatitude();mCurrentLon = location.getLongitude();//开始初始化导航信息BNOuterLogUtil.setLogSwitcher(true);if (initDirs()) {initNavi();}}@Overridepublic void onConnectHotSpotMessage(String s, int i) {}}@Overrideprotected void onDestroy() {super.onDestroy();EventBus.getDefault().unregister(this);// 退出时销毁定位mLocationClient.stop();}}

BNDemoGuideActivity.java

package com.wdkj.housemanager.activity;import java.util.ArrayList;
import java.util.List;
import com.baidu.navisdk.adapter.BNRouteGuideManager;
import com.baidu.navisdk.adapter.BNRouteGuideManager.CustomizedLayerItem;
import com.baidu.navisdk.adapter.BNRouteGuideManager.OnNavigationListener;
import com.baidu.navisdk.adapter.BNRoutePlanNode;
import com.baidu.navisdk.adapter.BNaviBaseCallbackModel;
import com.baidu.navisdk.adapter.BaiduNaviCommonModule;
import com.baidu.navisdk.adapter.NaviModuleFactory;
import com.baidu.navisdk.adapter.NaviModuleImpl;
import com.baidu.navisdk.adapter.BNRoutePlanNode.CoordinateType;
import com.wdkj.housemanager.R;import android.app.Activity;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.view.View;/*** 诱导界面** @author sunhao04**/
public class BNDemoGuideActivity extends Activity {private final String TAG = BNDemoGuideActivity.class.getName();private BNRoutePlanNode mBNRoutePlanNode = null;private BaiduNaviCommonModule mBaiduNaviCommonModule = null;/** 对于导航模块有两种方式来实现发起导航。 1:使用通用接口来实现 2:使用传统接口来实现**/// 是否使用通用接口private boolean useCommonInterface = true;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);TodaytaskdetailActivity.activityList.add(this);//添加到TodaytaskdetailActivity中createHandler();if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {}View view = null;if (useCommonInterface) {//使用通用接口mBaiduNaviCommonModule = NaviModuleFactory.getNaviModuleManager().getNaviCommonModule(NaviModuleImpl.BNaviCommonModuleConstants.ROUTE_GUIDE_MODULE, this,BNaviBaseCallbackModel.BNaviBaseCallbackConstants.CALLBACK_ROUTEGUIDE_TYPE, mOnNavigationListener);if(mBaiduNaviCommonModule != null) {mBaiduNaviCommonModule.onCreate();view = mBaiduNaviCommonModule.getView();}} else {//使用传统接口view = BNRouteGuideManager.getInstance().onCreate(this,mOnNavigationListener);}if (view != null) {setContentView(view);}Intent intent = getIntent();if (intent != null) {Bundle bundle = intent.getExtras();if (bundle != null) {mBNRoutePlanNode = (BNRoutePlanNode) bundle.getSerializable(TodaytaskdetailActivity.ROUTE_PLAN_NODE);}}//显示自定义图标if (hd != null) {hd.sendEmptyMessageAtTime(MSG_SHOW, 5000);}}@Overrideprotected void onResume() {super.onResume();if(useCommonInterface) {if(mBaiduNaviCommonModule != null) {mBaiduNaviCommonModule.onResume();}} else {BNRouteGuideManager.getInstance().onResume();}}protected void onPause() {super.onPause();if(useCommonInterface) {if(mBaiduNaviCommonModule != null) {mBaiduNaviCommonModule.onPause();}} else {BNRouteGuideManager.getInstance().onPause();}};@Overrideprotected void onDestroy() {super.onDestroy();if(useCommonInterface) {if(mBaiduNaviCommonModule != null) {mBaiduNaviCommonModule.onDestroy();}} else {BNRouteGuideManager.getInstance().onDestroy();}TodaytaskdetailActivity.activityList.remove(this);}@Overrideprotected void onStop() {super.onStop();if(useCommonInterface) {if(mBaiduNaviCommonModule != null) {mBaiduNaviCommonModule.onStop();}} else {BNRouteGuideManager.getInstance().onStop();}}@Overridepublic void onBackPressed() {if(useCommonInterface) {if(mBaiduNaviCommonModule != null) {mBaiduNaviCommonModule.onBackPressed(true);}} else {BNRouteGuideManager.getInstance().onBackPressed(false);}}public void onConfigurationChanged(android.content.res.Configuration newConfig) {super.onConfigurationChanged(newConfig);if(useCommonInterface) {if(mBaiduNaviCommonModule != null) {mBaiduNaviCommonModule.onConfigurationChanged(newConfig);}} else {BNRouteGuideManager.getInstance().onConfigurationChanged(newConfig);}};@Overridepublic boolean onKeyDown(int keyCode, android.view.KeyEvent event) {if(useCommonInterface) {if(mBaiduNaviCommonModule != null) {Bundle mBundle = new Bundle();mBundle.putInt(RouteGuideModuleConstants.KEY_TYPE_KEYCODE, keyCode);mBundle.putParcelable(RouteGuideModuleConstants.KEY_TYPE_EVENT, event);mBaiduNaviCommonModule.setModuleParams(RouteGuideModuleConstants.METHOD_TYPE_ON_KEY_DOWN, mBundle);try {Boolean ret = (Boolean)mBundle.get(RET_COMMON_MODULE);if(ret) {return true;}}catch(Exception e){e.printStackTrace();}}}return super.onKeyDown(keyCode, event);}@Overrideprotected void onStart() {super.onStart();// TODO Auto-generated method stubif(useCommonInterface) {if(mBaiduNaviCommonModule != null) {mBaiduNaviCommonModule.onStart();}} else {BNRouteGuideManager.getInstance().onStart();}}private void addCustomizedLayerItems() {List<CustomizedLayerItem> items = new ArrayList<CustomizedLayerItem>();CustomizedLayerItem item1 = null;if (mBNRoutePlanNode != null) {item1 = new CustomizedLayerItem(mBNRoutePlanNode.getLongitude(), mBNRoutePlanNode.getLatitude(),mBNRoutePlanNode.getCoordinateType(), getResources().getDrawable(R.mipmap.ic_launcher),CustomizedLayerItem.ALIGN_CENTER);items.add(item1);BNRouteGuideManager.getInstance().setCustomizedLayerItems(items);}BNRouteGuideManager.getInstance().showCustomizedLayer(true);}private static final int MSG_SHOW = 1;private static final int MSG_HIDE = 2;private static final int MSG_RESET_NODE = 3;private Handler hd = null;private void createHandler() {if (hd == null) {hd = new Handler(getMainLooper()) {public void handleMessage(android.os.Message msg) {if (msg.what == MSG_SHOW) {addCustomizedLayerItems();} else if (msg.what == MSG_HIDE) {BNRouteGuideManager.getInstance().showCustomizedLayer(false);} else if (msg.what == MSG_RESET_NODE) {BNRouteGuideManager.getInstance().resetEndNodeInNavi(new BNRoutePlanNode(116.21142, 40.85087, "百度大厦11", null, CoordinateType.GCJ02));}};};}}private OnNavigationListener mOnNavigationListener = new OnNavigationListener() {@Overridepublic void onNaviGuideEnd() {//退出导航finish();}@Overridepublic void notifyOtherAction(int actionType, int arg1, int arg2, Object obj) {if (actionType == 0) {//导航到达目的地 自动退出Log.i(TAG, "notifyOtherAction actionType = " + actionType + ",导航到达目的地!");}Log.i(TAG, "actionType:" + actionType + "arg1:" + arg1 + "arg2:" + arg2 + "obj:" + obj.toString());}};private final static String RET_COMMON_MODULE = "module.ret";private interface RouteGuideModuleConstants {final static int METHOD_TYPE_ON_KEY_DOWN = 0x01;final static String KEY_TYPE_KEYCODE = "keyCode";final static String KEY_TYPE_EVENT = "event";}
}

在AndroidManifest.xml中配置

        <activityandroid:name=".activity.BNDemoGuideActivity"android:configChanges="orientation|screenSize|keyboard|keyboardHidden"android:theme="@android:style/Theme.NoTitleBar.Fullscreen"><intent-filter><action android:name="android.intent.action.VIEW" /><category android:name="android.intent.category.DEFAULT" /></intent-filter></activity>

效果如下:

Android集成百度地图实现导航相关推荐

  1. android百度导航实现,Android 集成百度地图实现设备定位

    Android 集成百度地图实现设备定位 步骤1: 申请android 端SDK : http://lbsyun.baidu.com/ 步骤2: 下载基础版SDK 步骤3: 下载示例程序 步骤4: 开 ...

  2. Android 集成百度地图之申请TTS授权最新版

    Android 集成百度地图之申请TTS授权最新版. 前提:登录百度地图开放平台,且已创建好应用. 开发文档-Android 导航SDK-TTS授权申请. 这里有个坑,简单说下,进入http://yu ...

  3. Android集成百度定位以及导航详解

    Android集成百度定位以及导航详解                    百度地图Android SDK 官方下载地址:                            包括类参考.示例代码 ...

  4. Android 集成百度地图AR识别SDK(二)

    废话 今天我们开始集成百度地图AR识别SDK(后面简称AR SDK)的第二章,这一章我们主要讲Android Studio如何配置AR SDK 我们如果单单只看文档的话,很难看懂如何集成,我们需要结合 ...

  5. Android集成百度地图接口,实现定位+路径规划。新手教程

    本文主要内容包括:如何根据百度地图接口实现定位,并实现从A到B的路径规划功能(驾车,公交,步行).本文主要提供给新手参考,如果有错误希望博友们指出以便及时改正. 1.申请百度地图SDK的密钥(填写安全 ...

  6. android开发百度地图步行导航

    准备工作: 在百度地图上下载依赖,配置key. 创建一个demo项目,可显示百度地图的 添加按钮,点击按钮,开始导航 发起算路我用的是routePlanWithRouteNode这个方法,官网中rou ...

  7. Android集成百度地图SDK

    本Demo中所含功能 1:定位,显示当前位置 2:地图多覆盖物(地图描点,弹出该点的详细信息) 3:坐标地址互相换算 4:POI兴趣点检索 5:线路查询(步行,驾车,公交) 6:绘制线路(OpenGL ...

  8. Android 集成百度地图AR识别SDK(一)

    废话 我最近一直在想手机上如何实现AR功能,很多方法都试过了,但是要不是一些官方文档看不懂,要不就是集成起来特别麻烦,总之就是无从下手 有一天,一位同事突然和我说百度地图有AR功能,于是我赶紧试了下, ...

  9. Android集成百度地图

    1. 百度地图api Android定位SDK Android地图SDK Android地图SDK<------

  10. Android集成百度地图-----显示地图、定位、长按显示地址信息

    一.基础部分 转载请注明出处:https://blog.csdn.net/Hunter2916/article/details/82867205 1.下载百度地图的SDK 下载地址:http://lb ...

最新文章

  1. SQL的连接(join)有哪些常见形式?解释一下?解释 SQL 的 left join 和 right join?
  2. 全新思科数字化解决方案与产品让企业如虎添翼
  3. Access数据库访问助手类
  4. IT餐馆—第二十五回 结对
  5. 再看那个用代码把人类送上月球的女人——Margaret Hamilton
  6. bootstrap3的 progress 进度条
  7. 机器学习基础(四十五)—— 模拟退火(Simulated Annealing)
  8. pycharm-实用教程和每日练习
  9. Camera 初始化(Open)一(FrameWork - Hal)
  10. udp聊天室的界面实现
  11. 制作双绞线时,T568b、T568a 线序分别是什么?
  12. Android 天气APP(二十七)增加地图天气的逐小时天气、太阳和月亮数据
  13. (复习)基础算法--搜索--深入训练(USACO-Feb08、WOW模拟赛Day2-T4、USACO-Dec13、CTSC-1999)
  14. 新网的虚拟主机连接mysql_虚拟主机怎么导入数据库
  15. 基于Pxa270和Qt图形界面技术的人脸识别与密码电子锁的门禁系统
  16. Kafka学习--------消息存储,ISR
  17. 麒麟 嵌入式linux操作系统_体验了一下北韩操作系统RedStar红星OS;国产linux优麒麟...
  18. 衡水东方计算机学校地址,衡水东方计算机学校
  19. postsql查询近一年的数据
  20. 怎样用计算机命令提高网速,怎样提高网速,详细教您电脑怎样提高网速

热门文章

  1. AI 编辑视频!这特效太逆天了!代码开源 SIGGRAPH Asia 2021
  2. 问道手游服务器修改密码,问道手游账号安全设置及找回密码教程 玩转问道
  3. 【EduCoder答案】循环结构程序设计1
  4. matplotlib.animation 万有引力
  5. JetPack-Compose - Flutter 动态UI?
  6. 华东理工大学计算机专业研究生,华东理工大学硕士研究生培养方案计算机科学与技术一级学科(学科代码:0812)信息科学与工程学院...
  7. mysql_帮助命令/通配搜索/help help用法(official doc)
  8. ASEMI快恢复二极管SFF806A的压降是多少
  9. 程序员必读职场15大定律和7大原则
  10. 外国知名大学开放课程网址