更新ProgressBar的顯示可否用handler
老師用的是廣播,當下載進度改變的時候,用廣播來發(fā)送信息給主線程,改變ProgressBar的UI,是否可以用handler,在下載子線程中傳入到MainActivity的handler對象,這樣應(yīng)該也能實現(xiàn)。但是這樣感覺代碼之間耦合性變的很強,所以這里用廣播而不用handler。不知道這樣理解對不對,還是有其他什么原因的考慮
老師用的是廣播,當下載進度改變的時候,用廣播來發(fā)送信息給主線程,改變ProgressBar的UI,是否可以用handler,在下載子線程中傳入到MainActivity的handler對象,這樣應(yīng)該也能實現(xiàn)。但是這樣感覺代碼之間耦合性變的很強,所以這里用廣播而不用handler。不知道這樣理解對不對,還是有其他什么原因的考慮
2015-04-12
舉報
2015-04-13
可以使用handler,廣播只是其中一種方式,使用廣播方式的確會降低耦合性,使用也比較方便,但是廣播接收器畢竟是系統(tǒng)級的組件,handler相對廣播處理速度更快
2015-04-29
大神,偶敲完代碼,一直報這個錯,哪位能把完整的代碼發(fā)下,謝謝了, ? 郵箱:vs20052010@163.com
E/AndroidRuntime( 4433): java.lang.IllegalArgumentException: the bind value at index 1 is null
E/AndroidRuntime( 4433): ? ? ? ?at android.database.sqlite.SQLiteProgram.bindString(SQLiteProgram.java:164)
E/AndroidRuntime( 4433): ? ? ? ?at android.database.sqlite.SQLiteProgram.bindAllArgsAsStrings(SQLiteProgram.java:200)
E/AndroidRuntime( 4433): ? ? ? ?at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:47)
E/AndroidRuntime( 4433): ? ? ? ?at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1314)
E/AndroidRuntime( 4433): ? ? ? ?at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1253)
E/AndroidRuntime( 4433): ? ? ? ?at com.download.db.ThreadDAOImpl.isExists(ThreadDAOImpl.java:79)
E/AndroidRuntime( 4433): ? ? ? ?at com.download.services.DownloadTask$DownloadThread.run(DownloadTask.java:66)
2015-04-13
應(yīng)該可以的