B4A Library ICOSWorldForecast 3.50

View attachment 14755 View attachment 14754 View attachment 16846 Hi guys, ICOSWorldForecast is here.


It's a pleasure to introduce the new library of weather forecast.

The zip include:

The library, and the demo

INSTALLATION:

Copy the Library in your Basic For Android Library.

Copy the folder weathericon is located in files in the demo. In your one.


RENAME:
ICOSWorldForecast2.71.part1.zip and ICOSWorldForecast2.71.part2.zip

TO:
ICOSWorldForecast2.71.part1.rar and ICOSWorldForecast2.71.part1.rar

In this version I add WeatherUrl and 2 more days forecast.

You can use your own icons, instead of my icons.

For this new version 2.71 you need the new key.

You must register to obtain the new key, otherwise you will get error.

Use the address below to register.

World Weather Online - Welcome to the World Weather Online Developer Network!

don't forget to replace the ApiKey="XXXXXXXXXXXXXX" with your private key

This demos, I made with my galaxy tab 7 600x1024

any question or bugs please report to me.

big Thx to warwound for is fantastic auto-generated reference.


ICOSWorldForecast
Author:
Giuseppe Salvi
Version: 2.81
  • ICOSWorldForecast
    Methods:
    • FCDate (index As Int) As String
      Return Date for which the weather is forecasted
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.FCDate(0)
    • FCIcon (index As Int) As Bitmap
      Return Weather symbol image
      example:
      Dim a As ICOSWorldForecast
      Image1.SetBackgroundImage=a.FCWeatherIcon(0)
    • FCIconUrl (index As Int) As String
      Return URLIcon For Forecast Condition
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.FCIconUrl(0)
    • FCPrecipitationMM (index As Int) As String
      Return Precipitation amount in millimeter
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.FCPrecipitationMM(0)
    • FCTempMaxCelsius (index As Int) As String
      Return Day and night max temperature in Celcius
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.FCTempMaxCelsius(0)
    • FCTempMaxFahrenheit (index As Int) As String
      Return Day and night max temperature in Fahrenheit
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.FCTempMaxFahrenheit(0)
    • FCTempMinCelsius (index As Int) As String
      Return Day and night min temperature in Celcius
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.FCTempMinCelsius(0)
    • FCTempMinFahrenheit (index As Int) As String
      Return Day and night max temperature in Fahrenheit
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.FCTempMinFahrenheit(0)
    • FCWeatherCode (index As Int) As String
      Return Weather Code
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.FCWeatherCode(0)
    • FCWeatherDesc (index As Int) As String
      Return Weather description
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.FCWeatherDesc(0)
    • FCWinddir16Point (index As Int) As String
      Return 16-Point compass wind direction
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.FCWinddir16Point(0)
    • FCWinddirDegree (index As Int) As String
      Return Wind direction in degree
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.FCWinddirDegree(0)
    • FCWinddirection (index As Int) As String
      Return Compass Wind direction
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.FCWinddirection(0)
    • FCWindspeedKmph (index As Int) As String
      Return Wind speed in kilometer per hour
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.FCWindspeedKmph(0)
    • FCWindspeedMiles (index As Int) As String
      Return Wind speed in Miles per hour
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.FCWindspeedMiles(0)
    • FindLatAndLong As String
      Retrieve accurate latitude and longitude from GPS or network services
    • FindLocation As String
      Retrieve accurate location from GPS or network services
    • Full7DayName (day As Int) As String
      Return Full name of the day ( Monday )
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.Full7DayName(0) ' 0 = today - 1 = tomorrow etc etc
    • GetList (mCity As String) As ArrayList
      Set the City Name you wish to get the weather
      example:
      Dim a As ICOSWorldForecast
      Dim l As List
      Dim lv1 As ListView
      l = a.GetList("Los Angeles")
      For n = 0 To l.Size-1
      lv1.AddSingleLine(l.Get(n))
      Next
      Sub lv1_ItemClick (Position As Int, Value As Object)ics.CityName = lv1.GetItem(Position)
      lv1.Clear
      End Sub
    • Initialize (EventName As String)
      Initilize the object
    • Short7DayName (day As Int) As String
      Return Short name of the day ( Mon )
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.Short7DayName(0) ' 0 = today - 1 = tomorrow etc etc
    • StringFormat (format As String, object As Object, object1 As Object) As String
      Return Formatted String
      example:
      Label1.Text=StringFormat("Lat: %1$s - Long: %2$s ",Latitude,Longitude)
    • isWiFiConnected As Boolean
      Check if WiFi is Connected
    Permissions:
    • android.permission.ACCESS_ASSISTED_GPS
    • android.permission.ACCESS_COARSE_LOCATION
    • android.permission.ACCESS_FINE_LOCATION
    • android.permission.ACCESS_GPS
    • android.permission.ACCESS_LOCATION_EXTRA_COMMANDS
    • android.permission.ACCESS_NETWORK_STATE
    • android.permission.ACCESS_WIFI_STATE
    • android.permission.CONTROL_LOCATION_UPDATES
    • android.permission.INTERNET
    Properties:
    • ApiKey As String [write only]
      Set your personal ApiKey
      example:
      Dim a As ICOSWorldForecast
      a.ApiKey="XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    • AreaName As String [read only]
      Return Name of the city
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.AreaName
    • CCCloudCover As String [read only]
      Return Cloud Cover in %
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.CCCloudCover
    • CCHumidity As String [read only]
      Return Humidity in %
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.CCHumidity
    • CCIcon As Bitmap [read only]
      Return Weather symbol image
      example:
      Dim a As ICOSWorldForecast
      Image1.SetBackgroundImage=a.CCWeatherIcon
    • CCIconUrl As String [read only]
      Return URLIcon For Current Condition
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.CCIconUrl
    • CCLocalObsDateTime As String [read only]
      Return Local Observation date and time
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.CCLocalObsDateTime
    • CCObservationTime As String [read only]
      Return Observation time (UTC)
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.CCObservationTime
    • CCPrecipitationMM As String [read only]
      Return Precipitation Amount in Millimeter
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.PrecipitationMM
    • CCPressure As String [read only]
      Return Atmospheric pressure in Milibars
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.CCPressure
    • CCTempCelsius As String [read only]
      Return Temperature in Celsius
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.CCTempCelsius
    • CCTempFahrenheit As String [read only]
      Return Temperature in Fahrenheit
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.CCTempFahrenheit
    • CCVisibility As String [read only]
      Return Visibility kilometers per hour
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.CCVisibility
    • CCWeatherCode As String [read only]
      Return Weather Code
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.CCWeatherCode
    • CCWeatherDescription As String [read only]
      Return Weather Description
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.CCWeatherDescription
    • CCWinddir16Point As String [read only]
      Return 16-Point wind direction compass
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.CCWinddir16Point
    • CCWinddirDegree As String [read only]
      Return Wind direction in degree
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.CCWinddirDegree
    • CCWindspeedKmph As String [read only]
      Return Wind speed in kilometer per hour
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.CCWindspeedKmph
    • CCWindspeedMiles As String [read only]
      Return Wind speed in Miles per hour
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.CCWindspeedMiles
    • CityName As String [write only]
      Set City you wish to get the weather
      example:
      Dim a As ICOSWorldForecast
      a.CityName="New York"
    • Country As String [read only]
      Return Name of the Country
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.Country
    • CurrentDate As String [read only]
      Return Current Day,Month,Year ( Friday, 28 September, 2012 )
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.CurrentDate
    • CurrentTime As String [read only]
      Return Current time ( 02.09 PM )
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.CurrentTime
    • DstOffset As String [read only]
      Return DstOffset = ( GMT +2 )
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.DstOffset
    • GmtOffset As String [read only]
      Return GmtOffset = ( GMT +1 )
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.GmtOffset
    • LatAndLong As String [write only]
      Set Lat and Long you wish to get the weather
      example:
      Dim a As ICOSWorldForecast
      a.LatAndLong="40.714,-74.006"
    • Latitude As Object [read only]
      Return Latitude of the city
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.Latitude
    • Longitude As Object [read only]
      Return Longitude of the city
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.Longitude
    • Population As String [read only]
      Return Population of the city
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.Population
    • Region As String [read only]
      Return Name of the Region
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.Region
    • Sunrise As String [read only]
      Return Sunrise = 06:04
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.Sunrise
    • Sunset As String [read only]
      Return Sunset = 19:36
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.Sunset
    • TimeZoneID As String [read only]
      Return TimeZoneID = Europe/Rome
      example:
      Dim a As ICOSWorldForecast
      Label1.Text=a.TimeZoneID
    • Version As Double [read only]
      Return the version of this library
    • WeatherUrl As String [read only]
      Return url of the city [ http://www.worldweatheronline.com/London-weather/City-of-London-Greater-London/GB.aspx ]
      example:
      Dim Webview1 As Webview
      Webview1.LoadUrl(a.WeatherUrl)
 

Attachments

  • ICOSWorldForecast_DEMO.part1.zip
    293 KB · Views: 983
  • ICOSWorldForecast_DEMO.part2.zip
    167.1 KB · Views: 787
  • Main.png
    Main.png
    86.8 KB · Views: 936
  • Widget.jpg
    Widget.jpg
    81.8 KB · Views: 922
  • ICOSWorldForecast.png
    ICOSWorldForecast.png
    156.3 KB · Views: 983
  • ICOSWorldForecastFree_v3.50_lib_fix.zip
    53.9 KB · Views: 532
Last edited:

Laurent95

Active Member
Licensed User
Longtime User

Laurent95

Active Member
Licensed User
Longtime User

Laurent95

Active Member
Licensed User
Longtime User
Hi Giuseppe,
Can we have informations about how works the "position" property ?
I have seen this property but it's commented nowhere unless in the library but no example.
I ask myself if that's why i have some problems since the beginning with my widget who use several locations with the same instance of the library.
Can we put several locations for the weather condition ?

Thanks for explain it.

Best regards.
 

Laurent95

Active Member
Licensed User
Longtime User
Hi Laurent, Im working on it but i have one problem with the trial premium key i got from world weather online doesnt parse the weather i dont know if is the key or is some error from me but believe im working on it not for long be patience.

Ok Giuseppe, no worries, take your time.
I talk about the property because i see it for the first time on the free version.
But it seems that's not the problem, my problem seems come from the speed of update, because i changes the location of the weather's conditions for each widget in a boucle. For now i slow down it a bit and don't allow two widgets to being updated at same time, who works fine.
But i stay interested by the premium version, we still have problem with the free on the server often, then i can't propose a pay version with that.

Best regards and continues to allow us to do that dreams become reality ;)
 

Laurent95

Active Member
Licensed User
Longtime User
Hi Laurent, u r right but i hope the premium is more fast.

Anyway i´ll implement the asynctask and i hope is more fast the get the response.

Thank you.

Hello Giuseppe,
What news about the premium version ?
I will soon become mad if i don't find a solution.
i have published my free version of the widget since October 30, at yesterday 658 installations, woowwwww. But also many throttle limits on the weather's website, of course.
Hope you can finish the premium version soon, thanks by advance.
Maybe i will sleep normally then ;)

Please can you take a look at this string file in German for me, i put the English version also, thank you so much for that.
Regards, Laurent
 

Attachments

  • strings.zip
    6.2 KB · Views: 176

lonleystar

Well-Known Member
Licensed User
Longtime User
Hi Laurent about the premium is ready please give me another week to finish and test it I think to ask u also to test it before to give to the others.

Next week I´ll send u the beta so we can test it.

Thanks for your patience.


About the strings u mean to check if the translation is correct in deutsch
 
Last edited:

Laurent95

Active Member
Licensed User
Longtime User
Hi Laurent about the premium is ready please give me another week to finish and test it I think to ask u also to test it before to give to the others.

Next week I´ll send u the beta so we can test it.

Thanks for your patience.


About the strings u mean to check if the translation is correct in deutsch

Hi Giuseppe,
Thanks for your quick response. Ok no worries about it for now i must find a solution for my free version and it's not easy.
Ok Giuseppe for test it, but you must give me some time for feedback, because i need to improve the first example for test it in all conditions.
I fear the time needed for improve the free version of my widget can be really so long. Due to the complexity of the several widgets on home screen who is allowed.
About the translation, yes, if you can give me a bit of your time for correct, if it's needed. My know of German language is really basic, thanks :)

I wish you a nice week-end.
Best regards.
 

Laurent95

Active Member
Licensed User
Longtime User
Hi Laurent for translation don't worry my girlfriend is Deutsch.

To test take your time.

Please tell me the name of your widget i´ll like to see it.

Ahhh ok for your girlfriend :). Mine is asian if ever you need to translate something in Tagalog ;) (Lolllll)
You can see and download the widget on the market here : https://play.google.com/store/apps/details?id=lizaprod.b4a.widget.easyclockweather

But forgive me if it still not working when it's in throttle limits. I have again a notifcation about it, from the WWOnline website today :(
But the new version will come soon now.

And yes that's what we can do also with your great job, thank you again for have does it.
I have taken the permission for put you also in good place in the credits, i hope you aren't bothered about it :)

Edit : And of course if you're interested i can send you the sources, we can share the profits ;)
 

Laurent95

Active Member
Licensed User
Longtime User
Hi Laurent this widget is one of the best i sow till now clear and beautiful.


A big thank you to put me in your credits.

Thank you for the compliment, i have tried to do something good and easy to use.
You are very welcome Giuseppe. Because it's your work who was allow me to do it.

Best regards
 

Theera

Well-Known Member
Licensed User
Longtime User
Hi Giuseppe Salvi,
After I've test in B4J ,I come back to test in B4A. It's Ok,but it shown error following. I use version 2.84
 

Attachments

  • errorlog.png
    errorlog.png
    24.5 KB · Views: 156

pantaraf

Member
Licensed User
Longtime User
Ciao Giuseppe,
I'm having a (silly) problem using the .CCIcon property: I get the following exception
java.io.FileNotFoundException: weathericon/wsymbol_0007_fog.png
The library can't find the icons, I've put the whole "weathericon" directory under the subdirectory "files" into my own project. Isn't it the right place maybe? :D

Grazie.
Raffaele

SOLVED: I was calling .CCIcon before any other propery like i.e. .CCWeatherDescription.
Is this a bug?
 
Last edited:
Top