Mobile CodenameOne:是否可以定义';视图';对于应用程序的不同用户组?
我目前正计划使用CodenameOne开发一个应用程序,我想知道是否有可能在应用程序上定义一些类似数据库的视图,以便不同的用户看到应用程序的不同部分 我说的是一个应用程序,它是项目结构的一部分,是由不同的模块组成的,需要分别购买,,但应该集成到同一个应用程序中。作为某种广告策略,未包装的部分应该显示出来,但没有任何功能 另一个与此密切相关的问题是,如何让不同的人使用同一应用程序的不同GUI 有一个主人和一个工人 Master有以下菜单:Mobile CodenameOne:是否可以定义';视图';对于应用程序的不同用户组?,mobile,views,codenameone,Mobile,Views,Codenameone,我目前正计划使用CodenameOne开发一个应用程序,我想知道是否有可能在应用程序上定义一些类似数据库的视图,以便不同的用户看到应用程序的不同部分 我说的是一个应用程序,它是项目结构的一部分,是由不同的模块组成的,需要分别购买,,但应该集成到同一个应用程序中。作为某种广告策略,未包装的部分应该显示出来,但没有任何功能 另一个与此密切相关的问题是,如何让不同的人使用同一应用程序的不同GUI 有一个主人和一个工人 Master有以下菜单: - show all machines - show av
- show all machines
- show available teams
- send message to team x
- show my machine
- show my team
- send message to master
Worker具有以下菜单:
- show all machines
- show available teams
- send message to team x
- show my machine
- show my team
- send message to master
如果主人重新分配了一个团队,团队成员菜单的内容就会相应地改变,而应用程序本身不会改变
如果一个工人被分配为master,服务器将发送类似“你现在是master”的信息,并且视图将更改为masters视图(仍在同一个应用程序中)
这可能吗?如果我理解正确的话,对类似的东西没有内置支持。您可能会使用一组权限系统和if语句来实现这一点,但没有一个系统可以明确地说“此模块仅对该用户可见” 我相信您可能需要的只是动态构建这些视图。如果应用程序逻辑说某个用户是主用户,那么您将为该用户构建一个类似于主用户的视图,否则您将创建简单的工作视图。关于分配(掌握工人的规则),它只是基本的一对多关系范式 使用GUI+代码动态构建视图的提示:
public UserViewBuilder extends UIBuilder {
private Resource res;
private Container view;
//User is the parent class of both Worker and Master
private User user;
...
public UserView(Resource res){
this.res = res;
}
private void init(boolean isMasterView){
//where you initialize all the component of your view
}
...
public Container viewSelector(boolean isUserMaster){
if(isUserMaster){
//getting data for a master-user, just throwing ideas
this.user = Data.fetchYourMasterData();
//getting the design from GUI
this.view =this.createContainer(res,"ContainerDesignForMaster");
//putting the necessary data into the design
this.init(isUserMaster);
}
else {
//getting data for a worker-user, just throwing ideas
this.user = Data.fetchYourWorkerData();
//getting the design from GUI
this.view =this.createContainer(res,"ContainerDesignForWorker");
//putting the necessary data into the design
this.init(isUserMaster);
}
}
...
}
使用这种架构方法,您将使用GUI生成器为master和worker创建设计,然后编写视图选择逻辑
(如果您需要一个工作示例netbeans项目以便更好地理解,请告诉我)当我进一步思考这个问题时,我想到了一个可能性:如果我有一个登录屏幕,在有人登录后,服务器将查找其权限并向移动设备发送指令,从而使其能够构建特定于用户的动态GUI,该怎么办?你认为呢?这是一个很好的答案,会起作用,有些人选择了这种方法。它依赖于使用旧的UI构建器,这是我们正在远离的东西。管理它也有点困难,因为它需要手动绑定事件处理。谢谢你的回答。如果我使用这种概念,是否不仅可以动态处理不同的视图,而且允许用户同时拥有多个视图?如果
master(machine1)
也因为原始master生病而被分配为master(machine2)
?