2012-06-07 114 views
0

我是android初學者。我正在爲Android編程股票市場應用程序。我不知道有什麼辦法做到這一點,我應該怎麼做才能獲得有關股市的數據?如何從網絡獲取數據到android應用程序?

+1

http://stackoverflow.com/questions/6466719/manipulating-data-on-webs-in-android/6466749#6466749 – Rasel

+0

你必須知道的網絡服務.......... –

回答

0

您正在尋找java.net包中的生活。您需要創建一個指向您的webapp或股票市場數據API的URL,然後以適當的形式獲取它。它應該是沿着線的東西:

URL url = new URL("ftp://mirror.csclub.uwaterloo.ca/index.html"); 
URLConnection urlConnection = url.openConnection(); 
InputStream in = new BufferedInputStream(urlConnection.getInputStream()); 
try { 
    readStream(in); 
finally { 
    in.close(); 
} 

(來自http://developer.android.com/reference/java/net/URLStreamHandler.html兩者)​​

確保首先請求網絡訪問你的應用程序的權限。

0

請參閱this IBM股票市場教程,演示如何使用Android中的Internet數據檢索股票的最新定價信息。

0

在你的活動課中使用這個類。
它擴展了AsyncTask這是一個非常好的選項,可以在後臺執行任務,因爲它可以提高應用程序的整體性能。

private class DownloadFromWeb extends AsyncTask<String, Void, String> { 
    @Override 
    protected String doInBackground(String... urls) { 
     String response = ""; 
     for (String url : urls) { 
      DefaultHttpClient client = new DefaultHttpClient(); 
      HttpGet httpGet = new HttpGet(url); 
      try { 
       HttpResponse execute = client.execute(httpGet); 
       InputStream content = execute.getEntity().getContent(); 

       BufferedReader buffer = new BufferedReader(
         new InputStreamReader(content)); 
       String s = ""; 
       while ((s = buffer.readLine()) != null) { 
        response += s; 
       } 

      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     } 
     return response; 
    } 

    @Override 
    protected void onPostExecute(String result) { 
    //Do whatever you want with result string... 
    } 
} 

現在使用這個類爲:

DownloadFromWeb task = new DownloadFromWeb(); 
task.execute("http://www.google.com"); //replace the URL with your URL 

希望它可以幫助!

1

首先,您應該知道什麼是API和Web服務的含義;以及他們如何努力收集。例如BSE API,Google Finance Api,Yahoo API。

經過研究,你可以將它們整合到android代碼中;解析web服務返回的數據和結果,然後你可以在android模擬器上顯示它們。

這是你應該如何進步。

你可以檢查這library它可以幫助你在你的android代碼整合谷歌金融API。嘗試尋找更多這樣的東西的示例代碼,你可以做到這一點。

相關問題