Giter VIP home page Giter VIP logo

Comments (7)

ParadiseHell avatar ParadiseHell commented on July 23, 2024 1

大部分的SDK初始化都需要参数,有得需要代码调用有得需要在manifest里设置, manifest里设置的不用修改,通过代码设置的参数应该如何传递给startup呢?

谢谢

你这种应该是不属于启动框架该管的问题呀,完全可以通过定一个配置的 api 模块,其他模块依赖这个 API 模块,通过 SPI 的方式获取 api 的实现,只要 app 最终集成 api 模块的实现就行。

from android-startup.

idisfkj avatar idisfkj commented on July 23, 2024

大部分的SDK初始化都需要参数,有得需要代码调用有得需要在manifest里设置, manifest里设置的不用修改,通过代码设置的参数应该如何传递给startup呢?

谢谢

我猜你应该是动态参数?例如通过网络请求或者其它配置来获取参数,然后进行传递;对于这种,获取参数与初始化的步骤就是一个依赖关系。你可以在dependencies中建立与参数的依赖,然后在初始化的startup中通过onDependenciesCompleted回调获取依赖的参数值。

from android-startup.

kennir avatar kennir commented on July 23, 2024

大部分的SDK初始化都需要参数,有得需要代码调用有得需要在manifest里设置, manifest里设置的不用修改,通过代码设置的参数应该如何传递给startup呢?
谢谢

我猜你应该是动态参数?例如通过网络请求或者其它配置来获取参数,然后进行传递;对于这种,获取参数与初始化的步骤就是一个依赖关系。你可以在dependencies中建立与参数的依赖,然后在初始化的startup中通过onDependenciesCompleted回调获取依赖的参数值。

谢谢回复

比如我们的库接入了友盟的SDK,那么需要传入umeng的appid,这个appid我们不想写死在库里,而是通过app调用库的时候传递进来,之前是在调用库的初始化的时候有一个builder可以传递入umeng的appid,现在改为android startup后我们实现了一个UMengStartup,但是不知道如何传递appid是最合适的方法

按照上一个回复我理解是不是需要库里实现一个abstract的 ParamsStartup, 让app去实现这个ParamsStartup,而umeng的depencies的列表里返回这个ParamsStartup ?

from android-startup.

idisfkj avatar idisfkj commented on July 23, 2024

有点抽象,如果你只是为了动态传递appid的话,构建ParamsStartup也是可以的。

另外,传递过来后不能先保存下来吗?然后再到UMengStartup中取出使用?

from android-startup.

kennir avatar kennir commented on July 23, 2024

有点抽象,如果你只是为了动态传递appid的话,构建ParamsStartup也是可以的。

另外,传递过来后不能先保存下来吗?然后再到UMengStartup中取出使用?

我也觉得这样做对接入的app有点繁琐,先保存下来的话那还得有个singleton或者static的变量来中转一下,感觉也不是太完美,因为在实际的情况里接入了很多的sdk后会有很多个动态的配置项,都需要app在启动后构建出来传递给sdk初始化

from android-startup.

idisfkj avatar idisfkj commented on July 23, 2024

android-startup支持两种注册方式。

一种是自动注册,内部使用反射来创建各个startup,所以是不支持对startup的构造方法进行传参的。
另外一种是手动注册,这种方式可以对startup的构造方法进行传参。

你可以尝试下手动注册的,看能否达到你的预期。

当然如果有好的建议欢迎提出!

from android-startup.

kennir avatar kennir commented on July 23, 2024

android-startup支持两种注册方式。

一种是自动注册,内部使用反射来创建各个startup,所以是不支持对startup的构造方法进行传参的。
另外一种是手动注册,这种方式可以对startup的构造方法进行传参。

你可以尝试下手动注册的,看能否达到你的预期。

当然如果有好的建议欢迎提出!

好,我研究一下手动注册

谢谢

from android-startup.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.