Java 如何在J2ME中实现会话变量?

Java 如何在J2ME中实现会话变量?,java,session,blackberry,java-me,variables,Java,Session,Blackberry,Java Me,Variables,可以在J2me中使用会话吗?我正在尝试开发一个黑莓应用程序。我想从一个类(页面)中获取一些文本,并在另一个类(页面)中使用。可能类似于我们在app.net中所做的: Class1 { session("myVariable") = Textbox.Text; } //a new class Class2 { TextBox2.Text = session("myVariable").toString(); } 我非常感谢您提供的任何类型的帮助。当我第一次看到您的问题时,我以为

可以在J2me中使用会话吗?我正在尝试开发一个黑莓应用程序。我想从一个类(页面)中获取一些文本,并在另一个类(页面)中使用。可能类似于我们在app.net中所做的:

Class1
{
    session("myVariable") = Textbox.Text;
}

//a new class
Class2
{
    TextBox2.Text = session("myVariable").toString();
}

我非常感谢您提供的任何类型的帮助。

当我第一次看到您的问题时,我以为是关于HTTP会话的,但看起来您正在寻找一种在应用程序中存储状态的方法

有很多方法可以做到这一点。需要考虑的一些事项:

  • 您是否需要在应用程序的两次运行之间持久化会话数据(或者其中的一部分)
  • 会话变量集是固定的,还是可以改变
  • 所有变量都是“stringy”还是一些数字变量

一个简单的实现可能是类中的一个实例,该类具有公共静态方法,通过调用Hashtable put()和get()方法来获取和设置变量。

您可以使用第三个类来存储此类“全局”变量。您可以使这些变量成为公共的和静态的;尽管这会导致代码紧密耦合

public class GlobalVariables
{
    public static string MyVariable = "empty";
}
然后你可以做

GlobalVariables.MyVariable = Textbox.Text;
……还有

TextBox2.Text = GlobalVariables.MyVariable;
…代码中的任何位置。虽然在通常情况下,这往往是不受欢迎的,但当试图编写在有限的设备上运行的最小、快速的代码时,它可能是有用的

另一个技巧是在GlobalVariables中使用reset方法将所有静态值重置回默认值,以防用户希望从应用程序内部重置应用程序。此外,如果这是存储所有每个会话变量的唯一位置,则可以在此处添加RMS save和load方法,将所有变量保存在一个位置


再说一遍,这不是最好的做事方式。。。但是很简单。

嗨!请不要发表评论作为答案。如果答案有帮助,请投票/接受谢谢没问题。单击您得到的最佳答案左侧的勾号:)