API call works on livecode, but not on android
Moderators: FourthWorld, heatherlaine, Klaus, kevinmiller, robinmiller
-
- Posts: 58
- Joined: Sat Jun 15, 2019 10:09 am
API call works on livecode, but not on android
Hi Everyone
Could someone possibly shed light on this for me I am absolutely stumped.
Is there any reason why a command that calls an API would work in livecode, but not when tested on a connected android phone?
The phone is connected via usb.
It basically calls the API , converts the json response and puts it in a field.
I will upload the script etc... if needed, but just wondered if I was missing something obvious?
Kindest regards
Paul
Could someone possibly shed light on this for me I am absolutely stumped.
Is there any reason why a command that calls an API would work in livecode, but not when tested on a connected android phone?
The phone is connected via usb.
It basically calls the API , converts the json response and puts it in a field.
I will upload the script etc... if needed, but just wondered if I was missing something obvious?
Kindest regards
Paul
Re: API call works on livecode, but not on android
Hi Paul,
what API are you talking about?
Best
Klaus
what API are you talking about?
Best
Klaus
-
- Posts: 253
- Joined: Wed Aug 19, 2015 4:29 pm
Re: API call works on livecode, but not on android
Do you have the internet permission selected in your standalone settings?
-
- Posts: 58
- Joined: Sat Jun 15, 2019 10:09 am
Re: API call works on livecode, but not on android
Hi everyone
In answer to a few of the questions:-
I couldn't find an internet permissions bit in the standalone settings, but there is a command on the page that checks for a connection ( below) and this works fine.
command checkInternetConnection
put url "http://www.google.com" into tURL
if tURL is empty then
answer "no internet connection found, please try again later"
else
answer "testing internet connection........connection established"
end if
end checkInternetConnection
-----------------------------------------------------------------------------------------
The API is world tides.info see some of the script below. It seems to stop when it trys to run 'command json'.
Any help would be fab.
kind regards
Paul
command request_tide
put tmylat into tlat
put tmylong into tlon
put "https://www.worldtides.info/api?datum=Lat&extremes&lat=" & tlat & "&lon=" & tlon & "start=" & tepochtide & "&length=86400&maxcalls=5&key=" & WT_Key into ttidal_request
answer ttidal_request
end request_tide
command json
#put empty into the field "arraydata"
put URL ttidal_request into ttidal_response
put jsonimport(ttidal_response) into tArray
combine tArray by return and tab
put tArray into field "arraydata"
#put tArray[responseDatum] into field "arrayspecifics"
#put depthvariable into field "arrayspecifics"
end json
command json2
#put empty into the field "arrayspecifics"
put URL ttidal_request into ttidal_response
put jsonimport(ttidal_response) into tArray
put tArray[station] into station_id
put tArray[extremes] into tSubArray1
put tSubArray1[1] into tSubArray2
put tSubArray2["type"] into tlowtide
put tSubArray2["height"] into tlowtidelevel
put tSubArray2["date"] into tlowtidetime
if tlowtide is "Low" then
put tlowtidetime into t_time
set itemdel to "T"
put item 2 of t_time into tlowtidetime1
set itemdel to "+"
delete item 2 of tlowtidetime1
put "low tide-" & tlowtidelevel & "m," && "low tide time-" & tlowtidetime1 &"(UTC)," && "tidal station-" & station_id into the field "arrayspecifics"
else
put tSubArray1[2] into tSubArray2
put tSubArray2["type"] into tlowtide
put tSubArray2["height"] into tlowtidelevel
put tSubArray2["date"] into tlowtidetime
if tlowtide is "Low" then
put tlowtidetime into t_time
set itemdel to "T"
put item 2 of t_time into tlowtidetime1
set itemdel to "+"
delete item 2 of tlowtidetime1
put "low tide-" & tlowtidelevel & "m," && "low tide time-" & tlowtidetime1 &"(UTC)," && "tidal station-" & station_id into the field "arrayspecifics"
else
put tSubArray1[3] into tSubArray2
put tSubArray2["type"] into tlowtide
put tSubArray2["height"] into tlowtidelevel
put tSubArray2["date"] into tlowtidetime
if tlowtide is "Low" then
put tlowtidetime into t_time
set itemdel to "T"
put item 2 of t_time into tlowtidetime1
set itemdel to "+"
delete item 2 of tlowtidetime1
put "low tide-" & tlowtidelevel & "m," && "low tide time-" & tlowtidetime1 &"(UTC)," && "tidal station-" & station_id into the field "arrayspecifics"
else
put tSubArray1[4] into tSubArray2
put tSubArray2["type"] into tlowtide
put tSubArray2["height"] into tlowtidelevel
put tSubArray2["date"] into tlowtidetime
if tlowtide is "Low" then
put tlowtidetime into t_time
set itemdel to "T"
put item 2 of t_time into tlowtidetime1
set itemdel to "+"
delete item 2 of tlowtidetime1
put "low tide-" & tlowtidelevel & "m," && "low tide time-" & tlowtidetime1 &"(UTC)," && "tidal station-" & station_id into the field "arrayspecifics"
else
put "can't determine low tide " into the field "arrayspecifics"
end if
end if
end if
end if
#put tSubArray3 into tsub
end json2
In answer to a few of the questions:-
I couldn't find an internet permissions bit in the standalone settings, but there is a command on the page that checks for a connection ( below) and this works fine.
command checkInternetConnection
put url "http://www.google.com" into tURL
if tURL is empty then
answer "no internet connection found, please try again later"
else
answer "testing internet connection........connection established"
end if
end checkInternetConnection
-----------------------------------------------------------------------------------------
The API is world tides.info see some of the script below. It seems to stop when it trys to run 'command json'.
Any help would be fab.
kind regards
Paul
command request_tide
put tmylat into tlat
put tmylong into tlon
put "https://www.worldtides.info/api?datum=Lat&extremes&lat=" & tlat & "&lon=" & tlon & "start=" & tepochtide & "&length=86400&maxcalls=5&key=" & WT_Key into ttidal_request
answer ttidal_request
end request_tide
command json
#put empty into the field "arraydata"
put URL ttidal_request into ttidal_response
put jsonimport(ttidal_response) into tArray
combine tArray by return and tab
put tArray into field "arraydata"
#put tArray[responseDatum] into field "arrayspecifics"
#put depthvariable into field "arrayspecifics"
end json
command json2
#put empty into the field "arrayspecifics"
put URL ttidal_request into ttidal_response
put jsonimport(ttidal_response) into tArray
put tArray[station] into station_id
put tArray[extremes] into tSubArray1
put tSubArray1[1] into tSubArray2
put tSubArray2["type"] into tlowtide
put tSubArray2["height"] into tlowtidelevel
put tSubArray2["date"] into tlowtidetime
if tlowtide is "Low" then
put tlowtidetime into t_time
set itemdel to "T"
put item 2 of t_time into tlowtidetime1
set itemdel to "+"
delete item 2 of tlowtidetime1
put "low tide-" & tlowtidelevel & "m," && "low tide time-" & tlowtidetime1 &"(UTC)," && "tidal station-" & station_id into the field "arrayspecifics"
else
put tSubArray1[2] into tSubArray2
put tSubArray2["type"] into tlowtide
put tSubArray2["height"] into tlowtidelevel
put tSubArray2["date"] into tlowtidetime
if tlowtide is "Low" then
put tlowtidetime into t_time
set itemdel to "T"
put item 2 of t_time into tlowtidetime1
set itemdel to "+"
delete item 2 of tlowtidetime1
put "low tide-" & tlowtidelevel & "m," && "low tide time-" & tlowtidetime1 &"(UTC)," && "tidal station-" & station_id into the field "arrayspecifics"
else
put tSubArray1[3] into tSubArray2
put tSubArray2["type"] into tlowtide
put tSubArray2["height"] into tlowtidelevel
put tSubArray2["date"] into tlowtidetime
if tlowtide is "Low" then
put tlowtidetime into t_time
set itemdel to "T"
put item 2 of t_time into tlowtidetime1
set itemdel to "+"
delete item 2 of tlowtidetime1
put "low tide-" & tlowtidelevel & "m," && "low tide time-" & tlowtidetime1 &"(UTC)," && "tidal station-" & station_id into the field "arrayspecifics"
else
put tSubArray1[4] into tSubArray2
put tSubArray2["type"] into tlowtide
put tSubArray2["height"] into tlowtidelevel
put tSubArray2["date"] into tlowtidetime
if tlowtide is "Low" then
put tlowtidetime into t_time
set itemdel to "T"
put item 2 of t_time into tlowtidetime1
set itemdel to "+"
delete item 2 of tlowtidetime1
put "low tide-" & tlowtidelevel & "m," && "low tide time-" & tlowtidetime1 &"(UTC)," && "tidal station-" & station_id into the field "arrayspecifics"
else
put "can't determine low tide " into the field "arrayspecifics"
end if
end if
end if
end if
#put tSubArray3 into tsub
end json2
Re: API call works on livecode, but not on android
Hi Paul,
just to be sure, -> ttidal_request is declared as a local or global variable?
Best
Klaus
just to be sure, -> ttidal_request is declared as a local or global variable?
Best
Klaus
-
- Posts: 58
- Joined: Sat Jun 15, 2019 10:09 am
Re: API call works on livecode, but not on android
Hi Klaus
Sorry I just realized it would be better to post the whole page script-
(the request tide command returns for example - https://www.worldtides.info/api?datum=L ... 996f0645d4)
Thanks v much
local tlat
local tlon
local ttidal_request
local tlowtidelevel
local tlowtidetime
local tlowtidetime1
local tepochtide
local tmylat
local tmylong
global tDatabaseID
local station_id
local t_tidetime
constant WT_Key = "1449737d-0844-46a7-a344-9d996f0645d4"
on opencard
put empty into field "arraydata"
put empty into field "arrayspecifics"
databaseConnect
answer question "Please confirm that you have a wifi or 3G connection before continuing " with "Yes" or "No"
if it is "no" then
answer "please wait untill you have a signal, then log back into the app"
exit to top
else
checkInternetConnection
read_epochtime
read_latandlong
request_tide
json
json2
databaseInsert_tidelevel
databaseInsert_tidetime
end if
end opencard
command request_tide
put tmylat into tlat
put tmylong into tlon
put "https://www.worldtides.info/api?datum=Lat&extremes&lat=" & tlat & "&lon=" & tlon & "start=" & tepochtide & "&length=86400&maxcalls=5&key=" & WT_Key into ttidal_request
answer ttidal_request
end request_tide
command json
put URL (ttidal_request) into ttidal_response
#put URL "https://www.worldtides.info/api?datum=L ... 996f0645d4" into ttidal_response
if ttidal_response is not empty then
answer "api seems to contain response"
end if
put jsonimport(ttidal_response) into tArray
combine tArray by return and tab
put tArray into field "arraydata"
end json
command json2
#put empty into the field "arrayspecifics"
put URL ttidal_request into ttidal_response
put jsonimport(ttidal_response) into tArray
put tArray[station] into station_id
put tArray[extremes] into tSubArray1
put tSubArray1[1] into tSubArray2
put tSubArray2["type"] into tlowtide
put tSubArray2["height"] into tlowtidelevel
put tSubArray2["date"] into tlowtidetime
if tlowtide is "Low" then
put tlowtidetime into t_time
set itemdel to "T"
put item 2 of t_time into tlowtidetime1
set itemdel to "+"
delete item 2 of tlowtidetime1
put "low tide-" & tlowtidelevel & "m," && "low tide time-" & tlowtidetime1 &"(UTC)," && "tidal station-" & station_id into the field "arrayspecifics"
else
put tSubArray1[2] into tSubArray2
put tSubArray2["type"] into tlowtide
put tSubArray2["height"] into tlowtidelevel
put tSubArray2["date"] into tlowtidetime
if tlowtide is "Low" then
put tlowtidetime into t_time
set itemdel to "T"
put item 2 of t_time into tlowtidetime1
set itemdel to "+"
delete item 2 of tlowtidetime1
put "low tide-" & tlowtidelevel & "m," && "low tide time-" & tlowtidetime1 &"(UTC)," && "tidal station-" & station_id into the field "arrayspecifics"
else
put tSubArray1[3] into tSubArray2
put tSubArray2["type"] into tlowtide
put tSubArray2["height"] into tlowtidelevel
put tSubArray2["date"] into tlowtidetime
if tlowtide is "Low" then
put tlowtidetime into t_time
set itemdel to "T"
put item 2 of t_time into tlowtidetime1
set itemdel to "+"
delete item 2 of tlowtidetime1
put "low tide-" & tlowtidelevel & "m," && "low tide time-" & tlowtidetime1 &"(UTC)," && "tidal station-" & station_id into the field "arrayspecifics"
else
put tSubArray1[4] into tSubArray2
put tSubArray2["type"] into tlowtide
put tSubArray2["height"] into tlowtidelevel
put tSubArray2["date"] into tlowtidetime
if tlowtide is "Low" then
put tlowtidetime into t_time
set itemdel to "T"
put item 2 of t_time into tlowtidetime1
set itemdel to "+"
delete item 2 of tlowtidetime1
put "low tide-" & tlowtidelevel & "m," && "low tide time-" & tlowtidetime1 &"(UTC)," && "tidal station-" & station_id into the field "arrayspecifics"
else
put "can't determine low tide " into the field "arrayspecifics"
end if
end if
end if
end if
#put tSubArray3 into tsub
#combine tSubArray2 by return and tab
#put tSubArray3 into field "arrayspecifics"
#put tsub into field "arrayspecifics"
#combine tArray by return and tab
#put tArray into field "arraydata"
#put tArray[responseDatum] into field "arrayspecifics"
#put tArray[extremes] [dt] into field "arrayspecifics"
#put depthvariable into field "arrayspecifics"
end json2
command checkInternetConnection
put url "http://www.google.com" into tURL
if tURL is empty then
answer "no internet connection found, please try again later"
else
answer "testing internet connection........connection established"
end if
end checkInternetConnection
command read_epochtime
set the defaultFolder to specialFolderPath("documents")
put URL ("file:epochofsurvey.txt") into tepochtide
end read_epochtime
command read_latandlong
set the defaultFolder to specialFolderPath("documents")
put URL ("file:currentlat.txt") into tmylat
put URL ("file:currentlong.txt") into tmylong
end read_latandlong
command databaseConnect
if tDatabaseID is a number then
answer "the database connection was successful, your connection id is" && tDatabaseID
else
answer "Unable to connect to the database, no existing connection"
end if
end databaseConnect
on databaseInsert_tidelevel
put tlowtidelevel && "(LAT from tide station;" && station_id &")" into t_tidelevel
put "UPDATE survey_details SET lowtide_level = :1 WHERE rowid =1" into tSQL
revExecuteSQL tDatabaseID, tSQL, "t_tidelevel"
end databaseInsert_tidelevel
on databaseInsert_tidetime
put tlowtidetime1 && "(UTC from tide station;" && station_id &")" into t_tidetime
put "UPDATE survey_details SET lowtide_time = :1 WHERE rowid =1" into tSQL
revExecuteSQL tDatabaseID, tSQL, "t_tidetime"
end databaseInsert_tidetime
command test_save
set the defaultFolder to specialFolderPath("documents")
put t_tidetime into URL ("file:tide_test.txt")
end test_save
Sorry I just realized it would be better to post the whole page script-
(the request tide command returns for example - https://www.worldtides.info/api?datum=L ... 996f0645d4)
Thanks v much
local tlat
local tlon
local ttidal_request
local tlowtidelevel
local tlowtidetime
local tlowtidetime1
local tepochtide
local tmylat
local tmylong
global tDatabaseID
local station_id
local t_tidetime
constant WT_Key = "1449737d-0844-46a7-a344-9d996f0645d4"
on opencard
put empty into field "arraydata"
put empty into field "arrayspecifics"
databaseConnect
answer question "Please confirm that you have a wifi or 3G connection before continuing " with "Yes" or "No"
if it is "no" then
answer "please wait untill you have a signal, then log back into the app"
exit to top
else
checkInternetConnection
read_epochtime
read_latandlong
request_tide
json
json2
databaseInsert_tidelevel
databaseInsert_tidetime
end if
end opencard
command request_tide
put tmylat into tlat
put tmylong into tlon
put "https://www.worldtides.info/api?datum=Lat&extremes&lat=" & tlat & "&lon=" & tlon & "start=" & tepochtide & "&length=86400&maxcalls=5&key=" & WT_Key into ttidal_request
answer ttidal_request
end request_tide
command json
put URL (ttidal_request) into ttidal_response
#put URL "https://www.worldtides.info/api?datum=L ... 996f0645d4" into ttidal_response
if ttidal_response is not empty then
answer "api seems to contain response"
end if
put jsonimport(ttidal_response) into tArray
combine tArray by return and tab
put tArray into field "arraydata"
end json
command json2
#put empty into the field "arrayspecifics"
put URL ttidal_request into ttidal_response
put jsonimport(ttidal_response) into tArray
put tArray[station] into station_id
put tArray[extremes] into tSubArray1
put tSubArray1[1] into tSubArray2
put tSubArray2["type"] into tlowtide
put tSubArray2["height"] into tlowtidelevel
put tSubArray2["date"] into tlowtidetime
if tlowtide is "Low" then
put tlowtidetime into t_time
set itemdel to "T"
put item 2 of t_time into tlowtidetime1
set itemdel to "+"
delete item 2 of tlowtidetime1
put "low tide-" & tlowtidelevel & "m," && "low tide time-" & tlowtidetime1 &"(UTC)," && "tidal station-" & station_id into the field "arrayspecifics"
else
put tSubArray1[2] into tSubArray2
put tSubArray2["type"] into tlowtide
put tSubArray2["height"] into tlowtidelevel
put tSubArray2["date"] into tlowtidetime
if tlowtide is "Low" then
put tlowtidetime into t_time
set itemdel to "T"
put item 2 of t_time into tlowtidetime1
set itemdel to "+"
delete item 2 of tlowtidetime1
put "low tide-" & tlowtidelevel & "m," && "low tide time-" & tlowtidetime1 &"(UTC)," && "tidal station-" & station_id into the field "arrayspecifics"
else
put tSubArray1[3] into tSubArray2
put tSubArray2["type"] into tlowtide
put tSubArray2["height"] into tlowtidelevel
put tSubArray2["date"] into tlowtidetime
if tlowtide is "Low" then
put tlowtidetime into t_time
set itemdel to "T"
put item 2 of t_time into tlowtidetime1
set itemdel to "+"
delete item 2 of tlowtidetime1
put "low tide-" & tlowtidelevel & "m," && "low tide time-" & tlowtidetime1 &"(UTC)," && "tidal station-" & station_id into the field "arrayspecifics"
else
put tSubArray1[4] into tSubArray2
put tSubArray2["type"] into tlowtide
put tSubArray2["height"] into tlowtidelevel
put tSubArray2["date"] into tlowtidetime
if tlowtide is "Low" then
put tlowtidetime into t_time
set itemdel to "T"
put item 2 of t_time into tlowtidetime1
set itemdel to "+"
delete item 2 of tlowtidetime1
put "low tide-" & tlowtidelevel & "m," && "low tide time-" & tlowtidetime1 &"(UTC)," && "tidal station-" & station_id into the field "arrayspecifics"
else
put "can't determine low tide " into the field "arrayspecifics"
end if
end if
end if
end if
#put tSubArray3 into tsub
#combine tSubArray2 by return and tab
#put tSubArray3 into field "arrayspecifics"
#put tsub into field "arrayspecifics"
#combine tArray by return and tab
#put tArray into field "arraydata"
#put tArray[responseDatum] into field "arrayspecifics"
#put tArray[extremes] [dt] into field "arrayspecifics"
#put depthvariable into field "arrayspecifics"
end json2
command checkInternetConnection
put url "http://www.google.com" into tURL
if tURL is empty then
answer "no internet connection found, please try again later"
else
answer "testing internet connection........connection established"
end if
end checkInternetConnection
command read_epochtime
set the defaultFolder to specialFolderPath("documents")
put URL ("file:epochofsurvey.txt") into tepochtide
end read_epochtime
command read_latandlong
set the defaultFolder to specialFolderPath("documents")
put URL ("file:currentlat.txt") into tmylat
put URL ("file:currentlong.txt") into tmylong
end read_latandlong
command databaseConnect
if tDatabaseID is a number then
answer "the database connection was successful, your connection id is" && tDatabaseID
else
answer "Unable to connect to the database, no existing connection"
end if
end databaseConnect
on databaseInsert_tidelevel
put tlowtidelevel && "(LAT from tide station;" && station_id &")" into t_tidelevel
put "UPDATE survey_details SET lowtide_level = :1 WHERE rowid =1" into tSQL
revExecuteSQL tDatabaseID, tSQL, "t_tidelevel"
end databaseInsert_tidelevel
on databaseInsert_tidetime
put tlowtidetime1 && "(UTC from tide station;" && station_id &")" into t_tidetime
put "UPDATE survey_details SET lowtide_time = :1 WHERE rowid =1" into tSQL
revExecuteSQL tDatabaseID, tSQL, "t_tidetime"
end databaseInsert_tidetime
command test_save
set the defaultFolder to specialFolderPath("documents")
put t_tidetime into URL ("file:tide_test.txt")
end test_save
Re: API call works on livecode, but not on android
What do you get when you use:
Answer the result
after you send something to an url?
I would try to put your whole or partly url url in a variable then post it:
Now the result is empty or contains an error
Or the 'it' variable contains what you want or an error string from the website
Also i would start globals with g not a t, it may work but it's better to recoqnise when reading the script.
On the Android tab in the standalone setting, then in the right below corner is Internet Permission which you have to tick(maybe it was already ticked)
Maybe you need to set a http Header first when using the whole string as put URL "your whole websitestring with extra stuff" into tMydata, or something i don't know
Answer the result
after you send something to an url?
I would try to put your whole or partly url url in a variable then post it:
Code: Select all
Put "/?=extrastuff" into tThis
post tThis to URL "https://website.com"
answer the result
Or the 'it' variable contains what you want or an error string from the website
Also i would start globals with g not a t, it may work but it's better to recoqnise when reading the script.
On the Android tab in the standalone setting, then in the right below corner is Internet Permission which you have to tick(maybe it was already ticked)
Maybe you need to set a http Header first when using the whole string as put URL "your whole websitestring with extra stuff" into tMydata, or something i don't know
Last edited by sphere on Thu Aug 22, 2019 1:47 pm, edited 2 times in total.
Re: API call works on livecode, but not on android
Hey Paul,
I don't have any solution or advice for your problem per se like Klaus and sphere, but I do hope you will go back and edit your previous posts so that the code portions are put into code display mode, so that others (like me) who are reading the thread have it a tad easier.
Short runs of code like:
on mouseUp
answer "Hiya !"
end mouseUp
are easy to read inline, the long run multiple handler sets like this one above:
...are not only condensed in space, but far easier to copy and look at in an editor, or read in chunks. As a side benefit for readability even in the code box, the block is formatted in a way that easily simulates the original formatting of the editor as far as indentation goes, like so:
Just a suggestion.
I don't have any solution or advice for your problem per se like Klaus and sphere, but I do hope you will go back and edit your previous posts so that the code portions are put into code display mode, so that others (like me) who are reading the thread have it a tad easier.
Short runs of code like:
on mouseUp
answer "Hiya !"
end mouseUp
are easy to read inline, the long run multiple handler sets like this one above:
Code: Select all
local tlat
local tlon
local ttidal_request
local tlowtidelevel
local tlowtidetime
local tlowtidetime1
local tepochtide
local tmylat
local tmylong
global tDatabaseID
local station_id
local t_tidetime
constant WT_Key = "1449737d-0844-46a7-a344-9d996f0645d4"
on opencard
put empty into field "arraydata"
put empty into field "arrayspecifics"
databaseConnect
answer question "Please confirm that you have a wifi or 3G connection before continuing " with "Yes" or "No"
if it is "no" then
answer "please wait untill you have a signal, then log back into the app"
exit to top
else
checkInternetConnection
read_epochtime
read_latandlong
request_tide
json
json2
databaseInsert_tidelevel
databaseInsert_tidetime
end if
end opencard
command request_tide
put tmylat into tlat
put tmylong into tlon
put "https://www.worldtides.info/api?datum=Lat&extremes&lat=" & tlat & "&lon=" & tlon & "start=" & tepochtide & "&length=86400&maxcalls=5&key=" & WT_Key into ttidal_request
answer ttidal_request
end request_tide
command json
put URL (ttidal_request) into ttidal_response
#put URL "https://www.worldtides.info/api?datum=L ... 996f0645d4" into ttidal_response
if ttidal_response is not empty then
answer "api seems to contain response"
end if
put jsonimport(ttidal_response) into tArray
combine tArray by return and tab
put tArray into field "arraydata"
end json
command json2
#put empty into the field "arrayspecifics"
put URL ttidal_request into ttidal_response
put jsonimport(ttidal_response) into tArray
put tArray[station] into station_id
put tArray[extremes] into tSubArray1
put tSubArray1[1] into tSubArray2
put tSubArray2["type"] into tlowtide
put tSubArray2["height"] into tlowtidelevel
put tSubArray2["date"] into tlowtidetime
if tlowtide is "Low" then
put tlowtidetime into t_time
set itemdel to "T"
put item 2 of t_time into tlowtidetime1
set itemdel to "+"
delete item 2 of tlowtidetime1
put "low tide-" & tlowtidelevel & "m," && "low tide time-" & tlowtidetime1 &"(UTC)," && "tidal station-" & station_id into the field "arrayspecifics"
else
put tSubArray1[2] into tSubArray2
put tSubArray2["type"] into tlowtide
put tSubArray2["height"] into tlowtidelevel
put tSubArray2["date"] into tlowtidetime
if tlowtide is "Low" then
put tlowtidetime into t_time
set itemdel to "T"
put item 2 of t_time into tlowtidetime1
set itemdel to "+"
delete item 2 of tlowtidetime1
put "low tide-" & tlowtidelevel & "m," && "low tide time-" & tlowtidetime1 &"(UTC)," && "tidal station-" & station_id into the field "arrayspecifics"
else
put tSubArray1[3] into tSubArray2
put tSubArray2["type"] into tlowtide
put tSubArray2["height"] into tlowtidelevel
put tSubArray2["date"] into tlowtidetime
if tlowtide is "Low" then
put tlowtidetime into t_time
set itemdel to "T"
put item 2 of t_time into tlowtidetime1
set itemdel to "+"
delete item 2 of tlowtidetime1
put "low tide-" & tlowtidelevel & "m," && "low tide time-" & tlowtidetime1 &"(UTC)," && "tidal station-" & station_id into the field "arrayspecifics"
else
put tSubArray1[4] into tSubArray2
put tSubArray2["type"] into tlowtide
put tSubArray2["height"] into tlowtidelevel
put tSubArray2["date"] into tlowtidetime
if tlowtide is "Low" then
put tlowtidetime into t_time
set itemdel to "T"
put item 2 of t_time into tlowtidetime1
set itemdel to "+"
delete item 2 of tlowtidetime1
put "low tide-" & tlowtidelevel & "m," && "low tide time-" & tlowtidetime1 &"(UTC)," && "tidal station-" & station_id into the field "arrayspecifics"
else
put "can't determine low tide " into the field "arrayspecifics"
end if
end if
end if
end if
#put tSubArray3 into tsub
#combine tSubArray2 by return and tab
#put tSubArray3 into field "arrayspecifics"
#put tsub into field "arrayspecifics"
#combine tArray by return and tab
#put tArray into field "arraydata"
#put tArray[responseDatum] into field "arrayspecifics"
#put tArray[extremes] [dt] into field "arrayspecifics"
#put depthvariable into field "arrayspecifics"
end json2
command checkInternetConnection
put url "http://www.google.com" into tURL
if tURL is empty then
answer "no internet connection found, please try again later"
else
answer "testing internet connection........connection established"
end if
end checkInternetConnection
command read_epochtime
set the defaultFolder to specialFolderPath("documents")
put URL ("file:epochofsurvey.txt") into tepochtide
end read_epochtime
command read_latandlong
set the defaultFolder to specialFolderPath("documents")
put URL ("file:currentlat.txt") into tmylat
put URL ("file:currentlong.txt") into tmylong
end read_latandlong
command databaseConnect
if tDatabaseID is a number then
answer "the database connection was successful, your connection id is" && tDatabaseID
else
answer "Unable to connect to the database, no existing connection"
end if
end databaseConnect
on databaseInsert_tidelevel
put tlowtidelevel && "(LAT from tide station;" && station_id &")" into t_tidelevel
put "UPDATE survey_details SET lowtide_level = :1 WHERE rowid =1" into tSQL
revExecuteSQL tDatabaseID, tSQL, "t_tidelevel"
end databaseInsert_tidelevel
on databaseInsert_tidetime
put tlowtidetime1 && "(UTC from tide station;" && station_id &")" into t_tidetime
put "UPDATE survey_details SET lowtide_time = :1 WHERE rowid =1" into tSQL
revExecuteSQL tDatabaseID, tSQL, "t_tidetime"
end databaseInsert_tidetime
command test_save
set the defaultFolder to specialFolderPath("documents")
put t_tidetime into URL ("file:tide_test.txt")
end test_save
Code: Select all
on databaseInsert_tidetime
put tlowtidetime1 && "(UTC from tide station;" && station_id &")" into t_tidetime
put "UPDATE survey_details SET lowtide_time = :1 WHERE rowid =1" into tSQL
revExecuteSQL tDatabaseID, tSQL, "t_tidetime"
end databaseInsert_tidetime
Re: API call works on livecode, but not on android
Tried with the same results as you over usb
Then made these changes
In Standalone Application Settings - Android
Make sure Internet is checked in Application Permissions
In Standalone Application Settings - General
Check Select inclusions for the standalone
In Standalone Application Settings - Inclusions
check
JSON library
URL parser
Internet
Answer Dialogue
Ask Dialogue
I then got this result
There seems to be a general problem with automatic inclusions missing out some functions.
Then made these changes
In Standalone Application Settings - Android
Make sure Internet is checked in Application Permissions
In Standalone Application Settings - General
Check Select inclusions for the standalone
In Standalone Application Settings - Inclusions
check
JSON library
URL parser
Internet
Answer Dialogue
Ask Dialogue
I then got this result
There seems to be a general problem with automatic inclusions missing out some functions.
Andy Piddock
https://livecode1001.blogspot.com Built with LiveCode
https://github.com/AndyPiddock/TinyIDE Mini IDE alternative
https://github.com/AndyPiddock/Seth Editor color theming
http://livecodeshare.runrev.com/stack/897/ LiveCode-Multi-Search
https://livecode1001.blogspot.com Built with LiveCode
https://github.com/AndyPiddock/TinyIDE Mini IDE alternative
https://github.com/AndyPiddock/Seth Editor color theming
http://livecodeshare.runrev.com/stack/897/ LiveCode-Multi-Search