Android外掛式開發(一)
1.外掛式開發基礎
外掛式開發是指,只要提供一個主應用程式,此應用程式可以安裝和呼叫其他外掛式的功能模組,當應用程式需要增加功能時,不需要升級應用程式,而是通過安裝新功能模組的外掛即可。其單個外掛的執行必須依賴於主應用程式。外掛開發是單獨進行的。
2.外掛是開發的構想
A.通過如下程式碼可以獲取android系統內的安裝應用的列表,同時獲取每個安裝包的資訊。
List<PackageInfo> pkgs = pm
.getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES);
B.通過如下程式碼可以獲取每個包的資源
PackageManager pm = contxt.getPackageManager();
res = pm.getResourcesForApplication(packageName);
C.通過如下程式碼可以獲取資源的id
/* Resources res */
res.getIdentifier(resName, resType, packageName)
D.但是由於android系統的安全機制繼承自linux,所以對於不同執行程式的apk之間是不能夠直接訪問資源和資料,同時android的創始人應該有這個預測留有方法觀看如下兩個程式碼片段A和片段B:
程式碼片段A:AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.iClient" android:installLocation="auto" android:sharedUserId="com.iClient.Main" android:sharedUserLabel="@string/share_user_label" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="11" android:targetSdkVersion="15" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:process="com.iClient" android:theme="@style/AppTheme" android:name=".data.ClientApplication" > <activity android:name=".MainActivity" android:label="@string/title_activity_main" android:process="com.iClient" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> ......................................................... </application> </manifest>
程式碼片段B:AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.iClient.agricultrue" android:sharedUserId="com.iClient.Main" android:sharedUserLabel="@string/share_user_label" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" /> .......................................................... </application> </manifest>
如以上2個程式碼段比較 android:sharedUserId="com.iClient.Main"是共同的配置,如此可以保證A應用可以訪問B應用的資源和資料。
以上功能經過驗證後發現,設想完全可以實現,外掛式開發設想成立。
相關文章
- Android Studio Plugin 外掛開發教程(一) —— 開發你的第一個外掛AndroidPlugin
- Flutter外掛開發---Android篇FlutterAndroid
- Android Studio 外掛開發Android
- Android與Gradle(一):Gradle外掛開發AndroidGradle
- AppDomain實現【外掛式】開發APPAI
- Flutter外掛(Plugin)開發 - Android視角FlutterPluginAndroid
- 如何開發一個 PyCharm 外掛PyCharm
- android 外掛化開發 開源專案列表Android
- Android外掛化原理(一)Activity外掛化Android
- 從頭開發一個Flutter外掛(一)開發流程Flutter
- android 基於dex的外掛化開發Android
- chrome外掛開發簡介(一)——開發入門Chrome
- Flutter外掛開發Flutter
- Mybatis外掛開發MyBatis
- Webstorm 外掛開發WebORM
- 開發Rhino外掛
- vue開發的一些外掛Vue
- Android外掛化開篇Android
- 從頭開發一個Flutter外掛(二)高德地圖定位外掛Flutter地圖
- 外掛化開發筆記(一)代理模式筆記模式
- Grafana的Datasource外掛開發實踐一Grafana
- 開發了一個 JATO for JBuilder 的外掛UI
- babel 外掛開發案例Babel
- Maven外掛開發教程Maven
- Chrome外掛開發教程Chrome
- Stylus外掛開發教程
- chrome外掛開發文件Chrome
- babel外掛開發心得Babel
- Vue-外掛開發Vue
- jQuery外掛開發模式jQuery模式
- jquery外掛開發方法jQuery
- Android Studio Plugin 外掛開發教程(二) —— 外掛SDK中的常用物件介紹AndroidPlugin物件
- Flutter開發之Flutter外掛開發Flutter
- 從零開始實現ASP.NET Core MVC的外掛式開發(四) - 外掛安裝ASP.NETMVC
- WordPress外掛開發例項教程 - 版權外掛
- 從頭開始開發一個 Gradle 外掛Gradle
- wordpress外掛開發02-首頁文章自動摘要外掛開發
- wordpress外掛開發03-簡單的all in one seo 外掛開發