小编phn*_*mnn的帖子

Android - 无法找到CMake

我想运行sensor-graph示例项目

以下之后:

  1. 使用NDK捆绑包下载Android Studio 2.2+.
  2. 启动Android Studio.
  3. 打开android-ndk/sensor-graph示例.
  4. 打开文件/项目结构......
  5. 单击下载或选择NDK位置.
  6. 单击工具/ Android /使用Gradle文件同步项目.
  7. 单击运行/运行'app'.

我得到以下错误:

无法找到CMake.

Gradle sync失败:无法找到CMake.在文件/设置/外观和行为/系统设置/ Android SDK/SDK工具/ CMake下从Android Studio安装./ Users/myUser/Library/Android/sdk/cmake/bin/cmake中的预期CMake可执行文件.有关更多详细信息,请参阅IDE日志(帮助|显示日志)

c++ android android-ndk

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

使用 Dagger 2 将属性注入 ViewModel

我尝试学习如何使用 Dagger 2。请帮助解决以下异常:

异常:UninitializedPropertyAccessException:lateinit 属性行程尚未初始化

主要活动视图模型:

class MainActivityViewModel : ViewModel() {
    private lateinit var tripsLiveData: MutableLiveData<List<Trip>>

    @Inject
    lateinit var trips : List<Trip>

    fun getTrips() : LiveData<List<Trip>> {
        if (!::tripsLiveData.isInitialized){
            tripsLiveData = MutableLiveData()
            tripsLiveData.value = trips
        }
        return tripsLiveData
    }
}
Run Code Online (Sandbox Code Playgroud)

行程模块:

@Module
class TripModule{
    @Provides
    fun provideTrips(): List<Trip> {

        var list = ArrayList<Trip>()
        list.add(Trip(100,10))
        list.add(Trip(200,20))
        return list
    }
}
Run Code Online (Sandbox Code Playgroud)

应用程序组件:

@Singleton
@Component(modules = [
    AndroidSupportInjectionModule::class,
    ActivityBuilder::class,
    TripModule::class])
interface AppComponent{
    @Component.Builder
    interface Builder {
        @BindsInstance
        fun application(application: Application): Builder

        fun build(): …
Run Code Online (Sandbox Code Playgroud)

android dagger-2

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

Swift - 打开元类型

选项1:

func getKeyByType<T:Decodable>(type: T.Type) -> String {

    if (type == [String].self){
        return "storageKey"
    }

    return "nothing"
}
Run Code Online (Sandbox Code Playgroud)

选项2:

func getKeyByType<T:Decodable>(type: T.Type) -> String {

    switch type {
    case [String].self:
        return "storageKey"
    default:
        return "nothing"
    }
}
Run Code Online (Sandbox Code Playgroud)

//

getKeyByType(type: [String].self)
Run Code Online (Sandbox Code Playgroud)

第一种方法工作正常,但第二种方法出现编译错误:

“[String].Type”类型的表达式模式无法与“T.Type”类型的值匹配

如何让 switch 与元类型一起工作?

swift

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

Android - 如何使用PermissionsDispatcher一次请求多个权限?

我知道如何一次请求多个权限.例如:

final private int REQUEST_CODE_ASK_MULTIPLE_PERMISSIONS = 124;

private void insertDummyContactWrapper() {
    List<String> permissionsNeeded = new ArrayList<String>();

    final List<String> permissionsList = new ArrayList<String>();
    if (!addPermission(permissionsList, Manifest.permission.ACCESS_FINE_LOCATION))
        permissionsNeeded.add("GPS");
    if (!addPermission(permissionsList, Manifest.permission.READ_CONTACTS))
        permissionsNeeded.add("Read Contacts");
    if (!addPermission(permissionsList, Manifest.permission.WRITE_CONTACTS))
        permissionsNeeded.add("Write Contacts");

    if (permissionsList.size() > 0) {
        if (permissionsNeeded.size() > 0) {
            // Need Rationale
            String message = "You need to grant access to " + permissionsNeeded.get(0);
            for (int i = 1; i < permissionsNeeded.size(); i++)
                message = message + ", " + permissionsNeeded.get(i);
            showMessageOKCancel(message,
                    new …
Run Code Online (Sandbox Code Playgroud)

permissions android

2
推荐指数
1
解决办法
566
查看次数

使用adb授予/撤消权限

Android文档包含adb grant和adb revoke命令的以下说明.

使用adb工具从命令行管理权限:按组列出权限和状态:$ adb shell pm list permissions -d -g 授予或撤消一个或多个权限:$ adb shell pm [grant|revoke] <permission-name> ...分析您的应用程序以查找使用权限的服务.

我运行此命令,没有任何错误消息:

abd shell pm [grant|revoke] com.my.app android.permission.ACCESS_FINE_LOCATION
Run Code Online (Sandbox Code Playgroud)

如果我打开设置 - >应用程序 - > myapp - >权限.我没有看到任何变化......

我怎么知道我的adb命令是否有效?为什么app的设置没有任何变化?

permissions android

2
推荐指数
1
解决办法
7368
查看次数

iOS 13-如何检查用户是否已接受蓝牙权限?

作为iOS 13的一部分,如果应用想要访问蓝牙,则现在需要请求权限。 在此处输入图片说明

如何检查用户是否已接受蓝牙许可?

ios

1
推荐指数
4
解决办法
770
查看次数

如何在 Obj-C 中调用一些带有超时的阻塞方法?

在Objective C中是否有一种标准的好方法来调用具有超时的阻塞方法?我希望能够做到:

// call [something blockingMethod];
// if it hasn't come back within 2 seconds, forget it
Run Code Online (Sandbox Code Playgroud)

谢谢。

objective-c

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

标签 统计

android ×4

permissions ×2

android-ndk ×1

c++ ×1

dagger-2 ×1

ios ×1

objective-c ×1

swift ×1