android开源天气动态图标,SmileWeather -开源天气类应用,天气图标很完整

SmileWeather

625332134c6f4d4600884b99daebf603.png625332134c6f4d4600884b99daebf603.png625332134c6f4d4600884b99daebf603.png625332134c6f4d4600884b99daebf603.png625332134c6f4d4600884b99daebf603.png625332134c6f4d4600884b99daebf603.png

A library for Search & Parse the weather data from Wunderground & Openweathermap conveniently.

625332134c6f4d4600884b99daebf603.png

#What can it do for you?

1. Handle all complicated things about Search & Parse the weather data.

For example, you can search place by using -(void)getPlacemarksFromString:(NSString*)string completion:(SmileWeatherPlacemarksCompletion)completion, the completion block return array of the CLPlacemark.

[[SmileWeatherDownLoader sharedDownloader] getPlacemarksFromString:@"cupertino" completion:^(NSArray *placeMarks, NSError *error) {

if (!error) {

//search results: array of placemark in here

}

}];

625332134c6f4d4600884b99daebf603.png

You can get the placemark's weather data by using -(void)getWeatherDataFromPlacemark:(CLPlacemark*)placeMark completion:(SmileWeatherDataDownloadCompletion)completion;, the completion block return well formed weather data SmileWeatherData.

[[SmileWeatherDownLoader sharedDownloader] getWeatherDataFromPlacemark:placemark completion:^(SmileWeatherData *data, NSError *error) {

if (!error) {

//Well formed weather data in here.

}

}];

2. Need not any weather icon, SmileWeather handle it for you.

By using climacons font, the SmileWeatherData contains the corresponding character that is used for weather icon.

SmileWeatherData *data = ...;

UILabel *iconLabel = ...;

//current weather condition

iconLabel.text = data.currentData.icon;

625332134c6f4d4600884b99daebf603.png

3. Fully localized the related information for almost all the countries in the world.

The weather information, timestamp, weekday, timezone, etc, localized all the related information as much as possible.

625332134c6f4d4600884b99daebf603.png

4. Support Today Extension & WatchOS 2.

625332134c6f4d4600884b99daebf603.png

625332134c6f4d4600884b99daebf603.png

5. Add the Weather Widget Style UI to your project simply, by using SmileWeatherDemoVC.

Please check the example project for more detail.

SmileWeatherDemoVC *demoVC = [SmileWeatherDemoVC DemoVCToView:self.containerView];

625332134c6f4d4600884b99daebf603.png

#Theoretical Introduction

The main class is the SmileWeatherDownLoader. It handle downloading weather data from the Wunderground server. It has three main method:

/*!Get weather data from CLPlacemark.*/

-(void)getWeatherDataFromPlacemark:(CLPlacemark*)placeMark completion:(SmileWeatherDataDownloadCompletion)completion;

/*!Get weather data from CLLocation.*/

-(void)getWeatherDataFromLocation:(CLLocation*)location completion:(SmileWeatherDataDownloadCompletion)completion;

/*!Get array of CLPlacemark from the input string.*/

-(void)getPlacemarksFromString:(NSString*)string completion:(SmileWeatherPlacemarksCompletion)completion;

In the SmileWeatherDataDownloadCompletion block, SmileWeatherData is returned, it contains the current weather data, 4 days forecast data, 24 hourly forecast data, etc.

[[SmileWeatherDownLoader sharedDownloader] getWeatherDataFromPlacemark:placemark completion:^(SmileWeatherData *data, NSError *error) {

if (!error) {

NSLog(@"Current Temperature, Celsius : %@, Fahrenheit: %@", data.currentData.currentTempStri_Celsius, data.currentData.currentTempStri_Fahrenheit);

}

}];

SmileWeatherData also conform to NSCoding, you can archive it as NSData.

SmileWeatherData *data = ...

NSData* encodedData = [NSKeyedArchiver archivedDataWithRootObject: data];

#How to use it for your project?

Step 1. SmileWeather is available through use CocoaPods. To install it, simply add the following line to your Podfile:

pod 'SmileWeather'

Or you can drag the SmileWeather folder to your project.

Step 2. Sign up Wunderground or Openweathermap to get the api key.

Step 3. Follow as the below image, add the api key and climacons font to your project's Info.plist.

625332134c6f4d4600884b99daebf603.png

If you use Wunderground api, please add this key: API_KEY_wunderground .

If you use Openweathermap api, please add this key: API_KEY_openweathermap.

If you add both of these in Info.plist, please add API_NOW to let the SmileWeather know which one should be used, 0 is API_KEY_wunderground, and 1 is API_KEY_openweathermap.

Step 4. The last step is that import SmileWeatherDownLoader.h to your project, and use it :)

Contributions

Warmly welcome to submit a pull request.

Contact

If you have some advice or find some issue, please contact me.

Email me

Thanks

Thanks for Comyar Zaheri's Sol° for iOS, I am inspired by this project.

License

SmileWeather is available under the MIT license. See the LICENSE file for more info.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值