我在 android 中见过很少的密码管理器应用程序,比如 lastpass。我也在尝试构建这种应用程序。
这个应用程序是如何工作的?
他们如何访问第三方应用程序的 EditText 和 PasswordField?
他们如何检测登录屏幕?
这个应用程序使用任何Android系统api吗?
请给我提示。这些东西是如何运作的?
更新
我在网上找到了一个有用的资源。但它没有说明使用哪个api!
我在Android应用程序中使用Dagger2.0.
我对@Inject注释很困惑.我有两个实现相同接口的具体类.我正在使用@Inject注释注入一个具体类.这里,@ Inject注释如何决定实例化哪个具体类.
例:
我有一个界面.
Product.java
public interface Product {}
Run Code Online (Sandbox Code Playgroud)
ProductOne和ProductTwo共有两个具体的类.
ProductOne.class
public class ProductOne implements Product{
@Inject
public ProductOne() {}
}
Run Code Online (Sandbox Code Playgroud)
包装类是客户端.
Packaging.java
public class Packaging{
@Inject
public Packaging(Product product){}
}
Run Code Online (Sandbox Code Playgroud)
直到这一刻,我的包类使用了ProductOne类的实例.
混乱:
如果我有另一个具有@Inject批注的具体类ProductTwo.
public class ProductTwo implements Product {
@Inject
public ProductTwo() {}
}
Run Code Online (Sandbox Code Playgroud)
现在在我的Packaging类中,我想使用ProductTwo类的实例,那么这个@Inject注释会在这个时候起作用吗?
根据干净的架构,设计Interactor是包含所有业务逻辑的部分.Interactor一词对我来说很困惑.在我看来,Interactor喜欢在数据和演示者这两个不同的层之间进行交互.
这是正确的术语吗?任何人都可以清楚Interactor的目的吗?它遵循哪种模式?如果Interactor不像我看来那么层层交互的设计模式是什么?