想請問撰寫桌面widget程式的一些問題

大家好,我是程式設計的新手,只學過兩學期C++和一學期JAVA,目前靠著兩本書和網路資料

試著靠修改範例在學習中,目前遇到了問題XD"

 

我目前是使用了SDK開發範例大全這本書裡面的EX04_14範例,他是使用

textView來模擬digitalClock的方法來做撰寫,因為我想寫一個時間速度

是現實40倍的時鐘,範例裡面是用Thread來持續取得系統時間,接著使用

Handler來接受訊息並且更新螢幕上面的textView,然後我下工夫的地方是

將時間換算成40倍之後的時間,接著使用timePickerDialog來開啟設定

,設定出誤差時間,再將誤差時間加進去,接著使用SharedPreferences

的相關方法來將設定儲存(以說明來說是設定在某些xml檔裡面),

大致上的做法是

合計秒數 = ( 現實小時*60*60 + 現實分鐘*60 )*40 + 誤差秒數

接著將加入誤差秒數的合計秒數換算回小時和分鐘

然後使用一些教學所教的,將誤差秒數當成int儲存起來,這是我目前

寫好的程式可以做到的


接著我的想法是我想寫一個widget,在螢幕上大概占一格,然後能顯示

我所寫出來的時間(含誤差),但是以網路上的寫法,這個widget是沒有程式

本體可以開啟,而是直接新增在桌面,那若是我想開啟設定來使用

timePickerDialog設定誤差秒數,並且儲存起來,那我又該怎麼寫呢?

不知道這樣的敘述夠不夠清楚 囧

 

然後我想到是不是可以寫在同一個專案裡面,分別寫出一個一般的Activity,是

拿來做時間誤差設定的,然後使用SharedPreferences和裡面的edit存入設定,

然後另外再寫一個widget用的Activity,是extends AppWidgetProvider的,然後

在onUpdate裡面寫入一樣的時間換算,並且讀取系統裡面同樣的設定檔案,也就是由

前面那一個Activity所寫出來的程式所儲存的設定檔案,不知道這樣的想法有沒有錯呢?

找了燚些網路資料時在是找不到適合的參考資料,先謝謝前輩們的回答m(_ _)m