上下文
我们的应用程序向用户显示HTML flashcard.
我们添加了几层“过滤器”以满足不同的用户群:
>为了满足国际象棋爱好者的需要,我们将任何{FEN:rnbqkbnr / pp1ppppp / 8 / 2p5 / 4P3 / 5N2 / PPPP1PPP / RNBQKB1R b KQkq – 1 2}块转换为代表棋盘的HTML表格,棋盘位于正确位置
>为了满足中国语言学习者,我们将字词转换为< ruby>字< rt>zì< / rt>< / ruby>
> ……
原始HTML→国际象棋转换→中文转换→…→最终HTML显示
问题
过滤器数量不断增加,导致出现问题:
>较慢的演绎
>更重要的下载
>维护更大的源代码
>更多错误/崩溃
>维护负担
题
因此,我们希望制作这些可单独安装的应用程序.
例如,国际象棋中国爱好者将安装3个应用程序:
> TheApp
> TheApp Chess插件
> TheApp中文插件
TheApp将自动发现安装了哪些插件,并依次调用它们(顺序无关紧要).
我正在考虑使用一个意图THEAPPtransform,但我如何才能收到具有< intent-filter>的应用列表.对于THEAPPtransform,并依次打电话给他们?
速度是一项主要要求.我已经读过Intents are 10+ times slower than direct calls … Parcelable会在这里帮忙吗?
如果不可能,还有其他解决方案吗?
解决方法:
要了解使用THEAPPtransform作为过滤器的广播接收器的应用程序,您可以使用下面的代码
PackageManager pm = getPackageManager(); Intent intent = new Intent("THEAPPtransform"); List<ResolveInfo> info = pm.querybroadcastReceivers(intent, 0); for (ResolveInfo resolveInfo : info) { Log.e("apps", "packages = " + resolveInfo.activityInfo.packagename); }
总结 以上是内存溢出为你收集整理的将文本转换委派给“插件”Android应用程序,事先并不知道全部内容,希望文章能够帮你解决将文本转换委派给“插件”Android应用程序,事先并不知道所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)