首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用协程和 Flow 简化 API 设计

    Android 专用 API 对于 Jetpack 库或 Android 平台 API,您可以参阅 Jetpack KTX 库 列表。...事实上,我们在 后台线程任务运行指南 中将回调作为 Java 编程语言的默认解决方案。然而,回调也有许多缺点: 这一设计会导致令人费解的回调嵌套。同时,由于没有简单的传播方式,错误处理也更加复杂。...注册回调并通过调用 requestLocationUpdates 获取位置更新。...如果将新元素添加到已满的 channel,由于 offer 不会将元素添加到 channel 中,并且会立即返回 false,所以 send 会暂停生产者,直到频道 channel 中有新元素的可用空间为止...try { // 使用可取消 continuation 挂起协程 suspendCancellableCoroutine { cont -> // 仅在 Flow

    1.6K20

    安卓开发过程中的RatingBar、Handler以及GPS在大型项目中的使用【Android】

    RatingBar 点击评分栏后,通过Toast显示当前分数 单击按钮获取当前分数并将其显示在TextView上 <RatingBar android:id="@+id/rb_normal...默认值为false Android:numStars:显示多少颗星,必须是整数 Android:评级:默认评级值,必须是浮点数 Android:stepSize:每次得分所增加的值必须是一个浮点数...、双经度、浮动半径、长到期、PendingIntent意图):添加严重警告 获取所有提供程序():获取所有位置提供程序的列表 GetBestProvider(条件条件,启用布尔值):根据指定的条件返回最佳位置提供程序...minTime,float minDistance,Criteria Criteria,PendingIntent intent):通过指定的位置提供商定期获取位置信息,并通过意向启动相应的组件 requestLocationUpdates...Android返回的方向值是一个长度为3的flaot数组,包括三个方向的值!

    1.8K10

    Android - 页面返回上一页面的三种方式

    今年刚刚跳槽到了新公司,也开始转型做Android,由此开始Android的学习历程。   最近在解很多UI的bug,在解bug过程中,总结了在UI的实现过程中,页面返回上一页面的几种实现方式。...使用系统提供的Action Bar        Action Bar是一种新増的导航栏功能,在Android 3.0之后加入到系统的API当中,它标识了用户当前操作界面的位置,并提供了额外的用户动作、...: 6 return false;12 } 13 return super.onOptionsItemSelected(item)...机器上的back按键       处理此按键的后退功能,只需要在onBackPressed方法中就可以。...2 public boolean onBackPressed() { 3 return true; 4 } 以上就是自己在解Bug中总结的三种方式,作为小白,继续学习Android

    5.1K80

    项目需求讨论 - 定位功能小结

    (如果用户把定位功能给关了,那肯定二个都返回false。) ? 那这时候假如我们发现用户把定位功能关了。...但是android.location包下的并不是谷歌推荐的: ? 翻译过来就是:此API不是访问Android位置的推荐方法。...理论上是没问题的,但是大部分时候获取到的都是null , 毕竟GPS本身定位时间也会很久,而且如果在室内就更加GG了。 所以网上经常看到有提问: ?...也可以参考相关的链接了解一下:Android 成功 使用GPS获取当前地理位置(解决getLastKnownLocation 返回 null),不过貌似也没有找到百分百直接获取GPS定位获取信息的方式。...---- 2.2 监视位置变化 使用requestLocationUpdates方法来获取。

    96050

    手机卫士手机定位的原理

    需要网络来辅助定位,定位速度快,网络记录了上次的卫星轨道, 获取LocationManager对象,通过getSystemService(LOCATION_SERVICE) 调用LocationManager对象的requestLocationUpdates...(模拟器开发的时候) 模拟器上,ddms里面发送以下位置,才能显示 国家对坐标进行了加偏处理,变成火星坐标,需要国家测绘局的插件,网上有火星坐标转换代码 package com.tsh.mylocation...; import android.app.Activity; import android.location.Location; import android.location.LocationListener...; import android.location.LocationManager; import android.os.Bundle; import android.view.Menu; import...LocationManager) getSystemService(LOCATION_SERVICE); listener=new MyLocationListener(); lm.requestLocationUpdates

    1.7K20

    Android弹窗二则: PopupWindow和AlertDialog

    在高版本的android中(比如8.0), 实测可以不写, 但是低版本就不行了(比如4.1), 低版本不写的话, 会导致点击返回或者是屏幕其它地方无法取消弹窗, 所以稳妥起见还是加上, 并设置一个透明色...);这句在之前那句为true的前提下, true和false效果几乎一样....用API16的虚拟机. android.support.v7.app.AlertDialog.Builder builder = new android.support.v7.app.AlertDialog.Builder...//数字对应默认选中, 从0开始 builder.setMultiChoiceItems(new String[]{"1", "2", "3"}, new boolean[]{true, true, false...要说的是, 大家仔细看效果图, 会发现自定义View可以和builder.setMessage("message");共存, 但事实上, 好像没有这个必要, 我故意把一些非自定义的也展示出来, 其实自定义

    1.6K60

    Android 集成腾讯定位

    工程属性->Java Build Path->Libraries中选择“Add External JARs”,选定 TencentLocationSDK_v4.3.0_r196568.jar,确定后返回...修改定位请求参数, 定位周期 3000 ms request.setInterval(3000); // 开始定位 mLocationManager.requestLocationUpdates...(request, this); } 注:在这一步可能会出现错误导致后面定位失败,开始定位的方法会返回一个特征码,标示定位监视器是否成功注册。...int error = locationManager.requestLocationUpdates(request, listener); 因此最好获取一下这个特征码,下表展示标识码含义: 返回值 含义...0 注册位置监听器成功 1 设备缺少使用腾讯定位SDK需要的基本条件 2 配置的 key 不正确 3 自动加载libtencentloc.so失败,可能由以下原因造成: 返回码3可能是以下原因造成:

    1.7K20

    Android 隐私合规检查工具套装

    checkApiCall(callClazz, callMethod, it.name, clazz, apiList) } } 扫描出来的结果示例: [ "android.location.LocationManager_requestLocationUpdates...3]》文章,思路就是将 apk 解压,提取出 dex 文件,然后使用 baksmali 库将 dex 转成 smali 文件,然后逐行分析 smali 的方法调用情况,扫描出来的结果示例: [ "android.location.LocationManager_requestLocationUpdates...题外话: Pine 的实现思路可以看《ART上的动态Java方法hook框架[11]》,这是一篇 2020 年写的文章,关于信息里面,作者当前年龄 19 岁..... 2、基于 frida 的免 root...] ART上的动态Java方法hook框架[26] 参考资料 [1] 隐私合规代码排查思路: https://juejin.cn/post/7042967031599071269 [2] Android...tab=readme-ov-file#mobile-security-framework-mobsf [18] ART上的动态Java方法hook框架: https://blog.canyie.top/

    1.3K11

    Android系统服务(SystemService)简介

    onLocationChanged(Location location) { //监听到位置信息 } ... }; //注册监听器 locationManager.requestLocationUpdates...private final ILocationManager mService; ... private void requestLocationUpdates(LocationRequest request...class ListenerTransport transport = wrapListener(listener, looper); try { mService.requestLocationUpdates...new Location(location)); 实现 System Service 的注意事项 注意防止阻塞 应用层访问系统服务提供的接口时会有两种情况: 一种是应用调用端需要等待服务实现端处理完成,返回处理结果...另一种是调用端不需要等待服务端返回结果,调用完成后直接返回void,这样服务端发生阻塞不会影响到应用端,这样的单向的接口在AIDL里定义时需要添加oneway关键字,如: oneway void statusBarVisibilityChanged

    1.9K00
    领券