2012-09-12 20 views
0
SchemeRegistry supportedSchemes = new SchemeRegistry(); 
supportedSchemes.register(new Scheme("http", 80, PlainSocketFactory.getSocketFactory())); 

這個聲明在java中很好用,但是在android中很糟糕?我在我引用的依賴和android依賴中添加了httpclient_4.1.3.jar。爲什麼這個說法在java中運行良好,但在android中很糟糕?

+1

你的問題是有點含糊。什麼是例外或問題? – Averroes

+0

未經培訓的答案是因爲它不是常規的JVM,但Dalvik並沒有在標準操作系統上運行,而是在Android上運行。 – Buffalo

+0

@Averroes eclipse說構造函數Scheme(String,int,PlainSocketFactory)未定義 – Jerry

回答

2

Scheme沒有這樣的構造函數,你可以看到herea similar one可以使用。下面是從鏈接頁面的Javadoc的例子:

Scheme https = new Scheme("https", new MySecureSocketFactory(), 443); 
SchemeRegistry.DEFAULT.register(https); 

或您的代碼適應這種:

Scheme http = new Scheme("http", PlainSocketFactory.getSocketFactory(), 80); 
SchemeRegistry.DEFAULT.register(http); 
+0

您確定它與JVM的區別?我在我的代碼中添加你的代碼,它也報告錯誤。 – Jerry

+0

@ user1614589:這是同一個錯誤嗎?此代碼應該可以工作。你確定你所有的依賴都是爲了? – Keppil

+0

我將您的代碼更改爲'Scheme https = new Scheme(「https」,SSLSocketFactory.getSocketFactory(),443);'並且它沒有報告錯誤。以及如何確保我所有的依賴項順序?我把所有的jar放在libs forder中,並將它們添加到android依賴項和引用的依賴項中......實際上,我是一個新手。 – Jerry

相關問題