gpt4 book ai didi

java - 创建一个基本的 MVP Android 应用程序

转载 作者:行者123 更新时间:2023-12-02 11:13:54 25 4
gpt4 key购买 nike

public class MainActivity extends AppCompatActivity {
//text
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

public void sendMessage(View view) {
//Grab input
EditText editText = findViewById(R.id.editText);
String message = editText.getText().toString();
//Throw input onto the label
TextView destinationText = findViewById(R.id.destinationText);
destinationText.setText(message);
}
}

此应用程序有一个带有 EditText、Textview 和按钮的用户界面。该按钮将复制用户在 EditText 对象中键入的文本并将其放置在 TextView 中。

MVP 和 MVVM 似乎是当今最流行的设计模式。

本着学习这些架构设计模式之一的精神,我如何才能使这个最基本的应用程序适应 MVP 架构模式?

最佳答案

我绝对建议在开始任何代码之前进行一些研究。如今,Android 提供了许多有趣的应用程序架构,尽管选择最适合您的应用程序架构并非易事,但这一过程将使您学到很多东西。

Google 官方 architecture sample projects 是一个很好的起点。在 GitHub 上。您不仅有许多不同的架构,例如 MVP、MVVM、MVI,而且每个架构中还有一些有趣的变体。

另一方面,Android 正在做大量工作,试图简化创建大量库的过程。这称为 Android 架构组件,并且 here you have some of their samples开始演奏并采用他们的模式。

最后,如果您仍然决定使用 MVP,则需要在示例中执行以下操作:

  1. 您的 MainActivity( View )应该实现该 View 的契约(例如:MainViewContract)。
  2. 在该 View 中,您应该获取对 MainPresenter 的引用,并传递实现 MainViewContract 的 View 的引用。
  3. MainPresenter 还将实现合约(例如:MainPresenterContract)。

基本上您需要的所有连接都已建立。 MainPresenter 将负责业务处理 View 输入和输出。在您的情况下,输入和输出非常简单:

输入(MainPresenterContract):

  • void copyText(String textToCopy);

输出(MainViewContract):

  • void showCopiedText(String CopyText);

当用户单击按钮时,您将通过演示者本地实例发送消息 copyText。然后,演示者将获取该信息并调用 showCopiedText 执行输出。由于主视图 MainActivity 实现了 MainViewContract,您将在 View 的本地方法中收到输出消息,您只需在 Textview< 上绘制文本即可。/.

关于java - 创建一个基本的 MVP Android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50426051/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com