Flutter 颤振型'_内部链接dhashmap<;字符串,动态>';不是类型为';int';这是什么

Flutter 颤振型'_内部链接dhashmap<;字符串,动态>';不是类型为';int';这是什么,flutter,exception,Flutter,Exception,我有离线数据的功能,这意味着如果我没有互联网读取我的离线数据文件!但我有一个例外“type'\u InternalLinkedHashMap'不是type'int'的子类型” 你能告诉我我的代码哪里错了吗。。。。!我想它来自于我的for循环,我在这里阐述了var OfflineCampList var offlineData; var campOfflineDataNew =[]; int campaginDataFilelength =await campaignId_

我有离线数据的功能,这意味着如果我没有互联网读取我的离线数据文件!但我有一个例外“type'\u InternalLinkedHashMap'不是type'int'的子类型” 你能告诉我我的代码哪里错了吗。。。。!我想它来自于我的for循环,我在这里阐述了var OfflineCampList

    var offlineData;
    var campOfflineDataNew =[];
    int campaginDataFilelength =await campaignId_txt.length();

    //if Dataversion change data will download for respected shelf .....................
    ///type '_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'int'
    if(campaginDataFilelength != 0){
      try{
        final file = File(campaignId_txt.path);
        var offline_JSONData = await file.readAsString();
        offlineData = json.decode(offline_JSONData);
        var OfflineCampList = List<OfflineCampaignShelfList>.from(offlineData["CampaignShelfList"].map((x) => OfflineCampaignShelfList.fromJson(x)));

        //campaignId_txt.delete();
        CampList.forEach((camp) async{
          OfflineCampList.forEach((OfCamp) async {
            if(camp.photographerCampaignId == OfCamp.photographerCampaignId){
              if(camp.dataVersion != OfCamp.dataVersion){
                Directory subCampaignsFolder = Directory(CampaignsFolder.path+camp.photographerCampaignId.toString()+"/");
                subCampaignsFolder.create(recursive: true);

                File PATH_photographerImageLogoPath = File(subCampaignsFolder.path+"photographerImageLogo.jpg");
                File  PATH_coverPhoto = File(subCampaignsFolder.path+"coverPhoto.jpg");
                File PATH_shelfImagePath = File(subCampaignsFolder.path+"shelfImage.jpg");
                File PATH_photographerProfilePhoto = File(subCampaignsFolder.path+"profilePhotoPhotographer.jpg");

                Map<String, dynamic> autoDonw = new Map();
                var IsPhotoboothUser = {'"IsPhotoboothUser"' : camp.isPhotoboothUser};
                var PhotographerId = {'"PhotographerId"' : camp.photographerId};
                print("IsPhotoboothUserOffline" + PhotographerId.toString());
                var photographerCampaignId = {'"PhotographerCampaignId"' : camp.photographerCampaignId};
                var campaignTitle = {'"CampaignTitle"' : '"'+camp.campaignTitle+'"'};
                var businessName = {'"BusinessName"' : '"'+camp.businessName+'"'};
                var campaignDate = {'"Date"' : '"'+camp.date+'"'};
                var coverImagePath = {'"CoverImagePath"' : '"'+PATH_coverPhoto.path+'"'};
                var shelfImage = {'"ShelfImagePath"' : '"'+PATH_shelfImagePath.path+'"'};
                var photographerProfilePhoto = {'"PhotographerProfilePhoto"' : '"'+PATH_photographerProfilePhoto.path+'"' };
                var photographerFullName = {'"PhotographerFullName"' :'"'+camp.photographerFullName+'"'};
                var photographerImageLogo = {'"PhotographerImageLogo"' : '"'+PATH_photographerImageLogoPath.path+'"'};
                var CampaignFlashScreenHeader = {'"CampaignFlashScreenHeader"' : '"'+camp.campaignFlashScreenHeader+'"'};
                var CampaignFlashScreenGretting = {'"CampaignFlashScreenGretting"' : '"'+camp.campaignFlashScreenGretting+'"'};
                var CampaignFlashScreenDescription = {'"CampaignFlashScreenDescription"' : '"'+camp.campaignFlashScreenDescription+'"'};
                var IsPrimary = {'"IsPrimary"' : camp.isPrimary};
                var IsShare = {'"IsShare"' : camp.isShare};
                var IsComment = {'"IsComment"' : camp.isComment};
                var IsFurtherInvite = {'"IsFurtherInvite"' : camp.isFurtherInvite};
                var IsSelectPhotosForAlbumDesign = {'"IsSelectPhotosForAlbumDesign"' : camp.isSelectPhotosForAlbumDesign};
                var IsAddPhotos = {'"IsAddPhotos"' : camp.isAddPhotos};
                var IsMyself = {'"IsMyself"' : camp.isMyself};
                var DataVersion = {'"DataVersion"' : camp.dataVersion};
                var IsCampaignLike = {'"IsCampaignLike"' : camp.isCampaignLike};
                var IsCampaignSlideShow = {'"IsCampaignSlideShow"' : camp.isCampaignSlideShow};
                var IsCampaignFaceMatch = {'"IsCampaignFaceMatch"' : camp.isCampaignFaceMatch};
                var isCampaignAlbumDesign = {'"isCampaignAlbumDesign"' : camp.isCampaignAlbumDesign};
                var isCampaignPersonalizedPrintingOrders = {'"isCampaignPersonalizedPrintingOrders"' : camp.isCampaignPersonalizedPrintingOrders};



                autoDonw.addAll(photographerCampaignId);
                autoDonw.addAll(IsPhotoboothUser);
                autoDonw.addAll(photographerProfilePhoto);
                autoDonw.addAll(photographerFullName);
                autoDonw.addAll(photographerImageLogo);
                autoDonw.addAll(campaignTitle);
                autoDonw.addAll(shelfImage);
                autoDonw.addAll(campaignDate);
                autoDonw.addAll(businessName);
                autoDonw.addAll(coverImagePath);
                autoDonw.addAll(CampaignFlashScreenHeader);
                autoDonw.addAll(CampaignFlashScreenGretting);
                autoDonw.addAll(CampaignFlashScreenDescription);
                autoDonw.addAll(IsPrimary);
                autoDonw.addAll(IsShare);
                autoDonw.addAll(IsComment);
                autoDonw.addAll(IsFurtherInvite);
                autoDonw.addAll(IsSelectPhotosForAlbumDesign);
                autoDonw.addAll(IsAddPhotos);
                autoDonw.addAll(IsMyself);
                autoDonw.addAll(DataVersion);
                autoDonw.addAll(IsCampaignLike);
                autoDonw.addAll(IsCampaignSlideShow);
                autoDonw.addAll(IsCampaignFaceMatch);
                autoDonw.addAll(isCampaignAlbumDesign);
                autoDonw.addAll(PhotographerId);
                autoDonw.addAll(isCampaignPersonalizedPrintingOrders);


                await campOfflineDataNew.add(autoDonw);

                await dio.download(camp.photographerImageLogo, PATH_photographerImageLogoPath.path);
                await dio.download(camp.coverImagePath, PATH_coverPhoto.path);
                await dio.download(camp.shelfImagePath, PATH_shelfImagePath.path);
                await dio.download(camp.photographerProfilePhoto, PATH_photographerProfilePhoto.path);

              }else{
                await campOfflineDataNew.add(json.encode(OfCamp.toJson()));
              }
            }
          });
        });
        await campaignId_txt.writeAsString('{ "SuccessCode": "S0019","SuccessMessage": "Success.","CampaignShelfList":'+campOfflineDataNew.toString()+"}");
        return ShelfList.fromJson(json.decode(offline_JSONData));
      }catch(e){
        print(e);
      }
    }


    //if Campaign data file is MISSING ... then ....
    if(campaginDataFilelength == 0){
      print('--------------------------');
      for (final camp in CampList) {
        Directory subCampaignsFolder = Directory(CampaignsFolder.path+camp.photographerCampaignId.toString()+"/");
        subCampaignsFolder.create(recursive: true);

        File PATH_photographerImageLogoPath = File(subCampaignsFolder.path+"photographerImageLogo.jpg");
        await dio.download(camp.photographerImageLogo, PATH_photographerImageLogoPath.path);

        File PATH_coverPhoto = File(subCampaignsFolder.path+"coverPhoto.jpg");
        await dio.download(camp.coverImagePath, PATH_coverPhoto.path);

        File PATH_shelfImagePath = File(subCampaignsFolder.path+"shelfImage.jpg");
        await dio.download(camp.shelfImagePath, PATH_shelfImagePath.path);

        File PATH_photographerProfilePhoto = File(subCampaignsFolder.path+"profilePhotoPhotographer.jpg");
        await dio.download(camp.photographerProfilePhoto, PATH_photographerProfilePhoto.path);

        //var azim = camp.businessName ?? Globals.PhotographerLOGO;
        sharedPreferences.setInt("PhotographerCampaignId", camp.photographerCampaignId);
        sharedPreferences.setString("PhotographerProfilePhoto", camp.photographerProfilePhoto);
        sharedPreferences.setString("PhotographerFullName", camp.photographerFullName);
        sharedPreferences.setString("PhotographerImageLogo", camp.photographerImageLogo);
        sharedPreferences.setString("CampaignTitle", camp.campaignTitle);

        Map<String, dynamic> offlineData = new Map();
        var IsPhotoboothUser = {'"IsPhotoboothUser"' : camp.isPhotoboothUser};
        var PhotographerId = {'"PhotographerId"' : camp.photographerId};
        var photographerCampaignId = {'"PhotographerCampaignId"' : PhotographerId.toString()};
        var campaignTitle = {'"CampaignTitle"' : '"'+camp.campaignTitle+'"'};
        var businessName = {'"BusinessName"' : '"'+camp.businessName+'"'};
        var campaignDate = {'"Date"' : '"'+camp.date+'"'};
        var coverImagePath = {'"CoverImagePath"' : '"'+PATH_coverPhoto.path+'"'};
        var shelfImage = {'"ShelfImagePath"' : '"'+PATH_shelfImagePath.path+'"'};
        var photographerProfilePhoto = {'"PhotographerProfilePhoto"' : '"'+PATH_photographerProfilePhoto.path+'"' };
        var photographerFullName = {'"PhotographerFullName"' :'"'+camp.photographerFullName+'"'};
        var photographerImageLogo = {'"PhotographerImageLogo"' : '"'+PATH_photographerImageLogoPath.path+'"'};
        var CampaignFlashScreenHeader = {'"CampaignFlashScreenHeader"' : '"'+camp.campaignFlashScreenHeader+'"'};
        var CampaignFlashScreenGretting = {'"CampaignFlashScreenGretting"' : '"'+camp.campaignFlashScreenGretting+'"'};
        var CampaignFlashScreenDescription = {'"CampaignFlashScreenDescription"' : '"'+camp.campaignFlashScreenDescription+'"'};
        var IsPrimary = {'"IsPrimary"' : camp.isPrimary};
        var IsShare = {'"IsShare"' : camp.isShare};
        var IsComment = {'"IsComment"' : camp.isComment};
        var IsFurtherInvite = {'"IsFurtherInvite"' : camp.isFurtherInvite};
        var IsSelectPhotosForAlbumDesign = {'"IsSelectPhotosForAlbumDesign"' : camp.isSelectPhotosForAlbumDesign};
        var IsAddPhotos = {'"IsAddPhotos"' : camp.isAddPhotos};
        var IsMyself = {'"IsMyself"' : camp.isMyself};
        var DataVersion = {'"DataVersion"' : camp.dataVersion};
        var IsCampaignLike = {'"IsCampaignLike"' : camp.isCampaignLike};
        var IsCampaignSlideShow = {'"IsCampaignSlideShow"' : camp.isCampaignSlideShow};
        var IsCampaignFaceMatch = {'"IsCampaignFaceMatch"' : camp.isCampaignFaceMatch};
        var isCampaignAlbumDesign = {'"isCampaignAlbumDesign"' : camp.isCampaignAlbumDesign};
        print("IsPhotoboothUser :" + IsPhotoboothUser.toString());
        var isCampaignPersonalizedPrintingOrders = {'"isCampaignPersonalizedPrintingOrders"' : camp.isCampaignPersonalizedPrintingOrders};
        Globals.PhotoGrapher.add(camp.photographerProfilePhoto);

        offlineData.addAll(photographerCampaignId);
        offlineData.addAll(IsPhotoboothUser);
        offlineData.addAll(photographerProfilePhoto);
        offlineData.addAll(photographerFullName);
        offlineData.addAll(photographerImageLogo);
        offlineData.addAll(campaignTitle);
        offlineData.addAll(shelfImage);
        offlineData.addAll(campaignDate);
        offlineData.addAll(businessName);
        offlineData.addAll(coverImagePath);
        offlineData.addAll(CampaignFlashScreenHeader);
        offlineData.addAll(CampaignFlashScreenGretting);
        offlineData.addAll(CampaignFlashScreenDescription);
        offlineData.addAll(IsPrimary);
        offlineData.addAll(IsShare);
        offlineData.addAll(IsComment);
        offlineData.addAll(IsFurtherInvite);
        offlineData.addAll(IsSelectPhotosForAlbumDesign);
        offlineData.addAll(IsAddPhotos);
        offlineData.addAll(IsMyself);
        offlineData.addAll(DataVersion);
        offlineData.addAll(IsCampaignLike);
        offlineData.addAll(IsCampaignSlideShow);
        offlineData.addAll(IsCampaignFaceMatch);
        offlineData.addAll(isCampaignAlbumDesign);
        offlineData.addAll(isCampaignPersonalizedPrintingOrders);
        offlineData.addAll(PhotographerId);
        campgaignData.add(offlineData.toString());
        campaignId_txt.writeAsString('{ "SuccessCode": "S0019","SuccessMessage": "Success.","CampaignShelfList":'+campgaignData.toString()+"}");
      }
      return ShelfList.fromJson(json.decode(response.body));
    }
更改此项:

int-campaginandafilelength=await-campaid_txt.length()

为此:
int-campaginandafilelength=await-campaid_-txt.length

这是我抓到的第一个,我会找更多的。但是代码有点乱

基本上,你的错误是因为一个变量需要一个int,但它得到了一个map。因为您对所有内容都使用了
var
,所以很难判断这是在哪里失败的

还有这个
int-campaginDataFilelength=campaid\u txt

您需要获取活动id_文本,然后查找其长度

  else if (snapshot.hasError) {
              _futureShelf = FirstTimeOffline();
              return FutureBuilder<ShelfList>(
                future: _futureShelf,
                builder: (BuildContext , snapshot) {
                  if(snapshot.hasData) {
                    return gridimages(
                      items: snapshot.data.campaignShelfList,
                    );
                  }
                  else{
                    Center(child: Text("Something Went Wrong"));
                  }
                  return Center(child: Text("offline"));
                },
              );
            }
  Future<ShelfList> FirstTimeOffline() async {
  String text;
  try {
  final file = File(campaignId_txt.path);
  text = await file.readAsString();
  print("waittttt : " + text);
  return ShelfList.fromJson(json.decode(text));
 } catch (e) {
   print("Couldn't read file"+ e);
 ///here i m getting exception///
 }
 }
 {
"SuccessCode": "S0019",
"SuccessMessage": "Success.",
"CampaignShelfList": [
 {
  "PhotographerCampaignId": {
    "PhotographerId": 169
  },
  "IsPhotoboothUser": 0,
  "PhotographerProfilePhoto": "/data/user/0/com.photogranth.photographer/app_flutter/Campaigns/26/profilePhotoPhotographer.jpg",
  "PhotographerFullName": "Pratap",
  "PhotographerImageLogo": "/data/user/0/com.photogranth.photographer/app_flutter/Campaigns/26/photographerImageLogo.jpg",
  "CampaignTitle": "WEDDING",
  "ShelfImagePath": "/data/user/0/com.photogranth.photographer/app_flutter/Campaigns/26/shelfImage.jpg",
  "Date": "24/04/2021",
  "BusinessName": "My Businesss",
  "CoverImagePath": "/data/user/0/com.photogranth.photographer/app_flutter/Campaigns/26/coverPhoto.jpg",
  "CampaignFlashScreenHeader": "Thank you",
  "CampaignFlashScreenGretting": "Thank you",
  "CampaignFlashScreenDescription": "Thank you",
  "IsPrimary": 1,
  "IsShare": 1,
  "IsComment": 1,
  "IsFurtherInvite": 1,
  "IsSelectPhotosForAlbumDesign": 1,
  "IsAddPhotos": 1,
  "IsMyself": 0,
  "DataVersion": 35,
  "IsCampaignLike": 1,
  "IsCampaignSlideShow": 1,
  "IsCampaignFaceMatch": 1,
  "isCampaignAlbumDesign": 1,
  "isCampaignPersonalizedPrintingOrders": 1,
  "PhotographerId": 169
},
{
  "PhotographerCampaignId": {
    "PhotographerId": 169
  },
  "IsPhotoboothUser": 0,
  "PhotographerProfilePhoto": "/data/user/0/com.photogranth.photographer/app_flutter/Campaigns/2/profilePhotoPhotographer.jpg",
  "PhotographerFullName": "Pratap",
  "PhotographerImageLogo": "/data/user/0/com.photogranth.photographer/app_flutter/Campaigns/2/photographerImageLogo.jpg",
  "CampaignTitle": "TESTING",
  "ShelfImagePath": "/data/user/0/com.photogranth.photographer/app_flutter/Campaigns/2/shelfImage.jpg",
  "Date": "18/03/2021",
  "BusinessName": "My Businesss",
  "CoverImagePath": "/data/user/0/com.photogranth.photographer/app_flutter/Campaigns/2/coverPhoto.jpg",
  "CampaignFlashScreenHeader": "Thank you",
  "CampaignFlashScreenGretting": "Wishing you a lifetime of love and happiness.",
  "CampaignFlashScreenDescription": "A",
  "IsPrimary": 0,
  "IsShare": 1,
  "IsComment": 1,
  "IsFurtherInvite": 0,
  "IsSelectPhotosForAlbumDesign": 0,
  "IsAddPhotos": 1,
  "IsMyself": 0,
  "DataVersion": 39,
  "IsCampaignLike": 1,
  "IsCampaignSlideShow": 1,
  "IsCampaignFaceMatch": 0,
  "isCampaignAlbumDesign": 0,
  "isCampaignPersonalizedPrintingOrders": 0,
  "PhotographerId": 169
}
]
}