Simple app using picture

This app demonstrates picture display and output, click on picture:

Stringsapp/res/values/strings.xml
Screen formatapp/res/layout/activity_main.xml
Code for appapp/java/com.(the project name)/MainActivity



app/res/drawable - (pictures) - nothing in here




app/res/mipmap/ic_launcher.png/ - (icon for launching app) - don't change this




app/res/values/strings.xml - strings

<resources> <string name="app_name">Text</string> <string name="convert">"Convert"</string> <string name="clear">"Clear"</string> <string name="init">" ? "</string> <string name="ozName">"oz"</string> <string name="equalSymbol">" = "</string> <string name="gmName">"gm"</string> </resources>


app/res/layout/activity_main.xml - screen format

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> <!-- ounces --> <EditText android:id="@+id/ozVal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="numberDecimal" android:onClick="doClear" android:hint="@string/init" /> <TextView android:id="@+id/ozDesc" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom" android:text="@string/ozName" android:layout_alignBaseline="@id/ozVal" android:layout_toRightOf="@id/ozVal" android:layout_toEndOf="@id/ozVal" /> <!-- equals --> <TextView android:id="@+id/eq" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom" android:text="@string/equalSymbol" android:layout_alignBaseline="@id/ozDesc" android:layout_toRightOf="@id/ozDesc" android:layout_toEndOf="@id/ozDesc" /> <!-- grams --> <TextView android:id="@+id/gmVal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/gmName" android:layout_alignBaseline="@id/eq" android:layout_toRightOf="@id/eq" android:layout_toEndOf="@id/eq" /> <!-- buttone - convert and clear --> <Button android:id="@+id/convertButton" android:text="@string/convert" android:onClick="doCalc" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/ozVal" /> <Button android:id="@+id/clearButton" android:text="@string/clear" android:onClick="doClear" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@id/convertButton" android:layout_toRightOf="@id/convertButton" android:layout_toEndOf="@id/convertButton" /> </RelativeLayout>


app/java/com.(the project name)/MainActivity - main code for app

package com.edkins.text; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.TextView; public class MainActivity extends AppCompatActivity { double ozAmt = 0.0; double gmAmt = 0.0; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } // handle input public void doCalc(View view) { EditText oz = (EditText) findViewById(R.id.ozVal); TextView gm = (TextView) findViewById(R.id.gmVal); ozAmt = convNum(oz.getText().toString()); gmAmt = Math.round(ozAmt * 28.35); String gmOut = format(gmAmt)+getString(R.string.gmName); gm.setText(gmOut); } // clear fields public void doClear(View view) { EditText oz = (EditText) findViewById(R.id.ozVal); TextView gm = (TextView) findViewById(R.id.gmVal); oz.setText(""); gm.setText(getString(R.string.gmName)); } // trap non-numerics in input string private double convNum(String inp) { try{return Double.parseDouble(inp);} catch(Exception e){return 0;} } // format fields for output private String format(double fld) { fld = Math.round(fld); return String.format("%4.0f", fld); } }


Index to my other websites

© Jo Edkins 2016