作者PenguinLee (企鵝)
看板AndroidDev
標題[問題] Setvice回傳字串陣列
時間Tue May 14 12:36:36 2019
各位前輩大家好 想請問一下如果今天要用service做無限迴圈的工作,並且在不定時回傳一個字串陣列的話有辦法嗎 上網看了一下onstartcommand 前面回傳值都是int,有爬了一下關鍵字 不過對回傳字串陣列的資訊找不太到
想請問
1.service類別裡面如果要傳字串陣列的話有適合的嗎
2.service在回傳計算完的data是用什麼方法呢
有上網做功課 不過都沒有比較適合初學者淺顯易懂的QQ
再麻煩大家了
-----
Sent from JPTT on my iPhone
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 115.82.4.135
※ 文章網址: https://webptt.com/m.aspx?n=bbs/AndroidDev/M.1557808598.A.BF7.html
1F:→ PenguinLee: 因為要做無限迴圈的工作,目前打算用startService 有 05/14 12:39
2F:→ PenguinLee: 看到有人說onstartcommand 裡面回傳可以用broadcast, 05/14 12:39
3F:→ PenguinLee: 只是看不太懂他的機制也不知道能不能回傳字串陣列 手 05/14 12:39
4F:→ PenguinLee: 機排版有點亂請見諒 05/14 12:40
5F:→ kobe8112: 無窮迴圈這種事還是背景執行緒做吧,無論是否用Service 05/14 13:31
6F:→ kobe8112: 我自己比較喜歡使用interface,由Activity提供callback 05/14 13:33
7F:→ kobe8112: 的實作,背景工作內呼叫,不一定最佳,僅供參考 05/14 13:34
8F:→ ssccg: onstartcommand回傳值是給系統用的不是給你用的 05/14 13:53
9F:→ ssccg: 是你要在執行過程中自己傳你要傳的東西到你要收的地方 05/14 13:53
10F:推 zcbxvsdf: 用Broadcast把它想成廣播,有廣播就要有接收器Receiver 05/14 19:37
11F:→ erty0402: 聽起來你的需求不需要service, 05/14 19:52
12F:→ erty0402: 一般的背景執行就可以了 05/14 19:52
13F:→ PenguinLee: 因為startService 剛好可以無限爬 只是問題在沒辦法把 05/14 21:52
14F:→ PenguinLee: 它運算的結果丟出來 只是想問要怎麼從service中取值 05/14 21:52
15F:→ kobe8112: startservice跟無限爬為什麼會有直接關係? 05/14 23:17
16F:→ kobe8112: 你應該是誤會什麼了,你開個執行緒也可以無窮迴圈啊 05/14 23:17
17F:→ PenguinLee: 目前看完service架構是想說用startService 塞一個thre 05/15 07:59
18F:→ PenguinLee: ad做無限迴圈應該ok吧~ 是想問一下如果要把無限迴圈 05/15 07:59
19F:→ PenguinLee: 的參數丟出來是用broadcast或是其他函數嗎 05/15 07:59
20F:→ y3k: 看你的呼叫是要做單向還是雙向 能不能從其他APP呼叫阿 05/15 08:15
21F:→ PenguinLee: 請問如果是爬蟲爬到一半用broadcast自動傳值到activit 05/15 08:30
22F:→ PenguinLee: y (然後爬蟲繼續執行)這樣可行嗎 05/15 08:30
23F:→ zcbxvsdf: 做法沒有唯一,就看你想怎做 05/15 08:52
24F:→ PenguinLee: 是想請問我上面說的那個方法的可行性有辦法嗎 怕會因 05/15 10:53
25F:→ PenguinLee: 為broadcast導致程序跳出之類的 05/15 10:53
26F:→ kobe8112: 不懂你幹嘛一直鬼打牆 05/15 11:29
27F:→ kobe8112: 你只是想要背景無窮迴圈,不定時給前景資料,以這樣來說 05/15 11:30
28F:→ kobe8112: Service並非必要,你說自己是初學者,卻又硬要把機制 05/15 11:30
29F:→ kobe8112: 複雜化,所以你真正的目標到底是想完成這個功能,還是說 05/15 11:31
30F:→ kobe8112: 「不管難易度或適合自己與否,就是要用Service完成」? 05/15 11:32
31F:→ kobe8112: 如果是後者,我猜測你搜尋到的service都是最常見的範例 05/15 11:34
32F:→ kobe8112: ,他只是沒有UI而已,還是跑在主執行緒,你要無窮迴圈, 05/15 11:35
33F:→ kobe8112: 還是得要開一個執行緒,那不還是回到原點了... 05/15 11:35
34F:→ PenguinLee: 不好意思我一開始沒說清楚 我要寫的那個迴圈在結果跑 05/15 12:09
35F:→ PenguinLee: 出來的時候因為傳資料可能會傳給好幾個activity之前問 05/15 12:09
36F:→ PenguinLee: 朋友說建議用service 包thread寫,不過現在主要問題是 05/15 12:09
37F:→ PenguinLee: : 05/15 12:09
38F:→ PenguinLee: 不管用哪個方法 在無限迴圈內如果要用broadcast對外傳 05/15 12:09
39F:→ PenguinLee: 參數,broadcast有辦法在不影響迴圈繼續跑的情況下把 05/15 12:10
40F:→ PenguinLee: 值丟給activity 嗎 因為不是很懂broadcast的運作細節 05/15 12:10
41F:→ PenguinLee: 想問一下 謝謝大家 05/15 12:10
42F:→ PenguinLee: 補充一下那個傳的值是字串陣列 謝謝 05/15 12:40
43F:噓 zcbxvsdf: Google很難嗎?Android四大元件之一別跟我說沒資料 05/15 14:20
44F:→ zcbxvsdf: 自己寫一個就知道有沒有影響了 05/15 14:21
45F:→ PenguinLee: 有啊 只是都是在講他的寫法 細節看到的很少 所以想問 05/15 16:04
46F:→ PenguinLee: 一下各位高手 05/15 16:04
47F:→ kobe8112: 就你的應用,執行廣播花費的時間應該沒差吧我覺得, 05/15 16:27
48F:推 t52101t: 我的理解是不影響 不過你直接寫出來實驗一下不就知道了 05/15 16:27
49F:→ kobe8112: 不然你也可以"廣播"跟"迴圈任務"用不同的執行緒啊 05/15 16:27
50F:→ erty0402: 初學者建議多寫一點測試程式看看這些元件是不是如自己 05/16 23:50
51F:→ erty0402: 預期的運行。才能更了解 05/16 23:50
52F:→ PenguinLee: 感謝大家的建言 最後有用廣播做出來了 因為要在程式休 05/24 10:09
53F:→ PenguinLee: 眠還能繼續發送 目前打算用靜態廣播 不過順帶一提 8.0 05/24 10:09
54F:→ PenguinLee: 的靜態廣播要改寫一下 不然用傳統寫法會出不來 05/24 10:09