0% found this document useful (0 votes)
7 views11 pages

Android Basic Pratical

The document provides a comprehensive overview of basic Android concepts, including XML, Activity lifecycle, various layouts, GUI components, lists, intents, broadcast receivers, storage options, and practical exercises. It details the creation of a simple calculator app with layout design and Java code for functionality. Additional examples include a shopping cart, snake game, and alarm application.

Uploaded by

anh16022k4
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views11 pages

Android Basic Pratical

The document provides a comprehensive overview of basic Android concepts, including XML, Activity lifecycle, various layouts, GUI components, lists, intents, broadcast receivers, storage options, and practical exercises. It details the creation of a simple calculator app with layout design and Java code for functionality. Additional examples include a shopping cart, snake game, and alarm application.

Uploaded by

anh16022k4
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 11

ANDROID CƠ BẢN

1. XML trong Android

2. Vòng đời Activity trong Android

3. Layout trong Android

3.1. Linear Layout

3.2. Relative Layout

3.3. Table Layout

3.4 Frame Layout

3.5 Constraint Layout

4. GUI trong Android

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.9. RadioButton & RadioGroup

4.10. RatingBar
4.11. ProgressBar

4.12. AutoCompleteTextView

4.13. TimePicker & DatePicker

4.14. CalendarView

4.15. VideoView

4.16. Toast

4.17. WebView

4.18. Chronometer (đồng hồ bấm giờ)

4.19. Menu

5. List trong Android

5.1. Adapter trong Android

5.2. ListView

5.3. Spinner

5.4. GridView

5.5. ExpandableListView

5.6. RecycleView

5.7. SearchView

5.8. Swipe menu

5.9. Sliding menu

6. Intent trong Android

6.1. Implicit Intent


6.2. Explicit Intent

6.3. Intent Filter

7. Broadcast Receiver & Notifications trong Android

7.1. Broadcast Receiver

7.2. Notifications

8. Lưu trữ trong Andoid

8.1. Internal Storage

8.2. External Storage

8.3. SharedPreperence

8.4. Sqlite

8.5. Content Provider

9. Một số bài thực hành tổng hợp

9.1 Ứng dụng máy tính đơn giản – Simple Caculator

Tạo Project mới, đặt tên project là My Simple Caculator.


9.1.1. Thiết kế giao diện
Mở file layout activity_main.xml thiết kế giao diện như sau:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.jackrutorial.calculatorexample.MainActivity">

<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.*;

public class MainActivity extends AppCompatActivity {

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);

btnNumber0 = (Button) findViewById(R.id.btnNumber0);


btnNumber1 = (Button) findViewById(R.id.btnNumber1);
btnNumber2 = (Button) findViewById(R.id.btnNumber2);
btnNumber3 = (Button) findViewById(R.id.btnNumber3);
btnNumber4 = (Button) findViewById(R.id.btnNumber4);
btnNumber5 = (Button) findViewById(R.id.btnNumber5);
btnNumber6 = (Button) findViewById(R.id.btnNumber6);
btnNumber7 = (Button) findViewById(R.id.btnNumber7);
btnNumber8 = (Button) findViewById(R.id.btnNumber8);
btnNumber9 = (Button) findViewById(R.id.btnNumber9);

txtResult = (TextView) findViewById(R.id.txtResult);

edtInput = (EditText) findViewById(R.id.edtInput);

btnCE = (Button) findViewById(R.id.btnCE);


btnC = (Button) findViewById(R.id.btnC);
btnDelete = (Button) findViewById(R.id.btnDelete);

btnAdd = (Button) findViewById(R.id.btnNumberAdd);


btnSub = (Button) findViewById(R.id.btnNumberSub);
btnMul = (Button) findViewById(R.id.btnNumberMul);
btnDiv = (Button) findViewById(R.id.btnNumberDiv);

btnDot = (Button) findViewById(R.id.btnDot);


btnResult = (Button) findViewById(R.id.btnResult);
btnCE.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
edtInput.setText(null);
}
});

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());
}

txtResult.setText(val1 + " + ");


edtInput.setText(null);
}
});

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());
}

txtResult.setText(val1 + " - ");


edtInput.setText(null);
}
});

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());
}

txtResult.setText(val1 + " * ");


edtInput.setText(null);
}
});

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());
}

txtResult.setText(val1 + " / ");


edtInput.setText(null);
}
});

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());
}
});

}
}

9.1.3. Thực hiện build project và chạy ứng dụng


9.2. Shopping Cart Simple

9.3. Snake game simple

9.4. Alarm simple

You might also like