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

lập trình ứng dụng di động 123

31 66 0

Đ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 31
Dung lượng 213,69 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

lập trình ứng dụng quản lí danh bạ điện thoại sử dụng androi studio. androi studio là một phần mềm khá phổ biến ngày nay, báo cáo bao gồm thuyết trình nội dung cũng như code để tạo nên 1 ứng dụng quản lí danh bạ điện thoại trên phần mềm androi

Trang 1

MỤC LỤC

2.4 Các thành phần cơ bản trong ứng dụng android 11

Trang 2

I ĐẶT VẤN ĐỀ

1.1 Hiện trạng và mục tiêu khảo sát

-Trong thời đại kinh tế xã hội hiện nay, thông tin liên lạc đã trở thành nhucầu không thể thiếu đối với các hoạt động của con người như giao tiếp kinhdoanh , bạn bè và quan hệ xã hội Và một loại phương tiện thông tin liênlạc mà chúng ta không thể không nói đến đó là điện thoại Nó đã trở thànhphương tiện thông tin liên lạc phổ biến và trở thành một phần không thểthiếu của con người

-Thế mạnh của điện thoại chính là giúp truyền đạt thông tin rất nhanh vàkhông bị giới hạn về địa hình và khoảng cách giao tiếp, rất nhiều côngviệc , vấn đề cần giải quyết không cần phải giải quyết trực tiếp mà có thểđược thực hiện gián tiếp thông qua điện thoại

-Thực tế là mỗi người đều có rất nhiều bạn bè và các mối quan hệ trongkinh doanh, trong hoạt động xã hội, …Đối với những người làm ở các cơquan lớn thì số lượng mối quan hệ càng nhiều thì họ càng phải lưu trữnhiều thông tin về các mối quan hệ đó như số điện thoại, địa chỉ email, địachỉ cơ quan, địa chỉ nhà, thông tin cá nhân…Với khối lượng thông tinkhổng lồ như thế, việc xây dựng danh bạ điện thoại là một giải pháp tối ưu

và đã được áp dụng phổ biến Trong danh bạ điện thoại người ta thường lưucác thông tin như ta đã nói ở trên và có thể còn nhiều thông tin khác nữa đểliên hệ dễ dàng và thuận tiện trong công việc…

-Trước đây danh bạ điện thoại thường được xây dựng trên giấy tờ, sổ sách.Cách thức này tồn tại nhiều nhược điểm như: tìm kiếm chậm, khó chỉnhsửa, khó chia sẻ, khó bảo quản… Khi khoa học kĩ thuật phát triển, nhịp

Trang 3

sống con người tăng cao…thì những nhược điểm trên càng gây ra nhiềukhó khăn và trở ngại cho người dùng.

-Hiện nay, công nghệ thông tin đang rất phát triển và đã dần thâm nhập sâuvào đời sống con người, nhiều ứng dụng công nghệ thông tin đã và đangđược phổ dụng rộng rãi Trước những điều kiện và tình hình thực tế đó,việc tin học hóa quá trình tổ chức và quản lý danh bạ điện thoại là một giảipháp hữu hiệu Bởi lẽ: xây dựng chương trình quản lý danh bạ điện thoạitrên máy tính có rất nhiều ưu điểm khắc phục những nhược điểm trong việcquản lý danh bạ điện thoại cá nhân trên giấy tờ như:

•Dễ dàng thay đổi chỉnh sửa

•Việc tìm kiếm nhanh chóng và thực hiện dễ dàng

•Quá trình lưu trữ nhanh và lưu trữ được nhiều thông tin

•……

1.2 Phương án giải quyết cụ thể

-Khảo sát các mô hình quản lý danh bạ điện thoại đã được xây dựng từtrước…để tìm hiểu các thông tin cơ bản cần quản lý

-Tìm hiểu các thông tin cần quản lý trên thực tế hiện nay

-Phân tích, tổng hợp các thông tin để đưa ra mô hình tổng quát, đưa ra các

sơ đồ liên quan và thiết kế hệ thống tổ chức và quản lý danh bạ điện thoạihoàn chỉnh

-Tiến hành chọn ngôn ngữ lập trình, chọn hệ quản trị cơ sở dữ liệu và xâydựng chương trình chạy trên máy đơn và sử dụng hệ điều hành WindowsXP

Trang 4

Yêu cầu chương trình có thể lưu trữ được khối lượng thông tin lớn, có thểthêm, sửa, xóa thuận tiên, và tìm kiếm thông tin nhanh theo tên, địa chỉ, sốđiện thoại, cơ quan, thành phố…

Trang 5

II CƠ SỞ LÍ THUYẾT

2.1 Android

Hình 1: Logo androidAndroid là một hệ điều hành dựa trên nền tảng Linux được thiết kế dànhcho các thiết bị di động có màn hình cảm ứng như điện thoại thông minh vàmáy tính bảng Ban đầu, Android được phát triển bởi Android, Inc với sự

hỗ trợ tài chính từ Google và sau này được chính Google mua lại vào năm

và trở thành một hệ điều hành di động mã nguồn mở, miễn phí, mạnh mẽ

và được ưa chuộng cao trên thế giới

Hệ điều hành Android một hệ điều hành rất mạnh mạnh, có bảo mật cao, hỗtrợ được nhiều công nghệ tiên tiến như 3G, GPS, EDGE, Wifi tương thíchvới nhiều phần cứng, hỗ trợ nhiều loại bộ nhập dữ liệu như keyboard, touch

và trackball Android là hệ điều hành di động nên có khả năng kết nối caovới các mạng không dây Hỗ trợ công nghệ OpenGL nên có khả năng chơicác phương tiện media, hoạt hình cũng như trình diễn các khả năng đồ họakhác cực tốt, là tiền đề để phát triển các ứng dụng có giao diện phức tạpchẳng hạn như là các trò chơi

Android liên tục được phát triển, mỗi bản cập nhật từ Google là mỗi lầnAndroid được tối ưu hóa để hoạt động tốt hơn, nhanh và ổn định hơn, hỗ

Trang 6

trợ thêm công nghệ mới Chẳng hạn như theo một đánh giá thì Androidphiên bản 2.2 hoạt động nhanh hơn bản 2.1 tới 450% Hiện nay, phiên bảnmới ổn định là 3.2 phát hành 7/2011 với tên gọi theo “họ” 3.x trước đó làHoneycomb Tuy nhiên phiên bản Android tiếp theo – tên mã Ice CreamSandwich (Android 4.0) – trong quá trình được Google hoàn thiện và đượctung ra vào quý 4 năm 2011.

Năm 2008, hệ điều hành Android đã chính thức mở toàn bộ mã nguồn, điều

đó cho phép các hãng điện thoại có thể đem mã nguồn về tùy chỉnh, thiết kếlại sao cho phù hợp với mỗi mẫu mã điện thoại của họ và điều quan trọngnữa là hệ điều hành mở này hoàn toàn miễn phí, không phải trả tiền nêngiúp họ tiết kiệm khá lớn chi phí phát triển hệ điều hành Những điều đó làcực kỳ tốt không chỉ đối với các hãng sản xuất điện thoại nhỏ mà ngay cảvới những hãng lớn như Samsung, HTC

Với Google, vì Android hoàn toàn miễn phí, Google không thu tiền từnhững hãng sản xuất điện thoại, tuy không trực tiếp hưởng lợi từ Androidnhưng bù lại, những dịch vụ của hãng như Google Search, Google Maps, nhờ có android mà có thể dễ dàng xâm nhập nhanh vào thị trường di động

vì mỗi chiếc điện thoại được sản xuất ra đều được tích hợp hàng loạt dịch

vụ của Google Từ đó hãng có thể kiếm bội, chủ yếu là từ các nguồn quảngcáo trên các dịch vụ đó

Với các nhà phát triển ứng dụng (developers), việc hệ điều hành androidđược sử dụng phổ biến đồng nghĩa với việc họ có thể thoải mái phát triểnứng dụng trên nền android với sự tin tưởng là ứng dụng đó sẻ có thể chạyđược ngay trên nhiều dòng điện thoại của các hãng khác nhau Họ ít phảiquan tâm là đang phát triển cho điện thoại nào, phiên bản bao nhiêu vì nềntảng android là chung cho nhiều dòng máy, máy ảo Java đã chịu trách

Trang 7

nhiệm thực thi những ứng dụng phù hợp với mỗi dòng điện thoại mà nóđang chạy Tất cả các chương trình ứng dụng được viết bằng ngôn ngữ Javakết hợp với XML nên có khả năng khả chuyển cao.

Một số hãng sản xuất điện thoại có sử dụng hệ điều hành Android tiêu biểu:HTC, LG, MOTOROLA, SAMSUNG, SONY, ACER, Ở Việt Nam cáccông ty như Viettel, FPT đãng tung những sản phẩm chạy android cho riêngmình Ngoài ra còn nhiều hãng điện thoại vừa và nhỏ khác nữa cũng sửdụng hệ điều hành android trong sản phẩm của mình

2.2 Delving với máy ảo Dalvik

Dalvik là máy ảo giúp các ứng dụng java chạy được trên các thiết bị độngAndroid Nó chạy các ứng dụng đã được chuyển đổi thành một file thực thiDalvik (dex) Định dạng phù hợp cho các hệ thống mà thường bị hạn chế

về bộ nhớ và tốc độ xử lý Dalvik đã được thiết kế và viết bởi DanBornstein, người đã đặt tên cho nó sau khi đến thăm một ngôi làng đánh cánhỏ có tên là Dalvík ở đảo Eyjafjörður, nơi mà một số tổ tiên của ông sinhsống

Từ góc nhìn của một nhà phát triển, Dalvik trông giống như máy ảo Java(Java Virtual Machine) nhưng thực tế thì hoàn toàn khác Khi nhà phát triểnviết một ứng dụng dành cho Android, anh ta thực hiện các đoạn mã trongmôi trường Java Sau đó, nó sẽ được biên dịch sang các bytecode của Java,tuy nhiên để thực thi được ứng dụng này trên Android thì nhà phát triểnphải thực thi một công cụ có tên là dx Đây là công cụ dùng để chuyển đổibytecode sang một dạng gọi là dex bytecode "Dex" là từ viết tắt của

"Dalvik executable" đóng vai trò như cơ chế ảo thực thi các ứng dụngAndroid

Trang 8

2.3 Các thành phần trong một Android Project

2.3.1 AndroidManifest.xml

Trong bất kì một project Android nào khi tạo ra đều có một fileAndroidManifest.xml, file này được dùng để định nghĩa các screen sửdụng, các

permission cũng như các theme cho ứng dụng Đồng thời nó cũng chứathông tin về phiên bản SDK cũng như màn hình chính sẽ chạy đầu tiên.File này được tự động sinh ra khi tạo một Android project Trong filemanifest bao giờ cũng có 3 thành phần chính đó là: application, permission

Trang 9

- android:theme = “drawable theme”  thuộc tính này để đặt theme choứng

dụng Các theme là các cách để hiển thị giao diện ứng dụng

• Permission

Bao gồm các thuộc tính chỉ định quyền truy xuất và sử dụng tài nguyên củaứng dụng Khi cần sử dụng một loại tài nguyên nào đó thì trong filemanifest của ứng dụng cần phải khai báo các quyền truy xuất như sau:

• SDK version

Thẻ xác định phiên bản SDK được khai báo như sau:

Ở đây chỉ ra phiên bản SDK nhỏ nhất mà ứng dụng hiện đang sử dụng.2.3.2 File R.java

File R.java là một file tự động sinh ra ngay khi tạo ứng dụng, file này được

sử dụng để quản lý các thuộc tính được khai báo trong file XML của ứngdụng và các tài nguyên hình ảnh

Mã nguồn của file R.java được tự động sinh khi có bất kì một sự kiện nàoxảy xa làm thay đổi các thuộc tính trong ứng dụng Chẳng hạn như, bạn kéo

và thả một file hình ảnh từ bên ngoài vào project thì ngay lập tức thuộc tínhđường dẫn đến file đó cũng sẽ được hình thành trong file R.java hoặc xoámột file hình ảnh thì đường dẫn tương ứng đến hình ảnh đó cũng tự động bịxoá

Có thể nói file R.java hoàn toàn không cần phải đụng chạm gì đến trong cảquá trình xây dựng ứng dụng

Trang 10

2.4 Các thành phần cơ bản trong ứng dụng android

2.4.1 View

Trong một ứng dụng Android, giao diện người dùng được xây dựng từ cácđối tượng View và ViewGroup Có nhiều kiểu View và ViewGroup Mỗimột kiểu là một hậu duệ của class View và tất cả các kiểu đó được gọi làcác Widget Tất cả mọi widget đều có chung các thuộc tính cơ bản như làcách trình bày vị trí, background, kích thước, lề, được thể hiện hết ở trongđối tượng View Trong Android Platform, các screen luôn được bố trí theomột kiểu cấu trúc phân cấp như hình dưới Một screen là một tập hợp cácLayout và các widget được bố trí cóthứ tự Để thể hiện một screen thì tronghàm onCreate của mỗi Activity cần phải được gọi một hàm làsetContentView(R.layout.main); hàm này sẽ load giao diện từ file XML lên

Trang 11

dòng LinearLayout làm cho các thành phần trong nó không bị phụ thuộcvào kích thước của màn hình Các thành phần trong LinearLayout được dàntheo những tỷ lệ cân xứng dựa vào các ràng buộc giữa các thành phần.2.4.4 Frame Layout (khung)

FrameLayout được dùng để bố trí các đối tượng theo kiểu giống như là cácLayer trong Photoshop Những đối tượng nào thuộc Layer bên dưới thì sẽ

bị che khuất bởi các đối tượng thuộc Layer nằm trên FrameLayer thườngđược sử dụng khi muốn tạo ra các đối tượng có khung hình bên ngoàichẳng hạn như contact image button

2.4.5 Retalive Layout

Layout này cho phép bố trí các widget theo một trục đối xứng ngang hoặcdọc Để đặt được đúng vị trí thì các widget cần được xác định một mối ràngbuộc nào đó với các widget khác Các ràng buộc này là các ràng buộc trái,phải, trên, dưới so với một widget hoặc so với layout parent Dựa vàonhững mối ràng buộc đó mà RetaliveLayout cũng không phụ thuộc vàokích thước của screen thiết bị Ngoài ra, nó còn có ưu điểm là giúp tiếtkiệm layout sử dụng nhằm mục đích giảm lượng tài nguyên sử dụng khiload đồng thời đẩy nhanh quá trình xử lý

2.4.6 Table Layout (bảng giao diện)

Layout này được sử dụng khi cần thiết kế một table chứa dữ liệu hoặc cần

bố trí các widget theo các row và column Chẳng hạn như, giao diện củamột chiếc máy tính đơn giản hoặc một danh sách dữ liệu

2.4.7 Button

Trang 12

Sở dĩ widget button được giới thiệu đầu tiên trong số các widget khác là vìđây là đối tượng có thể nói là được dùng nhiều nhất trong hầu hết các ứngdụng Android.

2.4.8 Image Button (hình ảnh nút)

Cũng tương tự như Button, ImageButton chỉ có thêm một thuộc tínhandroid:src = “@drawable/icon” để thêm hình ảnh vào và không có thẻtext

2.4.9 Image View (xem hình)

Được dùng để thể hiện một hình ảnh Nó cũng giống như ImageButton, chỉkhác là không có hình dáng của một cái button

2.4.10 List View(xem danh sách)

Được sử dụng để thể hiện một danh sách các thông tin theo từng cell Mỗicell

thông thường được load lên từ một file XML đã được cố định trên đó sốlượng thông tin và loại thông tin cần được thể hiện

Để thể hiện được một list thông tin lên một screen thì cần phải có 3 yếu tốchính:

- Data Source: Data Source có thể là một ArrayList, HashMap hoặc bất kỳmột cấu trúc dữ liệu kiểu danh sách nào

- Adapter: Adapter là một class trung gian giúp ánh xạ dữ liệu trong DataSource vào đúng vị trí hiển thị trong ListView Chẳng hạn, trong DataSource có một trường name và trong ListView cũng có một TextView đểthể hiện trường name này Tuy nhiên, ListView sẽ không thể hiển thị dữ

Trang 13

liệu trong Data Source lên được nếu như Adapter không gán dữ liệu vàocho đối tượng hiển thị.

- ListView: ListView là đối tượng để hiển thị các thông tin trong DataSource ra một cách trực quan và người dùng có thể thao tác trực tiếp trênđó

2.4.11 Text View(xem văn bản)

TextView ngoài tác dụng là để hiển thị văn bản thì nó còn cho phép địnhdạng nội dung bằng thẻ html

Nội dung TextView cũng có thể được định dạng bằng thẻ html ngay trongXML

2.4.12 Edit Text(sửa văn bản)

Trong Android đối tượng EditText được sử dụng như một TextField hoặcmột TextBox

Các thuộc tính cần chú ý sử dụng EditText đó là:

- android:inputType = “ ” sử dụng để xác định phương thức nhập choEditText Chẳng hạn như khi bạn muốn một ô để nhập password hay một ô

để nhập Email thì thuộc tính này sẽ làm điều đó

- android:singleLine = “true” EditText của bạn sẽ trở thành một TextField,ngược lại sẽ là TextBox

2.4.13 Check Box(đánh dấu)

Nhận 2 giá trị true hoặc false Đối tượng CheckBox cho phép chọn nhiềuitem cùng một lúc

Trang 14

2.4.14 Activity(hoạt động)

Activity là một thành chính của một ứng dụng Android, được dùng để hiểnthị một màn hình và nắm bắt các hoạt động xảy ra trên màn hình đó Khilàm việc với Activity cần nắm bắt được một số kiến thức cơ bản như sau:

- Chu kỳ sống của một Activity

- Tạo menu và dialog

- Khởi động một Activity

Cách chuyển giữa các Intend theo 2 loại:

- Khai báo không tường minh: Cung cấp chính xác thông tin của activitycần gọi bằng cách truyền vào tên class của Activity đó

- Khai báo không tường minh: Cung cấp các thao tác cần làm gì với loại dữliệu nào, hệ thông sẽ tìm đến activity tương ứng để khởi động

• Tính liên lạc giữa 2 activity

Khi chuyển sang một Activity khác ta có thể gửi kèm dữ liệu trong intendđó

Trang 15

2.4.15 Intent()

Khái niệm Intend:

- Là một cấu trúc dữ liệu mô tả cách thức, đối tượng thực hiện của một Activity

- Là cầu nối giữa các Activity: ứng dụng Android thường bao gồm nhiềuActivity, mỗi Activity hoạt động độc lập với nhau và thực hiện những côngviệc khác nhau Intent chính là người đưa thư, giúp các Activity có thể triệugọi cũng như truyền các dữ liệu cần thiết tới một Activity khác Điều nàycũng giống như việc di chuyển qua lại giữa các Forms trong lập trìnhWindows Form

Hình 2: Chuyển đổi giữa hai Activity sử dụng intent2.4.16 Background Service

Trang 16

Service là 1 trong 4 thành phần chính trong 1 ứng dụng Android (Activity,Service, BroadcastReceiver, ContentProvider) thành phần này chạy tronghậu trường và làm những công việc không cần tới giao diện như chơi nhạc,download, xử lí tính toán

Một Service có thể được sử dụng theo 2 cách:

- Nó có thể được bắt đầu và được cho phép hoạt động cho đến khi mộtngười nào đó dừng nó lại hoặc nó tự ngắt Ở chế độ này, nó được bắt đầubằng cách gọi Context.startService() và dừng bằng lệnhContext.stopService() Nó có thể tự ngắt bằng lệnh Service.stopSelf() hoặcService.stopSelfResult() Chỉ cần một lệnh stopService() để ngừng Servicelại cho dù lệnh startService() được gọi ra bao nhiêu lần

- Service có thể được vận hành theo như đã được lập trình việc sử dụng mộtInterface mà nó định nghĩa Các người dùng thiết lập một đường truyền tớiđốitượng Service và sử dụng đường kết nói đó để thâm nhập vào Service.Kết nối này được thiết lập bằng cách gọi lệnh Context.bindService() vàđược đóng lại bằng cách gọi lệnh Context.unbindService() Nhiều ngườidùng có thể kết nối tới cùng một thiết bị Nếu Service vẫn chưa được khởichạy, lệnh bindService() có thể tùy ý khởi chạy nó Hai chế độ này thìkhông tách biệt toàn bộ Bạn có thể kết nối với một Service mà nó đã đượcbắt đầu với lệnh startService() Ví dụ, một Service nghe nhạc ở chế độ nền

có thể được bắt đầu bằng cách gọi lệnh startService() cùng với một đốitượng Intent mà định dạng được âm nhạc để chơi Chỉ sau đó, có thể là khingười sử dụng muốn kiểm soát trình chơi nhạc hoặc biết thêm thông tin vềbài hát hiện tại đang chơi, thì sẽ có một Activity tạo lập một đường truyềntới Service bằng cách gọi bindService() Trong trường hợp như thế này,

Ngày đăng: 15/09/2021, 08:57

TỪ KHÓA LIÊN QUAN

w