Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将设备更新到Android Pie 9.0后未加载视图_Android_Android Recyclerview_Android Viewpager_Android 9.0 Pie_Android Internet - Fatal编程技术网

将设备更新到Android Pie 9.0后未加载视图

将设备更新到Android Pie 9.0后未加载视图,android,android-recyclerview,android-viewpager,android-9.0-pie,android-internet,Android,Android Recyclerview,Android Viewpager,Android 9.0 Pie,Android Internet,我最近把手机升级到了安卓9.0。我正在开发的应用程序在早期的Android版本中运行良好。但是在更新之后,一些需要internet的视图没有加载。空格将显示在它们的位置上 它有一个ViewPager作为横幅,在类别和交易下方分别有2个RecyclerView。它们都需要互联网来加载数据 我不知道Android Pie中是否需要任何额外的权限或依赖项 日志显示 NetworkDispatcher.run:未处理的异常java.lang.NullPointerException:尝试对空对象引用调

我最近把手机升级到了安卓9.0。我正在开发的应用程序在早期的Android版本中运行良好。但是在更新之后,一些需要internet的视图没有加载。空格将显示在它们的位置上

它有一个
ViewPager
作为横幅,在类别和交易下方分别有2个
RecyclerView
。它们都需要互联网来加载数据

我不知道Android Pie中是否需要任何额外的权限或依赖项

日志显示

NetworkDispatcher.run:未处理的异常java.lang.NullPointerException:尝试对空对象引用调用虚拟方法“int java.lang.String.length()”

java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“int java.lang.String.length()”

为了增强用户隐私,Android 9引入了一些行为更改,例如限制后台应用程序访问设备传感器,限制从Wi-Fi扫描检索的信息,以及与电话通话、电话状态和Wi-Fi扫描相关的新权限规则和权限组

这些更改会影响Android 9上运行的所有应用程序,无论目标SDK版本如何

android:usesCleartextTraffic
指示应用程序是否打算使用明文网络流量,如明文HTTP。默认值为“true”。 当属性设置为“false”时,平台组件(例如HTTP和FTP堆栈、DownloadManager、MediaPlayer)将拒绝应用程序使用明文通信的请求。强烈鼓励第三方图书馆也尊重这种设置。避免明文通信的关键原因是缺乏机密性、真实性和防篡改保护:网络攻击者可以窃听传输的数据,也可以在未被检测到的情况下对其进行修改


这个标志是在尽力而为的基础上使用的,因为考虑到提供给Android应用程序的访问级别,不可能阻止所有来自Android应用程序的明文通信。例如,并不期望套接字API遵守此标志,因为它无法确定其通信量是否为明文。但是,来自应用程序的大多数网络流量都是由更高级别的网络堆栈/组件处理的,这些堆栈/组件可以通过从ApplicationInfo.flags或NetworkSecurityPolicy.isClearTextTrafficAllowed()读取此标志来遵守此标志。

为了增强用户隐私,Android 9引入了一些行为更改,例如限制后台应用程序对设备传感器的访问,限制从Wi-Fi扫描中检索的信息,以及与电话呼叫、电话状态和Wi-Fi扫描相关的新权限规则和权限组

这些更改会影响Android 9上运行的所有应用程序,无论目标SDK版本如何

android:usesCleartextTraffic
指示应用程序是否打算使用明文网络流量,如明文HTTP。默认值为“true”。 当属性设置为“false”时,平台组件(例如HTTP和FTP堆栈、DownloadManager、MediaPlayer)将拒绝应用程序使用明文通信的请求。强烈鼓励第三方图书馆也尊重这种设置。避免明文通信的关键原因是缺乏机密性、真实性和防篡改保护:网络攻击者可以窃听传输的数据,也可以在未被检测到的情况下对其进行修改


这个标志是在尽力而为的基础上使用的,因为考虑到提供给Android应用程序的访问级别,不可能阻止所有来自Android应用程序的明文通信。例如,并不期望套接字API遵守此标志,因为它无法确定其通信量是否为明文。但是,来自应用程序的大多数网络流量都是由更高级别的网络堆栈/组件处理的,它们可以通过从ApplicationInfo.flags或NetworkSecurityPolicy.isClearTextTrafficAllowed()读取此标志来遵守此标志。

我认为唯一可能的错误是。在Android 9之后,您需要指定
networksecurityconfig
来连接服务器url。因此,您需要在代码中进行以下更改

在您的
AndroidManifest.xml
中的应用程序标记中添加
android:networkSecurityConfig=“@xml/network\u security\u config”
,如下所示

<application
        android:name=".ApplicationClass"
        android:allowBackup="true"
        android:hardwareAccelerated="false"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:largeHeap="true"
        android:networkSecurityConfig="@xml/network_security_config"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

您需要在
res
目录下创建
xml
目录,然后在xml文件夹中创建
network\u security\u config.xml
,我认为唯一可能的错误是。在Android 9之后,您需要指定
networksecurityconfig
来连接服务器url。因此,您需要在代码中进行以下更改

在您的
AndroidManifest.xml
中的应用程序标记中添加
android:networkSecurityConfig=“@xml/network\u security\u config”
,如下所示

<application
        android:name=".ApplicationClass"
        android:allowBackup="true"
        android:hardwareAccelerated="false"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:largeHeap="true"
        android:networkSecurityConfig="@xml/network_security_config"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
您需要在
res
目录下创建
xml
目录,然后在xml文件夹中创建
network\u security\u config.xml
,尝试这些解决方案

解决方案1)

清单
文件的应用程序标记中添加此行

android:usesCleartextTraffic="true"
如下

<application
            android:name=".ApplicationClass"
            android:usesCleartextTraffic="true"
            android:networkSecurityConfig="@xml/network_security_config"
            android:supportsRtl="true"
            android:theme="@style/AppTheme">
其中
network\u security\u config.xml

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true" />
</network-security-config>
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true" />
</network-security-config>

在res目录下创建xml,然后在
xml
文件夹中创建n
etwork\u security\u config.xml

更多信息

试试这些解决方案

解决方案1)

清单
文件的应用程序标记中添加此行

android:usesCleartextTraffic="true"
如下

<application
            android:name=".ApplicationClass"
            android:usesCleartextTraffic="true"
            android:networkSecurityConfig="@xml/network_security_config"
            android:supportsRtl="true"
            android:theme="@style/AppTheme">
其中
network\u security\u config.xml

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true" />
</network-security-config>
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true" />
</network-security-config>

在res目录下创建xml,然后在
xml
文件夹中创建n
etwork\u security\u config.xml

更多信息


任何错误日志?
没有适配器连接
显示@TejasPandyany错误日志?
没有适配器连接
显示@TejasPandyany建议?如使用android快速尝试所建议:usesCleartextTraffic=“true”任何建议b