我是否正确创建我的android应用程序?它会以任何方式影响性能吗?
所以我的应用程序基本上是这样工作的。有一系列的物理方程可供选择。每个等式(即:Vf=Vi+at)都有自己的整个活动(使用xml和java)。下面是一个关于等式的活动的示例: () 假设我想为我的应用程序创建100个方程式我还需要创建100个单独的活动吗? -如果是,那么它会影响性能吗?apk文件的大小会增加多少?是否有一种简单的方法将活动分类到目录中? -如果没有,那么我如何将这些“100个单独的活动”组合成更少的活动 到目前为止,我只做了3个方程式,我为每个方程式创建了一个单独的活动。下面是选择页面的外观 () 示例: 如果我从微调器中选择“最终速度求解”选项,它将执行以下命令并打开选定方程式的活动我是否正确创建我的android应用程序?它会以任何方式影响性能吗?,android,performance,android-activity,Android,Performance,Android Activity,所以我的应用程序基本上是这样工作的。有一系列的物理方程可供选择。每个等式(即:Vf=Vi+at)都有自己的整个活动(使用xml和java)。下面是一个关于等式的活动的示例: () 假设我想为我的应用程序创建100个方程式我还需要创建100个单独的活动吗? -如果是,那么它会影响性能吗?apk文件的大小会增加多少?是否有一种简单的方法将活动分类到目录中? -如果没有,那么我如何将这些“100个单独的活动”组合成更少的活动 到目前为止,我只做了3个方程式,我为每个方程式创建了一个单独的活动。下面是选
//What happens when user chooses a category
if(position == 1){
startActivity(vf);
与其调用多个活动,不如尝试使用同一个活动并相应地操作视图及其内容 示例 如果用户从微调器中选择“最终速度求解”选项,它将执行以下操作
Intent i;
if(position == 1){
i = new Intent(this,SecondActivity.class);
i.putExtra("Action","Equation1");
startActivity(i);
}else{
i = new Intent(this,SecondActivity.class);
i.putExtra("Action","Equation2");
startActivity(i);
}
...
在SecondActivity.java中
String input1,input2, formula;
String Action = getIntent().getExtras().getString("Action");
//now you have "What to do solved"
switch(Action){
case "Equation1" :
//manipulate your formula for Equation1
break;
case "Equation2" :
//manipulate your formula for Equation2
break;
}
如果不需要特定方程式,甚至可以隐藏特定视图
希望这能有所帮助。欢迎您使用100个版面,而不是100个活动。您的方法没有问题。没有性能问题,没有巨大的apk尺寸,没有缺点。当然,除了必须导航100个布局文件之外,您还可以尝试按所需的输入/输出值对它们进行分组。如果你有3个方程,其中2个输入值和1个结果,5个方程,其中3个输入值和1个结果,你只需要2个活动。但在您的情况下,最好在代码中构建UI,而不接触任何布局xml文件。这样,您可以根据需要动态创建任意数量的文本视图或编辑文本。您只需要一个模型,该模型用所需的输入/输出及其名称来描述方程。您不能创建一个包含标题、输入量、输入描述和计算的方程对象数组列表吗。然后以编程方式更新UI。xml布局如何?比如,有些方程需要3个文本字段,有些需要4个字段。我仍然需要多个xml布局,也就是说,每个等式都需要单独的xml布局吗?只需要一个xml布局,其中包含最多所需的EditText。例如,如果所需的最大EditText为4,则在布局中有4个EditText,然后当特定方程式仅需要2个EditText时,隐藏其他2个EditText。和分别更改文本视图中的标题。