Điều tôi muốn làm là tạo tệp java có nhiều chức năng khác nhau và tôi muốn sử dụng nó trên toàn bộ dự án. Ví dụ kiểm tra kết nối Internet. Sau đó, tôi muốn gọi hàm đó trên mỗi hoạt động. Có ai biết làm thế nào để làm điều đó?tạo chức năng toàn cầu trong android
Trả lời
Tạo lớp như thế này và thêm chức năng của mình tại đây:
package com.mytest;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
public class MyGlobals{
Context mContext;
// constructor
public MyGlobals(Context context){
this.mContext = context;
}
public String getUserName(){
return "test";
}
public boolean isNetworkConnected() {
ConnectivityManager cm = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = cm.getActiveNetworkInfo();
if (ni == null) {
// There are no active networks.
return false;
} else
return true;
}
}
Sau đó tuyên bố dụ trong hoạt động của bạn:
MyGlobals myGlog;
Sau đó khởi tạo và phương pháp sử dụng từ buổi học toàn cầu:
myGlog = new MyGlobals(getApplicationContext());
String username = myGlog.getUserName();
boolean inConnected = myGlog.isNetworkConnected();
Yêu cầu quyền trong tệp kê khai của bạn:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Cảm ơn.
đây là những gì tôi cần nhưng để kiểm tra kết nối internet im chạy một boolean sử dụng kết nối mananger nhưng nó không cho phép tôi truy cập getSystemService tôi cần phải mở rộng lớp học của tôi với Activity –
@LukeBatley không cần phải mở rộng với hoạt động. xem chỉnh sửa của tôi cho nó. –
@LukeBatley sử dụng 'mContext.getSystemService' cho nó. –
Điều này có thể không phải là cách tốt nhất để làm điều này và sẽ có những người khác có thể đề xuất một số giải pháp thay thế tốt hơn, nhưng đây là cách tôi sẽ làm gì.
Tạo lớp học với tất cả các chức năng và lưu nó thành có thể Utility.java
.
Sử dụng đối tượng của lớp Tiện ích trong suốt mã mà bạn cần phải gọi bất kỳ chức năng nào trong số đó.
Utility myUtilObj = new Utility();
myUtilObj.checkInternet();
Hoặc có thể làm cho chức năng tĩnh và bạn chỉ có thể sử dụng Utility.checkInternet()
có bao giờ bạn cần phải gọi nó.
hi cảm ơn lời khuyên của bạn im không chắc chắn làm thế nào những gì bạn có nghĩa là bằng cách sử dụng một đối tượng của lớp này mặc dù những gì bạn nói có vẻ là tại chỗ trên –
Những gì ông có nghĩa là "đối tượng của lớp tiện ích" – Swapnil
Tôi đã cập nhật câu trả lời của tôi với mã để làm cho bản thân mình rõ ràng hơn. Tạo một đối tượng Utility và sau đó sử dụng nó để gọi các hàm. Nhưng yeah, làm cho các chức năng tĩnh là một lựa chọn sạch hơn. – Swayam
Bạn có thể tạo một lớp tiện ích, trong đó có một tập hợp các phương thức tĩnh (cho rằng một lớp như vậy không giữ bất kỳ trạng thái thực nào của chính nó). Bây giờ các phương thức tĩnh này có thể được gọi từ các phần khác nhau của ứng dụng.
Tạo lớp Utility như thế này:
public final class AppUtils {
private AppUtils() {
}
@SuppressLint("NewApi")
public static void setTabColor(TabHost tabHost) {
int max = tabHost.getTabWidget().getChildCount();
for (int i = 0; i < max; i++) {
View view = tabHost.getTabWidget().getChildAt(i);
TextView tv = (TextView) view.findViewById(android.R.id.title);
tv.setTextColor(view.isSelected() ? Color.parseColor("#ED8800") : Color.GRAY);
view.setBackgroundResource(R.color.black);
}
}
}
Bây giờ, từ bất kỳ loại ứng dụng Android, bạn có thể chức năng của Apputils như thế này:
AppUtils.setTabColor(tabHost);
Chỉ cần tạo public
lớp với static
phương pháp, một cái gì đó như thế này ...
package com.example.test1;
public class GlobalMethod {
public static String getHelloWorld() {
return "Hello, World!";
}
public static int getAppleCount() {
return 45;
}
}
Bây giờ từ bất cứ nơi nào bạn có thể gọi cho các phương pháp ...
GlobalMethod.getHelloWorld();
GlobalMethod.getAppleCount();
Có nhiều cách để thực hiện, hãy xem các câu trả lời khác. Hy vọng điều này là hữu ích.
- 1. biến toàn cầu trong chức năng R
- 2. Chức năng jquery toàn cầu
- 3. Chức năng toàn cầu CodeIgniter
- 4. Rails - Chức năng toàn cầu phổ quát
- 5. JS khôi phục default/chức năng toàn cầu
- 6. ng-click không kích hoạt chức năng toàn cầu javascript
- 7. cách sử dụng (chức năng (toàn cầu) {...}) (điều này);
- 8. C++ chức năng cục bộ tĩnh so với chức năng toàn cầu
- 9. Tại sao toàn cầu không có chức năng?
- 10. Các biến toàn cục chức năng Python?
- 11. cách tạo đầy đủ chức năng của lịch trong android?
- 12. Chức năng PBKDF2 trong Android
- 13. Tạo Mã định danh Android Toàn cầu Độc đáo
- 14. Yêu cầu) chức năng (trong JavaScript
- 15. Tìm kiếm toàn cầu Trong Android
- 16. Tạo chức năng trong jquery
- 17. Chức năng tạo trong Lua
- 18. Tạo một biến toàn cầu độc đáo mới mỗi lần một chức năng được chạy trong javascript
- 19. Làm thế nào để tạo biến toàn cầu trong prolog
- 20. Chức năng tương tự SwingUtilities.invokeLater trong android?
- 21. Kiểm tra xem thuộc tính/chức năng toàn cầu đã được ghi đè trong JavaScript
- 22. Tại sao các chức năng không có sẵn trong đối tượng toàn cầu?
- 23. Không thể tăng biến toàn cầu từ chức năng trong python
- 24. Chức năng toàn cầu có thể tồn tại trong C# như thế nào?
- 25. C++ và HOÀN TOÀN chức năng động
- 26. Bộ chức năng thông minh hoàn toàn
- 27. Cách xác định chức năng toàn cục mới trong javascript
- 28. android - cách tạo chức năng có thể tái sử dụng?
- 29. Chức năng Java (phương pháp) có sẵn ở khắp mọi nơi (toàn cầu)
- 30. Chức năng Toàn cầu và Địa phương và Riêng tư (Javascript)
bạn có thể thử với giải pháp được đăng với ví dụ. –