Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local composer = require("composer")
- local widget = require("widget")
- local json = require("json");
- http = require("socket.http")
- local jsonRawData = http.request("http://ezmarketing.ru/fitness1/test.json")
- local jsonData = json.decode(jsonRawData)
- function saveSettings(t, filename)
- local path = system.pathForFile(filename, system.ResourceDirectory);
- local file = io.open(path, "w");
- if (file) then
- local contents = json.encode(t);
- file:write(contents);
- io.close(file);
- return true
- else
- return false
- end
- end
- saveSettings(jsonData, "settings.json")
- settings = jsonData
- local scene = composer.newScene()
- -- -----------------------------------------------------------------------------------
- -- Code outside of the scene event functions below will only be executed ONCE unless
- -- the scene is removed entirely (not recycled) via "composer.removeScene()"
- -- -----------------------------------------------------------------------------------
- display.setDefault( "anchorX", 0 )
- display.setDefault( "anchorY", 0 )
- -- -----------------------------------------------------------------------------------
- -- Scene event functions
- -- -----------------------------------------------------------------------------------
- -- create()
- function scene:show(event)
- local sceneGroup = self.view
- local phase = event.phase;
- if phase == "will" then
- -- Code here runs when the scene is first created but has not yet appeared on screen
- elseif phase == "did" then
- -- Create the widget
- hideGroup = display.newGroup() -- ГРУППА ДЛЯ ХАЙД
- local scrollView =
- widget.newScrollView(
- {
- top = 0,
- left = 0,
- width = display.contentWidth,
- height = display.contentHeight,
- }
- )
- sceneGroup:insert(scrollView)
- local y = 50
- for i = 1, #jsonData do
- local contentGroup = display.newGroup()
- local function networkListener( event, urlOfImage )
- if ( event.isError ) then
- print( "Network error - download failed: ", event.response )
- elseif ( event.phase == "began" ) then
- print( "Progress Phase: began" )
- elseif ( event.phase == "ended" ) then
- print( "Displaying response image file" )
- -- myImage = display.newImage( event.response.filename, event.response.baseDirectory, 60, 40 )
- local imageContent = display.newImageRect(contentGroup, event.response.filename,event.response.baseDirectory, 100, 100);
- imageContent.x = 20
- imageContent.y = 25+(110+10)*(i-1)
- end
- end
- local textTitle = jsonData[i].name
- local urlOfImage = jsonData[i].img
- local textDescr = jsonData[i].description
- local backgrRect = display.newRect(contentGroup, 5, y-30, display.contentWidth-10, 110 ):setFillColor(125/255, 255/255, 136/255)
- local backgrRectWhite = display.newRect(contentGroup, 10, y-25, display.contentWidth-20, 100 ):setFillColor(1)
- local highScoresButton = display.newText(contentGroup, textTitle, 125, y-20, 200, 100, native.systemFont, 20):setFillColor(0.48, 0.6, 0.38)
- local params = {}
- params.progress = true
- local textMem = system.getInfo( "textureMemoryUsed" ) / 1000000
- print(textMem)
- local function doesFileExist( fname, path )
- local results = false
- -- Path for the file
- local filePath = system.pathForFile( fname, path )
- if ( filePath ) then
- local file, errorString = io.open( filePath, "r" )
- if not file then
- -- Error occurred; output the cause
- print( "File error: " .. errorString )
- network.download(
- urlOfImage,
- "GET",
- networkListener,
- params,
- i..".jpg",
- system.DocumentsDirectory
- )
- else
- -- File exists!
- print( "File found: " .. fname )
- local imageContent = display.newImageRect(contentGroup, i..".jpg", system.DocumentsDirectory, 100, 100);
- imageContent.x = 20
- imageContent.y = 25+(110+10)*(i-1)
- results = true
- -- Close the file handle
- file:close()
- end
- end
- return results
- end
- local results = doesFileExist( i..".jpg", system.DocumentsDirectory )
- scrollView:insert(contentGroup)
- local options =
- {
- effect = "fade",
- time = 400,
- params = {
- iImage = i,
- textT = textTitle,
- textD = textDescr,
- jsonD = jsonData
- }
- }
- contentGroup:addEventListener(
- "tap",
- function()
- composer.gotoScene("scenes.activity", options)
- end
- )
- y = y + 120
- end
- hideGroup:insert(sceneGroup)
- end
- end
- -- -- show()
- -- function scene:show(event)
- -- local sceneGroup = self.view
- -- local phase = event.phase
- -- if (phase == "will") then
- -- -- Code here runs when the scene is still off screen (but is about to come on screen)
- -- elseif (phase == "did") then
- -- -- Code here runs when the scene is entirely on screen
- -- end
- -- end
- -- -- hide()
- function scene:hide(event)
- local sceneGroup = self.view
- local phase = event.phase
- if (phase == "will") then
- -- Code here runs when the scene is on screen (but is about to go off screen)
- elseif (phase == "did") then
- -- Code here runs immediately after the scene goes entirely off screen
- hideGroup:removeSelf() -- УДАЛЯЕМ ГРУППУ
- end
- end
- -- -- destroy()
- -- function scene:destroy(event)
- -- local sceneGroup = self.view
- -- -- Code here runs prior to the removal of scene's view
- -- end
- -- -----------------------------------------------------------------------------------
- -- Scene event function listeners
- -- -----------------------------------------------------------------------------------
- -- scene:addEventListener("create", scene)
- scene:addEventListener("show", scene)
- scene:addEventListener("hide", scene)
- -- scene:addEventListener("destroy", scene)
- -- -----------------------------------------------------------------------------------
- return scene
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement