2010-09-11 27 views
18

Dễ dàng.Android - Tạo một hoạt động mới trong Eclipse

Tôi đã trải qua một vài hướng dẫn và hướng dẫn và họ khá rõ ràng về cách bắt đầu một hoạt động (với mục đích).

Tuy nhiên, làm cách nào để tạo một hoạt động mới trong Eclipse? Tôi có thể làm điều này bằng tay, nhưng sau đó tôi phải sửa đổi tệp R, được tạo tự động và thêm bố cục xml mới.

+7

Bạn không nên sửa đổi lớp R bằng tay. – Macarse

+0

Có thể dup: http://stackoverflow.com/questions/2337874/best-way-to-add-activity-to-an-android-project-in-eclipse –

Trả lời

56

Ok. Là một newbie bản thân mình, tôi nghĩ rằng hai câu trả lời trên đang suy nghĩ quá nhiều. Anh ấy hỏi rất đơn giản cách tạo ra một hoạt động mới trong Eclipse .. Tôi nghĩ rằng đây là những gì anh ấy muốn:

Một mới Activity trong Eclipse thực sự là Class.

Bạn sẽ doubleclick 'src' ở phía bên trái trong Trình khám phá gói, sau đó đánh dấu 'com' của bạn. tên, nhấp chuột phải, chọn 'Mới' và sau đó chọn 'Lớp'. Nhập số Name làm NewActivity và đặt Superclass thành android.app.Activity, sau đó nhấn Hoàn tất.

Khi file NewActivity.java mở ra nó sẽ giống như thế này:

package com.example.yourappname; 

import android.app.Activity; 

public class NewActivity extends Activity { 

} 

Bạn có thể để trống Superclass và thêm extends Activity vào mã chính nó nếu bạn thích.

Bước cuối cùng là thêm Hoạt động vào Tệp kê khai của bạn. Vì vậy, hãy nhấp đúp vào AndroidManifest.xml để mở nó và sau đó nhấp vào tab 'Ứng dụng' ở dưới cùng. Bên cạnh hộp 'Nút ứng dụng', nhấp vào 'Thêm'. Đánh dấu 'Hoạt động' (ô vuông có chữ A) và nhấp 'Ok'. Bây giờ hãy tìm hộp 'Thuộc tính cho Hoạt động' và nhập Tên cho Hoạt động và đi trước nó theo một khoảng thời gian. Trong ví dụ này, bạn sẽ nhập '.NewActivity'.

Và sau đó bạn có thể thêm mã onCreate() của bạn để nó trông như thế này:

public class NewActivity extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) {   

     super.onCreate(savedInstanceState);  
     setContentView(R.layout.main_view); 
     //rest of the code 
    } 
} 

main_view sẽ chính tập xem xml của bạn, main_view.xml, mà bạn sẽ tạo ra trong thư mục bố trí của bạn.

Để gọi các Hoạt động mới, Intent của bạn trong các mã (trong một Hoạt động khác nhau) để bắt đầu một mới Activity trông giống như sau:

Intent startNewActivityOpen = new Intent(PresentActivity.this, NewActivity.class); 
startActivityForResult(startNewActivityOpen, 0); 

Và đó là nó, bạn có mã để gọi mới hoạt động và bạn đã tạo ra nó. Tôi hi vọng điêu nay se giup được ai đo.

+0

Cảm ơn bạn đã hoàn hảo, nhấp chuột phải/lớp mới là những gì tôi đã bỏ lỡ. Nó cũng có vẻ eclipse cho phép bạn tạo một lớp mới tự động nếu bạn tham khảo nó mà không có nó được định nghĩa đầu tiên. Tôi cũng sử dụng màn hình GUI biểu hiện để sửa đổi xml, đẹp và nhanh chóng. –

+0

@ShadowGod: câu trả lời của bạn là hữu ích nhưng đây là tất cả về việc đăng ký Hoạt động mới. Bạn có thể cho tôi biết làm thế nào tôi có thể tạo ra 'bố trí xml' cho hoạt động mới này (giống như main.xml). –

+2

@ShadowGod Đây là một câu trả lời hoàn hảo, nhưng nếu bạn sử dụng trình thủ thuật "Mới" của Eclipse, nó sẽ tạo lớp và bố cục của Activity mới cho bạn và thậm chí thêm các mục cần thiết vào tệp AndroidManifest.xml của dự án. Đó chắc chắn là cách tốt nhất và dễ nhất để thực hiện việc này. – Argus9

5

Bạn tạo hoạt động bằng cách mở rộng lớp hoạt động. Một khi bạn đã creatd lớp hoạt động, Bạn cần phải thêm hoạt động trong file androidmanifest xác định các thuộc tính cho hoạt động này ...

Một mẫu người ta sẽ có một cái gì đó như thế này ...

<activity android:name=".JsonActivity" android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 

Các hành động ở đây cho biết rằng nó là cái bắt đầu đầu tiên ..

Tôi không nghĩ rằng bạn cần sửa đổi tệp R.java ... Khi bạn thêm chúng vào tệp kê khai android và lưu nó tự động được cập nhật. Ngoài những điều mà u thêm như bố trí, các menu, chuỗi, etcc id của .... trong file xml khác nhau cũng được tự động cập nhật ...

Đúng tôi nếu tôi đã sai lầm ...

+0

Cảm ơn, hãy thử nó. Làm cách nào để liên kết tệp xml bố cục với hoạt động cụ thể? –

+0

Cảm ơn, nó không hiển thị lần đầu tiên vì bức thư đầu tiên là một thủ đô! Gotta yêu java;) –

0

Có cũng là phương pháp thử và thử nghiệm bắt đầu với một trong các mẫu và đi từ đó.

Hướng dẫn Hello là điểm khởi đầu tốt, chỉ cần chọn tùy chọn tạo từ mẫu hiện có.

Cập nhật mới nhất cho plugin eclipse thậm chí bao gồm một công cụ để đổi tên gói của bạn nếu bạn thay đổi ý định mặc dù tôi chưa sử dụng nó nên không thể nói nếu nó hoạt động. (Nhấp chuột phải vào gói rồi chọn Công cụ Android, Đổi tên gói ứng dụng).

+0

Tôi đã làm thế giới hello, cũng là thế giới hello ngoài. Trong không có hướng dẫn nào họ đề cập đến những gì "thích hợp" là tạo ra một hoạt động mới. –

+0

Xin lỗi tôi đã làm rõ ràng rằng tôi có nghĩa là bạn có thể sử dụng helloworld (hoặc bất kỳ mẫu nào khác nếu nó có chức năng bạn cần) làm mẫu. Làm theo cách đó các tài nguyên cơ bản như bố cục vv đã được tạo và liên kết cho bạn. Chỉ cần lưu một chút gõ. (... và làm giảm cơ hội nhận được nó sai!) – FixerMark

+0

Ok hiểu, nhưng tôi thích làm điều đó bằng tay thời gian này, chỉ để hiểu. –

22

Tôi biết đây là một câu hỏi cũ, nhưng tôi biết vẫn có những người với câu hỏi này cùng (tôi đã làm cho đến ngày nay)

Nếu bạn thêm một hoạt động mới để file manifest của bạn, có một liên kết đặc biệt để nhấp vào để tự động tạo Hoạt động mới, hoàn tất với phương thức onCreate() đã sẵn sàng để điền.

Mở tệp AndroidManifest.xml và chuyển đến tab 'Ứng dụng'. Trong 'Nút ứng dụng', tìm và nhấp vào nút 'Thêm'. Bạn có thể sẽ tạo một phần tử mới ở cấp cao nhất, vì vậy hãy chọn tùy chọn đó, đánh dấu 'Hoạt động' và nhấn OK.

Khi bạn đã tạo Hoạt động, hãy chuyển đến 'Thuộc tính cho hoạt động' và điền vào tên. Khi bạn đã điền tên mình muốn, hãy nhấp vào liên kết 'Tên *' màu lam bên cạnh trường. Trình hướng dẫn tệp mới sẽ hiển thị và tất cả những gì bạn phải làm là nhấn OK.

Thì đấy! Hoạt động mới, được đăng ký trong tệp kê khai và là lớp Java sẵn sàng để di chuyển.

+0

Tuyệt vời. Nếu bạn đang sử dụng một IDE, bạn cũng có thể sử dụng nó để tối đa. – superluminary

0

Điều quan trọng là phải nói rằng nếu bạn nhập tên mong muốn cho hộp Hoạt động trên tên mới, dấu chấm phải được đặt trước tên mới. Nếu không, cửa sổ để hoàn thành việc tạo mã Java sẽ không mở khi bạn nhấp vào liên kết tên.

4

Tôi đã thử tìm kiếm câu hỏi này trên Google và chưa thấy giải pháp này, vì vậy tôi nghĩ tôi nên đăng ở đây.

Trong Eclipse, bạn có thể nhấp vào nút "Mới" trên thanh công cụ. Trong Android, chọn Hoạt động Android và chạy qua trình hướng dẫn. Đây là giải pháp tốt nhất cho đến nay, vì nó cho phép bạn thiết lập bố cục và Hoạt động tất cả trong một, đồng thời cũng cập nhật Tệp kê khai cho bạn.

1

Làm thế nào để thêm mới Hoạt động Eclipse từng bước:

  1. Stpe1: Kích đúp vào androidManifest
  2. Bước 2: trên thanh Menu bấm Aplication
  3. Bước 3: Cuộn xuống nút ứng dụng và bấm thêm nút
  4. Bước 4: nhấp vào chọn Hoạt động và Ok
  5. bước 5: clik trên Texte (Tên * Lưu ý: đặt sur u clik trên texte không vào hộp văn bản)
  6. bước 6: có hộp thoại Java Class mới
    ## Heading ## viết tên classe ## Heading ## check box xây dựng từ super classe và ok.
Các vấn đề liên quan