瀏覽代碼

Berücksichtigung von Visieren mit Skalenversatzzeiger

master
gitsvn 11 年之前
父節點
當前提交
e4b43c8898

+ 1
- 1
AndroidManifest.xml 查看文件

<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="ch.spherIC.recurvebowsight" package="ch.spherIC.recurvebowsight"
android:versionCode="1" android:versionCode="1"
android:versionName="0.9.0" >
android:versionName="1.0.2" >
<uses-sdk <uses-sdk
android:minSdkVersion="10" android:minSdkVersion="10"

二進制
res/drawable-hdpi/userguide_params_2.png 查看文件


二進制
res/drawable-hdpi/userguide_sight.png 查看文件


+ 23
- 11
res/layout/rbs_main.xml 查看文件

android:inputType="numberSigned|numberDecimal" android:inputType="numberSigned|numberDecimal"
android:paddingBottom="9dp" android:paddingBottom="9dp"
android:paddingTop="9dp" android:paddingTop="9dp"
android:selectAllOnFocus="true"
android:textSize="18sp" android:textSize="18sp"
android:visibility="invisible" android:visibility="invisible"
android:selectAllOnFocus="true"
app:txtFont="@string/TitilliumWeb_Regular" /> app:txtFont="@string/TitilliumWeb_Regular" />
</LinearLayout> </LinearLayout>
</TableRow> </TableRow>
android:ems="10" android:ems="10"
android:gravity="center_vertical" android:gravity="center_vertical"
android:inputType="numberSigned|numberDecimal" android:inputType="numberSigned|numberDecimal"
android:nextFocusDown="@+id/scaHTxtFld"
android:paddingBottom="9dp" android:paddingBottom="9dp"
android:paddingTop="9dp" android:paddingTop="9dp"
android:textSize="18sp"
android:nextFocusDown="@+id/scaHTxtFld"
android:selectAllOnFocus="true" android:selectAllOnFocus="true"
android:textSize="18sp"
app:txtFont="@string/TitilliumWeb_Regular" /> app:txtFont="@string/TitilliumWeb_Regular" />
<ch.spherIC.recurvebowsight.components.FontEditText <ch.spherIC.recurvebowsight.components.FontEditText
android:ems="10" android:ems="10"
android:gravity="center_vertical" android:gravity="center_vertical"
android:inputType="numberSigned|numberDecimal" android:inputType="numberSigned|numberDecimal"
android:nextFocusDown="@+id/scVertScaleRngTxtFld"
android:paddingBottom="9dp" android:paddingBottom="9dp"
android:paddingTop="9dp" android:paddingTop="9dp"
android:textSize="18sp"
android:nextFocusDown="@+id/scVertScaleRngTxtFld"
android:selectAllOnFocus="true" android:selectAllOnFocus="true"
android:textSize="18sp"
app:txtFont="@string/TitilliumWeb_Regular" /> app:txtFont="@string/TitilliumWeb_Regular" />
</TableRow> </TableRow>
android:inputType="numberSigned|numberDecimal" android:inputType="numberSigned|numberDecimal"
android:paddingBottom="9dp" android:paddingBottom="9dp"
android:paddingTop="9dp" android:paddingTop="9dp"
android:selectAllOnFocus="true"
android:textSize="18sp" android:textSize="18sp"
app:txtFont="@string/TitilliumWeb_Regular" />
<ch.spherIC.recurvebowsight.components.FontEditText
android:id="@+id/scPointerOffsetCalcTxtFld"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_marginLeft="4dp"
android:layout_weight="1"
android:ems="10"
android:gravity="center_vertical"
android:inputType="numberSigned|numberDecimal"
android:paddingBottom="9dp"
android:paddingTop="9dp"
android:selectAllOnFocus="true" android:selectAllOnFocus="true"
android:textSize="18sp"
app:txtFont="@string/TitilliumWeb_Regular" /> app:txtFont="@string/TitilliumWeb_Regular" />
</TableRow> </TableRow>
android:ems="10" android:ems="10"
android:gravity="center_vertical" android:gravity="center_vertical"
android:inputType="numberSigned|numberDecimal" android:inputType="numberSigned|numberDecimal"
android:nextFocusDown="@+id/scVvisHTxtFld"
android:paddingBottom="9dp" android:paddingBottom="9dp"
android:paddingTop="9dp" android:paddingTop="9dp"
android:textSize="18sp"
android:nextFocusDown="@+id/scVvisHTxtFld"
android:selectAllOnFocus="true" android:selectAllOnFocus="true"
app:txtFont="@string/TitilliumWeb_Regular" >
<requestFocus />
</ch.spherIC.recurvebowsight.components.FontEditText>
android:textSize="18sp"
app:txtFont="@string/TitilliumWeb_Regular" />
</TableRow> </TableRow>
<TableRow <TableRow

+ 35
- 1
res/layout/rbs_sight_config.xml 查看文件

android:ems="10" android:ems="10"
android:gravity="center_vertical" android:gravity="center_vertical"
android:inputType="numberSigned|numberDecimal" android:inputType="numberSigned|numberDecimal"
android:nextFocusDown="@+id/scManufacturerTxtFld"
android:nextFocusDown="@id/scPointerOffsetCalcTxtFld"
android:paddingBottom="9dp" android:paddingBottom="9dp"
android:paddingTop="9dp" android:paddingTop="9dp"
android:selectAllOnFocus="true" android:selectAllOnFocus="true"
app:txtFont="@string/TitilliumWeb_Regular" /> app:txtFont="@string/TitilliumWeb_Regular" />
</TableRow> </TableRow>
<TableRow
android:id="@+id/tableSCCRow8"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="4dp" >
<ch.spherIC.recurvebowsight.components.FontTextView
android:id="@+id/scPointerOffsetLbl"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="right|center_vertical"
android:text="@string/scPointerOffsetLbl"
android:textColor="@color/black"
app:font="@string/TitilliumWeb_Regular" />
<ch.spherIC.recurvebowsight.components.FontEditText
android:id="@+id/scPointerOffsetTxtFld"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_marginLeft="4dp"
android:layout_weight="1"
android:ems="10"
android:gravity="center_vertical"
android:inputType="numberSigned|numberDecimal"
android:nextFocusDown="@+id/scManufacturerTxtFld"
android:paddingBottom="9dp"
android:paddingTop="9dp"
android:selectAllOnFocus="true"
android:textSize="18sp"
app:txtFont="@string/TitilliumWeb_Regular" />
</TableRow>
</TableLayout> </TableLayout>
<LinearLayout <LinearLayout

+ 2
- 1
res/values-de/strings.xml 查看文件

<string name="scSightLbl">Visier</string> <string name="scSightLbl">Visier</string>
<string name="scHeVSLbl">Horz. Einst. Visierschlitten [mm]</string> <string name="scHeVSLbl">Horz. Einst. Visierschlitten [mm]</string>
<string name="scaVLbl">aV [mm] / aH [mm]</string> <string name="scaVLbl">aV [mm] / aH [mm]</string>
<string name="scVertScaleRngLbl">Bereich vert. Skala [mm]</string>
<string name="scVertScaleRngLbl">Bereich vert. Skala / Skalaversatz [mm]</string>
<string name="scVertScaleRngMinLbl">Min. Bereich vert. Skala [mm]</string> <string name="scVertScaleRngMinLbl">Min. Bereich vert. Skala [mm]</string>
<string name="scVertScaleRngMaxLbl">Max. Bereich vert. Skala [mm]</string> <string name="scVertScaleRngMaxLbl">Max. Bereich vert. Skala [mm]</string>
<string name="scVertSkalaMiddleLbl">Mittelstellung M vert. Skala [mm]</string> <string name="scVertSkalaMiddleLbl">Mittelstellung M vert. Skala [mm]</string>
<string name="scPointerOffsetLbl">Versatz Skalenzeiger [mm]</string>
<string name="scEvSLbl">EvS [mm]</string> <string name="scEvSLbl">EvS [mm]</string>
<!-- --> <!-- -->
<string name="menuAbout">Über RBS&#8230;</string> <string name="menuAbout">Über RBS&#8230;</string>

+ 1
- 0
res/values/strings.xml 查看文件

<string name="scVertScaleRngMinLbl">Vert. Scale Range Min. [mm]</string> <string name="scVertScaleRngMinLbl">Vert. Scale Range Min. [mm]</string>
<string name="scVertScaleRngMaxLbl">Vert. Scale Range Max. [mm]</string> <string name="scVertScaleRngMaxLbl">Vert. Scale Range Max. [mm]</string>
<string name="scVertSkalaMiddleLbl">Vert. Scale Middle Setting M [mm]</string> <string name="scVertSkalaMiddleLbl">Vert. Scale Middle Setting M [mm]</string>
<string name="scPointerOffsetLbl">Scale Pointer Offset [mm]</string>
<string name="scEvSLbl">EvS [mm]</string> <string name="scEvSLbl">EvS [mm]</string>
<!-- --> <!-- -->
<string name="menuAbout">About RBS&#8230;</string> <string name="menuAbout">About RBS&#8230;</string>

+ 2
- 2
res/values/strings_notrans.xml 查看文件

</string-array> </string-array>
<string name="caption_UserguideParams">&lt;b>1. %1$s\n2. %2$s\n3. %3$s\n4. %4$s\n5. %5$s\n6. %6$s\n7. %7$s\n\n%8$s&lt;/b>\n%9$s\n\n&lt;b>%10$s&lt;/b>\n%11$s</string> <string name="caption_UserguideParams">&lt;b>1. %1$s\n2. %2$s\n3. %3$s\n4. %4$s\n5. %5$s\n6. %6$s\n7. %7$s\n\n%8$s&lt;/b>\n%9$s\n\n&lt;b>%10$s&lt;/b>\n%11$s</string>
<string name="caption_UserguideParams2">&lt;b>1. %1$s&lt;/b>\n\n&lt;b>2. %2$s&lt;/b>\n%3$s\n\n&lt;b>3. %4$s&lt;/b>\n%5$s\n\n&lt;b>4. %6$s&lt;/b>\n\n&lt;b>5. %7$s&lt;/b>\n\n&lt;b>6. %8$s&lt;/b>\n\n&lt;b>7. %9$s&lt;/b>\n\n&lt;b>8. %10$s&lt;/b>\n\n&lt;b>9. %11$s&lt;/b>\n%12$s</string>
<string name="caption_UserguideParams2">&lt;b>1. %1$s&lt;/b>\n\n&lt;b>2. %2$s&lt;/b>\n%3$s\n\n&lt;b>3. %4$s&lt;/b>\n%5$s\n\n&lt;b>4. %6$s&lt;/b>\n\n&lt;b>5. %7$s&lt;/b>\n\n&lt;b>6. %8$s&lt;/b>\n\n&lt;b>7. %9$s&lt;/b>\n\n&lt;b>8. %10$s&lt;/b>\n\n&lt;b>9. %11$s&lt;/b>\n%12$s\n\n&lt;b>10. %13$s&lt;/b></string>
<string name="caption_UserguideRiserParams">&lt;b>1. %1$s&lt;/b>\n\n&lt;b>2. %2$s&lt;/b>\n%3$s\n\n&lt;b>4. %4$s&lt;/b>\n\n&lt;b>5. %5$s&lt;/b>\n\n%6$s</string> <string name="caption_UserguideRiserParams">&lt;b>1. %1$s&lt;/b>\n\n&lt;b>2. %2$s&lt;/b>\n%3$s\n\n&lt;b>4. %4$s&lt;/b>\n\n&lt;b>5. %5$s&lt;/b>\n\n%6$s</string>
<string name="caption_UserguideSightParams">&lt;b>1. %1$s&lt;/b>\n\n&lt;b>2. %2$s&lt;/b>\n%3$s\n\n&lt;b>3. %4$s&lt;/b>\n%5$s\n\n&lt;b>4. %6$s&lt;/b>\n\n&lt;b>5. %7$s&lt;/b>\n\n&lt;b>6. %8$s&lt;/b>\n\n&lt;b>7. %9$s&lt;/b>\n\n%10$s</string>
<string name="caption_UserguideSightParams">&lt;b>1. %1$s&lt;/b>\n\n&lt;b>2. %2$s&lt;/b>\n%3$s\n\n&lt;b>3. %4$s&lt;/b>\n%5$s\n\n&lt;b>4. %6$s&lt;/b>\n\n&lt;b>5. %7$s&lt;/b>\n\n&lt;b>6. %8$s&lt;/b>\n\n&lt;b>7. %9$s&lt;/b>\n\n&lt;b>8. %10$s&lt;/b>%11$s</string>
<string name="caption_UserguideArcherySetupParams">%1$s\n\n%2$s\n\n%3$s\n\n%4$s\n\n%5$s\n\n%6$s\n\n%7$s\n\n%8$s</string> <string name="caption_UserguideArcherySetupParams">%1$s\n\n%2$s\n\n%3$s\n\n%4$s\n\n%5$s\n\n%6$s\n\n%7$s\n\n%8$s</string>
</resources> </resources>

+ 4
- 3
src/ch/spherIC/recurvebowsight/DialogFactory.java 查看文件

parent.getResources().getString(R.string.scVertSkalaMiddleLbl), parent.getResources().getString(R.string.scVertSkalaMiddleLbl),
parent.getResources().getString(R.string.scEvSLbl), parent.getResources().getString(R.string.rcVvisVLbl), // parent.getResources().getString(R.string.scEvSLbl), parent.getResources().getString(R.string.rcVvisVLbl), //
parent.getResources().getString(R.string.rcVvisHLbl), // parent.getResources().getString(R.string.rcVvisHLbl), //
parent.getResources().getString(R.string.ug_UserguideRiserParams_Add1)).replaceAll("\n", "<br>");
parent.getResources().getString(R.string.ug_UserguideRiserParams_Add1),
parent.getResources().getString(R.string.scPointerOffsetLbl)).replaceAll("\n", "<br>");
text.setText(Html.fromHtml(html)); text.setText(Html.fromHtml(html));
((Button) dialog.findViewById(R.id.btn_ugClose)).setOnClickListener(new OnClickListener() { ((Button) dialog.findViewById(R.id.btn_ugClose)).setOnClickListener(new OnClickListener() {
parent.getResources().getString(R.string.scVertScaleRngMinLbl), parent.getResources().getString(R.string.scVertScaleRngMinLbl),
parent.getResources().getString(R.string.scVertScaleRngMaxLbl), parent.getResources().getString(R.string.scVertScaleRngMaxLbl),
parent.getResources().getString(R.string.scVertSkalaMiddleLbl), parent.getResources().getString(R.string.scVertSkalaMiddleLbl),
parent.getResources().getString(R.string.scEvSLbl), createButtonsGuideString(parent, true)).replaceAll("\n",
"<br>");
parent.getResources().getString(R.string.scPointerOffsetLbl), parent.getResources().getString(R.string.scEvSLbl),
createButtonsGuideString(parent, true)).replaceAll("\n", "<br>");
text.setText(Html.fromHtml(html)); text.setText(Html.fromHtml(html));
((Button) dialog.findViewById(R.id.btn_ugClose)).setOnClickListener(new OnClickListener() { ((Button) dialog.findViewById(R.id.btn_ugClose)).setOnClickListener(new OnClickListener() {

+ 12
- 2
src/ch/spherIC/recurvebowsight/RBSMainActivity.java 查看文件

private TextView scaVTxtFld; private TextView scaVTxtFld;
private TextView scaHTxtFld; private TextView scaHTxtFld;
private TextView scVertScaleRngTxtFld; private TextView scVertScaleRngTxtFld;
private TextView scPointerOffsetTxtFld;
private TextView scVertScaleMiddleTxtFld; private TextView scVertScaleMiddleTxtFld;
private FontTextView scEvSValue; private FontTextView scEvSValue;
private Button calcSettingBtn; private Button calcSettingBtn;
private void loadSightSpinner() { private void loadSightSpinner() {
ISight selectedSight = this.scSightSpinner.getSelectedSight(); ISight selectedSight = this.scSightSpinner.getSelectedSight();
List<ISight> sights = SightDao.getInstance().loadAll(); List<ISight> sights = SightDao.getInstance().loadAll();
sights.add(0, new Sight(-999, getResources().getString(R.string.caption_NoSelection), "", null, null, "", null, null));
sights.add(0, new Sight(-999, getResources().getString(R.string.caption_NoSelection), "", null, null, "", null, null, null));
this.scSightSpinner.setAdapter(new FontArrayAdapter<ISight>(this, R.layout.rbs_spinner, sights, this.scSightSpinner)); this.scSightSpinner.setAdapter(new FontArrayAdapter<ISight>(this, R.layout.rbs_spinner, sights, this.scSightSpinner));
if (selectedSight != null) { if (selectedSight != null) {
this.scSightSpinner.setSelectedSight(selectedSight); this.scSightSpinner.setSelectedSight(selectedSight);
this.scaVTxtFld = (TextView) findViewById(R.id.scaVTxtFld); this.scaVTxtFld = (TextView) findViewById(R.id.scaVTxtFld);
this.scaHTxtFld = (TextView) findViewById(R.id.scaHTxtFld); this.scaHTxtFld = (TextView) findViewById(R.id.scaHTxtFld);
this.scVertScaleRngTxtFld = (TextView) findViewById(R.id.scVertScaleRngTxtFld); this.scVertScaleRngTxtFld = (TextView) findViewById(R.id.scVertScaleRngTxtFld);
this.scPointerOffsetTxtFld = (TextView) findViewById(R.id.scPointerOffsetCalcTxtFld);
this.scVertScaleMiddleTxtFld = (TextView) findViewById(R.id.scVertSkalaMiddleTxtFld); this.scVertScaleMiddleTxtFld = (TextView) findViewById(R.id.scVertSkalaMiddleTxtFld);
this.scEvSValue = (FontTextView) findViewById(R.id.scEvSValue); this.scEvSValue = (FontTextView) findViewById(R.id.scEvSValue);
RBSMainActivity.this.scaHTxtFld.setText(DF.format(sight.getAH())); RBSMainActivity.this.scaHTxtFld.setText(DF.format(sight.getAH()));
RBSMainActivity.this.scVertScaleRngTxtFld.setText(DF.format(sight.getVertSkalaRangeMin()) + "-" RBSMainActivity.this.scVertScaleRngTxtFld.setText(DF.format(sight.getVertSkalaRangeMin()) + "-"
+ DF.format(sight.getVertSkalaRangeMax())); + DF.format(sight.getVertSkalaRangeMax()));
RBSMainActivity.this.scPointerOffsetTxtFld.setText(DF.format(sight.getPointerOffset()));
} else { } else {
RBSMainActivity.this.scHeVSSpinner.setVisibility(View.INVISIBLE); RBSMainActivity.this.scHeVSSpinner.setVisibility(View.INVISIBLE);
RBSMainActivity.this.scHeVSSpinner.setLayoutParams(new LinearLayout.LayoutParams(RBSMainActivity.this.scHeVSSpinner RBSMainActivity.this.scHeVSSpinner.setLayoutParams(new LinearLayout.LayoutParams(RBSMainActivity.this.scHeVSSpinner
RBSMainActivity.this.scaVTxtFld.setText(""); RBSMainActivity.this.scaVTxtFld.setText("");
RBSMainActivity.this.scaHTxtFld.setText(""); RBSMainActivity.this.scaHTxtFld.setText("");
RBSMainActivity.this.scVertScaleRngTxtFld.setText(""); RBSMainActivity.this.scVertScaleRngTxtFld.setText("");
RBSMainActivity.this.scPointerOffsetTxtFld.setText("");
} }
RBSMainActivity.this.scaVTxtFld.setEnabled(sight.getId() == -999); RBSMainActivity.this.scaVTxtFld.setEnabled(sight.getId() == -999);
RBSMainActivity.this.scaHTxtFld.setEnabled(sight.getId() == -999); RBSMainActivity.this.scaHTxtFld.setEnabled(sight.getId() == -999);
RBSMainActivity.this.scVertScaleRngTxtFld.setEnabled(sight.getId() == -999); RBSMainActivity.this.scVertScaleRngTxtFld.setEnabled(sight.getId() == -999);
RBSMainActivity.this.scPointerOffsetTxtFld.setEnabled(sight.getId() == -999);
} }
@Override @Override
}); });
return true; return true;
case R.id.itemAbout: case R.id.itemAbout:
&& !this.scaHTxtFld.getText().toString().isEmpty() && !this.scaHTxtFld.getText().toString().isEmpty()
&& !this.scaVTxtFld.getText().toString().isEmpty() && !this.scaVTxtFld.getText().toString().isEmpty()
&& !this.scVertScaleRngTxtFld.getText().toString().isEmpty() && !this.scVertScaleRngTxtFld.getText().toString().isEmpty()
&& !this.scPointerOffsetTxtFld.getText().toString().isEmpty()
&& ((this.scHeVSSpinner.getVisibility() == View.VISIBLE && this.scHeVSSpinner.getSelectedItem() != null) && ((this.scHeVSSpinner.getVisibility() == View.VISIBLE && this.scHeVSSpinner.getSelectedItem() != null)
|| (this.scHeVSTxtFld.getVisibility() == View.VISIBLE && !this.scHeVSTxtFld.getText().toString().isEmpty())) || (this.scHeVSTxtFld.getVisibility() == View.VISIBLE && !this.scHeVSTxtFld.getText().toString().isEmpty()))
&& !this.scVertScaleMiddleTxtFld.getText().toString().isEmpty(); && !this.scVertScaleMiddleTxtFld.getText().toString().isEmpty();
.indexOf('-') + 1, .indexOf('-') + 1,
this.scVertScaleRngTxtFld.getText().toString() this.scVertScaleRngTxtFld.getText().toString()
.length())) : 0d; .length())) : 0d;
Double pointerOffset = Double.valueOf(this.scPointerOffsetTxtFld.getText().toString());
Double nockRaising = Double.valueOf(this.nockRaisingTxtFld.getText().toString()) Double nockRaising = Double.valueOf(this.nockRaisingTxtFld.getText().toString())
- Double.valueOf(this.arrowDiameterTxtFld.getText().toString()); - Double.valueOf(this.arrowDiameterTxtFld.getText().toString());
Double braceHeight = Double.valueOf(this.braceHeightTxtFld.getText().toString()); Double braceHeight = Double.valueOf(this.braceHeightTxtFld.getText().toString());
Double d = Math.sqrt(Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2)) * n; Double d = Math.sqrt(Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2)) * n;
// Einstellung auf vert. Skala // Einstellung auf vert. Skala
Double sV = Double.valueOf(this.scVertScaleMiddleTxtFld.getText().toString()) + d;
Double sV = Double.valueOf(this.scVertScaleMiddleTxtFld.getText().toString()) + d - pointerOffset;
this.scEvSValue.setText(DF_EVS.format(sV)); this.scEvSValue.setText(DF_EVS.format(sV));

+ 8
- 2
src/ch/spherIC/recurvebowsight/configuration/SightConfigurationActivity.java 查看文件

private TextView sccaHTxtFld; private TextView sccaHTxtFld;
private TextView scVertScaleRngMinTxtFld; private TextView scVertScaleRngMinTxtFld;
private TextView scVertScaleRngMaxTxtFld; private TextView scVertScaleRngMaxTxtFld;
private TextView scPointerOffsetTxtFld;
private Button newBtn; private Button newBtn;
private Button saveBtn; private Button saveBtn;
this.sccaHTxtFld = (TextView) findViewById(R.id.sccaHTxtFld); this.sccaHTxtFld = (TextView) findViewById(R.id.sccaHTxtFld);
this.scVertScaleRngMinTxtFld = (TextView) findViewById(R.id.scVertScaleRngMinTxtFld); this.scVertScaleRngMinTxtFld = (TextView) findViewById(R.id.scVertScaleRngMinTxtFld);
this.scVertScaleRngMaxTxtFld = (TextView) findViewById(R.id.scVertScaleRngMaxTxtFld); this.scVertScaleRngMaxTxtFld = (TextView) findViewById(R.id.scVertScaleRngMaxTxtFld);
this.scPointerOffsetTxtFld = (TextView) findViewById(R.id.scPointerOffsetTxtFld);
this.newBtn = (Button) findViewById(R.id.scBtnNew); this.newBtn = (Button) findViewById(R.id.scBtnNew);
this.saveBtn = (Button) findViewById(R.id.scBtnSave); this.saveBtn = (Button) findViewById(R.id.scBtnSave);
SightConfigurationActivity.this.sccaHTxtFld.setText(DF.format(sight.getAH())); SightConfigurationActivity.this.sccaHTxtFld.setText(DF.format(sight.getAH()));
SightConfigurationActivity.this.scVertScaleRngMinTxtFld.setText(DF.format(sight.getVertSkalaRangeMin())); SightConfigurationActivity.this.scVertScaleRngMinTxtFld.setText(DF.format(sight.getVertSkalaRangeMin()));
SightConfigurationActivity.this.scVertScaleRngMaxTxtFld.setText(DF.format(sight.getVertSkalaRangeMax())); SightConfigurationActivity.this.scVertScaleRngMaxTxtFld.setText(DF.format(sight.getVertSkalaRangeMax()));
SightConfigurationActivity.this.scPointerOffsetTxtFld.setText(DF.format(sight.getPointerOffset()));
SightConfigurationActivity.this.selectedSight = sight; SightConfigurationActivity.this.selectedSight = sight;
} }
if (!this.scManufacturerTxtFld.getText().toString().isEmpty() && !this.scModelTxtFld.getText().toString().isEmpty() if (!this.scManufacturerTxtFld.getText().toString().isEmpty() && !this.scModelTxtFld.getText().toString().isEmpty()
&& !this.sccHeVSTxtFld.getText().toString().isEmpty() && !this.sccaVTxtFld.getText().toString().isEmpty() && !this.sccHeVSTxtFld.getText().toString().isEmpty() && !this.sccaVTxtFld.getText().toString().isEmpty()
&& !this.sccaHTxtFld.getText().toString().isEmpty() && !this.scVertScaleRngMinTxtFld.getText().toString().isEmpty() && !this.sccaHTxtFld.getText().toString().isEmpty() && !this.scVertScaleRngMinTxtFld.getText().toString().isEmpty()
&& !this.scVertScaleRngMaxTxtFld.getText().toString().isEmpty()) {
&& !this.scVertScaleRngMaxTxtFld.getText().toString().isEmpty()
&& !this.scPointerOffsetTxtFld.getText().toString().isEmpty()) {
this.selectedSight.setManufacturer(this.scManufacturerTxtFld.getText().toString()); this.selectedSight.setManufacturer(this.scManufacturerTxtFld.getText().toString());
this.selectedSight.setModel(this.scModelTxtFld.getText().toString()); this.selectedSight.setModel(this.scModelTxtFld.getText().toString());
this.selectedSight.setAH(Double.valueOf(this.sccaHTxtFld.getText().toString())); this.selectedSight.setAH(Double.valueOf(this.sccaHTxtFld.getText().toString()));
this.selectedSight.setVertSkalaRangeMin(Double.valueOf(this.scVertScaleRngMinTxtFld.getText().toString())); this.selectedSight.setVertSkalaRangeMin(Double.valueOf(this.scVertScaleRngMinTxtFld.getText().toString()));
this.selectedSight.setVertSkalaRangeMax(Double.valueOf(this.scVertScaleRngMaxTxtFld.getText().toString())); this.selectedSight.setVertSkalaRangeMax(Double.valueOf(this.scVertScaleRngMaxTxtFld.getText().toString()));
this.selectedSight.setPointerOffset(Double.valueOf(this.scPointerOffsetTxtFld.getText().toString()));
if (this.selectedSight.getId() > 0) { if (this.selectedSight.getId() > 0) {
SightDao.getInstance().update(this.selectedSight); SightDao.getInstance().update(this.selectedSight);
*/ */
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
protected void onNewSight() { protected void onNewSight() {
ISight newSight = new Sight(0, "*", "*", 0d, 0d, "", 0d, 0d);
ISight newSight = new Sight(0, "*", "*", 0d, 0d, "", 0d, 0d, 0d);
this.selectedSight = newSight; this.selectedSight = newSight;
((FontArrayAdapter<ISight>) this.scSightSpinner.getAdapter()).add(newSight); ((FontArrayAdapter<ISight>) this.scSightSpinner.getAdapter()).add(newSight);
this.scSightSpinner.setSelectedSight(newSight); this.scSightSpinner.setSelectedSight(newSight);
this.sccaHTxtFld.setText(""); this.sccaHTxtFld.setText("");
this.scVertScaleRngMinTxtFld.setText(""); this.scVertScaleRngMinTxtFld.setText("");
this.scVertScaleRngMaxTxtFld.setText(""); this.scVertScaleRngMaxTxtFld.setText("");
this.scPointerOffsetTxtFld.setText("");
} }
@Override @Override

+ 6
- 3
src/ch/spherIC/recurvebowsight/database/RBSDatabaseHelper.java 查看文件

public final class RBSDatabaseHelper extends SQLiteOpenHelper { public final class RBSDatabaseHelper extends SQLiteOpenHelper {
public static final String DB_NAME = "RecurveBowSight.db"; public static final String DB_NAME = "RecurveBowSight.db";
public static final int DB_VERSION = 1;
public static final int DB_VERSION = 2;
private static RBSDatabaseHelper instance; private static RBSDatabaseHelper instance;
private static Context context; private static Context context;
@Override @Override
public void onUpgrade(final SQLiteDatabase db, final int oldVersion, final int newVersion) { public void onUpgrade(final SQLiteDatabase db, final int oldVersion, final int newVersion) {
/** TODO Upgrade tasks */
if (oldVersion == 1 && newVersion == 2) {
String sql = "Alter table " + TblRBSSight.NAME + " add column " + TblRBSSight.COL_POINTER_OFFSET + " Real NOT NULL DEFAULT 0";
db.execSQL(sql);
}
} }
List<ISight> sights = new ArrayList<ISight>(); List<ISight> sights = new ArrayList<ISight>();
sights.add(new Sight(0, "Avalon", "Tec One", 17.5, -12d, "260,250,240,230,220,210,200,190,180,170,160", 5d, 105d));
sights.add(new Sight(0, "Avalon", "Tec One", 17.5, -12d, "260,250,240,230,220,210,200,190,180,170,160", 5d, 105d, 0d));
return sights; return sights;
} }

+ 3
- 1
src/ch/spherIC/recurvebowsight/database/dao/SightDao.java 查看文件

protected ISight cursorToEntity(final Cursor cursor) { protected ISight cursorToEntity(final Cursor cursor) {
ISight sight = new Sight(cursor.getLong(0), cursor.getString(1), cursor.getString(2), cursor.getDouble(3), // ISight sight = new Sight(cursor.getLong(0), cursor.getString(1), cursor.getString(2), cursor.getDouble(3), //
cursor.getDouble(4), cursor.getString(5), cursor.getDouble(6), cursor.getDouble(7));
cursor.getDouble(4), cursor.getString(5), cursor.getDouble(6), cursor.getDouble(7), //
cursor.getDouble(8));
return sight; return sight;
} }
values.put(TblRBSSight.COL_HEVIS, entity.getHeVis() != null ? entity.getHeVis() : ""); values.put(TblRBSSight.COL_HEVIS, entity.getHeVis() != null ? entity.getHeVis() : "");
values.put(TblRBSSight.COL_VERTSKALARANGE_MIN, entity.getVertSkalaRangeMin() != null ? entity.getVertSkalaRangeMin() : 0d); values.put(TblRBSSight.COL_VERTSKALARANGE_MIN, entity.getVertSkalaRangeMin() != null ? entity.getVertSkalaRangeMin() : 0d);
values.put(TblRBSSight.COL_VERTSKALARANGE_MAX, entity.getVertSkalaRangeMax() != null ? entity.getVertSkalaRangeMax() : 0d); values.put(TblRBSSight.COL_VERTSKALARANGE_MAX, entity.getVertSkalaRangeMax() != null ? entity.getVertSkalaRangeMax() : 0d);
values.put(TblRBSSight.COL_POINTER_OFFSET, entity.getPointerOffset() != null ? entity.getPointerOffset() : 0d);
return values; return values;
} }

+ 3
- 2
src/ch/spherIC/recurvebowsight/database/scheme/masterdata/TblRBSSight.java 查看文件

public static final String COL_HEVIS = "SIGHT_HEVIS"; public static final String COL_HEVIS = "SIGHT_HEVIS";
public static final String COL_VERTSKALARANGE_MIN = "SIGHT_VERTSKALARANGE_MIN"; public static final String COL_VERTSKALARANGE_MIN = "SIGHT_VERTSKALARANGE_MIN";
public static final String COL_VERTSKALARANGE_MAX = "SIGHT_VERTSKALARANGE_MAX"; public static final String COL_VERTSKALARANGE_MAX = "SIGHT_VERTSKALARANGE_MAX";
public static final String COL_POINTER_OFFSET = "SIGHT_POINTER_OFFSET";
private TblRBSSight() {
}
private TblRBSSight() { }
public static String getCreateStatement() { public static String getCreateStatement() {
return "create table " + NAME + "(" return "create table " + NAME + "("
+ COL_HEVIS + " Text NOT NULL, " + COL_HEVIS + " Text NOT NULL, "
+ COL_VERTSKALARANGE_MIN + " Real NOT NULL, " + COL_VERTSKALARANGE_MIN + " Real NOT NULL, "
+ COL_VERTSKALARANGE_MAX + " Real NOT NULL, " + COL_VERTSKALARANGE_MAX + " Real NOT NULL, "
+ COL_POINTER_OFFSET + " Real NOT NULL DEFAULT 0, "
+ "constraint UNIQUE_SIGHT_MF_MODEL UNIQUE (" + COL_MANUFACTURER + "," + COL_MODEL + ")" + "constraint UNIQUE_SIGHT_MF_MODEL UNIQUE (" + COL_MANUFACTURER + "," + COL_MODEL + ")"
+ ");"; + ");";
} }

+ 4
- 0
src/ch/spherIC/recurvebowsight/model/ISight.java 查看文件

void setVertSkalaRangeMax(Double vertSkalaRangMax); void setVertSkalaRangeMax(Double vertSkalaRangMax);
List<Double> getHeVisList(); List<Double> getHeVisList();
Double getPointerOffset();
void setPointerOffset(Double pointerOffset);
} }

+ 13
- 1
src/ch/spherIC/recurvebowsight/model/Sight.java 查看文件

private String heVis; private String heVis;
private Double vertSkalaRangMin; private Double vertSkalaRangMin;
private Double vertSkalaRangMax; private Double vertSkalaRangMax;
private Double pointerOffset;
/** /**
* Konstruktor. * Konstruktor.
*/ */
public Sight(final long id, final String manufacturer, final String model, final Double aV, public Sight(final long id, final String manufacturer, final String model, final Double aV,
final Double aH, final String heVis, final Double vertSkalaRangMin, final Double aH, final String heVis, final Double vertSkalaRangMin,
final Double vertSkalaRangMax) {
final Double vertSkalaRangMax, final Double pointerOffset) {
super(); super();
this.id = id; this.id = id;
this.manufacturer = manufacturer; this.manufacturer = manufacturer;
this.heVis = heVis; this.heVis = heVis;
this.vertSkalaRangMin = vertSkalaRangMin; this.vertSkalaRangMin = vertSkalaRangMin;
this.vertSkalaRangMax = vertSkalaRangMax; this.vertSkalaRangMax = vertSkalaRangMax;
this.pointerOffset = pointerOffset;
} }
/** /**
this.vertSkalaRangMax = vertSkalaRangMax; this.vertSkalaRangMax = vertSkalaRangMax;
} }
@Override
public Double getPointerOffset() {
return this.pointerOffset;
}
@Override
public void setPointerOffset(final Double pointerOffset) {
this.pointerOffset = pointerOffset;
}
@Override @Override
public List<Double> getHeVisList() { public List<Double> getHeVisList() {

Loading…
取消
儲存