CHƯƠNG 2 : PHÂN TÍCH VÀ THIẾT KẾ ỨNG DỤNG
2.2. Phân tích thiết kế
2.2.4 Mô hình lớp
Mô hình lớp thể hiện mối liên hệ giữa các lớp với nhau, liên kết với nhau tạo giúp chương trình hoạt động tốt, tối ưu.
35
Hình 2.9 Mô hình lớp
Lớp MainActivity
Là lớp chính của chương trình, nó xử lý đa số yêu cầu của người sử dụng. Lớp này liên kết, có quan hệ đến hầu hết các lớp khác trong mô hình.
Lớp Grammar Activity
Lớp này dùng để hiển thị list các tài liệu để cho người dùng lựa chọn
Bảng 2.4 Code màn hình tài liệu
public class mhlisttl extends Activity {
ListView lvds; LvAdapter adapter;
ArrayList<Tailieu> arr_tl = new ArrayList<Tailieu>(); @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_mhlisttl);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_F
36
N);
iniArr();
lvds = (ListView)findViewById(R.id.listviewDS); adapter = new LvAdapter(mhlisttl.this,arr_tl); lvds.setAdapter(adapter);
lvds.setOnItemClickListener(new
AdapterView.OnItemClickListener() { @Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
Intent nd = new Intent(mhlisttl.this,ndlistview.class); nd.putExtra("sobai",arr_tl.get(position).getSobai()); nd.putExtra("tenbai",arr_tl.get(position).getTenbai()); startActivity(nd);
} }); }
public void iniArr(){
arr_tl.add(new Tailieu("Unit1","CONFIGURATION"));
arr_tl.add(new Tailieu("Unit2","HISTORY OF COMPUTER"));
arr_tl.add(new Tailieu("Unit3","CHARATERISTICS OF
COMPUTER"));
arr_tl.add(new Tailieu("Unit4","INSIDE THE COMPUTER"));
arr_tl.add(new Tailieu("Unit5","MAIN MEMORY – RAM AND
ROM"));
arr_tl.add(new Tailieu("Unit6","CENTRAL PROCESS UNIT"));
arr_tl.add(new Tailieu("Unit7","TYPES OF MEMORY"));
arr_tl.add(new Tailieu("Unit8","INPUT DEVICES"));
arr_tl.add(new Tailieu("Unit9","THE INTERNET"));
arr_tl.add(new Tailieu("Unit10","DISK AND DISK DRIVE"));
arr_tl.add(new Tailieu("Unit11","STORAGE DEVICES"));
arr_tl.add(new Tailieu("Unit12","PROGRAMS AND
PROGRAMMING LANGUAGES"));
arr_tl.add(new Tailieu("Unit13","DATABASE"));
} }
Lớp Info Grammar
37
Bảng 2.5 Code cho chức năng hiển thị tài liệu đuôi txt
Intent intent = getIntent();
String sb = intent.getStringExtra("sobai"); String tb = intent.getStringExtra("tenbai");
txtsobai.setText(sb); String ht = sb + ".txt";
txttenbai.setText(tb);
try {
InputStream is = getAssets().open(ht); int size = is.available();
byte[] buffer = new byte[size]; is.read(buffer);
is.close();
String text = new String(buffer); txtnoidung.setText(text);
}
catch (IOException ex){
ex.printStackTrace();
}
Lớp Tudien Activity
Lớp này giúp cho người sử dụng có thể tra từ, dịch nghĩa và phát âm.
Bảng 2.6 Code chức năng phát âm.
private void phatam(){
btnphatam.setOnClickListener(new View.OnClickListener() { @Override
public void onClick(View v) { final String laydulieu1 =
edtnhaptu.getText().toString().toLowerCase();
toSpeech = new TextToSpeech(manitudien.this, new
TextToSpeech.OnInitListener() { @Override
public void onInit(int status) {
if (status != TextToSpeech.ERROR){
toSpeech.setLanguage(Locale.ENGLISH);
toSpeech.speak(laydulieu1,TextToSpeech.QUEUE_FLUSH,null); } } } }
38
Lớp Video Activity
Lớp này có chức năng cho người dùng chọn video muốn xem đã có sẵn của ứng dụng
Lớp Info Video Activity
Lớp này có chức năng hiển thị video mà người dùng đã chọn.
Lớp GioiThieu Activity
Giới thiệu thông tin khái quát về phần mềm.
Bảng 2.7 Code chức năng xem video
private void video(){
btnphatam.setOnClickListener(new View.OnClickListener() { @Override
public void onClick(View v) { final String laydulieu1 =
edtnhaptu.getText().toString().toLowerCase();
toSpeech = new TextToSpeech(manitudien.this, new
TextToSpeech.OnInitListener() { @Override
public void onInit(int status) {
if (status != TextToSpeech.ERROR){
toSpeech.setLanguage(Locale.ENGLISH);
toSpeech.speak(laydulieu1,TextToSpeech.QUEUE_FLUSH,null); }
} }
39