1. Trang chủ
  2. » Công Nghệ Thông Tin

Lập trình Android: Tạo và chạy Library ppt

8 200 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Nội dung

Trung tâm Tin học – ĐH KHTN Test LibLibrary Đôi khi trong lập trình bạn sữ dụng lại code cũng như các module đã viết nhiều lần. Để thuận lợi cho công việc trên hầu hết các công cụ lập trình hiện nay đều hỗ trợ các phương thức như Class, Lib… Và sau đây mình sẽ demo các tạo và chạy 1 Lib trong Android. Mình sẽ tạo 2 Project khác nhau trong cùng 1 workspace và cho 1 cái gọi cái còn lại. 1/ Tạo 2 Project : Project name: TestLibrary Build Target: Android 2.3.3 Application name: TestLibrary Package name: com.dac.TestLibrary Create Activity: TestLibraryActivity Project name: TestLibraryApp Build Target: Android 2.3.3 Application name: TestLibraryApp Package name: com.dac.TestLibraryApp Create Activity: TestAppActivity Và các bạn viết code lần lượt trong Project trên như sau: + TestLibrary: Ta đổi tên file layout main.xml thành lib_main.xml và thêm code như sau: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/text1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Day la LIB" /> Lập trình Android – http://laptrinhdidong.vn Page 1 Trung tâm Tin học – ĐH KHTN </LinearLayout> Và ta tạo tiếp 1 folder Menu và tạo tiếp file lib_main_menu.xml trong folder đó có code như sau: <menu xmlns:android="http://schemas.android.com/apk/res/android"> <group android:id="@+id/menuGroup_Main"> <item android:id="@+id/menu_clear" android:title="clear" /> <item android:id="@+id/menu_testlib_1" android:title="Lib Test Menu1" /> <item android:id="@+id/menu_testlib_2" android:title="Lib Test Menu2" /> </group> </menu> Và trong file TestLibActivity.java : package com.dac.TestLibrary; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.widget.TextView; public class TestLibActivity extends Activity { public static final String tag="HelloWorldLibActivity"; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.lib_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.lib_main_menu, menu); Lập trình Android – http://laptrinhdidong.vn Page 2 Trung tâm Tin học – ĐH KHTN return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { appendMenuItemText(item); if (item.getItemId() == R.id.menu_clear) { this.emptyText(); return true; } return true; } private TextView getTextView() { return (TextView)this.findViewById(R.id.text1); } public void appendText(String abc) { TextView tv = getTextView(); tv.setText(tv.getText() + "\n" + abc); } private void appendMenuItemText(MenuItem menuItem) { String title = menuItem.getTitle().toString(); TextView tv = getTextView(); tv.setText(tv.getText() + "\n" + title); } private void emptyText() { TextView tv = getTextView(); tv.setText(""); } } + TestLibraryApp : Trong file main.xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView Lập trình Android – http://laptrinhdidong.vn Page 3 Trung tâm Tin học – ĐH KHTN android:id="@+id/text1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Day la LibApp" /> </LinearLayout> Ta cũng tạo 1 folder menu trong res/ và tạo file main_menu.xml trong folder đó: <menu xmlns:android="http://schemas.android.com/apk/res/android"> <group android:id="@+id/menuGroup_Main"> <item android:id="@+id/menu_clear" android:title="clear" /> <item android:id="@+id/menu_library_activity" android:title="invoke lib" /> </group> </menu> Và trong file TestAppActivity.java: package com.dac.TestLibraryApp; import com.androidbook.library.testlibraryapp.R; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.util.Log; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.widget.TextView; import com.androidbook.library.testlibrary.*; public class TestAppActivity extends Activity { public static final String tag="HelloWorld"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } @Override public boolean onCreateOptionsMenu(Menu menu) { Lập trình Android – http://laptrinhdidong.vn Page 4 Trung tâm Tin học – ĐH KHTN super.onCreateOptionsMenu(menu); MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.main_menu, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { appendMenuItemText(item); if (item.getItemId() == R.id.menu_clear) { this.emptyText(); return true; } if (item.getItemId() == R.id.menu_library_activity) { this.invokeLibActivity(item.getItemId()); return true; } return true; } private void invokeLibActivity(int mid) { Intent intent = new Intent(this,TestLibActivity.class); intent.putExtra("com.ai.menuid", mid); startActivity(intent); } private TextView getTextView() { return (TextView)this.findViewById(R.id.text1); } public void appendText(String abc) { TextView tv = getTextView(); tv.setText(tv.getText() + "\n" + abc); } private void appendMenuItemText(MenuItem menuItem) { String title = menuItem.getTitle().toString(); TextView tv = getTextView(); tv.setText(tv.getText() + "\n" + title); } private void emptyText() { TextView tv = getTextView(); tv.setText(""); } } Lập trình Android – http://laptrinhdidong.vn Page 5 Trung tâm Tin học – ĐH KHTN Trong phần trên ta thấp Project này có sữ dụng lại file TestLibActivity.java nên ta phải sữa lại trong AndroidManisfest.xml như sau: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.androidbook.library.testlibraryapp" android:versionCode="1" android:versionName="1.0.0"> <application android:icon="@drawable/icon" android:label="Test Library App"> <activity android:name=".TestAppActivity" android:label="Test Library App"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.dac.TestLibrary.TestLibActivity" android:label="Test Library Activity"/> </application> <uses-sdk android:minSdkVersion="3" /> </manifest> Và cuối cùng khi debug ứng dụng như sau (Chú ý là chạy Project TestLibraryApp trước ): Ban đầu: Lập trình Android – http://laptrinhdidong.vn Page 6 Trung tâm Tin học – ĐH KHTN Và khi ta bấm vào menu invoke lib, ta gọi và chạy được Project TestLibrary: Lập trình Android – http://laptrinhdidong.vn Page 7 Trung tâm Tin học – ĐH KHTN Mọi ý kiến đóng góp các bạn vui lòng gữi bài viết về forum : http://forum.laptrinhdidong.vn/ . Rất mong nhận được sự phản hồi của các bạn. Lập trình Android – http://laptrinhdidong.vn Page 8 . trước ): Ban đầu: Lập trình Android – http://laptrinhdidong.vn Page 6 Trung tâm Tin học – ĐH KHTN Và khi ta bấm vào menu invoke lib, ta gọi và chạy được Project TestLibrary: Lập trình Android –. Lib… Và sau đây mình sẽ demo các tạo và chạy 1 Lib trong Android. Mình sẽ tạo 2 Project khác nhau trong cùng 1 workspace và cho 1 cái gọi cái còn lại. 1/ Tạo 2 Project : Project name: TestLibrary Build. package="com.androidbook .library. testlibraryapp" android:versionCode="1" android:versionName="1.0.0"> <application android:icon="@drawable/icon" android:label="Test Library

Ngày đăng: 08/08/2014, 10:21

TỪ KHÓA LIÊN QUAN

w