1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ Án Cá Nhân Lập Trình Ứng Dụng Cho Các Thiết Bị Di Động Đề Tài Ứng Dụng Quản Lý Ghi Chú.pdf

20 3 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 20
Dung lượng 0,99 MB

Nội dung

Code chức năng File Mainactyvity.java import import import import import import import import import import import import import import import import import import public androidx.anno

Trang 1

oe So SK OSS OO

BO GIAO DUC VA DAO TAO

Trường Đại Học Duy Tân

ĐỎ ÁN CÁ NHÂN

LẬP TRÌNH ỨNG DỤNG CHO CÁC THIẾT BỊ DI ĐỘNG

ĐÈ TÀI : Ứng Dụng Quản Lý Ghi Chú

|

Lớp : CR 424 AM Giảng Viên : Phạm An Bình

Sinh viên thực hiện : Bùi Văn Bình

Mã Sinh Viên : 27211240478

——————=S®— *-=>« >*†ˆ®cC—— ©=———————

Trang 2

Contents

1 Thiét ké giao di@in oe c.cccccccccccssessssssessessecsecsecsecsscssssscasesseesesseesscscassseansneateseseeseeeesees 4

1.1 Giao diện chính của ủng dụng - - + so nọ ng ng ng re 4 1.2 Giao diện Lịch sữ phép tínhh - <5 + sọ ng ng ng 4

1.3 c6 nh h6ố QÄ|A ÔỎ 5

2 Giao diện thực tế của app ¿6-52 S2+ St xe 2x22 2121111211.11.1111 xe 5

3 Toan n9 7a 7 3.1 Code chức năng - KH nh 7 Eile MainaCfyVi(y.]24VA - HH TH HH 7 3.2 Code Giao đien se 15 File menu _đ€1m10.XITIÌ - - <5 5 + + + 5E E1 1x ng re 15 File actfvity _ baim10.XIHỈ - 5 5 <0 TH HH 15 Eile lichsu.ximÌ - - 0221125192112 SH ng TT TT TT TH nghiệt 17 File pheptinh.xmiÌ L2 1112111112111 1111 1111511 1E 1115011111111 1 n1 1011111111 r re 17

Trang 3

1 Thiết kế giao diện

1.1 Giao diện chính của ung dung

Máy tính

phép tinh lịch sữ

|]

1.2 Giao diện Lịch sữ phép tính

lich str e

Trang 4

1.3 Giao dién bam giờ

bam gid’

0:00:000

2 Giao diện thực tế của app

PHÉP TÍNH HISTORY

MÁY TÍNH

Trang 5

Máy Tính

PHÉP TÍNH HISTORY PHEP TINH Bấm Giờ

9X6=54 9X6=54 —

543 - 3 = 540 543 - 3 = 540

540 + 6 = 546 540 + 6 = 546

0:00:757

0:01:124 0:01:492

0:01:842

0:02:177 0:02:527 0:02:876 0:03:265 0:03:775

Trang 6

3 Toàn bộ Code

3.1 Code chức năng

File Mainactyvity.java

import

import

import

import

import

import

import

import

import

import

import

import

import

import

import

import

import

import

public

androidx.annotation.NonNull;

androidx.appcompat.app.AlertDialog;

androidx.appcompat.app.AppCompatActivity; androidx.appcompat.widget.Toolbar;

android.content.DialogInterface;

android.content Intent;

android.os.Bundle;

android.util.Log;

android.view.Menu;

android.view.MenulInflater;

android.view.Menultem;

android.view.View;

android.widget.AdapterView;

android.widget.ArrayAdapter;

android.widget.Button;

android.widget.ListView;

android.widget.TabHost;

android.widget.TextView;

android.widget.Toast;

java.util.ArrayList;

class MainActivity extends AppCompatActivity { Integer sol =0;

Integer so2 =0;

Character dau = null;

Button btnthoat;

ListView lvHistory;

ArrayList<String>dskq;

ArrayAdapter<String>adapterkqne;

@Override

protected void onCreate (Bundle savedInstanceState)

}

super.onCreate (savedInstanceState);

addControls();

addEvents ();

Toolbar toolbar = findViewByld(R.id toolbar); setSupportActionBar (toolbar);

setTitle ("May tinh");

{

Trang 7

btnthoat.setonClickListener (new View.OnClickListener() {

@Override

public void onClick(View v) {

AlertDialog.Builder builder = new

builder.setTitle("Bạn có muốn thoat khdi tng dung ?");

builder.setPositiveButton("Cé6", new

DialogInterface.OnClickListener() {

@Override public void onClick(Dialoginterface dialog, int which) { onBackPressed();

}

})z

builder.setNegativeButton("Khéng", new

DialogInterface.OnClickListener() {

@Override public void onClick(Dialoginterface dialog, int which) { }

})z

builder.show();

})z

}

private void addEvents() {

final TextView txtvkq = (TextView) findViewById(R.id.kq);

View.OnClickListener() {@Override public void onClick(View v)

{ txtvkq.setText (txtvkq.getText().toString()+"0");if(dau == null) {sel Integer parseInt (txtvkq.getText().toString());} else {so2 =

Tnteger.parseTnt (txtvkq.getText().toString());} }})z

View.OnClickListener() {@Override public void onClick(View v)

{ txtvkq.setText (txtvkq.getText().toString()+"1");if(dau == null) {sel Integer parseInt (txtvkq.getText().toString());} else {so2 =

Tnteger.parseTnt (txtvkq.getText().toString());} }})z

View.OnClickListener() {@Override public void onClick(View v)

{ txtvkq.setText (txtvkq.getText().toString()+"2");if(dau == null) {sel Integer parseInt (txtvkq.getText().toString());} else {so2 =

Tnteger.parseTnt (txtvkq.getText().toString());} }})z

View.OnClickListener() {@Override public void onClick(View v)

{ txtvkq.setText (txtvkq.getText ().toString()+"3");if(dau == null) {sel Integer parseInt (txtvkq.getText().toString());} else {so2 =

Integer.parselInt (txtvkq.getText().toString());} }!)z

View.OnClickListener() {@Override public void onClick(View v)

{ txtvkq.setText (txtvkq.getText ().toString()+"4");if(dau == null) {sol = Integer parseInt (txtvkq.getText().toString());} else {so2 =

Tnteger.parseTnt (txtvkq.getText().toString());} }})z

Trang 8

{ txtvkq.setText (txtvkq.getText ().toString()+"5");if(dau == null) {sol = Integer parseInt (txtvkq.getText().toString());} else {so2 =

Integer.parselInt (txtvkq.getText().toString());} }!)z

View.OnClickListener() {@Override public void onClick(View v)

{ txtvkq.setText (txtvkq.getText ().toString()+"6");i1f(dau == null) {sol = Integer parseInt (txtvkq.getText().toString());} else {so2 =

Tnteger.parseTnt (txtvkq.getText().toString());} }})z

View.OnClickListener() {@Override public void onClick(View v)

{ txtvkq.setText (txtvkq.getText ().toString()+"7");if(dau == null) {sol = Integer parseInt (txtvkq.getText().toString());} else {so2 =

Tnteger.parseTnt (txtvkq.getText().toString());} }})z

View.OnClickListener() {@Override public void onClick(View v)

{ txtvkq.setText (txtvkq.getText ().toString()+"8");if(dau == null) {sol = Integer parseInt (txtvkq.getText().toString());} else {so2 =

Tnteger.parseTnt (txtvkq.getText().toString());} }})z

View.OnClickListener() {@Override public void onClick(View v)

{ txtvkq.setText (txtvkq.getText ().toString()+"9");if(dau == null) {sol = Integer parseInt (txtvkq.getText().toString());} else {so2 =

Integer.parselInt (txtvkq.getText().toString());} }!)z

Button Bo = (Button) findViewById(R.id.bo);

@Override

public void onClick(View v) {

so2 =0;

txtvkq.setText("");

})z

Button Cong =(Button) findViewByld(R.id.cong);

@Override

public void onClick(View v) {

dau = '+';

txtvkq.setText("");

})z

Button Tru =(Button) findViewByld(R.id.tru);

@Override

public void onClick(View v) {

dau = '-';

txtvkq.setText("");

})z

Button Nhan =(Button) findViewByld(R.id.nhan);

@Override

Trang 9

dau = 'X!;

txtvkq.setText("");

})z

Button Chia =(Button) findViewByld(R.id.chia);

@Override

public void onClick(View v) {

dau = '/';

txtvkq.setText("");

})z

Button Bang =(Button) findViewByld(R.id.bang);

@Override

public void onClick(View v) {

if (dau!=null)

{

Integer kqne =0;

switch (dau) {

case '+';:{

kqne = sol + so2;

break;

} case '-'rf{

kqne = sol - so2;

break;

} case 'X':{

kqne = sol * so2;

break;

} case '/':f{

kqne = sol / so2;

break;

} } txtvkq.setText (kqne.toString());

dskq.add(Tnteger.toString(sol) + " " + đau + " "+

Tnteger.toString(so2) + " = " + String.valueOf(kqne));

sol = kqne;

dau = null;

adapterkqne.notifyDataSetChanged({);

})z

Trang 10

@Override

public void onClick(View v) {

sol =0;

so2 =0;

dau =null;

txtvkq.setText("");

private void addControls() {

TabHost tabHost= (TabHost) findViewById(R.id.tabHost);

tabHost.setup();

TabHost.TabSpec tabl=tabHost.newTabSpec("t1");

tabl.setindicator("Phép Tinh");

tabl.setContent (R.id.tabl);

tabHost.addTab(tabl);

TabHost.TabSpec tab2=tabHost.newTabSpec("t2");

tab2.setIindicator ("History");

tab2.setContent (R.id.tab2);

tabHost.addTab(tab2);

lvHistory=(ListView) findViewByld(R.id.lvHistory);

dskq=new ArrayList<>();

MainActivity.this,

android.R.layout.simple list item 1,

dskq);

lvHistory.setAdapter(adapterkqne);

}

// Inflate menu tu tép tin XML

MenuTnflater inflater = getMenuInflater();

inflater.inflate(R.menu.menu_demo, menu);

return true;

}

@Override

public boolean onOptionsItemSelected(@NonNull MenulItem item) {

int id = item getItemId();

if (id == R.id.menu_calculator) {

Toast.makeText (this, "day là phần máy tinh ",

Toast.LENGTH SHORT) show();

return true;

} else if (id == R.id.menu_timer) {

⁄/ Bắt đầu hoạt động bamgio

Toast.makeText (this, "đã chuyển đến phần bắm giờ ",

10

Trang 11

try {

Intent timerIntent = new Intent(this, bamgio.class);

startActivity(timerIntent);

return true;

} catch (Exception e) {

Log.e("MenuSelection", "Lỗi khi bắt đầu hoạt động Timer", e);

return false;

}

} else {

return super onOptionsitemSelected(item);

}

File bamgiojava

import androidx.annotation.NonNull;

import androidx.appcompat.app.AppCompatActivity;

import androidx.appcompat.widget.Toolbar;

import android.content.Intent;

import android.os.Bundle;

import android.os.Handler;

import android.os.SystemClock;

import android.util.Log;

import android.view.Menu;

import android.view.MenulInflater;

import android.view.Menultem;

import android.view.View;

import android.widget.ArrayAdapter;

import android.widget Button;

import android.widget ListView;

import android.widget.TextView;

import android.widget.Toast;

import java.util.ArrayList;

public class bamgio extends AppCompatActivity {

Button btnStop, btnStart, btnPause, btnCount;

TextView txtTimer;

ListView lvCount;

long 1StartTime, lPauseTime, lSystemTime = 0L;

boolean isRun;

Handler handler = new Handler();

ArrayList<String> timeList = new ArrayList<>();

ArrayAdapter<String> adapter;

@Override

protected void onCreate (Bundle savedInstanceState) {

super.onCreate (savedInstanceState);

setContentView (R.layout.activity bamgio);

11

Trang 12

btnStep = findViewById(R.id.btnStop);

btnPause = findViewByld(R.id.btnPause);

txtTimer = findViewByld(R.id.txtTimer);

btnCount = findViewByld(R.id.btnCount);

lvCount = findViewByld(R.id.ivCount);

clickStart

clickPause

clickCount

)z

(

)z

On

()3

// Khoi tao adapter cho ListView

adapter = new ArrayAdapter<> (this,

lvCount.setAdapter (adapter);

Toolbar toolbar = findViewByld(R.id.toolbar2);

setSupportActionBar (toolbar);

setTitle ("Bam giờ");

}

void clickStart() {

@Override

public void onClick(View v) {

if (isRun)

return;

isRun = true;

lStartTime = SystemClock.uptimeMillis() - lIPauseTime; // Cập nhật 1StartTime

handler.postDelayed(runnable, 0);

}

})z

}

void clickStop() {

@Override

public void onClick(View v) {

isRun = false;

1StartTime = 0;

l1PauseTime = 0;

lSystemTime = 0;

handler.removeCallbacks (runnable);

txtTimer.setText ("0:00:000");

// Lam moi ListView

timeList.clear();

adapter.notifyDataSetChanged();

void clickPause() {

@Override

12

Trang 13

if (!isRun)

return;

isRun = false;

lPauseTime = SystemClock.uptimeMillis() - IStartTime; // C&ap nhật 1PauseTime

handler.removeCallbacks (runnable);

}

})z

}

voiqd click€eunt() {

@Override

public void onClick(View v) {

if (isRun) {

adapter.notifyDataSetChanged();

})z

}

@Override

public void run() {

if (isRun) {

ilSystemTime = SystemClock.uptimeMillis() - lStartTime;

long mins secs / 60;

secs = secs % 60;

long milliseconds = (long) (lUpdateTime % 1000);

txtTimer.setText("" + mins + ":" + String format("%$02d", secs)

}

}

Me

// Inflate menu tu tép tin XML

MenuTnflater inflater = getMenuInflater();

inflater.inflate(R.menu.menu_demo, menu);

return true;

}

@Override

public boolean onOptionsItemSelected(@NonNull MenulItem item) {

int id = item getItemId();

if (id == R.id.menu_timer) {

Toast.makeText (this, "đây là phần bấm gid",

return true;

} else if (id == R.id.menu calculator) {

⁄/ Bắt đầu hoạt động bamgio

13

Trang 14

Toast.makeText (this, "đã chuyển đến phần máy tinh ",

try {

Intent timerIntent = new Intent(this, MainActivity.class); startActivity(timerIntent);

return true;

} catch (Exception e) {

Log.e("MenuSelection", "Lỗi khi bắt đầu hoạt động Timer", e);

return false;

}

} else {

return super onOptionsitemSelected(item);

}

3.2 Code Giao dien

4 <?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmins: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=".MainActivity"

android: orientation="vertical">

<androidx.appcompat.widget.Toolbar

android: id="@+id/toolbar"

android: background="?attr/colorPrimary"

android:minHeight="?attr/actionBarSize"

android: theme="?attr/actionBarTheme" />

<TabHost

android:id="@+id/tabHost">

<LinearLayout

android: orientation="vertical">

<TabWidget

android: id="@android:id/tabs"

<FrameLayout

android: id="@android:id/tabcontent"

android: layout _height="match_parent">

<LinearLayout

android:id="@tid/tabl"

14

Trang 15

android: orientation="vertical">

<include layout="@layout/pheptinh"/>

</LinearLayout>

<LinearLayout android: id="§+id/tab2"

android: orientation="vertical">

<include layout="@layout/lichsu"/>

</LinearLayout>

</FrameLayout>

</LinearLayout>

</TabHost>

</LinearLayout>

File menu_demo.xml

<?xml version="1.0" encoding="utf-8"?>

<menu xmilns:app="http://schemas.android.com/apk/res-auto"

xmlns:android="http://schemas.android.com/apk/res/android">

<item

android:id="@+id/menu_calculator"

android: title="May Tinh" />

<item

android:id="@t+tid/menu_timer"

android:title="Bam Giờ" />

</menu>

File actvity_bamgio.xml

<?xml version="1.0" encoding="uti-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"

android: id="§@+id/bamgio"

<TextView

android: text="00:00:00"

android: textSize="60dp"

android: Llayout_marginTop="120dp"

android: Layout_centerHorizontal="true"

android: Layout_alignParentTop="true"

android: id="@+id/txtTimer"™ />

<LinearLayout

android: layout_alignParentStart="true"

15

Ngày đăng: 01/07/2024, 12:15

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w