看板 AndroidDev 關於我們 聯絡資訊
時間: Sat Nov 10 21:36:52 2012 想請問各位大大 小弟是練習按下按鈕會開啟網頁 但是都會出現「很抱歉,程式已經中止」的訊息 程式只有這樣 public void btnOn(View v){ //button的事件 Intent i=new Intent(Intent.ACTION_VIEW, Uri.parse("tw.yahoo.com")); startActivity(i); //開啟yahoo網頁 } 只要按下按鈕就會中止 一開始我以為是內建瀏覽器的安全性憑證問題 不過使用內建瀏覽器上網是可以的 用自己寫的按鈕開網頁 就會中止 各種爬文之後還是不知道錯誤在哪邊 請前輩指導了 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.244.55.146
asilzheng:Uri.parse("http://tw.yahoo.com") 11/10 21:47
laiair:謝謝大大 可以了~ 原來是這小細節 以後會更注意的@@ 11/10 21:54
不好意思 小弟想要再追問 我想要連結網路抓取資料使用 範例使用的是這篇 http://ascc.sinica.edu.tw/iascc/articals.php?_section=2.4&_op=?articalID:4062 透過 yahoo api 取得某檔股票資訊 我把這段程式放在按鈕事件裡面 public void btnOn(View v) throws IOException { String urlConnect = "http://finance.yahoo.com/d/quotes.csv?s=2330.TW&f=snd1l1c6"; //設定 url字串,內容是取值的網址 URL url = new URL(urlConnect); HttpURLConnection conn = (HttpURLConnection)url.openConnection(); //使用 HttpURLConnection 方法連接 if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) { Toast.makeText(this, "成功!", Toast.LENGTH_SHORT).show(); }else{Toast.makeText(this, "失敗", Toast.LENGTH_SHORT).show();} //判斷是否連接, OK 回傳成功,反之 回傳失敗。 /* InputStreamReader isr = new InputStreamReader(conn.getInputStream()); BufferedReader in = new BufferedReader(isr); String line = in.readLine(); tt.setText(line); //這邊是取值,然後丟給文字欄位輸出,不過還沒做到這邊。 */ } 原本是沒有藍色這一段 throws IOException 不過系統提示之後就補上去了 也有在 Manifest 裡面 補上這兩句開權限的 <uses-permission android:name=" android.permission.INTERNET"></uses-permission> <uses-permission android:name=" android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> 可是也是不能執行 並不會出現 "成功"、"失敗" 的字樣 而是直接就程式關閉了 不知道是哪邊沒有注意到呢 懇請前輩賜教了 萬事拜託~ ※ 編輯: laiair 來自: 60.244.55.146 (11/11 01:14) ※ 編輯: laiair 來自: 60.244.55.146 (11/11 01:16)
kewang:請看log...... 11/11 10:58
※ 編輯: laiair 來自: 60.244.55.146 (11/11 12:48)
laiair:@@ 已解決了 似乎是版本問題 11/11 12:48
lovelycateye:網路存取不要放在UI thread做 11/12 11:25
chronoer:android在某版本(忘了)之後 網路存取不能在main thread中 11/12 15:32
chronoer:用new thread/asynctask來處理網路存取會比較適合 :) 11/12 15:34
Killercat:因為Uri.parse能parse的不止http 還有很多其他東西 11/13 11:52
Killercat:甚至連content provider都可以用它parse出來 11/13 11:52