UI 网络程序
一,从网络地址获取一张图片
-(void)didClickDownLoad:(id)sender
{
NSLog(@"%@",[NSDate date].description);
NSURL *url=[NSURL URLWithString:@"http://124.205.1.1/student/class_12/team_learn/a.png"];
NSURLRequest *request=[NSURLRequest requestWithURL:url];
// NSURLRequest *request=[[NSURLRequest alloc]initWithURL:url];
//NSData *data=[NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
//将data转换成image对象
// UIImage *image=[[UIImage alloc]initWithData:data];
UIImage *image=[UIImage imageWithData:data];
self.imageView.image=image;
self.imageView.backgroundColor=[UIColor clearColor];
self.imageView.contentMode=UIViewContentModeScaleAspectFit;
}];
}
二,访问服务器,计算结果输出,post
- (void)viewDidLoad
{
[super viewDidLoad];
// 构造网络地址对象
NSURL *url=[NSURL URLWithString:@"http://124.205.147.26/student/class_12/team_learn/lichanghong.php"];
//
//构造复杂网络请求对象
// NSURLRequest *request=[NSURLRequest requestWithURL:url];
NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:url];
//修改网络请求使用的方法,默认是get
[request setHTTPMethod:@"post"];
//设置网络请求中包含的信息
[request setHTTPBody:[@"first_value=1&second_value=2" dataUsingEncoding:NSUTF8StringEncoding]];
//发送同步网络请求
NSData *data=[NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
//将data装换为字符串对象
NSString *content=[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"%@",content);
// Do any additional setup after loading the view, typically from a nib.
}
//--------以上为所有内容,可以以不变应万变---下面内容为练习
自定义一个tableView的cell文件,里面有一个属性@property (nonatomic,strong)UIImageView *imgView;
此处xml文档的解析用GDataXMLNode第三方类
主要功能:获得网络文件中图片到tableview中
- (void)viewDidLoad
{
[super viewDidLoad];
self.imageArray=[NSMutableArray array];
//获得图片个数来确定行数
NSURL *url=[NSURL URLWithString:@"http://124.205.147.26/student/class_12/team_homework/count.php"];
NSURLRequest *request=[NSURLRequest requestWithURL:url];
NSData *data=[NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
imageCount=[[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding] integerValue];
//tableView的设置
UITableView *tableView=[[UITableView alloc]initWithFrame:self.view.bounds];
tableView.dataSource=self;
tableView.rowHeight=300;
[self.view addSubview:tableView];
// Do any additional setup after loading the view, typically from a nib.
}
-(void)layoutSublayersOfLayer:(CALayer *)layer
{
}
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return imageCount;
}
-(CustomTableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *identifier=@"cell";
CustomTableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:identifier];
if (cell==nil) {
cell=[[CustomTableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];
}
//------------------获取图片地址------------
//获取存放图片的xml文件
NSString *str=[NSString stringWithFormat:@"http://124.205.147.26/student/class_12/team_homework/image.php?image_id=%i",indexPath.row+1];
NSURL *url2=[NSURL URLWithString:str];
NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:url2];
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
//解析xml
GDataXMLDocument *doc=[[GDataXMLDocument alloc]initWithData:data options:0 error:Nil];
GDataXMLElement *root=doc.rootElement;
GDataXMLElement *imgNode=[[root elementsForName:@"url"]lastObject];
NSURL *url=[NSURL URLWithString:imgNode.stringValue];
NSMutableURLRequest *mrequest=[NSMutableURLRequest requestWithURL:url];
[NSURLConnection sendAsynchronousRequest:mrequest queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
UIImage *img=[UIImage imageWithData:data];
cell.imgView.image=img;
[cell.imgView sizeToFit];
}];
}];
return cell;
}
UI 网络程序的更多相关文章
- Docker容器:将带UI的程序直接转为Web应用,so easy
摘要:使用Docker容器,将带UI的程序,直接转换为Web应用.很方便,跟大家分享一下. 本文分享自华为云社区<使用Docker容器,将带UI的程序,直接转为Web应用>,作者:tsjs ...
- 使用Code::blocks在windows下写网络程序
使用Code::blocks在windows下写网络程序 作者 He YiJun – storysnail<at>gmail.com 团队 ls 版权 转载请保留本声明! 本文档包含的原创 ...
- iOS开发UI篇—程序启动原理和UIApplication
iOS开发UI篇—程序启动原理和UIApplication 一.UIApplication 1.简单介绍 (1)UIApplication对象是应用程序的象征,一个UIApplication对象就 ...
- 开源一个基于nio的java网络程序
因为最近要从公司离职,害怕用nio写的网络程序没有人能看懂(或许是因为写的不好吧),就调整成了mina(这样大家接触起来非常方便,即使没有socket基础,用起来也不难),所以之前基于nio写的网络程 ...
- C# 为网络程序添加用户代理
如何为网络程序添加用户代理,本人推荐使用UrlMkSetSessionOption函数, 不过该函数有一个弱点不可以X64编译,X86编译软件才可以调用该函数 否则会一直返回!S_OK意义错误.第二呢 ...
- iOS开发UI篇—程序启动原理和UIApplication1
iOS开发UI篇—程序启动原理和UIApplication 一.UIApplication 1.简单介绍 (1)UIApplication对象是应用程序的象征,一个UIApplication对象就 ...
- 如何编写一个稳定的网络程序(TCP)
本节我们看一下怎样才能编写一个基于TCP稳定的客户端或者服务器程序,主要以试验抓包的方式观察数据包的变化,对网络中出现的多种情况进行分析,分析网络程序中常用的技术及它们出现的原因,在之后的编程中能早一 ...
- Android: 网络随时需要在3G和Wifi切换,网络程序需要注意
平时,3G和WIFI 都开着的时候,Android默认使用Wifi,但现实环境中不可能到处都有wifi,所以手机会经常自动切换网络. 有的时候,手机一开始使用wifi上网,当进入待机后10-30分钟, ...
- udp网络程序-发送、接收数据
1. udp网络程序-发送数据 创建一个基于udp的网络程序流程很简单,具体步骤如下: 创建客户端套接字 发送/接收数据 关闭套接字 代码如下: #coding=utf-8from socket im ...
随机推荐
- 初学java之事件响应(结合接口来设置在同一个界面上!)
package wahaha; public class test_1 { public static void main( String args[] ) { WindowActionEvent w ...
- 初学java之try-catch-finally语句的实例
/* try - catch语句的例子,模拟向货船上装载集装箱 ,如果货船超重,那么货船认为这是一个异常,将拒绝装载集装箱, 但无论是否发生异常,货船都需要正点起航. */ package st; c ...
- VS2010中将当前选定项目做为启动项
Visual Studio 2010一个解决方案中多个项目,如果想选择哪个项目就设置哪个项目为启动项可以这么做. 一.对于以后新建的解决方案想这样通过VS设置工具: 二.对于已经存在的解决方案可以这样 ...
- Sql语句统计多表个数并求和
) FROM ((SELECT BaseID FROM dbo.Life_cheliang WHERE BaseCreateDate BETWEEN '2015-6-5' AND '2015-6-11 ...
- backbonejs中的集合篇(一)
一:集合概念 集合是多个模型,如果把模型model理解为表结构中的行,那么集合collection就是一张表,由多个行组成.我们经常需要用集合来组织和管理多个模型. 二:创建集合 1:扩展Backbo ...
- OpenGL基础图形编程
一.OpenGL与3D图形世界1.1.OpenGL使人们进入三维图形世界 我们生活在一个充满三维物体的三维世界中,为了使计算机能精确地再现这些物体,我们必须能在三维空间描绘这些物体.我们又生活在一个充 ...
- Java三大特征之------多态
1.定义 指允许不同类的对象对同一消息做出响应.即同一消息可以根据发送对象的不同而采用多种不同的行为方式. 2.存在条件 2.1存在父子关系 2.2子类中存在重写方法 2.3父类类型的变量指向子类对象 ...
- Xmanager如何连接图形化界面
1.编辑gnome配置文件vim /etc/gdm/custom.conf # GDM configuration storage [daemon]RemoteGreeter= /usr/libexe ...
- php像新浪微博一样生成短域名
<?php function shorturl($url='', $prefix='', $suffix='') { $base32 = array ( 'a', 'b', 'c', 'd', ...
- 如果解决ubuntu tab键不能提示命令
/bin/sh is symlinked to /bin/dashTo change it, do:sudo rm /bin/shsudo ln -s /bin/bash /bin/sh 原文:htt ...