Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.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/1/list/4.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
Java android KITKAT和旧版本的问题_Java_Android - Fatal编程技术网

Java android KITKAT和旧版本的问题

Java android KITKAT和旧版本的问题,java,android,Java,Android,我在imageView中查看来自url的图像,该代码适用于android棒棒糖和较新版本,但不适用于android Kitkat和较旧版本,它返回一个空白图像,而不是url图像。。这是我的代码: HomeActivity.java private static final String ALLOWED_URI_CHARS = "@#&=*+-_.,:!?()/~'%"; @Override protected void onCreate(Bundle savedInstanceStat

我在
imageView
中查看来自url的图像,该代码适用于android棒棒糖和较新版本,但不适用于android Kitkat和较旧版本,它返回一个空白图像,而不是url图像。。这是我的代码: HomeActivity.java

private static final String ALLOWED_URI_CHARS = "@#&=*+-_.,:!?()/~'%";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_home);


    final ImageView imageView = (ImageView) findViewById(R.id.imageView);
    final String url =
            "https://arabian-chemistry.com/wp-content/uploads/2018/01/ما-الذي-يؤخر-العلاج-بتقنية-CRISPR؟.jpg";


    URI I = null;
    try {
        URL u = new URL(url);
        I = new URI(u.getProtocol(), u.getUserInfo(), u.getHost(), u.getPort(), u.getPath(), u.getQuery(), u.getRef());

    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (URISyntaxException e) {
        e.printStackTrace();
    }
    final String urlEncoded = Uri.encode(url, ALLOWED_URI_CHARS);
    final String ui = I.toASCIIString();


    imageView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Picasso.with(HomeActivity.this).load(ui).resize(48, 48).placeholder(R.color.colorPrimaryDark).into(imageView);
            Toast.makeText(HomeActivity.this, "url is: " + ui, Toast.LENGTH_SHORT).show();


        }
    });
}}  
activity_home.xml

   <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorAccent"
tools:context="com.alpha25.gridview.HomeActivity">



<ImageView
    android:layout_width="match_parent"
    android:layout_height="200dp"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:id="@+id/imageView"
    />



</RelativeLayout>

我在
AndroidManifest
文件中包含了互联网权限

有什么建议吗?

试试这个:

Picasso.with(HomeActivity.this).setLoggingEnabled(true); 
使用该代码,您可以查看毕加索的日志。

尝试以下操作:

Picasso.with(HomeActivity.this).setLoggingEnabled(true); 

使用该代码,您可以查看毕加索的日志。

检查代码后。我已经演示了你的问题。所以我附上了截图和所有细节,包括更好地分析问题并解决问题的解决方案

首先**在毕加索**中,它表示来自服务器的错误。 在日志中,你可以看到

我通过更好的日志记录更深入地挖掘了你的问题

这是我从glide图书馆得到的信息

W/Glide: Load failed for https://arabian-chemistry.com/wp-content/uploads/2016/07/ptable.png with size [200x200]  class com.bumptech.glide.load.engine.GlideException: Failed to load resource
                                                                     Cause (1 of 1): class com.bumptech.glide.load.engine.GlideException: Fetching data failed, class java.io.InputStream, REMOTE
                                                                       Cause (1 of 1): class com.bumptech.glide.load.engine.GlideException: Fetch failed
                                                                         Cause (1 of 1): class javax.net.ssl.SSLHandshakeException: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0x608e5f90: Failure in SSL library, usually a protocol error
                                                                   error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure (external/openssl/ssl/s23_clnt.c:741 0x5dafe6ed:0x00000000)
从这一行

错误:14077410:SSL例程:SSL23\u获取\u服务器\u你好:sslv3警报 握手失败(外部/openssl/ssl/s23\u clnt.c:741 0x5dafe6ed:0x00000000)


您可以看到这是**SSL握手失败**。这个问题只有在检查代码之后才会出现。我已经演示了你的问题。所以我附上了截图和所有细节,包括更好地分析问题并解决问题的解决方案

首先**在毕加索**中,它表示来自服务器的错误。 在日志中,你可以看到

我通过更好的日志记录更深入地挖掘了你的问题

这是我从glide图书馆得到的信息

W/Glide: Load failed for https://arabian-chemistry.com/wp-content/uploads/2016/07/ptable.png with size [200x200]  class com.bumptech.glide.load.engine.GlideException: Failed to load resource
                                                                     Cause (1 of 1): class com.bumptech.glide.load.engine.GlideException: Fetching data failed, class java.io.InputStream, REMOTE
                                                                       Cause (1 of 1): class com.bumptech.glide.load.engine.GlideException: Fetch failed
                                                                         Cause (1 of 1): class javax.net.ssl.SSLHandshakeException: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0x608e5f90: Failure in SSL library, usually a protocol error
                                                                   error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure (external/openssl/ssl/s23_clnt.c:741 0x5dafe6ed:0x00000000)
从这一行

错误:14077410:SSL例程:SSL23\u获取\u服务器\u你好:sslv3警报 握手失败(外部/openssl/ssl/s23\u clnt.c:741 0x5dafe6ed:0x00000000)


您可以看到这是**SSL握手失败**。这个问题只会出现,请你的问题解释一下“不工作”的确切含义。我编辑了我的问题,我想问题可能是你的url中的乌尔都语文本。对于测试,请尝试使用简单的英文url。对我来说似乎是编码问题。@VivekMishra如果是编码问题,那么为什么要在棒棒糖上运行而不是在KitKat上运行?您可以从kitecat设备internet浏览器打开图像url؟.jpg吗?请您的问题解释“不工作”的确切含义。我编辑了我的问题,我想问题可能是url中的乌尔都语文本。对于测试,请尝试使用简单的英文url。对我来说似乎是编码问题。@VivekMishra如果这是编码问题,那么为什么要在棒棒糖上运行而不是使用kitkat?您可以从kitecat设备internet浏览器打开图像url؟.jpg吗?您的具体问题是什么?在棒棒糖上,应用程序正在运行,url图像被正确查看,但使用kitkat它无法查看图像。。你的问题到底是什么?在棒棒糖上,应用程序运行正常,url图像被正确查看,但在kitkat上,它看不到图像。。请告诉我如何在上图中显示我与毕加索的url?请告诉我如何在上图中显示我与毕加索的url?