未整理版。。。
目前replugin2.1.7版本宿主apk包含了這四個如圖的主要功能
1. 開啟外掛程式demo1中的mainactivity
2. 帶返回forresult的開啟外掛程式demo1中的mainactivity
3. 利用demo1中的fragment替換host中fragment
4. 模擬外接外掛程式,安裝並開啟demo3中的mainactivity
replugin.startactivity(mainactivity.this, replugin.createintent("com.qihoo360.replugin.sample.demo1", "com.qihoo360.replugin.sample.demo1.mainactivity"));
可以看到replugin.startactivity(context context, intent intent) 其實跟我們通常用的startactivity的引數是一致。
public
static intent createintent(string pluginname, string cls)
實際包名的設定依賴於
new componentname(pluginname, cls) //pluginname 外掛程式名,cls 目標元件全名
intent intent = new intent();
intent.setcomponent(new componentname("demo1", "com.qihoo360.replugin.sample.demo1.activity.for_result.forresultactivity"));
replugin.startactivityforresult(mainactivity.this, intent, request_code_demo1, null);
看看demo1中forresultactivity的寫法
intent intent = new intent();
intent.putextra("data", "data from demo1 plugin, resultcode is 0x012");
setresult(0x012, intent);
finish();
其實跟我們常規的開啟activity的寫法都是一樣的。很簡單的實現了兩個apk之間值的傳遞。
public
class
pluginfragmentactivity
extends
fragmentactivity catch (instantiationexception e) catch (illegalacces***ception e) catch (classnotfoundexception e) }}
new handler(looper.getmainlooper()).postdelayed(new runnable()
}, 1000);
/*** 模擬安裝外接外掛程式
* 注意:為方便演示,外接外掛程式臨時放置到host的assets/external目錄下,具體說明見readme
**@param pluginname 待安裝的外掛程式名
*/private
void
simulateinstallexternalplugin(string pluginname) }}
if (info != null) else
}
簡單的設計不簡單
最近看了 簡約至上 這本書,這本文章總結一下。推薦給對互動設計感興趣的童鞋。話說簡單 首先人們喜歡簡單 值得信賴 適應性強的產品。所以我們才會費盡心力去設計簡單的產品。人們喜歡簡單的產品原因有 1 產品的功能越多,就越難發現真正對使用者有價值的新功能。2 因為增加的複雜性導致他們很難找到自己真正需要...
簡單的設計不簡單
最近看了 簡約至上 這本書,這本文章總結一下。推薦給對互動設計感興趣的童鞋。話說簡單 首先人們喜歡簡單 值得信賴 適應性強的產品。所以我們才會費盡心力去設計簡單的產品。人們喜歡簡單的產品原因有 1 產品的功能越多,就越難發現真正對使用者有價值的新功能。2 因為增加的複雜性導致他們很難找到自己真正需要...
簡單的設計不簡單
最近看了 簡約至上 這本書,這本文章總結一下。推薦給對互動設計感興趣的童鞋。話說簡單 首先人們喜歡簡單 值得信賴 適應性強的產品。所以我們才會費盡心力去設計簡單的產品。人們喜歡簡單的產品原因有 1 產品的功能越多,就越難發現真正對使用者有價值的新功能。2 因為增加的複雜性導致他們很難找到自己真正需要...