2011-01-21 23 views
5

Trước hết, tôi hoàn toàn mới mẻ đối với bất kỳ loại mã hóa nào. Tôi bắt đầu cố gắng tạo một ứng dụng với App Inventor, nhưng nó trở nên quá lớn và không thể làm chính xác những gì tôi muốn. Vì vậy, bây giờ tôi đang cố gắng làm tất cả từ đầu.Tính năng này có được thiết lập cho ứng dụng của tôi không?

Tôi nghĩ rằng tôi đang nhận được những điều được tìm ra, nhưng tôi muốn kiểm tra và xem điều này có hợp lý hay không trước khi tôi có và xây dựng toàn bộ điều.

Điều tôi đang hướng đến là màn hình chính với một loạt các nút trên đó. Mỗi nút trong số đó sẽ đưa bạn đến một bộ chỉ đường là một loạt hình ảnh và văn bản mà bạn có thể lướt qua.

Điều tôi đang nghĩ là tạo hoạt động cho màn hình chính và một hoạt động cho từng bộ chỉ đường. Trên một chính, tôi đặt một bảng bố trí trong đó có tất cả các nút. Mỗi bộ chỉ đường sẽ là hoạt động riêng của nó với một trình xem flipper để đi qua tất cả các bức ảnh/văn bản.

Điều đó có hợp lý không? Có cách nào tốt hơn để làm điều này hay điều này tốt không? Cảm ơn!

Trả lời

1

Có vẻ như có hai hoạt động. Hoạt động chính của bạn với bộ nút và hoạt động thứ hai hiển thị một tập hợp các hướng dẫn và hình ảnh. Chỉ cần xây dựng hoạt động của bạn như vậy, dựa trên cách nó được khởi chạy từ ứng dụng chính của bạn, nó đọc thông tin được hiển thị.

Chỉnh sửa: Chi tiết

Thành thật mà nói, đây là một câu hỏi thiết kế phần mềm khá rộng. Bạn muốn tách riêng những gì bạn đang hiển thị từ cách bạn đang hiển thị nó.

Tôi sẽ liên kết lỏng lẻo đến nội dung của bạn dưới dạng trang (văn bản và hình ảnh). Đây là số nội dung khi chúng tôi nói về dữ liệu ứng dụng của bạn. Những gì bạn muốn làm là xác định thêm điều này vào một thứ gì đó giống như một đối tượng:

public class PageData implements Serializable { 
    String imageUrl; 
    String description; 
} 

public class Book implements Serializable { 
    ArrayList<PageData> swipeablePages; 
} 

Khi bạn gọi Hoạt động của mình hiển thị một tập hợp các trang, bạn sẽ chuyển Sách làm phụ thêm. Hoạt động của bạn sau đó được viết chung để chỉ hiển thị bất kỳ cuốn sách nào được gửi đến nó. Điều này làm giảm số lượng Hoạt động khác nhau mà bạn có rất nhiều bởi vì bây giờ, bạn không còn cần phải có Hoạt động của bạn nói 'Tôi là mẹ Goose Nursery Rhymes' ... thay vào đó nó chỉ nói "Tôi có thể hiển thị bất kỳ cuốn sách nào bạn ném vào tôi" và hoạt động chính của bạn giờ đây có thể có giá sách là 30 cuốn sách, hoạt động chính tạo sách và hiển thị chỉ mục và hoạt động thứ hai của bạn hiển thị và cho phép người dùng tương tác với một cuốn sách. Bây giờ bạn có thể xuất bản ý tưởng của mình với tư cách là "nội dung: mybookdisplayer" và giải thích cho các nhà phát triển khác những cuốn sách nên trông như thế nào. Bạn thậm chí có thể nhúng thêm vào trình xem sách của bạn và kiếm hàng triệu đô la :) Dù sao, tất cả bắt đầu bằng cách chia số từ số cách. Nếu bạn nhận được sự tách biệt đó, tôi nghĩ bạn sẽ thấy rằng mã của bạn có thể tái sử dụng và dễ bảo trì hơn.

+0

Tôi chấp nhận. Nhưng để xây dựng trên câu trả lời này, hoạt động thứ hai sẽ có một lượt xem văn bản và hình ảnh. Trong khi tạo ý định cho sự khởi động, hãy đặt chi tiết về văn bản và hình ảnh sẽ được hiển thị trên gói ý định. Trong hoạt động thứ hai có được ý định (getIntent) và đọc thêm gói cho giá trị văn bản và hình ảnh và thiết lập nó. (Một điều nữa là tên cột văn bản và hình ảnh phải là hằng số tĩnh công khai.) Hãy cho tôi biết nếu bạn cần thêm chi tiết? (kể từ khi bạn đề cập rằng bạn mới lập trình) –

+0

Có, các chi tiết khác sẽ hữu ích. – KarenElissa

+0

Opps, không có nghĩa là để gửi điều đó ... Hoạt động thứ hai (và sẽ thực sự có nhiều người trong số này, một cho mỗi bộ hướng) có một Flipper View và cho mỗi "trang" của View Flipper, có Chế độ xem hình ảnh và Chế độ xem văn bản. – KarenElissa

1

Phương pháp của bạn có ý nghĩa nhưng có thể được cải thiện. Đối với một người mới bắt đầu xem nó sẽ xuất hiện dễ dàng hơn để thực hiện các hoạt động riêng biệt cho từng hướng khác nhau được thiết lập.

Trong tương lai, bạn có thể chia nhỏ thành hai hoạt động. Cái đầu tiên bạn vạch ra nhưng cái thứ hai sẽ khác.

Hoạt động thứ hai sẽ chứa mã để lật qua dữ liệu nhưng bản thân dữ liệu sẽ khác nhau. Bạn có thể sử dụng một cái gì đó gọi là extras. Xem Common Tasks and How to Do Them in Android - Some Intent examples

Bạn khởi chạy ý định/hoạt động thứ hai với dữ liệu có thể được sử dụng để xác định nút nào người dùng đã nhấn và trong hoạt động thứ hai, đọc giá trị này.

Bạn sẽ phải tạo mảng trong hoạt động thứ hai cho từng bộ chỉ đường, sau đó tùy thuộc vào tùy chọn mà người dùng đã chọn, áp dụng dữ liệu từ các mảng này cho hiển thị/chế độ xem của người dùng.

Tuy nhiên, đối với người mới bắt đầu, ý tưởng của bạn có vẻ hoàn hảo. Làm quen với môi trường và công cụ mới sau đó bắt đầu xem xét các phương pháp nâng cao hơn.

+0

Cảm ơn, tôi rất vui khi thấy tôi ít nhất là đi đúng hướng. – KarenElissa

Các vấn đề liên quan