小编Sab*_*aby的帖子

android - 横向导航图流预览

Android jetpack 组件的导航图预览始终显示布局编辑器中屏幕的纵向视图。我们可以自定义它以在我们选择的模拟器上查看屏幕吗?

android android-jetpack android-architecture-navigation android-jetpack-navigation

16
推荐指数
1
解决办法
768
查看次数

avahi 守护进程可用于在 BNEP(BT-PAN) 网络接口中发布和发现服务

avahi 守护进程可用于在 BNEP 网络接口中发布和发现服务吗?如果两个设备通过蓝牙连接,那么两个设备都将拥有 IP,因此我们可以在它们之间进行 TCP-IP 通信。实际上我想在跨平台(Android 和 Linux)中进行 mDNS 服务发现。在Android中,我可以使用Android的NSDManager在BNEP(BT-PAN)网络接口中发布和发现服务,并且它也适用于Android跨设备通信。所以android到android设备的通信不是问题。

现在我试图在Linux中发现在Android中发布的服务并从Linux中发现(反之亦然),但我无法做到这一点。[我已将我的 Linux 设备与 Android 绑定起来]

在linux中,在avahi配置(/etc/avahi/avahi-daemon.conf)中,我设置为allow-interfaces=bnep0

在从 Linux 发现服务时,我找不到已发布的服务。或者我也找不到Android中在Linux中发布的服务。

以前有人遇到过此类问题吗?
我正在尝试发现 bnep 中发布的服务

linux mdns bluetooth jmdns avahi

5
推荐指数
0
解决办法
716
查看次数

在 Android 中使用反射是一个糟糕的设计?

我是 Android 开发的新手。我有一个关于在 Android 中使用反射 API 的问题。

例如,我可以编写一些这样的代码来连接蓝牙:

     try {
        Method connectMethod = proxy.getClass().getDeclaredMethod("connect", BluetoothDevice.class);
        if(!((Boolean) connectMethod.invoke(proxy, device))){
            Log.i(TAG, "Unable to start connection");
        } else {
            Log.i(TAG, "Connection Successful");
        }
    } catch (Exception e) {
        Log.e(TAG, "Unable to reflect android.bluetooth.BluetoothPan", e);
    }
Run Code Online (Sandbox Code Playgroud)

类似地,其他 API 可用于设置网络共享和执行其他操作。这些功能(如设置网络共享)应该由用户通过手机中的设置应用程序完成。

这些是我的问题?

  1. android开发中不建议使用反射吗?
  2. 如果我为这些功能创建自定义权限并添加到用户权限,那么设计是否支持?因为反射API访问不需要特殊权限(用户权限)。
  3. 根据android设计模式,使用反射API是禁忌吗?

java reflection android

3
推荐指数
1
解决办法
2480
查看次数

为什么视图模型永远不应该引用视图?仅仅是设计 [如 SOC(关注点分离)] 还是其他什么?

当我浏览Android 开发人员手册链接中的视图模型时,我看到了这种警告。

注意:ViewModel 绝不能引用视图、生命周期或任何可能持有对活动上下文的引用的类。

这只是一个 SOC(关注分离)设计决策还是 android 系统设计内部的某些东西,这就是这种方法的原因。

如果它仅用于测试视图模型,那么您再次在视图模型中模拟该文件并对其进行测试。我还缺少什么吗?

android

3
推荐指数
1
解决办法
592
查看次数