当我正在学习Flutter时,我来到导航.我想屏幕之间的数据传递类似于Android中传递活动之间的数据和iOS中查看控制器之间传递数据.我如何在Flutter中做到这一点?
相关问题:
我正在创建这个规范问答,因为我找不到Flutter的另一个.我的答案如下.
任何人都可以告诉我如何维护用户登录的会话.例如,当用户登录到应用程序时,除非用户注销或卸载类似于android中的gmail的应用程序,否则他们必须登录.
可能重复:
如何在Android中的活动之间传递数据?
我正在制作一个纸牌游戏,我有一个用于丢弃卡片的活动和一个用于显示分数的活动.问题是我想将一些对象(玩家和经销商的手)传递给另一个活动,这样我就可以将得分中的imageViews设置为玩家手中的牌.我怎样才能做到这一点?我不关心安全性或任何我想要最简单的方法.
(之前可能会提出这个确切的问题.我无法通过搜索找到它.如果你发现它有重复的标记.)
在Android应用程序中,在这些情况下将对象存储在静态字段中是不是很糟糕?
Application类中的实例变量中.然后需要数据的类可以从中获取数据Application.Context的等它是不好的做法,存储Context(例如,一个引用Activity或Application静态字段)?这可以在需要例如a LayoutInflater或资源的类中使用.目前,我将Contexts 传递给需要它们作为参数的方法.我试图在两个不同的活动之间发送和接收数据.我在本网站上看到了其他一些问题,但没有问题涉及保留头等舱的状态.
例如,如果我想从A类发送一个整数X到B类然后在整数X上做一些操作然后将它发送回A类,那么如何做到这一点呢?
它是否像下面的代码一样简单?
在A类
Intent i = new Intent(this, ActivityB.class);
i.putExtra("Value1", 1);
startActivity(i);
Run Code Online (Sandbox Code Playgroud)
并收到B类的答复:
Bundle extras = getIntent().getExtras();
int value1 = extras.getint("Value1",0);
Run Code Online (Sandbox Code Playgroud)
在B班
Bundle extras = getIntent().getExtras();
int value1 = extras.getint("Value1",0);
//Do some operations on value1 such as maybe adding or subtracting
Intent i = new Intent(this, ActivityA.class);
i.putExtra("Value1", 1);
startActivity(i);
Run Code Online (Sandbox Code Playgroud)
这似乎不正确,因为我只想切换回活动A并在操作完成后从活动B接收数据(可能活动B中的按钮开始对接收的数据进行操作,然后将其发送回活动A?)
我有一个屏幕,我在其中存储电话号码,然后转到另一个屏幕并启动活动的主要部分,在其中我发送短信,我试图获取在第一个活动中输入的号码。我有发送消息的所有代码,但它不会从之前的活动中获取号码。这是我的第一个活动的代码:
public class StoreNumberActivity extends Host_Setting_PageActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.on``Create(savedInstanceState);
setContentView(R.layout.notificationsettings);
final EditText editText= (EditText) findViewById(R.id.HostPhoneNumber);
//Juston class to schedule edit
Button Save = (Button) findViewById(R.id.SaveBtn);
Save.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
Toast.makeText(StoreNumberActivity.this, "Number was Saved Successfully", Toast.LENGTH_LONG).show();
}
});
Button Send = (Button) findViewById(R.id.SendBtn);
Send.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
String Number = editText.getText().toString();
Intent myIntent = new Intent(StoreNumberActivity.this, Host_Setting_PageActivity.class);
myIntent.putExtra("Phone Num", …Run Code Online (Sandbox Code Playgroud) 我需要将一个变量从(周围)非活动类传递给一个nameget(android activity)类.在文本视图中显示传递的变量值.请通过此示例告诉我需要做什么.如何将其传递给android活动
public class around(non-activity class)
{
String name = "arjun";
//how to pass this name value to an below activity
nameget nam = new nameget();
String new = nam.get(name);
}
public class nameget extends Activity(android activity class)
{
public String get(String name)
{
String got = name;
TextView t1 = (TextView)findViewById(R.id.textView1);
t1.setText(name);
}
}
Run Code Online (Sandbox Code Playgroud) 我有这段代码来从Firebase Messaging获取通知.如何使用键/值处理数据并将其显示在Log或EditText中?
public class MyFirebaseMessagingService extends FirebaseMessagingService {
private static final String TAG = "MyFirebaseMsgService";
/**
* Called when message is received.
*
* @param remoteMessage Object representing the message received from Firebase Cloud Messaging.
*/
// [START receive_message]
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
// [START_EXCLUDE]
// There are two types of messages data messages and notification messages. Data messages are handled
// here in onMessageReceived whether the app is in the foreground or background. Data messages are the …Run Code Online (Sandbox Code Playgroud) 很长一段时间以来,我遇到了将变量从一个Activity传递到另一个Activity的麻烦,而且我通常不得不解决一些相当丑陋的Static-class-hacks才能使它工作.
通常我使用Activity的类型调用静态方法的行,以及Activity需要的变量.这些存储在静态变量中,并在所述活动的构造函数中检索.
就像我说的那样,非常难看.并且没有"myActivity.StartActivity(new Activity);"这样的东西.StartActivity的所有重载都采用Intent或typeof(MyOtherActivity).
所以我的问题是,我是否完全误解了活动的概念,或者我只是错过了一种将论据传递给他们的完全明显的方法?
@Edit:我想传递对象的实际引用而不是简单地传递对象副本的原因是因为我试图将一个View Model从一个覆盖的Activity传递到新的Activity.当然,对此视图模型所做的任何更改都应该反映在父活动上,只有当两个activy的viewmodel指向同一个实例时才能实现.
我正在使用Xamarin.Android编写应用程序,但C#和Java之间的代码几乎相同,所以这两种语言的答案都很好.
可能重复:
如何在Android中的活动之间传递数据?
我有两个活动A和B.活动A有一个editText和一个按钮.活动B有一个editText,当我在A的editText中键入内容并单击它应该在editText2中显示的按钮.任何人都可以为此提供代码.
提前致谢 !!!