如何添加我经常用于android studio的方法?

时间:2017-07-27 16:47:09

标签: java android android-studio

例如,

public void show_message(String message){
    Toast.makeText(this, message, Toast.LENGTH_SHORT).show();
}

我希望这个方法在创建新活动或java类时添加自动Activity.java。

我想保存这样的不同方法,并将其快速地包含在我的项目中。

4 个答案:

答案 0 :(得分:7)

您应该做的是创建BaseActivity并让您的活动扩展此BaseActivity。添加此活动中的所有默认方法,以便您可以在任何地方使用它们。您可以参考https://docs.angularjs.org/api/ng/service/ Github项目以供参考。它使用MVP。

以下是this的直接链接。

答案 1 :(得分:3)

您只需要制作一个 Common Utilities 类。只需将类复制并粘贴到您正在使用它的任何项目中。只需将其方法访问说明符设置为 public staic ,以便您可以轻松访问它。 例如,

CommonUtilities.showToastMessage(String text);

答案 2 :(得分:0)

我要做的是创建一个配置类并将所有这些小东西存储在其中。例如,看看这个:

public class Config {
    public Context context;
    public String sharedPrefsName;
    public String carTablesName, carsTableCarColumn, databaseName;
    public int databaseNewVersion, databaseOldVersion;
    public boolean showNotificationsToCustomer;
    public String customerNotificationState;
    public String userMobile;
    public SharedPreferences preferences;
    public String customerChatTableName;
    public String customerChatMessageColumn;
    public String customerChatSentByCustomerColumn;
    public String customerChatTimeColumn;
    public String loggedInUserId;
    public String loggedInUserName;
    public String customerChatSupportNotifyingUrl;

    public Config(Context context) {
        this.context = context;
        customerChatSupportNotifyingUrl = "";
        customerChatTableName = "customerChat";
        customerChatMessageColumn = "customerMessage";
        customerChatTimeColumn = "sentOn";
        customerChatSentByCustomerColumn = "isSentByCustomer";
        sharedPrefsName = context.getString(R.string.shared_prefs_login_validator);
        preferences = context.getSharedPreferences(sharedPrefsName, Context.MODE_PRIVATE);
        customerNotificationState = context.getString(R.string.customer_notification_state);
        showNotificationsToCustomer = preferences.getBoolean(customerNotificationState, true);
        carTablesName = context.getString(R.string.user_car_table);
        carsTableCarColumn = context.getString(R.string.user_car_table_car_column);
        databaseName = context.getString(R.string.user_db);
        databaseNewVersion = 3;
        databaseOldVersion = 1;
        loggedInUserId = preferences.getString(context.getString(R.string.user_db), "");
        userMobile = preferences.getString(context.getString(R.string.user_mobile), "");
        loggedInUserName = preferences.getString(context.getString(R.string.user_name), "");
    }
}

我已将所有常量放在一个文件中,因此您无需始终查看它们。如果您的应用程序规模增长,这将非常有用。

对于使用进度对话框,我使用这样的类:

public class MyProgressDialog extends ProgressDialog {
    String title, message;

    public MyProgressDialog(Context context, String title, String message) {
        super(context);
        if (!title.equals("")) this.setTitle(title);
        this.setMessage(message);
        this.setCancelable(false);
        this.setIndeterminate(false);
    }
}

这只是扩展ProgressDialog的单个类。因此,您可以获取进度对话框类的所有功能。

同样对于吐司,你也可以这样做。如果您希望在创建活动时显示它们,请保留以下内容:

MyProgressDialog dialog=new MyProgressDialog(this,"title","message");
dialog.show();

在你的活动的onCreate()方法中。你也可以为吐司做同样的事。

如果是java类,只需创建一个构造函数并将该代码段保存在该构造函数中。

答案 3 :(得分:0)

您需要阅读"文件模板" https://riggaroo.co.za/custom-file-templates-android-studio/这是一个很大的话题,但这是值得的。