Pages

Thứ Ba, 18 tháng 6, 2019

Explicit Intent

Explicit Intent Trong Android

Explicit Intents là những intent đã chỉ rõ thành phần sẽ nhận và xử lý. Thông thường những intent này sẽ không cần gán bổ sung thêm các thuộc tính khác như action, data. Explicit Intent thường được sử dụng để khởi chạy các activity, hoặc service trong cùng 1 ứng dụng. 
Đoạn code ví dụ dưới đây là xây dựng chương trình gồm 2 Activity. Khởi động ứng dụng, Activity1 được chạy đầu tiên. Khi người dung nhấn vào button cho phép khởi chạy Activity2.

  Intent intent = new Intent(getApplicationContext(), SecondActivity.class);  startActivity(intent);


Ví dụ: Trong ví dụ này chúng ta sẽ làm ứng dụng gồm có  1 Button. Khi người sử dụng click vào  "Ví dụ Explicit Intent" sẽ mở 1 Activity khác.Tiến hành tạo project, vào thư mục  res /layout -> activity_main.xml  thiết kế giao diện sau:


Bước 1: Tạo một project tên là ExplicittIntentsFile->New->Android Application Project điền các thông tin ->Next ->Finish

Bước 2: Mở res -> layout -> xml (hoặc) activity_main.xml và thêm code.

  <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:paddingBottom="@dimen/activity_vertical_margin"      android:paddingLeft="@dimen/activity_horizontal_margin"      android:paddingRight="@dimen/activity_horizontal_margin"      android:paddingTop="@dimen/activity_vertical_margin"      tools:context="hiepsiit.com.explicitintent.MainActivity" >          <Button          android:id="@+id/explicit_Intent"          android:layout_width="wrap_content"          android:layout_height="wrap_content"          android:text="Ví dụ Explicit Intent"                 android:layout_alignParentTop="true"          android:layout_centerHorizontal="true"          android:layout_marginTop="147dp" />    </RelativeLayout>  

Bước 3: Tạo thêm Activity Android đặt tên SecondActivity 
Thiết kế second_activity.xml :

  <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:paddingBottom="@dimen/activity_vertical_margin"      android:paddingLeft="@dimen/activity_horizontal_margin"      android:paddingRight="@dimen/activity_horizontal_margin"      android:paddingTop="@dimen/activity_vertical_margin"      tools:context="hiepsiit.com.explicitintent.SecondActivity" >       <TextView          android:layout_width="wrap_content"          android:layout_height="wrap_content"          android:textAppearance="?android:attr/textAppearanceLarge"          android:text="This is Second Activity"          android:id="@+id/textView"          android:background="#f00"          android:layout_centerVertical="true"          android:layout_centerHorizontal="true" />    </RelativeLayout>  

Code java SecondActivity.java:

  package hiepsiit.com.explicitintent;    import android.app.Activity;  import android.os.Bundle;  import android.view.Menu;  import android.view.MenuItem;    public class SecondActivity extends Activity {    	@Override  	protected void onCreate(Bundle savedInstanceState) {  		super.onCreate(savedInstanceState);  		setContentView(R.layout.activity_second);  	}    }  

Bước 3: Mở src -> package -> MainActivity.java

Trong bước này chúng ta khỏi tạo Button, đồng thời thiết lập sự kiện cho Button. Khi người sử dụng click vào Button "Ví dụ Explicit Intent" sẽ mở một Activity mới thông quá đối tượng Intent.

  package hiepsiit.com.explicitintent;    import android.app.Activity;  import android.content.Intent;  import android.os.Bundle;  import android.view.Menu;  import android.view.MenuItem;  import android.view.View;  import android.widget.Button;    public class MainActivity extends Activity {  	Button explicit_btn;  	@Override  	protected void onCreate(Bundle savedInstanceState) {  		super.onCreate(savedInstanceState);  		setContentView(R.layout.activity_main);  		explicit_btn = (Button)findViewById(R.id.explicit_Intent);  		explicit_btn.setOnClickListener(new View.OnClickListener() {  	            @Override  	            public void onClick(View v) {    	                Intent intent = new  Intent(getBaseContext(), SecondActivity.class);  	                startActivity(intent);      	            }  	      });  	}    }

Download ví dụ

Ứng dụng này được phát triển bởi adt bundleandroid 4.2 sử dụng minimum sdk 8 and target sdk 21.


Kết quả khi chạy ứng dụng


Click vào Button "Ví dụ Explicit Intent"



 



Cập nhật công nghệ từ Youtube tại link: https://www.youtube.com/channel/UCOxeYcvZPGf-mGLYSl_1LuA/videos
Để tham gia khóa học công nghệ truy cập link: http://thuvien.hocviendaotao.com
Mọi hỗ trợ về công nghệ email: dinhanhtuan68@gmail.com