có hai cách để tạo ra một dự án Android mới. người đầu tiên hoạt động bằng cách kích chuột phải
trong xem gói thám hiểm (xem hình 2-4) và lựa chọn dự án mới ... từ
trình đơn pop-up. trong hộp thoại mới, chọn dự án Android theo thể loại Android.
như bạn có thể thấy, có rất nhiều lựa chọn khác cho dự án sáng tạo trong hộp thoại.đây là cách tiêu chuẩn để tạo một dự án mới của bất kỳ loại trong nhật thực. sau khi xác nhận hộp thoại, các hướng dẫn dự án Android sẽ mở ra.
Cách thứ hai là dễ dàng hơn rất nhiều: chỉ cần nhấp vào nút chịu trách nhiệm về việc tạo ra một dự án Android mới
(hiển thị trước đó trong hình 2-4).
Khi bạn đang ở trong hộp thoại thuật sĩ dự án Android, bạn phải thực hiện một vài sự lựa chọn.
1.
2.
Đầu tiên,bạn phải xác định tên dự án. một quy ước thông thường là để giữ cho nó
tất cả các chữ thường. cho ví dụ này, đặt tên cho dự án "hello thế giới."
Tiếp theo, bạn phải xác định mục tiêu xây dựng. cho bây giờ, chỉ cần chọn
Android 1.5 xây dựng mục tiêu, vì đây là mẫu số chung thấp nhất và bạn không cần bất kỳ tính năng ưa thích như cảm ứng đa điểm được nêu ra.
Chương 2: bước đầu tiên với SDK Android 33
lưu ý:trong chương 1, bạn thấy rằng mỗi phiên bản mới của Android cho biết thêm các lớp học mới cho Android
khuôn khổ api. mục tiêu xây dựng quy định cụ thể phiên bản api này bạn muốn sử dụng trong ứng dụng của bạn
. Ví dụ, nếu bạn chọn Android 2.3 xây dựng mục tiêu, bạn sẽ có được quyền truy cập vào mới nhất và các tính năng
api nhất. này đi kèm với rủi ro, mặc dù: nếu ứng dụng của bạn chạy trên một thiết bị
sử dụng một phiên bản thấp hơn api (nói, một thiết bị chạy Android phiên bản 1.5), sau đó ứng dụng của bạn sẽ
sụp đổ nếu bạn truy cập các tính năng api mà chỉ có sẵn trong phiên bản 2.3. trong trường hợp này, bạn cần phải
phát hiện phiên bản SDK hỗ trợ trong thời gian chạy và chỉ truy cập các tính năng 2.3 khi bạn
chắc chắn rằng phiên bản Android trên các thiết bị hỗ trợ nó. này nghe có vẻ khá khó chịu,nhưng như bạn sẽ thấy trong chương 5, đưa ra một kiến trúc ứng dụng tốt, bạn có thể dễ dàng kích hoạt và vô hiệu hóa một số tính năng
phiên bản cụ thể mà không cần chạy các nguy cơ bị rơi.
3.
4.
5.
Tiếp theo, bạn phải chỉ định tên của ứng dụng của bạn (ví dụ, hello
thế giới), tên của gói java trong đó tất cả các file nguồn của bạn sẽ
cuối cùng được đặt (ví dụ, com.helloworld),và một tên hoạt động.
một hoạt động tương tự như một cửa sổ hoặc hộp thoại trên một hệ điều hành máy tính để bàn.
Chúng ta hãy đặt tên cho nó helloworldactivity.
Min lĩnh vực phiên bản SDK cho phép bạn xác định những gì tối thiểu Android
phiên bản ứng dụng của bạn yêu cầu để chạy. tham số này là không cần thiết, nhưng đó là thực hành tốt để xác định nó. phiên bản SDK được đánh số bắt đầu từ 1
(1.0) và tăng với mỗi bản phát hành. từ 1,5 là thứ ba
phát hành, xác định 3 đây. hãy nhớ rằng bạn phải xác định một mục tiêu xây dựng
trước đây, mà có thể là mới hơn so với phiên bản SDK tối thiểu.
này cho phép bạn làm việc với một mức độ cao hơn api, mà còn triển khai các phiên bản cũ của Android
(đảm bảo rằng bạn chỉ gọi các phương pháp api hỗ trợ cho phiên bản đó, tất nhiên).
bấm vào kết thúc để tạo ra dự án Android đầu tiên của bạn.
Lưu ý: thiết lập các phiên bản SDK tối thiểu có một số tác động. ứng dụng chỉ có thể chạy trên các thiết bị
với một phiên bản Android bằng hoặc lớn hơn so với phiên bản SDK tối thiểu bạn
chỉ định. khi người dùng duyệt các thị trường Android thông qua ứng dụng thị trường, chỉ có các ứng dụng với một phiên bản SDK tối thiểu phù hợp sẽ được hiển thị với cô ấy.
khám phá dự án
trong thám hiểm trọn gói, bạn sẽ thấy một dự án được gọi là "hello thế giới." nếu bạn
mở rộng nó và tất cả các con của nó, bạn sẽ thấy một cái gì đó như con số 2-6. đây là cấu trúc chung của hầu hết các dự án Android. chúng ta hãy khám phá nó một chút.
34
Chương 2: bước đầu tiên với SDK Android
AndroidManifest.xml mô tả ứng dụng của bạn. nó định nghĩa những gì
các hoạt động và dịch vụ nó bao gồm, những gì tối thiểu và mục tiêu
phiên bản Android nó là vụ phải chạy trên, và những gì nó cần quyền
(ví dụ, truy cập vào thẻ SD hoặc mạng).
Default.properties chứa các thiết lập khác nhau để xây dựng hệ thống. chúng tôi
sẽ không liên lạc này, như adt plug-in sẽ chăm sóc sửa đổi nó khi cần thiết
.
Src / chứa tất cả các file nguồn java của bạn.nhận thấy rằng các gói có
cùng tên với một trong những bạn quy định trong chương trình dự án Android.
Gen / chứa các tập tin nguồn java tạo ra bởi việc xây dựng hệ thống Android
. bạn không nên gây rối với họ, khi họ được tái sinh
tự động trong một số trường hợp.
Tài sản / là nơi bạn lưu trữ tập tin nhu cầu ứng dụng của chúng tôi (ví dụ,
file cấu hình hoặc các tập tin âm thanh và như thế). những tập tin này được đóng gói
với các ứng dụng Android của bạn.
Res / nắm giữ nguồn lực nhu cầu ứng dụng của bạn, chẳng hạn như biểu tượng, chuỗi cho
quốc tế, và bố trí giao diện người dùng được xác định thông qua xml. như tài sản, họ cũng được đóng gói với
ứng dụng của bạn.
Android 1.5 cho chúng ta biết rằng chúng ta đang xây dựng với một phiên bản Android 1.5
mục tiêu. điều này thực sự phụ thuộc vào các hình thức của một tập tin bình tiêu chuẩn
chứa các lớp của Android 1.5 api.
Xem gói thám hiểm ẩn một thư mục, gọi là bin /, nắm giữ các mã
biên soạn đã sẵn sàng cho việc triển khai một thiết bị hoặc giả lập. như với các gen / thư mục, chúng ta thường không quan tâm những gì xảy ra trong thư mục này.
Chương 2: bước đầu tiên với SDK Android 35
con số 2-6. hello thế giới cấu trúc dự án
chúng ta có thể dễ dàng thêm các tập tin mới nguồn, thư mục, và các nguồn lực khác trong gói
thám hiểm xem bằng cách kích chuột phải vào thư mục, chúng tôi muốn đưa các nguồn lực mới trong, và
lựa chọn mới cộng với loại tài nguyên tương ứng, chúng tôi muốn tạo ra. bây giờ, mặc dù
, chúng tôi sẽ để lại tất cả mọi thứ như là. tiếp theo, chúng ta hãy sửa đổi mã nguồn một chút.
Viết mã ứng dụng
chúng tôi vẫn chưa viết một dòng mã, vì vậy hãy thay đổi điều đó. dự án Android
thuật sĩ tạo ra một lớp hoạt động mẫu cho chúng ta được gọi là helloworldactivity, sẽ được hiển thị khi chúng tôi
chạy các ứng dụng trên giả lập hoặc thiết bị. mở nguồn
lớp bằng cách nhấp đúp vào tập tin trong xem gói thám hiểm. chúng tôi sẽ thay thế cho mẫu mã với các mã trong danh sách 2-1.
Niêm yết 2-1. helloworldactivity.java
gói com.helloworld;
nhập khẩu android.app.activity;
nhập khẩu android.os.bundle;
nhập khẩu android.view.view;
nhập khẩu android.widget.button;
public class helloworldactivity mở rộng hoạt động
36 chương 2: bước đầu tiên với SDK Android
cụ view.onclicklistener {nút nút;
int touchcount;
@ ghi đè lên
khoảng trống công cộng OnCreate (bó savedinstancestate) {
super.oncreate (savedinstancestate);
nút = new nút (này);
button.settext ("chạm vào tôi!");
button.setonclicklistener (này);
setContentView (nút) ;}
public void onclick (xem v) {
touchcount;
button.settext ("chạm vào tôi" touchcount "thời gian (s)");}
}
chúng ta hãy mổ xẻ niêm yết 2-1, do đó bạn có thể hiểu những gì nó làm.chúng tôi sẽ để lại các chi tiết nitty gritty-
cho chương sau. tất cả chúng tôi muốn là để có được một cảm giác về những gì đang xảy ra ở đây.
Các tập tin mã nguồn bắt đầu với việc kê khai gói java tiêu chuẩn và một vài
nhập khẩu. hầu hết các lớp học khuôn khổ Android nằm trong gói phần mềm Android.
Gói com.helloworld;
nhập khẩu android.app.activity;
nhập khẩu android.os.bundle;
nhập khẩu android.view.view;
android.widget.button nhập khẩu;
tiếp theo, chúng tôi xác định helloworldactivity của chúng tôi và để cho nó mở rộng các hoạt động lớp cơ sở,
mà được cung cấp bởi Android khuôn khổ api. một hoạt động là rất nhiều như một cửa sổ trong
UIS máy tính để bàn, với các ràng buộc mà nó luôn luôn lấp đầy màn hình đầy đủ (trừ các thanh thông báo ở phía trên cùng của giao diện người dùng Android). ngoài ra, chúng tôi để cho nó thực hiện
giao diện OnClickListener. nếu bạn có kinh nghiệm với bộ công cụ giao diện người dùng khác, bạn có thể
sẽ thấy những gì diễn ra tiếp theo. thêm vào đó trong một giây.
Public class helloworldactivity mở rộng hoạt động
cụ view.onclicklistener {chúng ta để cho hoạt động của chúng tôi có hai thành viên: một nút và một số nguyên mà đếm thường xuyên
nút được nhấp.
Nút nút;
int touchcount;
mọi hoạt động phải thực hiện phương pháp activity.oncreate trừu tượng (), mà được gọi là một lần
bởi hệ thống Android khi hoạt động lần đầu tiên được bắt đầu. này thay thế một nhà xây dựng
bạn thường mong đợi sử dụng để tạo ra một thể hiện của một lớp học. nó là bắt buộc
để gọi các lớp cơ sở OnCreate () phương pháp như tuyên bố đầu tiên trong cơ thể phương pháp.
@ Ghi đè lênpublic void onCreate (bó savedinstancestate) {
super.oncreate (savedinstancestate);
Chương 2: bước đầu tiên với SDK Android
tiếp theo, chúng ta tạo ra một nút và thiết lập văn bản ban đầu của nó. nút là một trong những vật dụng mà Android khuôn khổ api cung cấp. các vật dụng là đồng nghĩa với cái gọi là quan điểm về
Android. lưu ý nút đó là một thành viên của lớp helloworldactivity của chúng tôi.chúng tôi sẽ cần một tham chiếu đến nó sau này.
= Nút nút mới (này);
button.settext ("chạm vào tôi!");
Dòng tiếp theo trong onCreate () đặt OnClickListener của nút. OnClickListener là một
gọi lại giao diện với một phương pháp duy nhất, onclicklistener.onclick (), mà được gọi là
khi nút được nhấp. chúng tôi muốn được thông báo lần nhấp chuột, vì vậy chúng tôi cho phép chúng tôi
helloworldactivity thực hiện giao diện và đăng ký nó như OnClickListener của nút.
Button.setonclicklistener (này);
dòng cuối cùng trong OnCreate () sẽ làm cho nút như xem nội dung cái gọi là
hoạt động của chúng tôi. quan điểm có thể được lồng vào nhau, và xem nội dung của hoạt động này là gốc rễ của
hệ thống phân cấp này. trong trường hợp của chúng tôi,chúng tôi chỉ đơn giản là thiết lập các nút như xem sẽ được hiển thị bằng các hoạt động
. để đơn giản, chúng tôi sẽ không nhận được vào chi tiết về cách hoạt động sẽ được đặt ra cho xem nội dung này.
SetContentView (nút);}
bước tiếp theo chỉ đơn giản là thực hiện các onclicklistener.onclick (phương pháp),
mà giao diện đòi hỏi hoạt động của chúng tôi. phương pháp này được gọi là mỗi khi bạn nhấn nút
được nhấp.trong đó chúng ta tăng truy cập touchcount và thiết lập văn bản của nút để một
chuỗi mới.
Khoảng trống công cộng onclick (xem v) {
touchcount;
button.settext ("chạm
đang được dịch, vui lòng đợi..