小编Pit*_*tty的帖子

在API级别28中不推荐使用activeNetworkInfo.type

在此处输入图片说明我想使用提供方法activeNetworkInfo.type的连接管理器来检查Android中的网络类型。此方法在API级别28中已弃用。因此在API 28中检查网络类型的解决方案是什么。我的代码是:

/**
 * Check Wi Fi connectivity
 */
fun isWiFiConnected(context: Context): Boolean {
    val connManager = context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
    return connManager.activeNetworkInfo.type == ConnectivityManager.TYPE_WIFI
}
Run Code Online (Sandbox Code Playgroud)

我的摇篮就像:

compileSdkVersion 28
buildToolsVersion '28.0.3'
defaultConfig {
        minSdkVersion 21
        targetSdkVersion 28
    }
Run Code Online (Sandbox Code Playgroud)

android deprecated kotlin

15
推荐指数
6
解决办法
6416
查看次数

React-hook-form 如何与其他字段交互?

所以我基本上是新的 with-react-hook-form 我创建了一个带有受控输入的表单,其中第二个输入的条件基于我的第一个输入。我的第一个输入是持续时间,我有两个选项“每月”和“每年”。我的第二个输入是预算,其中每月的最低预算为 200,每年的最低预算为 400。

这是我的代码:

<div style={{ marginTop: theme.spacing(1) }}>
    <Controller
      as={Select}
      row
      name="duration"
      control={control}
      defaultValue="Monthly"
      fullWidth
      label={<FormattedMessage {...messages.duration} />}
      margin="normal"
      options={DURATION_OPTIONS}
      rules={{
        required: 'Required'
      }}
    />
  </div>


  <div>
    <Controller
      as={NumberField}
      row
      name="budget"
      control={control}
      defaultValue="1000"
      fullWidth
      label={<FormattedMessage {...messages.howMuchBudget} />}
      margin="normal"
      rules={{
        required: true,
        min: {
          value: 400,
          message: 'Min is 400',
        }
      }}
    />
  </div>
Run Code Online (Sandbox Code Playgroud)

现在我想根据我的第一个字段验证动态触发我的第二个字段验证。如果我选择的持续时间为每月,则第二个输入的最小验证应为 200,如果我的持续时间选择为每年,则第二个输入的最小验证应为 400。

任何帮助将不胜感激。

reactjs react-hooks react-hook-form

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

如何使用Google Play服务创建API-15模拟器(命令行)

我的应用程序的一个用户特别面临某些问题API Level 15 (4.0.4),我想在我的最终重现这个问题.我没有4.0.4设备,我想为此目的创建和模拟器.我正在运行Android Studio 2.0-beta6,并且GUI AVD Manager根本不显示任何API-15模拟器图像.

因此,我已经使用独立版SDK manager来安装API-15x86级别的系统映像,然后创建一个AVD命令行,如下所示.

$ android create avd -n Api-15-Gnex -t 1
Run Code Online (Sandbox Code Playgroud)

Id 1API-15我机器上目标的ID .但是,这个系统图像显然错过了Google APIs它,我的应用依赖于Google Play services,我需要它们专门来重现这个问题.

如何创建API-15模拟器Google APIs?优选地,来自命令行,但不是必须的.

android emulation android-sdk-tools google-play-services

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

无法在HttpLoggingInterceptor Retrofit2.0上解析setLevel

我正在使用Retrofit并且我想记录我的响应和其他事情,我正在使用这个https://futurestud.io/tutorials/retrofit-2-log-requests-and-responses类型但我面临Cant解决setLevel错误

HttpLoggingInterceptor logging = new HttpLoggingInterceptor();  

logging.setLevel(Level.BODY); // i am getting error on this

OkHttpClient.Builder httpClient = new OkHttpClient.Builder();  

httpClient.addInterceptor(logging); //this is also getting error
Run Code Online (Sandbox Code Playgroud)

我正在使用这个 编译'com.squareup.okhttp3:logging-interceptor:3.3.1'和Retrofit 编译'com.squareup.retrofit2:converter-gson:2.1.0'依赖.

这是我得到错误的地方

android retrofit2 okhttp3

4
推荐指数
3
解决办法
5096
查看次数

如何在将数据设置为edittext时禁用TextWatcher

我正在使用TextWatcher.EditText当我输入内容时edittext它完美无缺,但是当我edittext从数据库中设置数据时NullPointerException.我曾经onTouchListener这样做过Edittext.我的问题是.我可以检查TextWatcher只有在触摸事件为真后才有效的条件.

EditText det=(EditText) findViewById(R.id.det);
    det.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            // TODO Auto-generated method stub
            System.out.println(v.getId());
            d_id=v.getId();
            if (event.getAction() == MotionEvent.ACTION_UP) {
                getPopUp(det);
            }
            return false;
        }
    });
Run Code Online (Sandbox Code Playgroud)

当我在det上调用setText时它会转到 TextWatcher

det.setText(ft.get_det().toString());
Run Code Online (Sandbox Code Playgroud)

TextWatcher

                    @Override
            public void afterTextChanged(Editable string) {
                try {

                    int rp=0;
                    det=(EditText)findViewById(d_id);
                    s_id=d_id-4;
                    sev=(EditText)findViewById(s_id);
                    o_id=d_id-2;
                    occ=(EditText)findViewById(o_id);
                    rp=d_id+1;
                    rpn=(TextView)findViewById(rp);
                    if (sev.getText().length() > 0
                            || occ.getText().length() > 0
                            || sev.getText().length() …
Run Code Online (Sandbox Code Playgroud)

android android-edittext

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

导出常量变得不确定

当我从另一个js文件访问一个js文件的const值时,获取的是未定义数据

Abc.js

import { Platform } from 'react-native';

      const abc = Platform.select({
        ios: [
          'com.abc',
          'com.xyz'
        ],
        android: [
          'com.pqr',
          'com.lmn'
        ]
      });

    export default abc
Run Code Online (Sandbox Code Playgroud)

App.js

import React, { Component } from 'react';
import {
  Platform,
  StyleSheet,
  Text,
  Button,
  View
} from 'react-native';

import { abc } from "./Abc";

const instructions = Platform.select({
  ios: 'Press Cmd+R to reload,\n' +
    'Cmd+D or shake for dev menu',
  android: 'Double tap R on your keyboard to reload,\n' +
    'Shake or press menu …
Run Code Online (Sandbox Code Playgroud)

export react-native

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

如何创建 IOS 模拟器 Flutter

我是 Flutter 的新手,使用 AndroidStudio 作为 IDE。我成功创建了 Flutter 应用程序并能够在 Android 模拟器上运行它。

我可以创建 IOS 模拟器来使用 Android Studio 测试应用程序吗?如果是 请建议怎么可能?

flutter

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

以编程方式关闭Android应用程序

我正在开发一个Android项目,需求如下:如果exceptions发生任何问题,我们需要通过显示error消息退出应用程序.

我知道Android不允许以编程方式退出应用程序,因此其他解决方法应该是冻结用户应该无法在应用程序中执行任何操作的应用程序.但是我该如何实现呢.

android exit

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