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
Trang 1Test 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"
>
<TextView
/>
Trang 2Và 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 :
{
/** Called when the activity is first created */
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.lib_main);
}
@Override
{
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.lib_main_menu, menu);
Trang 3return true;
}
@Override
{
appendMenuItemText(item);
if (item.getItemId() == R.id.menu_clear)
{
this.emptyText();
}
}
{
return (TextView)this.findViewById(R.id.text1);
}
{
TextView tv = getTextView();
tv.setText(tv.getText() + "\n" + abc);
}
{
String title = menuItem.getTitle().toString();
TextView tv = getTextView();
tv.setText(tv.getText() + "\n" + title);
}
{
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"
>
<TextView
Trang 4/>
</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:
{
@Override
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
{
Trang 5super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_menu, menu);
}
@Override
{
appendMenuItemText(item);
if (item.getItemId() == R.id.menu_clear)
{
this.emptyText();
}
if (item.getItemId() == R.id.menu_library_activity)
{
this.invokeLibActivity(item.getItemId());
}
}
{
Intent intent = new Intent(this,TestLibActivity.class); intent.putExtra("com.ai.menuid", mid);
startActivity(intent);
}
{
return (TextView)this.findViewById(R.id.text1);
}
{
TextView tv = getTextView();
tv.setText(tv.getText() + "\n" + abc);
}
{
String title = menuItem.getTitle().toString();
TextView tv = getTextView();
tv.setText(tv.getText() + "\n" + title);
}
{
TextView tv = getTextView();
tv.setText("");
}
}
Trang 6Trong 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:
Trang 7Và khi ta bấm vào menu invoke lib, ta gọi và chạy được Project TestLibrary:
Trang 8Mọ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.