『壹』 android如何為自定義的類傳遞參數
由CourseActivity跳轉到MainActivity?
通過intent.putExtras(xxx,yyy)來傳遞參數,在MainActivity裡面通過getIntent().getExtras().get(xxx)來獲取參數。你要給自定義類設置參數,只要在類裡面添加一個屬性,用來接收就好了。
『貳』 android sqllite 中cursor遍歷為什麼只遍歷最後一個
原因:
引用傳遞。所以咐手,第一次調衡鬧嫌用queryList(Cursor cursor)方法,對cursor進行第一次遍歷之後,外面的cursor的位置就變了,第彎游二次調用queryList(Cursor cursor)方法,遍歷的起始位置是上次結束的位置。
解決:
在while (cursor.moveToNext()){}遍歷之前加上cursor.moveToPosition(-1)讓cursor的位置重新回到起始位置
『叄』 android 利用bundle傳遞的對象是不是只能是靜態的,求高手解答
Parcelable是復制了一個副本吵迅,而不是直接引用傳遞。悄絕
要想達到你的效果,可以在Parcelable的實現類extra裡面弄一個引用demo,
然後把升運此extra傳過去。
『肆』 android裡面activity如何把自己的引用傳給service,使得service可以直接調用activity的方法
直接傳activity 引用肯定是不行的,
最簡單的是 用靜態全局變數 ,不過不推薦。
所以只能復雜一點 ,不能service可以直接調用activity ,只能傳消息給activity ,讓activity 執行特定的方法。
就是 service start activity 。
而activity 設置為 single instance ,在newIntent 方法 裡面 處理 傳入消息。
還有一個方法就是activity 裡面定義 一個 內部類 broadcast ,然後 service 調用sendbraoadcast ,
broadcast 再調用 activity 方法。
『伍』 android是值傳遞還是引用傳遞
在不同的編程語言中可能會大同小異吧
在C#中,這些都是針對方法而言的。
值傳遞指的是方法被調用時傳遞進來的參數是一個副本(拷貝),而不是傳遞進來參數本身。換句話說對值傳遞參數的修改不會影響到調用方傳遞的參數對象;
而引用傳遞指的是方法被調用時傳遞進來的參數是一個引用,換句話說傳遞進來的參數是指向調用方傳遞的參數本身的。對引用傳遞的參數的修改會影響到調用方傳遞的參數對象。
『陸』 如何用interface傳遞數據 androidd
對於依賴於操作系統的程序,客戶程序除了包含一個程序入口外,還需要和相關系統服務一起運行,以完成指定的任務。比如,Win32程序需要和GUI系統服務一起實現帶有可視窗口的功能;X
程序員需要在不同的Activity之間傳遞數據,然而,這個問題本身就有問題。所謂「傳遞消息」一般是指多個線程之間,而Activity本身並不是線程,ActivityThread才是一個線程,即UI線程。同一個程序中的多個Activity都由ActivityThread進行調用,Activity本身只是一個Java類而已,就像Rect、Trigle類一樣,如果有人問「Rect類和Trigle類之間如何傳遞消息」,你會不會覺得有點奇怪?
事實上,如果要在兩個類中傳遞數據,方法可以有很多。
方法一:可以先實例化某個類,獲得該類的引用,當其他類需要該對象的內部數據時,可以直接通過該引用去訪問該類的內部數據。
方法二:對於A、B兩個類之間,可以先實例化一個第三方類C,然後兩個類都可以把需要傳遞的數據存入C中,或從C中取出。
這些方法理論上都可以用在Activity類之間傳遞數據。然而,與普通類傳遞數據有所不同,普通類的實例化都是程序員顯式完成的,而Activity類的實例化卻是由Framework完成的,程序員只能使用startActivity()方法來告訴Framework去運行哪個Activity,這就意味著程序員不能得到Acitivity對象的引用,那麼就不能直接訪問該對象的內部數據。解決的辦法是使用Activity.getApplication()函數,該函數能夠返回一個Application對象,該Application對象在該程序中是唯一的,同一程序中的不同Activity調用該函數所返回的Application對象是相同的,該對象的名稱可以在AndroidManifest.xml中指定。一旦獲取了該Application對象,就可以藉助該對象,在不同的Activity之間傳遞數據。
除此之外,Framework本身也提供了標準的Activity之間傳遞數據的方法,即Intent類。該類作為startActivity()的參數,僅用於在啟動Activity時傳遞給目標Activity,同時,如果調用startActivityForResult(),目標Activity在結束後,也會返回一個Intent對象給原Activity。
另外,從設計理念的角度來看,Android認為,兩個Activity如果要共享數據,可以通過Preference Storage或者文件、資料庫進行,同時,在一般情況下,設備上只會有一個Activity在運行,因此,多個Activity之間傳遞數據也不是必需的。
『柒』 android里 activity怎麼向service傳遞參數
android中activity中向service傳遞參數,有如下方法:x0dx0ax0dx0a1.在Activity里注冊一個BroadcastReceiver,Service完成某個任務就可以發一個廣播,接岩型收器收銷山到廣播後通知activity做相應的操作。x0dx0a2.使用bindService來關聯Service和Application,應用.apk里的所有組件一般情況都運行在粗斗猜同一個進程中,所以不需要用到IPC,bindService成功後,Service的Client可以得到Service返回的一個iBinder引用,具體的參見Service的文檔及onBind的例子,這樣Service的引用就可以通過返回的iBinder對象得到,如x0dx0apublic class LocalService extends Service {x0dx0a // This is the object that receives interactions from clients. Seex0dx0a // RemoteService for a more complete example.x0dx0a private final IBinder mBinder = new LocalBinder();x0dx0ax0dx0a public class LocalBinder extends Binder {x0dx0a LocalService getService() {x0dx0a return LocalService.this;x0dx0a }x0dx0a }x0dx0ax0dx0a @Overridex0dx0a public IBinder onBind(Intent intent) {x0dx0a return mBinder;x0dx0a }x0dx0a}x0dx0ax0dx0a之後Client通過這個iBinder對象得到Service對象引用之後,可以直接和Service通訊,比如讀取Service中的值或是調用Service的方法。