导航:首页 > 操作系统 > android调用restful

android调用restful

发布时间:2022-07-23 04:41:17

android开发 为什么要有RESTful开发经验

不知道你是不是想说没有工作经验,想找个有工作经验和你交流下。 我现在工作4个月,java开发。

❷ android有几种请求方式okhttp restful

这个问题有点问题,这并不是三种方式,okhttp只是对网络访问的一个更高层的封装,httpURLConnection和httpClient是具体两种实现访问的方式。

❸ 怎样为网站的Android客户端开发RESTful的API

参考下面方法
使用spring mvc 就可以了

@Controller
public class AppUpdate {

@ResponseBody
@RequestMapping("/update")
public Message<AppUpdateModel> update(@RequestBody BaseModel mod, HttpServletRequest request) {

❹ 如何调用restful api

System.Net命名空间包含了 HttpWebRequest 和 HttpWebResponse 类的获取从Web服务器和基于HTTP的Web服务的数据。通常你还需要添加一个引用System.Web,这将给你访问HttpUtility类,它提供的方法对HTML和URL编码和解码的文本字符串。 虽然一些网络服务也可以返回其他格式的数据,如JSON和序列化的php,但最容易利用的还是XML,因为在.NET Framework广泛支持这种格式的读取和操作。

二、获取数据

1、以Get方式获取

using System;
using System.IO;
using System.Net;
using System.Text;

// Create the web request
HttpWebRequest request = WebRequest.Create("http://developer.yahoo.com/") as HttpWebRequest;

// Get response
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
// Get the response stream
StreamReader reader = new StreamReader(response.GetResponseStream());

// Console application output
Console.WriteLine(reader.ReadToEnd());
}
2、以Post方式获取

using System.Web;

Uri address = new Uri("http://api.search.yahoo.com/ContentAnalysisService/V1/termExtraction");

// Create the web request
HttpWebRequest request = WebRequest.Create(address) as HttpWebRequest;

// Set type to POST
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";

// Create the data we want to send
string appId = "YahooDemo";
string context = "Italian sculptors and painters of the renaissance"
+ "favored the Virgin Mary for inspiration";
string query = "madonna";

StringBuilder data = new StringBuilder();
data.Append("appid=" + HttpUtility.UrlEncode(appId));
data.Append("&context=" + HttpUtility.UrlEncode(context));
data.Append("&query=" + HttpUtility.UrlEncode(query));

// Create a byte array of the data we want to send
byte[] byteData = UTF8Encoding.UTF8.GetBytes(data.ToString());

// Set the content length in the request headers
request.ContentLength = byteData.Length;

// Write data
using (Stream postStream = request.GetRequestStream())
{
postStream.Write(byteData, 0, byteData.Length);
}

// Get response
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
// Get the response stream
StreamReader reader = new StreamReader(response.GetResponseStream());

// Console application output
Console.WriteLine(reader.ReadToEnd());
}
三、HTTP 验证请求

有些朋友在调用Restful Api时,可能要提供用户名和密码进行Http身份验证,这里我们可以通过为请求增加一个 NetworkCredentials 实例来完成.

// Create the web request
HttpWebRequest request
= WebRequest.Create("https://api.del.icio.us/v1/posts/recent") as HttpWebRequest;

// Add authentication to request
request.Credentials = new NetworkCredential("username", "password");

// Get response
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
// Get the response stream
StreamReader reader = new StreamReader(response.GetResponseStream());

// Console application output
Console.WriteLine(reader.ReadToEnd());
}

❺ 如何 调用 restful web services

RESTful WebService是比基于SOAP消息的WebService简单的多的一种轻量级Web服务,RESTful WebService是没有状态的,发布和调用都非常的轻松容易。

下面写一个最简单的Hello World例子,以便对RESTful WebService有个感性认识。因为非常专业理论化的描述RESTful WebService是一件理解起来很痛苦的事情。看看例子就知道个大概了,再看理论就容易理解多了。

/**
* RESTful WebService入门
* @author leimin 2009-11-18 16:42:43
*/
packageexample;

importcom.sun.jersey.api.container.httpserver.HttpServerFactory;
importcom.sun.net.httpserver.HttpServer;

importjavax.ws.rs.GET;
importjavax.ws.rs.Path;
importjavax.ws.rs.Proces;
importjava.io.IOException;

//指定URI
@Path("/helloworld")
publicclassHelloWorld {
//处理HTTP的GET请求
@GET
// 处理请求反馈的内容格式为"text/plain"
@Proces("text/plain")
publicString getClichedMessage() {
return"Hello World!";
}

publicstaticvoidmain(String[] args)throwsIOException {
//创建RESTful WebService服务
HttpServer server = HttpServerFactory.create("http://192.168.14.117:9999/");
//启动服务,这会导致新开一个线程
server.start();
//输出服务的一些提示信息到控制台
System.out.println("RESTful WebService服务已经启动");
System.out.println("服务访问地址: http://192.168.14.117:9999/helloworld");
}
}

运行这个类,控制台输入出:

2009-11-18 17:25:37 com.sun.jersey.api.core.ClasspathResourceConfig init
信息: Scanningforroot resource and provider classes in the paths:
D:jdk16jrelibalt-rt.jar
D:jdk16jrelibcharsets.jar
D:jdk16jrelibdeploy.jar
D:jdk16jrelibjavaws.jar
D:jdk16jrelibjce.jar
D:jdk16jrelibjsse.jar
D:jdk16jrelibmanagement-agent.jar
D:jdk16jrelibplugin.jar
D:jdk16jrelib esources.jar
D:jdk16jrelib t.jar
D:jdk16jrelibextdnsns.jar
D:jdk16jrelibextlocaledata.jar
D:jdk16jrelibextsunjce_provider.jar
D:jdk16jrelibextsunmscapi.jar
D:jdk16jrelibextsunpkcs11.jar
D: etwideo estwsoutproction estws
D:IDEA8libjavaee.jar
D: etwideo estwslibmail-1.4.jar
D: etwideo estwslibasm-3.1.jar
D: etwideo estwslibwadl2java.jar
D: etwideo estwslibjettison-1.0.1.jar
D: etwideo estwslibgrizzly-servlet-webserver-1.8.6.4.jar
D: etwideo estwslibwadl-core.jar
D: etwideo estwsliblocalizer.jar
D: etwideo estwslibjdom-1.0.jar
D: etwideo estwslibjsr311-api-1.0.jar
D: etwideo estwslibstax-api-1.0-2.jar
D: etwideo estwslibpersistence-api-1.0.2.jar
D: etwideo estwslibjaxb-api-2.1.jar
D: etwideo estwslibwadl-cmdline.jar
D: etwideo estwslibhttp-20070405.jar
D: etwideo estwslib ome-0.9.jar
D: etwideo estwslibactivation-1.1.jar
D: etwideo estwslibjaxb-impl-2.1.10.jar
D: etwideo estwslibjersey-bundle-1.0.3.jar
D: etwideo estwslibjackson-lgpl-0.9.4.jar
D: etwideo estwslibFastInfoset-1.2.2.jar
D: etwideo estwslibjaxb-xjc.jar
D:IDEA8libidea_rt.jar
2009-11-18 17:25:46 com.sun.jersey.api.core.ClasspathResourceConfig init
信息: Root resource classes found:
classexample.HelloWorld
2009-11-18 17:25:46 com.sun.jersey.api.core.ClasspathResourceConfig init
信息: Provider classes found:
RESTful WebService服务已经启动
服务访问地址:http://192.168.14.117:9999/helloworld

可见,服务启动成功了,下来就是从浏览器中访问服务了,输入http://192.168.14.117:9999/helloworld,将发送一个HTTP GET请求,看看结果:

测试成功了!

❻ 如何通过类对象作为方法参数的RESTful服务吗

需要在对象前声明 @ApiBodyObject
@POST

@Path("/addFavor/")
void addFavor(@QueryParam("linkId") String linkId, @ApiBodyObject User user,
@QueryParam("favorTypeCode") String favorTypeCode, @QueryParam("linkTable") String linkTable);
@ApiBodyObject 相当于 SpringMVC 的 @RequestBody
参数注解的作用就是将 xml/json (具体那种看配置,cxf 是json) 转换为实体对象如 User 传递给实现方法,如下:
@Override
@Transactional(readOnly = false)
public void addFavor(String linkId, User user, String favorTypeCode, String linkTable) {
}

❼ android开发 为什么要有RESTful开发经验

RESTful 是服务端技术,他想开发安卓的兼开发服务端

❽ 怎样为网站的Android客户端开发RESTful的API

简单来说就是将网站的功能移植到API方式,主要就是数据格式的变化 html to json or xml
看看微博,豆瓣的 API 文档,看看他们和自身网站的对应关系。
PS: 抓包分析下知乎的客户端也是可以的 ;)

❾ 如何做一款自己的Android App

总计设计:
Android客户端采用 Tab + 侧边栏的整体布局
服务器采用新浪SAE部署, 采用PHP + MySQL 开发 ,数据交互采用 java通过http调用php restful接口
一款android App需要考虑的问题:
UI设计: UI是大众的弱点,如果想开发一款不错的应用,简单的ps要会
有无网络数据处是读缓存、还是从网络读取
数据缓存:服务器缓存和本地数据缓存
数据同步: 服务器和本地数据同步、UI界面数据同步
加载loading、加载失败、失败重试
消息通知: 客户端主动拉取或者实现服务器推送
登陆与分享:自由账号与第三方账号打通、分享定制
首次加载速度: 发布app前,把一部分数据打包在app中
统计数据:用于统计用户习惯、后续功能完善和数据调整的依据
集成第三方登陆:QQ登陆和新浪微博登陆标配
安全性:获取请求的安全性、用户输入安全性、评论防刷问题等
兼容性问题
架构的可用性,便于后续项目开发
常用系统组件和开源组件:
1、Fragment
需要解决Fragment隐藏与显示重叠问题
需要解决由后台切回前台Fragment被销毁,导致显示非常慢
2、侧边栏
slidingmenu 或者 NavigationDraw
3、图片加载: imageLoader
兼容性问题,部分远程图片无法加载显示
4、HTTP异步加载android-async-http
5、上拉下拉刷新: pullrefresh
需要解决兼容性问题,mx3滚动有问题,会自动拉出很大一块空白
上拉和下拉文案共用,需要解决上拉和下拉文案的不同
6、tab控件 PagerSlidingTabStrip
需要Tab解决样式定制问题
需要解决tab缓存和惰性加载
7、SAXParser 解析 rss
遇到引入第三方解析jar包时, 运行时找不类, 但类其实是有的
遇到了解析CSDN博客文章时无法解析标题到标题的bug
8、集成QQ登陆和腾讯微博登陆
登陆无法拿到QQ和账号,需要自己解决第三方账号与自由账号打通问题
QQ 图像无法用imageLoader加载
9、分享组件可以调用系统的,也可以使用第三方组件ShareSDK
10、消息推送
自己实现推送:主动拉取 或者 socket通信
可以集成第三方消息推送、比如网络云推送、云之讯等
11、UI设计
iconpng.com iconfinder.com easyicon.com
使用photoshop ps自己需要的图片
付费让UI设计人员帮你设计
广告平台:
豌豆荚、广点通、 有米广告、 点乐积分墙、 多盟广告等等
应用市场:
应用宝、豌豆荚、网络、91、安智、安卓、360、华为(暂不允许个人提交的应用)、小米、魅族等

阅读全文

与android调用restful相关的资料

热点内容
怎么把安卓的东西转到已激活苹果 浏览:848
停止服务doss命令 浏览:875
u盘占内存但该文件夹为空 浏览:610
服务器怎么更换重生点 浏览:34
收费api调用平台源码 浏览:646
安卓怎么自检病毒 浏览:560
布卡云服务器 浏览:770
程序员是怎么做系统的 浏览:742
燕窝溯源码最大加工厂 浏览:936
黑马程序员第28集 浏览:485
lcd单片机驱动 浏览:647
通达信主力拉升出货指标公式源码 浏览:639
廉洁pdf 浏览:18
批量用修改多个文件夹及子目录 浏览:321
王者每个服务器爆满怎么办 浏览:951
安卓手机如何清除所有的数据 浏览:983
激光打标机加密狗驱动无法启动 浏览:912
硅谷程序员题库 浏览:564
安卓系统怎么开车模式 浏览:944
网剧程序员那么可爱15集完整版 浏览:178