Trang Chủ Xã hội Truyền thông Thường được sử dụng mã trong Phát triển ứng dụng Android - núm vú

Thường được sử dụng mã trong Phát triển ứng dụng Android - núm vú

Mục lục:

Video: Hướng dẫn tự tạo 1 Ứng dụng hoặc Games Android trên ĐT mà không cần biết lập trình & Code v.v 2025

Video: Hướng dẫn tự tạo 1 Ứng dụng hoặc Games Android trên ĐT mà không cần biết lập trình & Code v.v 2025
Anonim

" Ứng dụng của tôi cần một người nhận phát sóng. Ai đó có thể nhắc nhở tôi làm thế nào tôi có thể mã một người nhận phát sóng? Và trong khi bạn đang ở đó, làm thế nào một hoạt động trở lại một kết quả? Oh, heck. Tôi có thể tìm thấy mọi thứ nhanh chóng ở đâu? "

Có các ví dụ về các loại mã được sử dụng trong phát triển ứng dụng Android sẵn sàng để bàn tay có thể là một sự trợ giúp lớn. Bạn tìm thấy rất nhiều ví dụ ngay tại đây.

Các hoạt động

Dưới đây là hoạt động bắt đầu một hoạt động khác:

public class CheatSheetActivity mở rộng Hoạt động thực hiện OnClickListener {Button button1; tĩnh cuối cùng Chuỗi MY_ACTION = "com allmycode hành động"; static final String MY_URI = "my_scheme: my_scheme_specific_part"; @ Xoá bỏ công khai void onCreate (Bundle savedInstanceState) {super. onCreate (savedInstanceState); setContentView (bố cục R. main); button1 = (nút) findViewById (R id id1); button1. setOnClickListener (this);} public void onClick (Xem arg0) {Ý định Intent = Ý tưởng mới (); ý định. setAction (MY_ACTION); ý định. setData (Phân tích Uri (MY_URI)); startActivity (intention);}}

Và đừng quên - khi bạn tạo một lớp học mới, bạn phải thêm một phần tử tương ứng vào AndroidManifest của bạn. tệp xml. Bộ lọc ý định của phần tử Cải thiện giống như sau:


Để có kết quả từ một hoạt động, hãy thêm đoạn mã sau (hoặc cái gì đó tương tự) vào ứng dụng của bạn:

cuối cùng int CODE_NUMBER = 42; cuối cùng String CLASSNAME = "CheatSheetActivity"; public void onClick (Xem arg0) {Ý định Intent = Ý tưởng mới (); ý định. setAction (MY_ACTION); ý định. setData (Phân tích Uri (MY_URI)); startActivityForResult (intention, CODE_NUMBER);} protected void onActivityResult (int codeNumber, int resultCode, Intent intent) {if (resultCode == RESULT_OK) {if (codeNumber == CODE_NUMBER) {Đăng nhập. i (CLASSNAME, intention. getData () getSchemeSpecificPart ());}}}

Và trong hoạt động tạo ra kết quả, thêm mã của loại sau:

Mục đích ý định = Ý đồ mới (); ý định. setData (Uri. parse ("result: hello")); setResult (RESULT_OK, ý định); hoàn thành();

Dịch vụ

Một dịch vụ thường làm công việc của nó mà không làm phiền (hoặc thậm chí thông báo) người sử dụng. Ví dụ: dịch vụ giá chứng khoán có thể truy cập vào web và nhận giá mua mới nhất của người dùng yêu thích. Một hoạt động khác của ứng dụng có thể lấy dữ liệu từ dịch vụ và hiển thị dữ liệu trên màn hình của thiết bị.

Đoạn mã dưới đây là dịch vụ thời tiết hoàn chỉnh (nhưng không chính xác):

lớp công khai MyWeatherService mở rộng dịch vụ {Messenger messengerToClient = null; MyIncomingHandler myIncomingHandler = new MyIncomingHandler (); Messenger messengerToService = Messenger mới (myIncomingHandler); @Chuyển công cộng đồng IBinder onBind (Intent intent) {return messengerToService.getBinder ();} class MyIncomingHandler mở rộng Handler {@Chuyển công void handleMessage (Message incomingMessage) {messengerToClient = incomingMessage. trả lời; Gói trả lời = Gói mới (); Đáp lại. putString ("thời tiết", "trời tối vào ban đêm"); Thư trả lờiMessage = Thư. đạt được(); Trả lời tin nhắn. setData (trả lời); thử {messengerToClient. gửi (replyMessage);} catch (RemoteException e) {e. printStackTrace ();}}}}

Trong một gói khác, bạn đặt mã để gọi dịch vụ thời tiết. Dưới đây là một số mã mẫu:

public class ServiceConsumerActivity mở rộng Hoạt động thực hiện OnClickListener {Messenger messengerToService = null; MyIncomingHandler myIncomingHandler = new MyIncomingHandler (); Messenger messengerFromService = Messenger mới (myIncomingHandler); Kết nối dịch vụ kết nối = new MyServiceConnection (); SharedPreferences prefs; boolean isBound = sai; void bind () {Intent intent = intent mới (); ý định. setAction ("allmycode.GETATHER"); isBound = bindService (ý định, kết nối, Bối cảnh BIND_AUTO_CREATE);} public void queryService () {if (isBound) {Gói bó = Gói mới (); bó. putString ("vị trí", "Philadelphia"); Message message = Thông báo. đạt được(); thông điệp. replyTo = messengerFromService; thông điệp. setData (bó); thử {messengerToService. gửi (tin nhắn);} catch (RemoteException e) {e. printStackTrace ();}} khác {textView1. setText (R string. service_not_bound);}} class MyIncomingHandler mở rộng Handler {@Chuyển công void handleMessage (Message msg) {Gói bó = msg. lấy dữ liệu(); textView1. setText (nhóm getString ("weather"));}} void unbind () {if (isBound) {unbindService (kết nối); isBound = false;}} lớp MyServiceConnection thực hiện dịch vụ ServiceConnection {public void onServiceConnected (ComponentName className, IBinder binder) {messengerToService = new Messenger (binder);} public void onServiceDisconnected (ComponentName n) {messengerToService = null;}} // Tôi không ' t bao gồm phương thức onCreate hoặc // onClick trong ví dụ này.}

Tất nhiên, không có ứng dụng nào tồn tại mà không có một số phần tử trong tệp kê khai. Để đăng ký dịch vụ của phần này, bạn cần một phần tử của loại sau:



Người nhận phát sóng

Khi bạn phát sóng, bạn bỏ ý định ra ngoài tự nhiên. Người nhận phát sóng với bộ lọc có mục đích tương thích sẽ thức tỉnh và làm điều gì đó hữu ích với thông tin phát sóng.

Để tạo máy thu phát của riêng bạn, bạn mở rộng lớp BroadcastReceiver của Android và bạn khai báo một OnReceive (máy chủ nhận được thông báo phát sóng) phương pháp. Ví dụ: mã sau đáp ứng các chương trình phát sóng phù hợp:

lớp công khai MyReceiver mở rộng BroadcastReceiver {@Chuyển công khai void onReceive (Context context, Intent intent) {// Thực hiện các công việc quan trọng}}

Một ứng dụng khác tạo ra chương trình phát sóng với mã của các loại sau:

Intent intent = new Intent (); ý định. setAction ("all mycode.ACTION"); sendBroadcast (ý định);

Bạn có thể đăng ký người nhận phát sóng trong AndroidManifest của mình.file xml:


Để linh hoạt hơn, bạn có thể đăng ký một máy thu trong mã Java của bạn. Các mã Java sau đây về cơ bản là yếu tố trong một AndroidManifest. file xml nào:

Bộ lọc IntentFilter = new IntentFilter (); lọc. addAction ("all all mycode. HÀNH ĐỘNG"); registerReceiver (mới MyReceiver (), bộ lọc);

Nhà cung cấp nội dung

Nhà cung cấp nội dung của ứng dụng cung cấp dữ liệu cho các ứng dụng khác chạy trên cùng một thiết bị. Giao diện của nhà cung cấp giống với giao diện của cơ sở dữ liệu, với các bảng, các hàng, các con trỏ, và tất cả những thứ tốt. Ví dụ, mã để truy vấn một nhà cung cấp nội dung như sau:

truy vấn Cursor công cộng (Uri uri, String [] các cột, String whereClause, String [] whereArgs, String sortOrder) {Con trỏ Cursor = null; int code = uriMatcher. khớp (uri); if (code == 1) {cursor = db. truy vấn (SIMPLETABLE, các cột, whereClause, whereArgs, null, null, sortOrder);} else if (code == 2) {String [] columnNames = {"_id", "name", "amount"}; Chuỗi [] rowValues ​​= {"Bảng", "4", "2"}; MatrixCursor matrixCursor = new MatrixCursor (columnNames); matrixCursor. addRow (rowValues); Con trỏ = matrixCursor;} return cursor;}

Fragments

Một đoạn giống như một khung nhìn - một điều hiển nhiên bạn có thể hiển thị bên trong một hoạt động. Nhưng không giống như một khung nhìn, một đoạn có các phương pháp vòng đời của riêng nó. Vì vậy, Android có thể tạo ra một ít ngăn xếp các mảnh vỡ bên trong một hoạt động. Khi người dùng nhấn nút Quay lại, Android sẽ mở ra một phần của ngăn xếp.

Bạn có thể đặt một mảnh vào bố cục khung sau:


Để đặt một mảnh vào bố cục, bạn thực hiện một giao dịch phân đoạn (fragment transaction). Dưới đây là những gì giao dịch mảnh như sau:

DocsFragment docsFragment = DocsFragment. newInstance (chỉ mục); FragmentManager fragmentManager = getFragmentManager (); FragmentTransaction fragmentTransaction = fragmentManager. beginTransaction (); fragmentTransaction. thay thế (R id ids, docsFragment); fragmentTransaction. addToBackStack (null); fragmentTransaction. commit ();

Intents và Intent Filters

Khi một mục đích đáp ứng được bộ lọc đích đúng, kết quả là một kết hợp được thực hiện trên trời. Nhưng các quy tắc để kết hợp ý định với các bộ lọc là phức tạp. Các quy tắc đọc giống như các điều khoản hợp pháp trong một thỏa thuận trước khi kết hôn.

Bạn có thể sử dụng các phương pháp Java để mô tả một ý định. Dưới đây là một số phương pháp thường được sử dụng:

  • setAction: Thiết lập hành động của ý định. (Một mục đích có thể chỉ có một hành động.)

  • addCategory: Thêm một thể loại vào mục đích. (Một mục đích có thể có nhiều loại)

  • setData: Đặt URI của ý định, và loại bỏ loại MIME của mục đích (nếu ý định có một loại MIME).

  • setType: Thiết lập loại MIME của mục đích và loại bỏ URI của mục đích (nếu mục đích có URI).

  • setDataAndType: Thiết lập cả URI của ý định và loại MIME của mục đích. Theo các tài liệu, "Phương pháp này rất hiếm khi được sử dụng. "

Bạn cũng có thể sử dụng mã XML để mô tả ý định.


Trong URI // www.allmycode. com: 80 / android, đề án là http, máy chủ là www. allmycode. com, cổng là 80, và con đường là android. Thẩm quyền (không phải là một trong các thuộc tính trong phần tử, nhưng rất hữu ích để biết) là www. allmycode. com: 80.

Bạn thường đặt giá trị của một bộ lọc đích trong AndroidManifest. tệp xml. Nhưng trong mã Java, Android. Nội dung. Lớp IntentFilter có rất nhiều phương pháp hữu ích. Dưới đây là một vài trong số đó:

  • addAction: Thêm một hành động vào bộ lọc.

  • addCategory: Thêm một thể loại vào bộ lọc.

  • addDataScheme: Thêm lược đồ vào bộ lọc.

  • addDataAuthority: Thêm quyền hạn vào bộ lọc.

  • addDataPath: Thêm đường dẫn vào bộ lọc.

  • addDataType: Thêm một kiểu MIME vào bộ lọc.

Bộ lọc đích có thể có nhiều hành động, nhiều loại, v.v.

Dưới đây là danh sách ngắn về các yêu cầu đối với sự phù hợp giữa mục đích và bộ lọc đích. Danh sách này không hoàn chỉnh vì vậy, nếu bạn muốn có một danh sách đầy đủ, bạn nên mua Barry Burd Phát triển ứng dụng Android cho tất cả mọi người>. Nếu mục đích có hành động, để phù hợp với mục đích, bộ lọc đích phải có hành động giống hệt nhau. Bộ lọc đích có thể có hành động bổ sung. Bất kỳ hành động bổ sung nào trong số này không ảnh hưởng đến trận đấu.

  • Nếu mục đích có các danh mục, để phù hợp với mục đích, bộ lọc đích sẽ phải có các loại này (và có thể nhiều hơn).

  • Nếu mục đích có loại MIME, để phù hợp với mục đích, bộ lọc đích phải có loại MIME phù hợp. Bộ lọc đích có thể có các loại MIME bổ sung. Bất kỳ loại MIME bổ sung nào cũng không ảnh hưởng đến trận đấu.

  • Nếu bộ lọc đích có các loại MIME, để phù hợp với bộ lọc đích, mục đích phải có loại MIME và loại MIME của mục đích phải khớp với một trong các loại MIME của bộ lọc.

  • Ở một mức độ hạn chế, việc kết hợp các loại MIME có thể liên quan đến các ký tự đại diện và các biểu thức thông thường.

  • Nếu mục đích có một lược đồ URI, để phù hợp với mục đích, bộ lọc đích phải có một lược đồ URI phù hợp.

  • Nếu một bộ lọc đích có các lược đồ URI, để phù hợp với bộ lọc đích, một ý định phải có một lược đồ URI và lược đồ URI của ý đồ phải phù hợp với một trong các lược đồ URI của bộ lọc.

  • Để hoàn tất danh sách này, hãy sao chép hai quy tắc cuối cùng, thay đổi một hoặc hai chữ trong mỗi bản sao:

Nếu mục đích có một máy chủ

  • URI , để phù hợp với intent, bộ lọc đích phải có một host URI phù hợp . Nếu một bộ lọc đích có URI

  • , để phù hợp với bộ lọc ý đồ, thì ý định phải có máy chủ lưu trữ URI và máy chủ lưu trữ URI phải khớp với một trong số các máy chủ lưu trữ URI s của bộ lọc. Nếu mục đích có cổng URI

  • , để phù hợp với mục đích, bộ lọc đích phải có cổng kết hợp của URI. Nếu một bộ lọc đích có URI

  • cổng , để phù hợp với bộ lọc đích, mục đích phải có cổng URI và cổng URI của ý định < phải khớp với một trong số các URI của bộ lọc trên t s . Nếu mục đích có đường dẫn URI

  • , để phù hợp với mục đích, bộ lọc đích phải có đường dẫn URI phù hợp . Nếu một bộ lọc đích có đường dẫn URI

  • , để phù hợp với bộ lọc đích, mục đích phải có đường dẫn URI và đường dẫn của URI phải khớp với một trong các đường dẫn URI của bộ lọc .

Thường được sử dụng mã trong Phát triển ứng dụng Android - núm vú

Lựa chọn của người biên tập

Làm thế nào để Tổ chức Bài Viết Viết cho LSAT - núm vú

Làm thế nào để Tổ chức Bài Viết Viết cho LSAT - núm vú

Cách tiếp cận của bạn đối với mẫu viết LSAT. Một số mẹo sau đây có thể giúp bạn làm điều đó. Dưới đây là một chủ đề văn bản mẫu của loại xuất hiện trên LSAT: Marilyn, một góa phụ, muốn mua một con vật cưng và đang cố gắng quyết định giữa hai con chó sẵn có. ...

LSAT Các câu hỏi thực hành phân tích phân tích - những con vú

LSAT Các câu hỏi thực hành phân tích phân tích - những con vú

Bạn sẽ thấy các câu hỏi về LSAT đề cập đến lập luận phân tích. Những câu hỏi này yêu cầu bạn sử dụng các kỹ năng suy luận để trả lời các câu hỏi có nhiều điều kiện. Bất kỳ thực hành nào bạn có thể làm trước ngày thử nghiệm sẽ chỉ giúp bạn có khả năng trả lời những câu hỏi này và cải thiện sự tự tin của bạn. Các câu hỏi lý luận phân tích câu hỏi ...

Khái niệm cơ bản Logic Bạn nên biết cho LSAT - núm vú

Khái niệm cơ bản Logic Bạn nên biết cho LSAT - núm vú

Bạn có thể đạt được điểm tốt trong lý luận lôgic LSAT các câu hỏi mà không biết các yếu tố của logic không chính thức, nhưng nếu bạn hiểu một vài thuật ngữ và khái niệm, bạn sẽ đạt được điểm cao hơn. Bạn thực sự chỉ cần biết hai thành phần cơ bản của một đối số hợp lý và một số phương pháp để đưa ra một kết luận. Các bạn có thể ghi điểm tốt về các câu hỏi lý luận hợp lý của LSAT mà không biết các yếu tố của logic không chính thức, nhưng nếu bạn hiểu một vài thuật ngữ và khái niệm thì bạn sẽ đạt

Lựa chọn của người biên tập

Chuẩn bị thi EMT - núm vú

Chuẩn bị thi EMT - núm vú

Không tham gia Đăng kiểm các chuyên gia y tế khẩn cấp quốc gia (NREMT ) thi nhẹ. Chuẩn bị cho kỳ thi kiểm tra sức khoẻ của nhân viên y tế khẩn cấp (máy vi tính) bằng cách thực hiện các bước sau: Tạo lịch học và làm theo. Học ở một nơi khuyến khích học tập và duy trì. Có tất cả các tài liệu học tập của bạn ở bên cạnh bạn. ...

ĐIều kiện cho sản khoa mà bạn nên biết cho kỳ thi EMT - nồng độ

ĐIều kiện cho sản khoa mà bạn nên biết cho kỳ thi EMT - nồng độ

Bạn sẽ cần biết về sản khoa điều kiện cho kỳ thi EMT. Điều quan trọng là phụ nữ được chăm sóc sản khoa thường xuyên trong thời kỳ mang thai. Duy trì sức khoẻ và nhận thức được những rủi ro có thể phát sinh thúc đẩy một trẻ sơ sinh khoẻ mạnh. Tuy nhiên, một số điều kiện có thể xảy ra trong thai kỳ có thể cần đến sự can thiệp của bạn. Đây là một ...

Lựa chọn của người biên tập

Làm thế nào để Thêm Người vào Tự động Tiếp thị Nuôi dưỡng Chiến dịch - núm vú

Làm thế nào để Thêm Người vào Tự động Tiếp thị Nuôi dưỡng Chiến dịch - núm vú

Bạn có thể đặt người vào tự động hóa tiếp thị của bạn nuôi dưỡng các chiến dịch sử dụng các phương pháp khác nhau. Cách bạn thêm người vào chương trình nuôi dưỡng phụ thuộc vào chiến dịch tổng thể của bạn. Theo những cách dễ hiểu nhất có thể, bạn có thể nghĩ đến việc thêm dẫn vào một chiến dịch nuôi dưỡng bằng hai cách khác nhau: tự động và thủ công. Tự động: Trong tự động ...

Làm thế nào để Thêm và Phân tích các Tham số URL với Tự động hóa Tiếp thị - đầu

Làm thế nào để Thêm và Phân tích các Tham số URL với Tự động hóa Tiếp thị - đầu

Một số công cụ tự động hóa tiếp thị bao gồm URL thông số để cho phép thông tin tùy chỉnh được truyền qua một URL. Lý do chính bạn cần tính năng này là có nhiều URL chỉ đến một vị trí và được theo dõi tại mỗi điểm nhập cảnh cho mỗi vị trí dẫn đầu. Sử dụng nhiều URL để trỏ đến một nội dung đơn lẻ là thông thường ...

Cách Tránh những Sai lầm Trang Đích trong Tự động hóa Tiếp thị - núm vú

Cách Tránh những Sai lầm Trang Đích trong Tự động hóa Tiếp thị - núm vú

Tạo các biểu mẫu và trang đích cho tự động hóa tiếp thị thật dễ dàng, nhưng bạn muốn theo dõi những lỗi phổ biến khi xuất bản trang đích. Ví dụ: khi bạn sử dụng mẫu trình bày chính, hãy đảm bảo rằng nó đang thu thập chính xác các dẫn. Kiểm tra mẫu của bạn ngay khi trang này được phát trực tuyến để xem nó ...