Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.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
Php 图像webview缓存显示未连接internet的图像_Php_Android_Caching_Webview_Carousel - Fatal编程技术网

Php 图像webview缓存显示未连接internet的图像

Php 图像webview缓存显示未连接internet的图像,php,android,caching,webview,carousel,Php,Android,Caching,Webview,Carousel,我有一个PHPWebapge,它显示带有自动旋转木马的图像,还有一个android应用程序,它显示带有该网页的WebView 我想缓存在旋转木马中运行的图像,但只有一两个第一个图像被缓存,其他图像是“未找到图像” 如何缓存图像,以便在没有活动互联网连接的情况下在android设备上看到它们 显示图像: var state = 0; // 0: load 1: change content 2: finished var passedsec = 0; var dispId = 0;

我有一个PHPWebapge,它显示带有自动旋转木马的图像,还有一个android应用程序,它显示带有该网页的WebView

我想缓存在旋转木马中运行的图像,但只有一两个第一个图像被缓存,其他图像是“未找到图像”

如何缓存图像,以便在没有活动互联网连接的情况下在android设备上看到它们

显示图像:

    var state = 0;    // 0: load 1: change content 2: finished
var passedsec = 0;

var dispId = 0;
var dispType = "image";
var prevType = "image";
var loadType = "image";
var duration = 5;

var i = 0;

var frame = {
    "image": ["#img1", "#img2"]
};

$(window).on('load', function() {
    $(frame[dispType][dispId]).css("display", "block");
});

$(document).ready(function(){
    function loadNews(data) {
        newsList = data;
    }

    var newsList = Array();
    var newsOrder = 0;
    var newsElm = ["#news0", "#news1"];
    var newsState = 0;
    var newsWidth = $(".news").width();

    $.getJSON("libs/json/news.json", null, loadNews);

    $(newsElm[newsState]).css({right:(newsWidth), display:'block',opacity:'0'}).velocity({right: '10', opacity:'1'}, "1000", "swing");

    setInterval(function(){
        $(newsElm[newsState]).velocity({right:(-(newsWidth)),opacity:'0'}, 1000, "swing");

        newsState = 1 - newsState;

        $(newsElm[newsState]).text(newsList[newsOrder][0]);
        newsOrder++;

        if(newsOrder == newsList.length){
            $.getJSON("libs/json/news.json", null, loadNews);
            newsOrder = 0;
        }

        $(newsElm[newsState]).css({right:(newsWidth),display:'block',opacity:'0'}).velocity({right: '10', opacity:'1'}, "1000", "swing");
    }, 10000);

    // //////////////////////////////////////////////////////////

    var id = getUrlParameter('bid');

    // //////////////////////////////////////////////////////////

    $.get("libs/get/masterGallery.php", {bid: id}, function( data ) {
        if(data != 0) {
            $.getJSON("libs/json/" + data + "-master.json", null, loadContent);
        } else {
            $.getJSON("libs/json/" + id + ".json", null, loadContent);
        }
    });

    var myInt = setInterval(function(){
        passedsec++;

        if(state == 0) {
            loadType = contentList[i]["type"];
            if(typeof(loadType) == "undefined") {
                clearInterval(myInt);
            }

            $(frame[loadType][1 - dispId]).attr('src', contentList[i]["url"]);

            state = 1;
            if(i + 1 == contentList.length){
                    $.get("libs/get/masterGallery.php", {bid: id}, function( data ) {
                if(data != 0) {
                    $.getJSON("libs/json/" + data + "-master.json", null, loadContent);
                } else {
                    $.getJSON("libs/json/" + id + ".json", null, loadContent);
                }
            });
            }
        } else if(state == 1) {
            if(passedsec > duration - 1) {
                state = 2;
                passedsec = 0;

                dispId = 1 - dispId;
                dispType = loadType;

                $(frame[dispType][dispId]).css("display", "block");
                $(frame[prevType][1 - dispId]).css("display", "none");

                prevType = dispType;
                duration = contentList[i]["duration"];

                if(i + 1 == contentList.length) i = 0; else i++;
            }
        } else if(state == 2) {
            if(passedsec >= 1) {
                state = 0;
                passedsec = 0;
            }
        }
    }, 1000);
});
在android上缓存网站:

if (!isNetworkAvailable()) { // loading offline
                    webb.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
                    System.out.println("WEBSITE OFFLINE");
                } else {
                    webb.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT); // load online by default
                    System.out.println("WEBSITE ONLINE");
                }

                webb.loadUrl("http://******/manage/showadv.php?bid=" + ID);

                new ImAlive().execute(ID, "site");

                System.out.println("WEBSITE RELOADED.");

非常感谢。

没有代码很难说;您可能需要下载图像并将其存储在文件中,并在viewpager加载该片段时加载它们。您还可以考虑像毕加索这样的库,用于下载和缓存我编辑过的图像并插入代码。