Android:创建一个新班级?或者我可以使用当前的活动?

问题描述:

真的,我想我正在寻找一个最佳实践的答案。我喜欢用尽可能最少的代码和最少量的重复代码来离开应用程序。我有几个我创建的Android应用程序。我的问题是,如果我创建一个新的活动,反过来也需要一个类创建一个类似的名称,我应该创建一个单独的类或有某种方式,我可以保留扩展该活动的类已经?Android:创建一个新班级?或者我可以使用当前的活动?

下面是一个示例,可以说我想创建一个与Pinging地址有关的小活动。我可以在该Activity上实现Parcelable并将我的Activity用作数据持有者类。

public class PingAddress extends Activity implements Parcelable{ 
public String Scan; 
public String ScanName; 
public String IpAddress; 
public String Timeout; 
public String NumberOfPings; 

public PingAddress() { 

} 
    public void onCreate(Bundle bundle) { 
     super.onCreate(bundle); 
    } 

我一直在做的只是创建活动,然后创建一个单独的类,使用上面的例子中,名为PingAddressData,这里是这个类的一个实例。

public class PingAddressData implements Parcelable{ 
public String Scan; 
public String ScanName; 
public String IpAddress; 
public String Timeout; 
public String NumberOfPings; 

public PingAddress() { 

} 

再一次,我真的在这里寻找Android的最佳实践。有没有人知道我会遇到的影响,如果我只是在活动上实施Parcelable?我的主要目标是削减代码页。我创建了一个单独的Package来存储我创建的所有数据类,但实际上是该Activity的表示。

感谢

+0

此外,我担心,如果我试图做一些像新的PingAddress()。我将在后台创建一个新的Activity。 – meanbunny 2012-02-05 04:58:27

我不知道关于“最佳做法”,但它肯定是一个好主意,让你比活动Parceable分开。如果你确实让你的Activity Parceable并将它传递给一个Intent,那么你就会冒险保留对Activites过去的引用,从而打开自己的内​​存泄露。

+0

好的真棒谢谢!奇怪的是,我能够像这样创建一个新的PingAddress实例,即使它扩展了该类上的Activity和Parcelable。 PingAddress test = new PingAddress(); 我很好奇,现在如果我刚刚在我的PingAddress活动中创建了一个名为Data的类,那么这样就足够了。我认为流程会更有意义,我不会每次都重新创建一个活动。 – meanbunny 2012-02-05 05:45:43

+0

我想我真的只是在新对象本身内部有额外的空对象。这不应该导致内存泄漏太多。 – meanbunny 2012-02-05 05:48:29

+0

嗯,我想我从来没有尝试过自己实例化一个活动。总是认为你做不到。编辑我的答案,以消除虚假信息 – 2012-02-05 05:56:38