Android Basic Pratical
Android Basic Pratical
4.1. TextView
4.2. EditText
4.3. Button
4.4. ImageView
4.5. ImageButton
4.6. ScrollView
4.7. CheckBox
4.8. Switch
4.10. RatingBar
4.11. ProgressBar
4.12. AutoCompleteTextView
4.14. CalendarView
4.15. VideoView
4.16. Toast
4.17. WebView
4.19. Menu
5.2. ListView
5.3. Spinner
5.4. GridView
5.5. ExpandableListView
5.6. RecycleView
5.7. SearchView
7.2. Notifications
8.3. SharedPreperence
8.4. Sqlite
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<TextView
android:id="@+id/txtResult"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_span="4"
android:layout_gravity="right"
/>
</TableRow>
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<EditText
android:id="@+id/edtInput"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_span="4"
android:layout_gravity="right"
android:inputType="number"
/>
</TableRow>
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<Button
android:id="@+id/btnCE"
android:text="CE"
/>
<Button
android:id="@+id/btnC"
android:text="C"
/>
<Button
android:id="@+id/btnDelete"
android:text="Delete"
android:layout_span="2"
/>
</TableRow>
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<Button
android:id="@+id/btnNumber7"
android:text="7"
/>
<Button
android:id="@+id/btnNumber8"
android:text="8"
/>
<Button
android:id="@+id/btnNumber9"
android:text="9"
/>
<Button
android:id="@+id/btnNumberAdd"
android:text="+"
/>
</TableRow>
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<Button
android:id="@+id/btnNumber4"
android:text="4"
/>
<Button
android:id="@+id/btnNumber5"
android:text="5"
/>
<Button
android:id="@+id/btnNumber6"
android:text="6"
/>
<Button
android:id="@+id/btnNumberSub"
android:text="-"
/>
</TableRow>
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<Button
android:id="@+id/btnNumber1"
android:text="1"
/>
<Button
android:id="@+id/btnNumber2"
android:text="2"
/>
<Button
android:id="@+id/btnNumber3"
android:text="3"
/>
<Button
android:id="@+id/btnNumberMul"
android:text="*"
/>
</TableRow>
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<Button
android:id="@+id/btnNumber0"
android:text="0"
/>
<Button
android:id="@+id/btnDot"
android:text="."
/>
<Button
android:id="@+id/btnResult"
android:text="="
/>
<Button
android:id="@+id/btnNumberDiv"
android:text="/"
/>
</TableRow>
</TableLayout>
</android.support.constraint.ConstraintLayout>
9.1.2. Xử lý code trong file MainActity.java như sau:
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.*;
Button btnNumber0;
Button btnNumber1;
Button btnNumber2;
Button btnNumber3;
Button btnNumber4;
Button btnNumber5;
Button btnNumber6;
Button btnNumber7;
Button btnNumber8;
Button btnNumber9;
TextView txtResult;
EditText edtInput;
Button btnCE;
Button btnC;
Button btnDelete;
Button btnAdd;
Button btnSub;
Button btnMul;
Button btnDiv;
Button btnDot;
Button btnResult;
double val1=Double.NaN;
double val2;
String ACTION;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnC.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
val1 = Double.NaN;
txtResult.setText(null);
edtInput.setText(null);
}
});
btnDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String number = edtInput.getText().toString();
if(number != null && number.length() > 0){
number = number.substring(0, number.length() - 1);
}
edtInput.setText(number);
edtInput.setSelection(edtInput.getText().length());
}
});
btnAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ACTION = "+";
if(!Double.isNaN(val1)){
val2 = Double.parseDouble(edtInput.getText().toString());
val1 = val1 + val2;
} else {
val1 = Double.parseDouble(edtInput.getText().toString());
}
btnSub.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ACTION = "-";
if(!Double.isNaN(val1)){
val2 = Double.parseDouble(edtInput.getText().toString());
val1 = val1 - val2;
} else {
val1 = Double.parseDouble(edtInput.getText().toString());
}
btnMul.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ACTION = "*";
if(!Double.isNaN(val1)){
val2 = Double.parseDouble(edtInput.getText().toString());
val1 = val1 * val2;
} else {
val1 = Double.parseDouble(edtInput.getText().toString());
}
btnDiv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ACTION = "/";
if(!Double.isNaN(val1)){
val2 = Double.parseDouble(edtInput.getText().toString());
val1 = val1/val2;
} else {
val1 = Double.parseDouble(edtInput.getText().toString());
}
btnResult.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(ACTION != null && ACTION.equals("+")){
double result = val1 + Double.parseDouble(edtInput.getText().toString());
txtResult.setText(null);
edtInput.setText(String.valueOf(result));
} else if(ACTION != null && ACTION.equals("-")){
double result = val1 - Double.parseDouble(edtInput.getText().toString());
txtResult.setText(null);
edtInput.setText(String.valueOf(result));
} else if(ACTION != null && ACTION.equals("*")){
double result = val1 * Double.parseDouble(edtInput.getText().toString());
txtResult.setText(null);
edtInput.setText(String.valueOf(result));
} else if(ACTION != null && ACTION.equals("/")){
double result = val1 / Double.parseDouble(edtInput.getText().toString());
txtResult.setText(null);
edtInput.setText(String.valueOf(result));
}
ACTION = null;
val1 = Double.NaN;
edtInput.setSelection(edtInput.getText().length());
}
});
btnNumber0.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
edtInput.setText(edtInput.getText() + "0");
edtInput.setSelection(edtInput.getText().length());
}
});
btnNumber1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
edtInput.setText(edtInput.getText() + "1");
edtInput.setSelection(edtInput.getText().length());
}
});
btnNumber2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
edtInput.setText(edtInput.getText() + "2");
edtInput.setSelection(edtInput.getText().length());
}
});
btnNumber3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
edtInput.setText(edtInput.getText() + "3");
edtInput.setSelection(edtInput.getText().length());
}
});
btnNumber4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
edtInput.setText(edtInput.getText() + "4");
edtInput.setSelection(edtInput.getText().length());
}
});
btnNumber5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
edtInput.setText(edtInput.getText() + "5");
edtInput.setSelection(edtInput.getText().length());
}
});
btnNumber6.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
edtInput.setText(edtInput.getText() + "6");
edtInput.setSelection(edtInput.getText().length());
}
});
btnNumber7.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
edtInput.setText(edtInput.getText() + "7");
edtInput.setSelection(edtInput.getText().length());
}
});
btnNumber8.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
edtInput.setText(edtInput.getText() + "8");
edtInput.setSelection(edtInput.getText().length());
}
});
btnNumber9.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
edtInput.setText(edtInput.getText() + "9");
edtInput.setSelection(edtInput.getText().length());
}
});
btnDot.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
edtInput.setText(edtInput.getText() + ".");
edtInput.setSelection(edtInput.getText().length());
}
});
}
}