導航:首頁 > 操作系統 > 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相關的資料

熱點內容
網店美工pdf 瀏覽:445
一堆文件夾怎麼弄出來 瀏覽:743
博途如何編譯硬體 瀏覽:418
fortran程序pdf 瀏覽:504
電池消耗演算法 瀏覽:394
伺服器中斷連接怎麼處理 瀏覽:222
上世紀互聯網不發達程序員很難 瀏覽:841
語音識別android開源 瀏覽:762
地埋式垃圾壓縮中轉站 瀏覽:902
apachehttpdlinux 瀏覽:944
快遞員中通app預付款是什麼 瀏覽:843
java路徑轉義 瀏覽:857
keytool加密演算法 瀏覽:131
笑臉圖案的APP相機是什麼軟體 瀏覽:249
app軟體為什麼會被下架 瀏覽:981
從內存到硬碟的命令是 瀏覽:52
程序員的爸爸們的發型 瀏覽:123
魔獸世界傷害壓縮是怎麼壓的 瀏覽:976
壓縮機型號hp 瀏覽:959
配音虛弱的程序員 瀏覽:61