汉语字典或者词典的简单的ios小demo

[注意]转载时请注明出处博客园-吃唐僧肉的小悟空http://www.cnblogs.com/hukezhu/

 

首先感谢  枯龙吟  网易博客提供了【成语词典】【新华字典】【汉语词典】接口以供使用.

无意中在网上发现了一个关于汉语字典方面的接口 ,于是自己就测试了一下,发现可以使用,非常感谢那位大神!!!

附上demo截图:

 

主要用到了数据解析的方式,服务器返回的是json数据,直接使用ios提供的类进行解析,这个小demo很简单,直接附上源码:(代码中,我封装了一个方法,传入服务器的地址和请求的数据,回到主线程更新UI)

  1 //
  2 //  ViewController.m
  3 //  新华字典
  4 //
  5 //  Created by hukezhu on 15/7/7.
  6 //  Copyright (c) 2015年 hukezhu. All rights reserved.
  7 //
  8 
  9 #import "ViewController.h"
 10 #import <AFNetworking.h>
 11 
 12 @interface ViewController ()
 13 @property (weak, nonatomic) IBOutlet UITextField *word;
 14 @property (weak, nonatomic) IBOutlet UITextField *chengyu;
 15 @property (weak, nonatomic) IBOutlet UITextView *textView;
 16 @property (weak, nonatomic) IBOutlet UITextField *ciyu;
 17 
 18 - (IBAction)wordClick:(UIButton *)sender;
 19 - (IBAction)chengyuClick:(UIButton *)sender;
 20 - (IBAction)ciyuClick:(UIButton *)sender;
 21 
 22 @end
 23 
 24 @implementation ViewController
 25 
 26 
 27 
 28 
 29 - (void)viewDidLoad {
 30     [super viewDidLoad];
 31     
 32 }
 33 
 34 
 35 - (void)getDictionary :(NSString *)strUrl word:(NSString *)word{
 36 
 37     NSString *stringUrl = strUrl;
 38     AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
 39     manager.responseSerializer.acceptableContentTypes =[NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript",@"text/html", nil];
 40     
 41     [manager GET:stringUrl parameters:@{@"word":word} success:^(AFHTTPRequestOperation *operation, id json) {
 42         
 43         NSData *data = [NSJSONSerialization dataWithJSONObject:json options:0 error:NULL];
 44 
 45         
 46         NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:0 error:NULL];
 47         
 48 
 49         
 50         NSString *rootKey = dict.keyEnumerator.nextObject;
 51         NSArray *array = dict[rootKey];
 52 
 53         
 54         
 55         NSMutableString *stringM = [NSMutableString string];
 56         for (NSDictionary *dict1 in array) {
 57 
 58             for (NSString *key in dict1) {
 59                 if ([key isEqualToString:@"text"]) {
 60                     NSString *object=[dict1 objectForKey:key];
 61                     //NSLog(@"%@",object);
 62                     [stringM appendFormat:@"%@\n",object];
 63                 }
 64 
 65             }
 66         }
 67         
 68         self.textView.text = stringM;
 69     } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
 70         NSLog(@"error:%@",error);
 71     }];
 72 
 73    
 74 }
 75 
 76 - (IBAction)wordClick:(UIButton *)sender {
 77     
 78     //NSLog(@"点击了查找按钮");
 79     if (self.word.text) {
 80     [self getDictionary:@"http://brisk.eu.org/api/xhzd.php" word:self.word.text];
 81     }
 82     
 83     [self.view endEditing:YES];
 84     
 85     
 86 }
 87 
 88 - (IBAction)chengyuClick:(UIButton *)sender {
 89     
 90     if (self.chengyu.text) {
 91         [self getDictionary:@"http://brisk.eu.org/api/cycd.php" word:self.chengyu.text];
 92     }
 93     
 94     [self.view endEditing:YES];
 95 }
 96 
 97 - (IBAction)ciyuClick:(UIButton *)sender {
 98     
 99     if (self.ciyu.text) {
100         [self getDictionary:@"http://brisk.eu.org/api/hycd.php" word:self.ciyu.text];
101     }
102 
103     
104     //这个是周公解梦的,可是api不能使用了
105 //    if (self.ciyu.text) {
106 //        [self getDictionary:@"http://brisk.eu.org/api/dream.php" word:self.ciyu.text];
107 //    }
108     
109     [self.view endEditing:YES];
110 }
111 @end

 

posted @ 2015-07-09 23:05  吃唐僧肉的小悟空  阅读(925)  评论(0编辑  收藏  举报