gitsvn преди 12 години
родител
ревизия
947d70dfab
променени са 4 файла, в които са добавени 57 реда и са изтрити 50 реда
  1. 2
    1
      AndroidManifest.xml
  2. 2
    1
      res/layout/rbs_main.xml
  3. 52
    47
      src/ch/spherIC/recurvebowsight/RBSMainActivity.java
  4. 1
    1
      src/ch/spherIC/recurvebowsight/logic/CalculationTask.java

+ 2
- 1
AndroidManifest.xml Целия файл

@@ -14,7 +14,8 @@
android:theme="@style/GlassTheme" >
<activity
android:name="ch.spherIC.recurvebowsight.RBSMainActivity"
android:label="@string/title_rbs_main_activity" >
android:label="@string/title_rbs_main_activity"
android:configChanges="orientation">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />

+ 2
- 1
res/layout/rbs_main.xml Целия файл

@@ -571,7 +571,7 @@
android:id="@+id/flightCurveScrollVIew"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="8dp"
android:layout_margin="4dp"
android:scrollbars="vertical" >
<ch.spherIC.recurvebowsight.components.XTextView
@@ -579,6 +579,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:textColor="@color/black"
android:ems="10"
android:inputType="textMultiLine"
android:padding="4dp"

+ 52
- 47
src/ch/spherIC/recurvebowsight/RBSMainActivity.java Целия файл

@@ -32,7 +32,6 @@ import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.ScrollView;
import android.widget.TextView;
import android.widget.Toast;
@@ -80,13 +79,11 @@ public class RBSMainActivity extends Activity implements ChooseArcherySetupDlgDi
private static final int MIN_DISTANCE = 50;
private static final double CENTI = 0.01;
private static final double MILLI = 0.001;
private static final String TAB = "\u0009";
private ViewFlipper viewFlipper;
private ScrollView paramsScrollView;
private ScrollView sightCfgScrollView;
private float lastX;
private ListView listView1;
private XTextView txtViewParams;
private XTextView txtViewResults;
private XTextView txtViewSight;
@@ -166,6 +163,23 @@ public class RBSMainActivity extends Activity implements ChooseArcherySetupDlgDi
addRiserAndSightSpinnerListeners();
}
@Override
protected void onSaveInstanceState(final Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt("ViewFlipper.SelectedView", this.viewFlipper.getDisplayedChild());
if (this.selectedArcherySetup != null) {
outState.putLong("SelectedArcherySetup", this.selectedArcherySetup.getId());
}
if (this.startAngle != null) {
outState.putDouble("StartAngle", this.startAngle);
}
if (this.scHeVSSpinner.getSelectedItem() != null) {
outState.putString("SelectedHeVS", this.scHeVSSpinner.getSelectedItem().toString());
}
}
@Override
protected void onRestoreInstanceState(final Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
@@ -175,10 +189,11 @@ public class RBSMainActivity extends Activity implements ChooseArcherySetupDlgDi
if (savedInstanceState.containsKey("SelectedArcherySetup")) {
this.selectedArcherySetup = ArcherySetupDao.getInstance().loadById(savedInstanceState.getLong("SelectedArcherySetup"));
}
this.startAngle = savedInstanceState.getDouble("StartAngle", 0);
this.startAngle = savedInstanceState.getDouble("StartAngle");
this.selectedHeVS = savedInstanceState.getString("SelectedHeVS");
deactivateAllXTextView();
switch (selView) {
case 0:
xTextViewUp(this.txtViewParams);
@@ -195,20 +210,6 @@ public class RBSMainActivity extends Activity implements ChooseArcherySetupDlgDi
}
}
@Override
protected void onSaveInstanceState(final Bundle outState) {
super.onSaveInstanceState(outState);
outState.putInt("ViewFlipper.SelectedView", this.viewFlipper.getDisplayedChild());
if (this.selectedArcherySetup != null) {
outState.putLong("SelectedArcherySetup", this.selectedArcherySetup.getId());
}
if (this.startAngle != null) {
outState.putDouble("StartAngle", this.startAngle);
}
if (this.scHeVSSpinner.getSelectedItem() != null) {
outState.putString("SelectedHeVS", this.scHeVSSpinner.getSelectedItem().toString());
}
}
private void initializeComponents() {
@@ -779,46 +780,50 @@ public class RBSMainActivity extends Activity implements ChooseArcherySetupDlgDi
public void onCalculationDone(final Double[][] flightCurve, final Double startAngle, final Double[] maxHCurve) {
this.startAngle = startAngle;
fillFlightCurveTxtFld(flightCurve, startAngle, maxHCurve);
calculateSettings();
if (this.calculationAlert != null) {
this.calculationAlert.dismiss();
}
this.txtViewSight.doSingleTouch();
}
private void fillFlightCurveTxtFld(final Double[][] flightCurve, final Double startAngle,
final Double[] maxHCurve) {
this.flightCurveTxtFld.setText("");
this.flightCurveTxtFld.append("Abschusswinkel:" + TAB + DF_FC.format(startAngle) + " °\n");
this.flightCurveTxtFld.append("Max. Höhe der Flugbahn:" + TAB + DF_FC.format(maxHCurve[0])
this.flightCurveTxtFld.append("Abschusswinkel:\n" + DF_FC.format(startAngle) + " °\n\n");
this.flightCurveTxtFld.append("Max. Höhe der Flugbahn:\n" + DF_FC.format(maxHCurve[0])
+ " m / " + DF_FC.format(maxHCurve[0] + Double.valueOf(this.arrowNockHeightTxtFld.getText().toString().trim()))
+ " m, [t = " + DF_FC.format(maxHCurve[1]) + " s]\n");
this.flightCurveTxtFld.append("Flugzeit:" + TAB + TAB
+ " m, [t = " + DF_FC.format(maxHCurve[1]) + " s]\n\n");
this.flightCurveTxtFld.append("Flugzeit:\n"
+ DF_FC.format(flightCurve[flightCurve.length - 1][TrajectoryCalculator.IDX_T])
+ " sec\n\n");
int width = this.flightCurveTxtFld.getMeasuredWidth();
SpannableString line = new SpannableString("t [sec]\tVx [m/s]\tVy [m/s]\tx [m]\ty [m]\n\n");
line.setSpan(new TabStopSpan.Standard(width / 5), 0, 36, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
line.setSpan(new TabStopSpan.Standard(width / 5 * 2), 0, 36, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
line.setSpan(new TabStopSpan.Standard(width / 5 * 3), 0, 36, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
line.setSpan(new TabStopSpan.Standard(width / 5 * 4), 0, 36, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
line.setSpan(new TabStopSpan.Standard(width / 5), 0, line.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
line.setSpan(new TabStopSpan.Standard(width / 5 * 2), 0, line.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
line.setSpan(new TabStopSpan.Standard(width / 5 * 3), 0, line.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
line.setSpan(new TabStopSpan.Standard(width / 5 * 4), 0, line.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
this.flightCurveTxtFld.append(line);
// this.flightCurveTxtFld.append("t [sec]" + TAB + TAB + "Vx [m/s]" + TAB + TAB + "Vy [m/s]" + TAB + TAB + "x [m]" + TAB + TAB + "y [m]\n\n");
//
// for (int i = 0; i < flightCurve.length; i++) {
// Double[] r1 = flightCurve[i];
// StringBuffer line = new StringBuffer();
// line.append(DF_FC.format(r1[TrajectoryCalculator.IDX_T]) + TAB + TAB
// + DF_FC.format(r1[TrajectoryCalculator.IDX_VX]) + TAB + TAB + TAB
// + DF_FC.format(r1[TrajectoryCalculator.IDX_VY]) + TAB + TAB + TAB + TAB
// + DF_FC.format(r1[TrajectoryCalculator.IDX_X]) + TAB + TAB
// + DF_FC.format(r1[TrajectoryCalculator.IDX_Y]) + "\n");
// this.flightCurveTxtFld.append(line.toString());
// }
calculateSettings();
if (this.calculationAlert != null) {
this.calculationAlert.dismiss();
for (int i = 0; i < flightCurve.length; i++) {
Double[] r1 = flightCurve[i];
line = new SpannableString(DF_FC.format(r1[TrajectoryCalculator.IDX_T]) + '\t'
+ DF_FC.format(r1[TrajectoryCalculator.IDX_VX]) + '\t'
+ DF_FC.format(r1[TrajectoryCalculator.IDX_VY]) + '\t'
+ DF_FC.format(r1[TrajectoryCalculator.IDX_X]) + '\t'
+ DF_FC.format(r1[TrajectoryCalculator.IDX_Y]) + "\n");
line.setSpan(new TabStopSpan.Standard(width / 5), 0, line.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
line.setSpan(new TabStopSpan.Standard(width / 5 * 2), 0, line.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
line.setSpan(new TabStopSpan.Standard(width / 5 * 3), 0, line.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
line.setSpan(new TabStopSpan.Standard(width / 5 * 4), 0, line.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
this.flightCurveTxtFld.append(line);
}
this.txtViewSight.doSingleTouch();
}
/**

+ 1
- 1
src/ch/spherIC/recurvebowsight/logic/CalculationTask.java Целия файл

@@ -69,7 +69,7 @@ public class CalculationTask extends AsyncTask<TrajectoryCalculator, Void, Traje
}
private Double[] calculateMaxHeight(final Double[][] flightCurve) {
public static Double[] calculateMaxHeight(final Double[][] flightCurve) {
Double[] maxHCurve = new Double[] { 0d, 0d };
Double maxH = 0.0;

Loading…
Отказ
Запис