2014-05-22 69 views
0

我看过Coursera android course,我怀疑Android是如何在我正在构建的应用程序中工作的。它做基本的东西,如注册并显示我的信息,并使用服务器作为数据库做TODO。而且我知道这取决于我想如何开始建造。需要一些选择。对Android的疑惑

  1. 碎片可以在ActionBar中创建,每当我想被调用?还是这样不好,并坚持建立默认菜单,并以编程方式隐藏它?试图谷歌,并没有找到任何信息。

  2. MainActivity是为了使http请求POST来在我的服务器中注册名称,电子邮件和密码。每当他登录时是否可以启动SecondActivity?它就像Instagram一样。但是,我可以设置一个条件来检查取决于是否登录或不更改setContent(R.layout.main)setContent(R.layout.second)

  3. 当寄存器完成时。所有的数据都保存在服务器上。但是,如果他每次登录或不登录,他都会在每次更改活动或执行一些操作时进行检查。我能用一个带有标志(布尔)的线程吗?可能是一个不好的做法,并降低性能?或SharedPrefrences添加标志(布尔)?但SharedPreferences在应用程序关闭后保存?

  4. 关于在每个活动中显示我的信息,如姓名,年龄和性别等等。请求http只是为了显示信息对我的应用程序非常不利,因为它只是TODO应用程序,我不需要连接到互联网来查看我的信息,但是在编辑的情况下,是的。因此,如果我保存在SharedPreferences中,但仍保留相同的疑问,那么在关闭应用程序后它会保存起来?

+0

答案总是肯定的。一切都是可能的......碎片是要走的路,当然你可以在另一个完成时开始一个活动,共享偏好将会持续。那么你的问题是什么? – ElDuderino

+1

这看起来像一个4个问题,也许更好地单独或顺序问。考虑到您的应用和服务器之间的通信:查看REST设计。 –

+0

我建议你在Coursera上采用[Pattern Oriented Software Architecture course](https://class.coursera.org/posa-002)。你看起来好像没有真正进入你的最后一个问题的并发性 – interlude

回答

2

由于您的问题可能会被彻底编辑(正如我在评论中建议的),我在此引用原文。

片段可以在ActionBar中创建,每当我想被调用?或 这是不好的方式,并坚持使用默认的菜单建立和隐藏它 编程?试图谷歌,并没有找到任何信息。

是的,片段可以随便使用。但那不是一个真正的答案。 基地您的各种活动设计(认为“什么应用程序屏幕应用户浏览”,并给其中的一个片段,每一个。

在MainActivity由作出http请求POST在注册名称, 电子邮件地址和密码我的服务器有没有可能在他登录时启动SecondActivity?它就像Instagram一样。但是,我可以设置一个条件来检查取决于是否记录或不更改 setContent(R.layout.main)或setContent( R.layout.second)?

是的,你可以有一个登录通过startActivityForResult()调用的活动。它会连接并返回成功/失败。 (请参阅http://developer.android.com/training/basics/intents/result.html

另外,请记住HTTP POST未加密,密码以纯文本格式发送。

当寄存器完成时。所有的数据都保存在服务器上。但我 想要检查每次他改变活动或做一些行动,如果他的 登录或不。我能用一个带有标志(布尔)的线程吗?可能是 不好的做法并降低性能?或SharedPrefrences加入 标志(布尔)?但SharedPreferences在应用程序关闭后保存了 ?

是的,SharedPreferences在退出应用程序后存储。简单地实施应用程序设置的理想选择,但是当存储项目列表时,您应该查看其他解决方案。一个JSON文件可能是有用的,你可以直接从/向服务器推/推它。

关于在每个活动,如名称,年龄和性别 等显示我的信息等。请求http对我的应用程序非常不利,因为它只是TODO应用程序,我不需要连接到互联网 以查看我的信息,但在编辑的情况下,是的。所以我保存在SharedPreferences的 中,但是保持相同的疑问,它会在我关闭应用程序后保存?

查看上面的答案。简而言之,从服务器获取一个JSON字符串,将其存储在本地文件中。查看和编辑本地文件,然后随时上传。这种方式也可以脱机工作,但仍可以下载/上传更改。