我在学习的同时为Android创建了一些小应用程序。作为一名PHP开发人员,习惯它是一项挑战。
我特别想知道如何在一个单独的类中定义几个“常规”函数。例如,我有一个检查网络连接是否可用的功能,如果没有,则会显示一个对话框,说明用户应该启用它。目前,我的一些活动中存在该功能。当然这看起来很奇怪 - 我认为将它定义一次并将其包含在需要的活动中更合乎逻辑。
我尝试将它放在一个新类中,并将该类包含在原始活动中。但是失败了,因为不再接受getBaseContext()了。
我想知道如何继续前进。我应该为Google做什么?这种机制叫什么?
答案 0 :(得分:1)
您需要使用静态方法创建类。喜欢这个
public class HelperUtils {
public static void checkNetworkConnection(Context ctx) {...}
}
然后你可以从这样的地方叫它:
HelperUtils.checkNetworkConnection(this.getContext());
假设当前班级有上下文。
您应该阅读有关不同类型方法的一般OOP概念的书籍。
答案 1 :(得分:1)
您可以创建一个类 - 让我们称之为NetworkUtils。在这个类中,您可以创建静态方法boolean isNetworkConnectionAvailable(),如果可用则返回true,否则返回false。在这个类中,您可以创建另一个静态方法void showNoConnectionDialog(Activity activity) - 在此方法中,您可以创建以
开头的对话框public static void showNoConnectionDialog(Activity activity) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
//setting message, listener etc. and finally
builder.create().show();
}
在您要查看和处理网络连接的活动中,您应该致电:
if (!NetworkUtils.isConnectionAvailable(getApplicationContext())) {
NetworkUtils.showNoConnectionDialog(YourActivityClassName.this)
}
我想这应该可行。