OSGI学习笔记一(事件传递)


采用DS声明式服务方式:

一、创建1个sendEvent的OSGI组件工程,定义在组件中传递事件的类sendEvent

package sendEvent;
import java.util.HashMap;
import org.osgi.service.event.Event;
import org.osgi.service.event.EventAdmin;
import org.osgi.service.event.EventConstants;

public class sendEvent {
        EventAdmin eventAdmin;
	
	Event event=null;
	public synchronized void setEventAdmin(EventAdmin eventBus) {  
		eventAdmin = eventBus;  
        <span style="white-space:pre">	</span>System.out.println("EventAdmin service is set!");  
        }
	public void start()
	{
		HashMap properties = new HashMap();  
                properties.put(EventConstants.BUNDLE_SYMBOLICNAME, "test.first");  
		event=new Event("org/eclipse/equinox/events/MemoryEvent/CRITICAL", properties);
		System.out.println("post event started");
				
		eventAdmin.sendEvent(event);
		
		System.out.println("post event ended");
		 try {  
             <span style="white-space:pre">		</span>Thread.sleep(5000);  
          <span style="white-space:pre">	</span> } catch(InterruptedException e) {}  
	}

}
component.xml的设置:


工程的MANIFEST.MF文件:


其中 org.osgi.service.event.Event;包是一般的开发平台不会自动集成的,需要下载相关的包,设置好才行。


二、创建一个新的OSGI工程,定义事件处理类dealwithevent:


<pre name="code" class="java">package dealEvent;

import org.osgi.service.event.EventHandler; 
import org.osgi.service.event.Event;

public class dealwithevent implements EventHandler {
	
	
	@Override
	public void handleEvent(Event arg0) {
		// TODO Auto-generated method stub
		System.out.println(arg0.getTopic());
	}

}


 
该类是对<span style="font-family: Arial, Helvetica, sans-serif;">org.osgi.service.event.EventHandler接口的实现,会自动根据eventAdmin传过来的event根据topic是否匹配进行处理。</span>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<span style="font-family: Arial, Helvetica, sans-serif;">工程的MANIFEST.MF文件:
</span>
<span style="font-family: Arial, Helvetica, sans-serif;"><img src="data:image/png;base64,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ro9z0wcTZDOMir4V4uazD7V5xaq7z0UbFaY2zVA7cFg79uoUsq5fhX2tp9KuvkfssLyCs+BEOdLkJPpGeXf2lazPd4lcDekTjJD7GJs9XV45w8K0ZOUwvLmN7LhrAbhENgyeoKMiz5mm3maKCxOYS1sJk8cwEiABEiABEiABEiABEiABEiCBzAQq1DpzZXjEfX+sqJ39RqpVu3aRRZtx+zEy/VYtwG8nURjUpT5rD87mAmjohU9GymEECUQRsJyHdUeLk/Z07C6JrPsVY2xHbFSmMg5fs2IFqvr3jC3BT8563Erzt3uPj03LBOVHoG7OAvkBIfrdW34losUkQAIkQAIkQAIkQAIkQAIkUPoEtH+r9C31W5jJwaf8DNYIPn8W/x2ddn4evMs/gd0PORq9rhiNIe1G28L1KMv8qyoriXTslVV10VgSIAESIAESIAESIAESIAESIIEyIJDJUVYG5keaGOvgi8zJCBLIFwFZl/G3K07PlzTKIQESIAESIAESIAESIAESIAESIAESIIFmRSB2k41mRYOFJQESIAESIAESIAESIAESIAESIAESIAESIIEyI0AHX5lVGM0lARIgARIgARIgARIgARIgARIgARIgARIgAZMAHXwmDV6TAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQQJkRsNbgU7tt8CABEiABEiguAb57i8ub2kiABEiABEiABEiABEiABEigqRKwHHxV/Xs21fKxXCRAAiRQkgT43i3JaqFRJEACJEACJEACJEACJEACJFB2BOrmLACn6JZdtdFgEiABEiABEiABEiABEiABEiABEiABEiABEvAI0MHnseAVCZAACZAACZAACZAACZAACZAACZAACZAACZQdATr4yq7KaDAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJeASsNfj0bUpf8EwCJEACJEACJEACJEACJEACJEACJEACJEACJFCyBCoMy3wOPtDDZ6DhJQmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmUKAHDw+dz8KXo4SvRGqNZJEACJEACJEACJEACJEACJEACJEACJEACJOARqIDn4fM5+Ojf8yDxigRIgARIgARIgARIgARIgARIgARIgARIgARKloDn34PPwccZuiVbZTSMBEiABEiABEiABEiABEiABEiABEiABEiABEIJ+Bx8SNHFF0qJgSRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRQUgS8IXw+Bx/deyVVSzSGBEiABEiABEiABEiABEiABEiABEiABEiABGIJ+Bx8XIMvlhcTkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkEBJEfA5+LiLbknVDY0hARIgARIgARIgARIgARIgARIgARIgARIggVgCfgcf5+jGAmMCEiABEiABEiABEiABEiABEiABEiABEiABEiglApuVkjG0hQRIgARIgARIgARIgARIgARIgARIgARIgARIIDsCgRF8HMKXHT6mJgESIAESIAESIAESIAESIAESIAESIAESIIHGJcARfI3LPz/a596PnX802v0bPTc/Yosj5W2Mdm2/H88VRym1kAAJkAAJkAAJkAAJkAAJkAAJkAAJkECTIRAYwVfscolzp8s9eDBWbU88smQYBsWmYwJFQI3DTJXJYMwVf6jDA261LcBJV+6Pf/2qmxvCCxIgARIgARIgARIgARIgARIgARIgARIggcwEfA4+2zWUOUPjxC7AyV0WiGrl6Dudjr7YSigT715kOcrd/siCMYIESIAESIAESIAESIAESIAESIAESIAE8k7A5+Ar/VFfytG3Btc/fSnOa5N3FuUrcFPAdLkv/bq0bW57xnBcX/tr/PIddS8O3Bu6lo3tAeq8JQESIAESIAESIAESIAESIAESIAESIIFGIeBz8DWKBabSfYfg9ekD0c4Ie/6qMTj5SSMAn+CXRz2ADotPx0AzmNdlSqAlzpteg/PK1HqaTQIkQAIkQAIkQAIkQAIkQAIkQAIkQAKNTcDn4EsVfdhXylovzoSgbDAnaA64fhL+cfZsHHH0TCx0Ey7AhHsHYsCZLd0QXngEFMGiV6WnnlckQAIkQAIkQAIkQAIkQAIkQAIkQAIkQAJFJOBz8BVRb3aq2gzAnWPfxIGTPnHzLZy1GCvEwWeO9lORs68ai5OfcpNZFz3GXo5ng87Alx7Erheodf3s49TfTELN4Ysxptu9eEgHyjk0rxGfm761uPNnN+Fqa3qqLTSzvgj7ghAM+8zL4toqmlcFHbOONTJS86+PDbDrLrQeTKvt68S2O1nD0qsou56dRDyRAAmQAAmQAAmQAAmQAAmQAAmQAAmQQBMg4HPwxY36enjcofjiq2+ww3bb4JQJrxSk+MoGcwSfVtK2T3f0EAefO4rvnU/xviRsqxOIM+nIY8xRfjoCWDjpJuw6qScefus0DNDBQSUrxBl1QXp+K+/7Z2Hd9V11Tvucq75UurNOCY7UJ46wFhd6DkltjEp/xL6761v7rBia5Su2rViMsfv5HaU+A826M+1UiXK1PYKT1v/OirVIHcaRn5oHzyRAAiRAAiRAAiRAAiRAAiRAAiRAAuVPwO/gC3Wt2YV8ZNxhOOeqK90S3yXOvpMnvOzeN+wixLujppeGCWvTAvtKuOvgk2trKqpKazmwavGmuo48FuCUX3bD2qCjzkn/0KSZkTnx1L0YO+A23Ha4kyQf+i68N4O+Otx5dhec28bQF+Lc0wIWvuONbLTDDIbFthXr8PuTMjj3HKPdutOFcM+52C6670x3grqi5UK1LUODGcVrEiABEiABEiABEiABEiABEiABEiABEihLApv5rLa9H9oL4jurkXupdYvkT9xo8qfuHW9JbmfTgAz6kWqJjp3MxJ9g+Sq5lzyz7/E7906dfBvWLrL/XhvTysv01Cz83slj2e7FyFUrjH8yIp/EPvS72Vjp2Jd/fZdjvK9sa/CeYWdQH44+0y3f2icHo7uvHHJjcAzmzZ1NZltX/mEarjGmHAe5qnp56Gi/jT7zc7J9Ld4zdZucVHuY3NPHxuTE60CdGPVANmTDNsA2wDbANsA2wDbANsA2wDbANsA2wDZQCm2g/1nH83u9+X1dmqU+fA4+M03wWk3LTa2QUW4rarFJ/qx7kXL+HYtzrmNtjDpvkr+gbvt+Ld5dZqbcHe1bq7SLMdNcc0+cOrce7slo07e74QBbg3dXeXGmtO5jhmOkJc+Ob3PGcFxrOt2WrcVyy7ZC6GuBkeeJ88k4lq5c53AI6Os0GPOv6+oxaj0AdcpxZRw2r0KxyWTrOsyatcawpCceXDTOx1XZ1v+6U9FfztpOI4Mblpd6feoPaLn/Q3he6zr8VNSd0cLQ4dmgbeGZTNgG2AbYBtgG2AbYBtgG2AbYBtgG2AbYBtgGGtYGPvjn+7j42WtwxB0/Q8+JVdafulZhKi5Xrt9+s8Eno//ZJ/vuc5Wv8t/yeO52mnZ8+p8v8cALb+OUiU/jgAv/gAMv+ANOk2sVtvazL3Oy3/Sn+Kbo+hduM5MBJ938Eu657HB3DT51/3Nx7rXdJWWdT9/xVBx02lv+TLF3qsjmIfe+xeOMuA8+hTk4C51aoJ1KGwwXp85upsPPEGFfKh3qyvrHiW2FY/ruGtC9KzpUSrTrVFT55C8v+oB92wb0yRRkNRLPm2bs6PPZKQkqnXI7llun0LwSU3RbP8V7Li/Rf1RXDIiqT9d+sx5UoCq3nBpkexeMkhGbD9eYTsYFOG1/Z9ruUWfgU3GO8iABEiABEiABEiABEiABEiABEiABEsgvgUueuxYL6t/CUQNWYPfWwO5fnoXtRMVHMgN0xb8+wTmPXokulZ0wcdC1DVL8wpxn8d36L/DC7Fno1/8IS8a33/w34MtpkGg304Q/rcAePwAmiJPv0K+PbYCfyxVlXbz8t8W46+XVOLJnG9w2oh9a7riduJZSWPvfrzHnzRW45N4Xcc4he+PQA3L3VfgcfEFXi98s4Gfi1NPHz3+7xHLu7fHD7fDuJ1+g3//djBce3M+KPjBrR5+Wavt2wuyYfXed4fyS9JUtrQ02wtJ60sKvovIEw8Pug2HhGvyhUXmiwnVuK/6DtX7HpkTG5VP5k6TResxzVL6ocJ03Kj4qXOcLOzckj5Kj8rUdfgnWtH0IrUabqzU6Wp6+D7vVV2HeI84Ovk4wTyRAAiRAAiRAAiRAAiRAAiRAAiRAAg0nME6cex98tAon7LcfxJ2Ha3q+i/EL9sFO/6jCtiL2Rz/cyfqrk/XIlCNwQkIn32EjjoUIxHfqv/XfYMtOh+PKl17HjSJz3O9+jQnnX9Fg/0ewtDdPrxdZFdh5h23xwb++Rr9jr8vJz/Xy629j5apPMHFEH7TffResF6fFhgpgCznvsf22GLnbDzCwewc8+dxLMpt1Iw47YP+gSVnd+xx8mXKO+PWLbrRypIz6v27u/cy//QNfb9cXfUYsxrffihfyzs5unLroe+5S333WNy8/hNOfNnO1wrUjHO/m3i2tzTfckW8ySmtN1qO0nDXv9jZ1LEadqbNTS7RT0XnRZ+qJuQ7qq18rj0pX2xYn64oXF/mdn1pkMG+D2GhhSc7OOol6FN/Tb2O21MWAJFmDaXKx/bBTsebNUy2JK6ZNRG9zRN+yRXj+gwEY6avroHLekwAJkAAJkAAJkAAJkAAJkAAJkAAJJCHw0b9W2CP3KveR5N+g11Z3WNm0k28bcfJZXjr5t0/H3fDHt97CRz1XYM8fWl4WK23UPy/f/YQV9aKM3lOOvTm/OhMrP12MEb95HVv+qL8V9hcZzdfliIOxzTZb440n50aJSgu/4aFl4s6TQ/5Rfq6jftICr73zMXbbeWd8t/wLK/1uLTqjc++TXEefCkwyqG3dF1/inpdX4ZZzBqLtHjuh/qN/44Lbn8GH/5L9LVIbkdoshWeuPRntJe7oQYfi0rvnYN+OHbHrD9SYx4YdPgefGqkcg1QAACAASURBVCYYdaxc86Uv6rP/iQvVOb786ltss/k3OOvWetw7ei/sP/BXWPT8L3S0NfzQvfFdhOxnKjZ4VqzDlFNuwXjtMNJ5jxqE6r0knZWwBWSEpzeVVkZpDW53KWYOb6FTW+c511yC2n4TrfX5rIBNvmg8PHoiKp+42FovTsXMueY+PGwk6X5EV7S1bMuPvtQmbb+jJGCPKpxdHwF9y+ow6r6uXvlWz8Eo04El4jzZgbwNZOPJi7N1V7T3TWteiNNl3vEDC0+x1tyzc6s6nY0ODzthgXJ7uhpi+2Jc3GMxBhv62g67GJ+0fhi7j9Uj+mQdxhXCdi+nLDyRAAmQAAmQAAmQAAmQAAmQAAmQAAk0mMDkBfdjz513xGdffwZ8LWL28ERpJ99nyw5yAw/ZswVUnlsGXuOGxV306TcIm158HSvXLkb1rWPx5PWPY/13X+E/X/0TB/3yOvzm0mstEQefNgBbbrMDXrrrz3Eisfcum/vSbL/tFujfo7UV9t36DcCWOwHbiW9Jzt99twmDjqq24r60nVG+vMGbZ99YhUE92osD7wdYvyGFG6a/itX//h8GdW+HfVrvijtmvIajr30EC6ecjzbi5Ovfc2/MWvQhTju8Y1BU4nufgy9TrtmTh/iiB4yeicG9W0NN0b3guH1w1uQPrSm76nz6jteiz8i/+9InuhHnVe8edZmTHjUcn4w35ybLpg8je2C868CRdewm34LdJ6eLOblfepgXsgbjj70E470A46oVju6jHYb50meIz3iZXF+6mOR5M7NJlxwV0n/8cJz89DQ84iYQJ18P7VzTgT3wgL6MPDfU9jB9ppIeGHy4ec9rEiABEiABEiABEiABEiABEiABEiCBhhJQ6+79SDn4ZPBX2GE5+bAPViyUEUBytPphG7wqeTAwLLU/bNA59uy85+56CDf1PQBnTvornrnucXxvmx/gf5J0y823wm3ntMeYKa/j5n4HYP4Dz/sFZLh7Z7WSIIc1jA/Yv/0P8ZelH+PgzruL8/A7mRcsDsvPV1vnDd9sxMzH77SS9xk5yjpn+mf2wuW46ZxBMgCrAluI/EHd2mGPHXfAtWf2tQarzVm4An//4J+WiM1SFRi0fztccffL+XPwJXBCuvY/XzMEL765Bnu13AG3P7k6fT2+h+y5wz85ZZGbJ9eL7hdeimdkZF6anYedglcvXINDbjc3VwjXlpbXSda9Uyu8uSw8/8mTLka1TOl08+ZBn1LryrNuHEP0SUYnuvGi7/6fLsSwZ3SkeW6Fay5shfG3+51oZt5c2ShtrjzrxtSvIs34rpj45yosOy6wZmIwi8oTCNO3rq48cdZy1fnkSaegXwbdZlpekwAJkAAJkAAJkAAJkAAJkAAJkAAJxBNY98nnbqIvvrWnt7oBcqGcfK/sdQVuvHOROPiAL7751u9nMBMb189Ofci6O/z0o/DV1/9DqrIf1m/8CmpSae3fn8KP99gfm1IbcPXp38Ml017D3/oOMnJnvvzVCP+ad5fe+Ybl7Kvc41tZ70926/16NT79bCXeu+cy9B/1jivM9Vm4IekX737wGXbZYQvIOEDLf3hivy6oEEefTObEyNuewjurZeThvntgSwn7VsJ22XF7/P3DTxMxSddmhwRG8EW5XOzE1cYmG1qgyhG2Ht/Bp79uJZlz549wePUSnbxB5+4XjrMce3bmcBvbDr8IHw9fh6mnTkif0isZT540ARMPM/Oa10CnkRfhGZmUu8dYdzU/ydUd9y9QU0n9aZUduepLd28Fdah7L6z/+An4uH+EfS8/HBh56OVrDFvRuh+eWdAPK6fdFup07X5hf4Op31azzNnb3gVVPwUeCXOEdjoSrz7UXzZmCepTWniQAAmQAAmQAAmQAAmQAAmQAAmQAAk0hMC/xFmHr8NH72l5zy9+Hlc89LJ1u0bWoVtvXSX/fj73/qfQ/ejeqBAP2X++/Kc1cu8n4tz7498ew6H79MK3m77Fxo1At6pe2GHX7THv/ue06sTnW87ribG/+Ss+/3I9vtuwAU8+/Dtx7C118ie3VWXYVLFJNs7YzHJxqPX2NombT4Jwzq1P4o13P0Lfnu1x+7lHYr04+DbbtMHaZAObKRdddnoc46xTRe3sN1JV/XtaN599/pUZl3Y9aGxtWpgK+MUZ9jBLdX3HE8vx1C++ry4tu2bfdyoOzdHBZwvL87/iFNvzIs+Zd/JtEzDhsDzroDgSIAESIAESIAESIAESIAESIAESIAESaMIEDqr5KbbGf90SXjvkShz34+Pc+z+/8WdcO/NG636XbXZFC1mD783lH+K1MWGjc9xsaRcHntjP2jX3wll/wZQLOmCjbFbx7YZv8OCL0zHggENxy/0VmFx1EA7rMxB9h/8fXpz2pzQZSQJGT/4LJo8+2Eo6Z/wH6H+NTOmUY8Vf7DK0O/hK6z7TP2fXzMTNIwZhrxY7okL8fBvFkbeFOO+6Vt8hvrKt8PZdI+W8CTI7F5ulNsPb76zEDY+/iT+MPTKT2LS4nXa0N+Wom7NA5BtHnJ/w2UmDjdTe5RHi+NPr8X399TfY6n9vWZ5OlaLvz5fm4H/0dBT6SpU9rvyFtoHySYAESIAESIAESIAESIAESIAESIAESKCcCPTpeoDsErtMnHzph3Lu3TX/fuyx057AtpA022Ddv76FypOtD2bLbb9nKdgkI+GqJ6s17naUkXvr0f8nh+KBWU9i46ajcag495TcF8S5l638F8SZp46aaw6GcuzpQzv29j/gMDz70M+t4LYxTr5+Pdtg9oLlOHNIT5l2m8Lman6ujOL7xUn9UCGOvQ0Sttlmm7lTcl9f9RkG9twra5u1jersc/C5ks0UCa6fva0KR1xUZzn51q//znLu9T3f2WQjyeTkBDryniRY08rOYFjelVIgCZAACZAACZAACZAACZAACZAACZAACTQdAqN7DsNJ9aPQbucW+O/X69yCKeferXNkxJocW1vOve9jm+22xop/f4g7el4tPpjkTph+5x6PV+570pL11uEDsP+QQzDu90eIz0zJEOdZ6hgsnvjLrGRawox//v2VvXbgp298js5DdrRiFj31L+zf3dnoVTbdUJttfLTkYbQ96AojZ/rlkT0qccldz4rzsT322vUHarCetQbfrx+ZK+cKHCdr8kGmFCu33+p1n+G5he9i4ggZvZcFk6BWn4MvOdqgGGCWOPmOFCefOgNVZekry6X86UQYQgIkQAIkQAIkQAIkQAIkQAIkQAIkQAJNm0DLHVvj4MoDsOSjt7DXD/eyCqucezfOudUa1bf1zt9Hi+2Uw2xrfPivdVZalScbH8yc3z/uS7/5NsBvjrKn0R4iDj91ZCNPpT/+pqfxxbcb8d4/7eXqVv7mFBWMGVcuQ2rDf9Ctb3t8/d16a7MNtR6fOvo4g9nidO203ZYY1v17mPn0XBw15DC02m0nGbFXgUV3/VzW5xNB4tzbIIvyrVv7OepmzsVp++2AnbbbKusyWEY5//gcfDlJEoGzbhXnXlwpTe2ldl3OtpcaS9pDAiRAAiRAAiRAAiRAAiRAAiRAAiTQLAjc2PeXuPLF6/GX+tdx11fTsaOM1OtZ+ROr7J9//Rk+/+pbfCwj95QjUKXN1Xe05dbb45DDbMdeQ2U9ftlROP7mp9Fxl+1sJ5/jExr6q054+NK38e3/NuGrDeutWap9ztOzVJNX5+GH9sHsec/jontm44julTiyR1ts/71tZJDeRnz11Xo8u3A1Zsk03lN7bIW+h/TNmYnPwZdqKJXk5SvZlKrs9O+VbPXQMBIgARIgARIgARIgARIgARIgARIggRIm8Ku+V2Fdzw8wecH9mCuOPnzzoW2tjLbrI469WwddjRbf3ztn78uA807A/Idm5SxHGffHy36KE25+Rpx82/rknXxLV9x70QKcdZvalHaJL84uVLJ/+/cegB7dv5MpuCtw2d3PYcmH/7Yy/mjPnTCgZzvcdk5//GDbLRss37TCt4vuP//9PzOO1yRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiTQpAmccMsz+OOlPy27Mu6ys73xSNa76JZdSWkwCZAACZAACZAACZAACZAACZAACZAACZAACWQgMF2ce+U+q9M3RTeX3ToycGIUCZAACZAACZAACZAACZAACZAACZAACZAACZBAgQj4HHzl7q0sECOKJQESIAESIAESIAESIAESIAESIAESIAESIIGSJeBz8JX9eMSSxUzDSIAESIAESIAESIAESIAESIAESIAESIAESKAwBHwOPu4jWxjIlEoCJEACJEACJEACJEACJEACJEACJEACJEAChSLgc/C13OX7hdJDuSRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiRAAgUg4HPw1b6wuAAqKJIESIAESIAESIAESIAESIAESIAESIAESIAESCCfBAb36+qK8zn4zAg3BS9IgARIgARIgARIgARIgARIgARIgARIgARIgARKlsBmJWsZDSMBEiABEiABEiABEiABEiABEiABEiABEiABEoglQAdfLCImIAESIAESIAESIAESIAESIAESIAESIAESIIHSJUAHX+nWDS0jARIgARIgARIgARIgARIgARIgARIgARIggVgCdPDFImICEiABEiABEiABEiABEiABEiABEiABEiABEihdAnTwlW7d0DISIAESIAESIAESIAESIAESIAESIAESIAESiCVAB18sIiYgARIgARIgARIgARIgARIgARIgARIgARIggdIlQAdf6dYNLSMBEiABEiABEiABEiABEiABEiABEiABEiCBWAJ08MUiYgISIAESIAESIAESIAESIAESIAESIAESIAESKF0CdPCVbt3QMhIgARIgARIgARIgARIgARIgARIgARIgARKIJUAHXywiJiABEiABEiABEiABEiABEiABEiABEiABEiCB0iVAB1/p1g0tIwESIAESIAESIAESIAESIAESIAESIAESIIFYAlvEpnASfLdhI159fTm+/mZ90ixMRwIkQAIkQAIkQAIkkGcC2269FQ45sAO23GLzPEu2xbHPVxCsFEoCJEACJEACJEACWRHIts+XyMGnOnoLF3+Aww6qxOabcdBfVjXCxCRAAiRAAiRAAiSQRwIbN23CG2+tRo+ue+fdycc+Xx4riqJIgARIgARIgARIIAcC2fb5Ejn45rzyDvr17oSKigqsWfd5DuYxKwmQAAmQAAmQAAmQQC4EWu76fXT/0V5Q/bMj+3bJRVRaXvb50pAwgARIgARIgARIgAQahUC2fb5EDr7NN98MW221BT79x38tJ1+jlIxKSYAESIAESIAESIAEsO6fX2A3cfKp/lm+D/b58k2U8kiABEiABEiABEigYQSy7fMldvApc9QIPh4kQAIkQAIkQAIkQAKNT6BQDj5VMvb5Gr9+aQEJkAAJkAAJkAAJKAJJ+3zJHHzOunub0b+Xc+ta+WAN+t6xG+597ST0y1kaBZAACZAACZAACTRXAoVYF1nLZJ8v91ZVjn2+F667HGfhdKy6+ke5A6AEEiABEiABEiCBvBDQ/bM4YckcfJvbnr20X3M/eAHHnPAsFoVq2Q1X/XEsztk7NLIRAv+Bu4ZNxA3viuohw7C62B0XH6tW1i/jSf2lKx+chD6/+TSS2c9uvRm3HKKj/45LD7wfj+lbOfvjjYhGvWzk+mjUslM5CZAACZAACeROYHOnf5a7JE+ClpnW57OSpPcx3JyN0bdylZfYRdH6fHks96uPovXFb9oCh1RwBGce0VIUCZAACZAACeRKQPfP4uQkdPDZa7ykdfZa98dTj1fg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rGMqjTYmKzdOHp79d48kluS3LjJotKasmms8qkdiuOzsHJYn9zoNkxoMy2fZ+V0xSJf3JEACJFAgAvnYRbdXTa21G5aYmLajrrVhiLXbVfrOtv6diuwdobQMtbOS3ulIFoEVMVE7RkXvbhS5WYm1e1vQHm8HL61X2WLrtndp0rbpMGu34Gx3/oo0ihEkQAIkQAIkQAIkUMIEYvpP2nKzHyU7bqRqZadLs09lpQvKMnbrNPPrPldYmNZn7/Kq+3XV/p1tg3qsvqrX51My7P6czm+ftV5Xh3FRK7vnqp5p2hGjK6wM6WF57O9qA312eXzSdYf3dy0xPhnCyKiv0PgAZ1OX7k+nydD2JjkHvluY3ykS6wqWKWBz4u8eMXJMe3S7Cguzd6D22qFK66YzC6j4+HR6dWqh88VpeV6bd2Vm/J6Tv3ao9PG7YpJGzTQkQAIkkBsB5dtGLuJCAAAgAElEQVSrUP9U9e8pn7UNO/RQaHNnpIZJisslIwMrBgPBNVvUL77DZTOueaO93XXjRDGeBEiABEiABEiABEiABLImoEYIVmK0t01w1hIyZ2B/NzOfYsY257rIX9n5XbGYbZa6SIAEmjOBujkLsEUuANQL255GK9Nmp9egvqBOtipMSdWKk0+m5vqMrhaf3xQ693xMeEMCJEACJEACJEACJJAvAmpZlsFTlTS735kvuely2N9NZ9JYIc25LvJTdn5XbKy2S70kQALNlUDOI/iaKziWmwRIgARIgARIgARIgARIgARIgARIgARIgAQam4AawZeXTTYauyDUTwIkQAIkQAIkQAIkQAIkQAIkQAIkQAIkQALNlQAdfM215lluEiABEiABEiABEiABEiABEiABEiABEiCBJkGADr4mUY0sBAmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQQHMlQAdfc615lpsESIAESIAESIAESIAESIAESIAESIAESKBJEKCDr0lUIwtBAiRAAiRAAiRAAiRAAiRAAiRAAiRAAiTQXAnQwddca57lJgESIAESIAESIAESIAESIAESIAESIAESaBIE6OBrEtXIQpAACZAACZAACZAACZAACZAACZAACZAACTRXAnTwNdeaZ7lJgARIgARIgARIgARIgARIgARIgARIgASaBAE6+JpENbIQJEACJEACJEACJEACJEACJEACJEACJEACzZUAHXzN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Ut2pXO++w+Lpjam3rbr1VZXLdVVt641rUJlcdlxlcn3eCRAgQIAAAQIECOyugATf7granwABAgQILIFATlINaqpOmfL+VeXzFW7pKrmUyKoqU64jLfcr02997/7lz4P2GbRtnHXUaWdcZcpxWyZAgAABAgQIECCwWAEJvsXK2Y8AAQIECMygQO/VaXUSWTPIoEsECBAgQIAAAQIEGiUgwdeo4RIsAQIECBCYvICk3uSNtUCAAAECBAgQIEBgnAKeojtOTXURIECAAAECBAgQIECAAAECBAgQWGIBCb4lBtccAQIECBAgQIAAAQIECBAgQIAAgXEKSPCNU1NdBAgQIECAAAECBAgQIECAAAECBJZYwBx8SwyuOQIECBAg0Ctw4MGH9a7ymQABAgQIECBAgAABArUFJPhqUylIgAABAgTGLzA3Nzf+StVIgAABAgQIECBAgMCyEpDgW1bDrbMECBAgME0Cu3btmqZwxEKAAAECBAgQIECAQEMFzMHX0IETNgECBAgQIECAAAECBAgQIECAAIEkIMHnOCBAgAABAgQIECBAgAABAgQIECDQYAEJvgYPntAJECBAgAABAgQIECBAgAABAgQISPA5BggQIECAAAECBAgQIECAAAECBAg0WECCr8GDJ3QCBAgQIECAAAECBAgQIECAAAECEnyOAQIECBAgQIAAAQIECBAgQIAAAQINFpDga/DgCZ0AAQIECBAgQIAAAQIECBAgQICABJ9jgAABAgQIECBAgAABAgQIECBAgECDBST4Gjx4QidAgAABAgQIECBAgAABAgQIECAgwecYIECAAAECBAgQIECAAAECBAgQINBgAQm+Bg+e0AkQIECAAAECBAgQIECAAAECBAhI8DkGCBAgQIAAAQIECBAgQIAAAQIECDRYQIKvwYMndAIECBAgQIAAAQIECBAgQIAAAQISfI4BAgQIECBAgAABAgQIECBAgAABAg0WkOBr8OAJnQABAgQIECBAgAABAgQIECBAgIAEn2OAAAECBAgQIECAAAECBAgQIECAQIMFJPgaPHhCJ0CAAAECBAgQIECAAAECBAgQICDB5xggQIAAAQIECBAgQIAAAQIECBAg0GABCb4GD57QCRAgQIAAAQIECBAgQIAAAQIECEjwOQYIECBAgAABAgQIECBAgAABAgQINFhAgq/Bgyd0AgQIECBAgAABAgQIECBAgAABAhJ8jgECBAgQIECAAAECBAgQIECAAAECDRaQ4Gvw4AmdAAECBAgQIECAAAECBAgQIECAgASfY4AAAQIECBAgQIAAAQIECBAgQIBAgwUk+Bo8eEInQIAAAQIECBAgQIAAAQIECBAgIMHnGCBAgAABAgQIECBAgAABAgQIECDQYAEJvgYPntAJECBAgAABAgQIECBAgAABAgQISPA5BggQIECAAAECBAgQIECAAAECBAg0WECCr8GDJ3QCBAgQIECAAAECBAgQIECAAAECEnyOAQIECBAgQIAAAQIECBAgQIAAAQINFpDga/DgCZ0AAQIECBAgQIAAAQIECBAgQICABJ9jgAABAgQIECBAgAABAgQIECBAgECDBST4Gjx4QidAgAABAgQIECBAgAABAgQIECAgwecYIECAAAECBAgQIECAAAECBAgQINBgAQm+Bg+e0AkQIECAAAECBAgQIECAAAECBAhI8DkGCBAgQIAAAQIECBAgQIAAAQIECDRYQIKvwYMndAIECBAgQIAAAQIECBAgQIAAAQISfI4BAgQIECBAgAABAgQIECBAgAABAg0WkOBr8OAJnQABAgQIECBAgAABAgQIECBAgIAEn2OAAAECBAgQIECAAAECBAgQIECAQIMFJPgaPHhCJ0CAAAECBAgQIECAAAECBAgQICDB5xggQIAAAQIECBAgQIAAAQIECBAg0GABCb4GD57QCRAgQIAAAQIECBAgQIAAAQIECEjwOQYIECBAgAABAgQIECBAgAABAgQINFhAgq/Bgyd0AgQIECBAgAABAgQIECBAgAABAhJ8jgECBAgQIECAAAECBAgQIECAAAECDRaQ4Gvw4AmdAAECBAgQIECAAAECBAgQIECAgASfY4AAAQIECBAgQIAAAQIECBAgQIBAgwUk+Bo8eEInQIAAAQIECBAgQIAAAQIECBAgIMHnGCBAgAABAgQIECBAgAABAgQIECDQYAEJvgYPntAJECBAgAABAgQIECBAgAABAgQISPA5BggQIECAAAECBAgQIECAAAECBAg0WECCr8GDJ3QCBAgQIECAAAECBAgQIECAAAECEnyOAQIECBAgQIAAAQIECBAgQIAAAQINFpDga/DgCZ0AAQIECBAgQIAAAQIECBAgQICABJ9jgAABAgQIECBAgAABAgQIECBAgECDBST4Gjx4QidAgAABAgQIECBAgAABAgQIECAgwecYIECAAAECBAgQIECAAAECBAgQINBgAQm+Bg+e0AkQIECAAAECBAgQIECAAAECBAhI8DkGCBAgQIAAAQIECBAgQIAAAQIECDRYQIKvwYMndAIECBAgQIAAAQIECBAgQIAAAQISfI4BAgQIECBAgAABAgQIECBAgAABAg0WkOBr8OAJnQABAgQIECBAgAABAgQIECBAgIAEn2OAAAECBAgQIECAAAECBAgQIECAQIMFJPgaPHhCJ0CAAAECBAgQIECAAAECBAgQICDB5xggQIAAAQIECBAgQIAAAQIECBAg0GABCb4GD57QCRAgQIAAAQIECBAgQIAAAQIECEjwOQYIECBAgAABAgQIECBAgAABAgQINFhAgq/Bgyd0AgQIECBAgAABAgQIECBAgAABAhJ8jgECBAgQIECAAAECBAgQIECAAAECDRaQ4Gvw4AmdAAECBAgQIECAAAECBAgQIECAgASfY4AAAQIECBAgQIAAAQIECBAgQIBAgwUk+Bo8eEInQIAAAQIECBAgQIAAAQIECBAgIMHnGCBAgAABAgQIECBAgAABAgQIECDQYAEJvgYPntAJECBAgAABAgQIECBAgAABAgQISPA5BggQIECAAAECBAgQIECAAAECBAg0WECCr8GDJ3QCBAgQIECAAAECBAgQIECAAAECEnyOAQIECBAgQIAAAQIECBAgQIAAAQINFpDga/DgCZ0AAQIECBAgQIAAAQIECBAgQICABJ9jgAABAgQIECBAgAABAgQIECBAgECDBST4Gjx4QidAgAABAgQIECBAgAABAgQIECAgwecYIECAAAECBAgQIECAAAECBAgQINBgAQm+Bg+e0AkQIECAAAECBAgQIECAAAECBAhI8DkGCBAgQIAAAQIECBAgQIAAAQIECDRYQIKvwYMndAIECBAgQIAAAQIECBAgQIAAAQISfI4BAgQIECBAgAABAgQIECBAgAABAg0WkOBr8OAJnQABAgQIECBAgAABAgQIECBAgIAEn2OAAAECBAgQIECAAAECBAgQIECAQIMFJPgaPHhCJ0CAAAECBAgQIECAAAECBAgQICDB5xggQIAAAQIECBAgQIAAAQIECBAg0GABCb4GD57QCRAgQIAAAQIECBAgQIAAAQIECEjwOQYIECBAgAABAgQIECBAgAABAgQINFhAgq/Bgyd0AgQIECBAgAABAgQIECBAgAABAhJ8jgECBAgQIECAAAECBAgQIECAAAECDRaQ4Gvw4AmdAAECBAgQIECAAAECBAgQIECAgASfY4AAAQIECBAgQIAAAQIECBAgQIBAgwUk+Bo8eEInQIAAAQIECBAgQIAAAQIECBAgIMHnGCBAgAABAgQIECBAgAABAgQIECDQYAEJvgYPntAJECBAgAABAgQIECBAgAABAgQISPA5BggQIECAAAECBAgQIECAAAECBAg0WECCr8GDJ3QCBAgQIECAAAECBAgQIECAAAECEnyOAQIECBAgQIAAAQIECBAgQIAAAQINFpDga/DgCZ0AAQIECBAgQIAAAQIECBAgQICABJ9jgAABAgQIECBAgAABAgQIECBAgECDBST4Gjx4QidAgAABAgQIECBAgAABAgQIECAgwecYIECAAAECBAgQIECAAAECBAgQINBgAQm+Bg+e0AkQIECAAAECBAgQIECAAAECBAhI8DkGCBAgQIAAAQIECBAgQIAAAQIECDRYQIKvwYMndAIECBAgQIAAAQIECBAgQIAAAQISfI4BAgQIECBAgAABAgQIECBAgAABAg0WkOBr8OAJnQABAgQIECBAgAABAgQIECBAgIAEn2OAAAECBAgQIECAAAECBAgQIECAQIMFJPgaPHhCJ0CAAAECBAgQIECAAAECBAgQICDBsy5PawAAIABJREFU5xggQIAAAQIECBAgQIAAAQIECBAg0GABCb4GD57QCRAgQIAAAQIECBAgQIAAAQIECEjwOQYIECBAgAABAgQIECBAgAABAgQINFhAgq/Bgyd0AgQIECBAgAABAgQIECBAgAABAhJ8jgECBAgQIECAAAECBAgQIECAAAECDRaQ4Gvw4AmdAAECBAgQIECAAAECBAgQIECAgASfY4AAAQIECBAgQIAAAQIECBAgQIBAgwUk+Bo8eEInQIAAAQIECBAgQIAAAQIECBAgIMHnGCBAgAABAgQIECBAgAABAgQIECDQYAEJvgYPntAJECBAgAABAgQIECBAgAABAgQISPA5BggQIECAAAECBAgQIECAAAECBAg0WECCr8GDJ3QCBAgQIECAAAECBAgQIECAAAECEnyOAQIECBAgQIAAAQIECBAgQIAAAQINFpDga/DgCZ0AAQIECBAgQIAAAQIECBAgQICABJ9jgAABAgQIECBAgAABAgQIECBAgECDBST4Gjx4QidAgAABAgQIECBAgAABAgQIECAgwecYIECAAAECBAgQIECAAAECBAgQINBgAQm+Bg+e0AkQIECAAAECBAgQIECAAAECBAhI8DkGCBAgQIAAAQIECBAgQIAAAQIECDRYQIKvwYMndAIECBAgQIAAAQIECBAgQIAAAQISfI4BAgQIECBAgAABAgQIECBAgAABAg0WkOBr8OAJnQABAgQIECBAgAABAgQIECBAgIAEn2OAAAECBAgQIECAAAECBAgQIECAQIMFJPgaPHhCJ0CAAAECBAgQIECAAAECBAgQICDB5xggQIAAAQIECBAgQIAAAQIECBAg0GABCb4GD57QCRAgQIAAAQIECBAgQIAAAQIECEjwOQYIECBAgAABAgQIECBAgAABAgQINFhAgq/Bgyd0AgQIECBAgAABAgQIECBAgAABAhJ8jgECBAgQIECAAAECBAgQIECAAAECDRaQ4Gvw4AmdAAECBAgQIECAAAECBAgQIECAgASfY4AAAQIECBAgQIAAAQIECBAgQIBAgwUk+Bo8eEInQIAAAQIECBAgQIAAAQIECBAgIMHnGCBAgAABAgQIECBAgAABAgQIECDQYAEJvgYPntAJECBAgAABAgQIECBAgAABAgQISPA5BggQIECAAAECBAgQIECAAAECBAg0WECCr8GDJ3QCBAgQIECAAAECBAgQIECAAAECEnyOAQIECBAgQIAAAQIECBAgQIAAAQINFpDga/DgCZ0AAQIECBAgQIAAAQIECBAgQICABJ9jgAABAgQIECBAgAABAgQIECBAgECDBR7S4NiFToAAAQIEGi5wS3jlyq3h4qperD4+3PLZY8KKqm2TXHfNB8LDNl7fbuGJ4TM7XhqOmWR7oWzwyPDWL7w+vGbfiTaocgIECBAgQIAAAQIzJ+AKvpkbUh0iQIAAgcYI3P3DcPuzN4Qf7/iT8OMvHB+eGP/vM2k5/vvM/jeEy+9eRE9igu6V1yxiv7zL017aimfHhrA+r5vYeyu5d/sZZ7XavGif8IdHfyBcObH2VEyAAAECBAgQIEBgNgUk+GZzXPWKAAECBJogEBN4zznp4MpIjznp0BAWkeDb+Z37KuubxpU737ctXByvVPzzl+/dCi8mFz/z7OvDH73vh9MYrpgIECBAgAABAgQITK2ABN/UDo3ACBAgQGDmBZ52TP/bUfeN2542qsAt4fy3fX/UnRZdfuf7/ig8bOWrFnnF4A/D5du+H5649uCu25D3W/nIcP22W8LORUdlRwIECBAgQIAAAQLLT8AcfMtvzPWYAAECBJoo0DU3XgjrL/qT8KedBOAPw7t+69zwh7e1O7bxVe15/Xrn0CvPd9cq+8R4e+yX8xV0i3J5ZHjsoubMuz/cGeM98NXtq/faba94zD4h3PaD8O34ecnnH1xU/+1EgAABAgQIEBgmsPAcrLPHcpl3uedcdvfPQTuCFtoCruBzKBAgQIAAgWkXKE6I7osPoGjNz/fjOD9eiEm8+bn29g6v+WzadlZ46+pW8q+Y16/nARlXnrE1hJgYbG1rlX/OtveHdy3iVuBEtuLlr491LfKhGGn+wb7u94VvLTKmvlXaQIAAAQIECBDYUwLLfN7l4q6PKw8pnYNuCAe+7dzwFNOyjPWIdAXfWDlVRoAAAQIExi0Qr8579/XFFXvzT5c9OPxpfCjHU9IDKXqSeINaP+Ztf9J6Im7PX1DXp2Taoq7CG9SabQQIECBAgAABAoVAPNcaNO9y8YfNEc/FinmXH9ME39a0LOtfXZ53+uBw6hmPDAfvuD92oPtujib0aFpjdAXftI6MuAgQIECAQBK4+5bw6dueGJ7VuR23zbLv3uHAMOKVbimxF+fMe1jnL6itK/72CHQRf7+W9wkHjHiS268m6wkQIECAAAECe1xgWc+7vHc4YP8QLn73lV1zLBfTsuzxgZmtAFzBN1vjqTcECBAgQKCPQJz7ZWPrNt/5KwH7FF2S1XuFx8bbiT/9nfjE3KfN/+W2+Gv06kPDfksSg0YIECBAgAABAlMm0HunRePnXQ4h3UXy4x7mK6+Md6gc89KetT7ujoAr+HZHz74ECBAgQGDSAvseHJ6zuuJKvWIOuxGudBu1/KT7FW/HOG5t7xNzq5+sO/FQNECAAAECBAgQmAaBWZx3ucr17ivDH911fDi19w6VqrLW1RaQ4KtNpSABAgQIENgTAvEBGq/eJ/xhmm+v03ycl+/Uy0I4Y01rTr3O+tYtELenq+KK1y3hXXny4uKW2OvD567pFA473/f++Sfvzq+uvVRMmBxv+Z1/2EftXYuCK16+Nqy/7bLwshzjNdtjPE8Mr9+tp/qOFoPSBAgQIECAAIHpEMjzLpcfYNaad/n2jeXzwOHRpivm/jQlz/L0LCvPjedY3w93TsVDzOJdJaeG8OefPSasGN4VJUYQcIvuCFiKEiBAgACBiQiUbsV49srWAzWKk7Lc2NNeGn58UWv+vLxqfbxd48sVf/U85qTjwx8dfW542NtSySeGz8SHcLRe8QTxoieGh8Wn717cXvPEM84Kt5zx/nBwWvfsDeHHb4uTH5diScUujvGkV2qvK6ZibfqfR4bHLnq+vBhTfCLwK+NJZyveR8YnBb++J2nZacgCAQIECBAgQGB2BdrzLr++9/yu+CPtDSE9iOOYuudc+Xwund8V54Ixefhb54Y797heTO6tvDE8K8YkuTf+wZDgG7+pGgkQIECAwGgCKYHXScT12bVOmbTrvseEL+84prqSyjpeH3788lLxyjKl7aXFFS/v2be0rf5iSvLF5GH9H
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,我是一个语言模型,无法提供完整的代码实现。但我可以给您提供一些思路和参考。 在Kotlin中使用OSGi框架实现动态加载Android模块的步骤如下: 1. 引入OSGi框架:在build.gradle文件中添加OSGi框架的依赖,如: ```gradle dependencies { implementation 'org.osgi:org.osgi.core:6.0.0' implementation 'org.osgi:org.osgi.compendium:5.0.0' } ``` 2. 定义应用模块:将应用程序按照功能划分为多个模块,每个模块包含一个或多个组件,如Activity、Service、BroadcastReceiver等。每个模块需要定义一个Bundle,如: ```kotlin class MyBundle : BundleActivator { override fun start(context: BundleContext) { // 模块启动时执行的操作 } override fun stop(context: BundleContext) { // 模块停止时执行的操作 } } ``` 3. 模块管理:在应用程序中实现模块的管理,包括模块的安装、卸载、更新等功能。如: ```kotlin val bundleContext = FrameworkUtil.getBundle(this.javaClass).bundleContext // 安装模块 bundleContext.installBundle("file:./mybundle.jar") // 卸载模块 bundleContext.getBundle(1)?.uninstall() // 更新模块 bundleContext.getBundle(1)?.update(FileInputStream("./mybundle.jar")) ``` 4. 组件通信:在不同模块之间实现组件的通信,如Activity之间的跳转、Service的调用等。如: ```kotlin // 启动Activity val intent = Intent().setClassName("com.example.mybundle", "com.example.mybundle.MyActivity") startActivity(intent) // 绑定Service val serviceConn = object : ServiceConnection { override fun onServiceConnected(name: ComponentName?, service: IBinder?) { val myService = (service as MyService.MyBinder).getService() } override fun onServiceDisconnected(name: ComponentName?) { } } bindService(Intent(this, MyService::class.java), serviceConn, Context.BIND_AUTO_CREATE) ``` 5. UI管理:在应用程序中实现UI的管理,包括UI的加载、卸载、更新等功能。如: ```kotlin // 加载Fragment val fragment = bundleContext.getBundle(1)?.loadClass("com.example.mybundle.MyFragment")?.newInstance() as Fragment supportFragmentManager.beginTransaction().add(R.id.container, fragment).commit() // 卸载View val view = findViewById<View>(R.id.my_view) val viewGroup = view.parent as ViewGroup viewGroup.removeView(view) // 更新View val textView = findViewById<TextView>(R.id.my_text) textView.text = "Hello, World!" ``` 6. 安全管理:在应用程序中实现安全机制,包括应用模块的权限管理、数据隔离等。 注意,以上代码仅为参考,请根据实际情况进行修改和完善。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值