2011-11-13 47 views
0

我正在開發一個Android應用程序。我正在調用服務器上的Perl文件。這個Perl文件有不同的打印語句。在服務器上使用Perl數據在Android上顯示

我想使集體文本可用於我的android Java文件中的變量。

我已經試過這樣:

URL url= new URL("http://myserver.com/cgi-bin/myfile.pl?var=97320");  

在這裏不用我請求到服務器上的文件。但是,我怎樣才能從那裏的Perl文件獲得數據呢?

+0

「PERL」是否表示該腳本是Perl編程語言? – ThomasW

+0

是...腳本使用PERL語言。對不起,如果模糊不清...... – typedefcoder2

回答

1

在你的Perl服務:

use CGI qw(param header); 
use JSON; 

my $var = param('var'); 

my $json = &fetch_return_data($var); 

print header('application/json'); 

print to_json($json); # or encode_json($json) for utf-8 

返回的數據作爲JSON對象。然後使用Java的許多JSON庫之一來讀取數據。例如:http://json.org/java/

Integer var = 97320; 
InputStream inputStream = new URL("http://myserver.com/cgi-bin/myfile.pl?var=" + var).openStream(); 
try { 
    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); 
    // Or this if you returned utf-8 from your service 
    //BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, Charset.forName("UTF-8"))); 
    JSONObject json = new JSONObject(readAll(bufferedReader)); 
} catch (Exception e) { 

} 
+0

實際上Android庫中包含了一個JSON庫,但它並不是最簡單的:http://developer.android.com/reference/org/json/JSONObject.html見http://stackoverflow.com/questions/2818697/sending-and-parsing-json-in-android – ThomasW

相關問題