2016-07-24 6 views
1

私は自分のゲームコレクションプロジェクトに取り組んでいます。まあ、それは私が仕上げて自分自身を使うつもりの学校プロジェクトでした。私はそれぞれのアクティビティとJavaページをコピーして貼り付け、毎回ゲームの名前だけを変更していますが、スクロールしています。マニフェストとメインアクティビティのページに同じ手順でいくつかの行を追加する必要がありますが、それほど長くはありません。私は、プログラムやバッチファイルがあるかどうか、またはゲームの名前だけを変更するコードを生成する簡単なプログラムを書くことができる方法を知りたかったのですが、その場所にvarを追加して、コード全体の名前。以下は、abadoxという名前のゲームのクラスの1つです。今私がやっているのは、このファイルに対処しているだけです。私は、このコードをコピーして貼り付けて、数千回コピーして、すべてのゲームを手に入れて時間を無駄にする代わりに、これを行う簡単な方法があるかどうかを知りたかっただけです。私はおそらくいくつかのコードが間違っている私はかなり自分自身を教えていると私は私が望むように働いている。私はデータベースを使用しようとしましたが、正しく動作させる方法を理解できませんでした。私はデータベースを使用してファイルを引っ張ったかもしれませんが、私はそれを知っていますが、それを行う方法がわかりませんでした。Android Studio 1単語の変更だけで新しいアクティビティを作成する方法はありますか?

public class Abadox extends Activity { 
    EditText abadoxCopies; 
    EditText abadoxBar; 
    EditText abadoxCom; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_abadox); 

    abadoxCopies = (EditText) findViewById(R.id.txtabadoxCopies); 
    abadoxBar = (EditText) findViewById(R.id.txtabadoxBor); 
    abadoxCom = (EditText) findViewById(R.id.txtabadoxCom); 
     SharedPreferences sharedPref = getSharedPreferences("abadox", 0); 

     String strabadoxcopies = sharedPref.getString("abadoxcopies", ""); 
     String strabadoxbarrow = sharedPref.getString("abadoxbarrow", ""); 
     String strabadoxcomment = sharedPref.getString("abadoxcomment", ""); 

    abadoxCopies.setText(strabadoxcopies); 
    abadoxBar.setText(strabadoxbarrow); 
    abadoxCom.setText(strabadoxcomment); 

    } 
    //Save files 

public void saveInfo(View view) { 
    SharedPreferences sharedPref = getSharedPreferences("abadox", 0); 

    SharedPreferences.Editor editor = sharedPref.edit(); 
    editor.putString("abadoxcopies", abadoxCopies.getText().toString()); 
    editor.putString("abadoxbarrow", abadoxBar.getText().toString()); 
    editor.putString("abadoxcomment", abadoxCom.getText().toString()); 
    editor.apply(); 
    editor.commit(); 

    Intent intent = new Intent(this, NES.class); 
    startActivity(intent); 

} 
+0

抽象クラスを作成しますか? – EpicPandaForce

答えて

0

よくAndroidスタジオFile Templatesを作成するオプションがあります。あなたはRight click on your package -> New -> Edit File Templatesを使って自分で作成することができます。そこで、緑のプラスをクリックして新しいテンプレートを作成することができます。次に、次を追加します。

public class ${NAME} extends Activity { 
    EditText ${var_name}Copies; 
    EditText ${var_name}Bar; 
    EditText ${var_name}Com; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_${layout}); 

     ${var_name}Copies = (EditText) findViewById(R.id.txt${var_name}Copies); 
     ${var_name}Bar = (EditText) findViewById(R.id.txt${var_name}Bor); 
     ${var_name}Com = (EditText) findViewById(R.id.txt${var_name}Com); 
     SharedPreferences sharedPref = getSharedPreferences("${var_name}", 0); 

     String strabadoxcopies = sharedPref.getString("${var_name}copies", ""); 
     String strabadoxbarrow = sharedPref.getString("${var_name}barrow", ""); 
     String strabadoxcomment = sharedPref.getString("${var_name}comment", ""); 

     ${var_name}Copies.setText(str${var_name}copies); 
     ${var_name}Bar.setText(str${var_name}barrow); 
     ${var_name}Com.setText(str${var_name}comment); 

    } 
    //Save files 

    public void saveInfo(View view) { 
     SharedPreferences sharedPref = getSharedPreferences("${var_name}", 0); 

     SharedPreferences.Editor editor = sharedPref.edit(); 
     editor.putString("${var_name}copies", ${var_name}Copies.getText().toString()); 
     editor.putString("${var_name}barrow", ${var_name}Bar.getText().toString()); 
     editor.putString("${var_name}comment", ${var_name}Com.getText().toString()); 
     editor.apply(); 
     editor.commit(); 

     Intent intent = new Intent(this, NES.class); 
     startActivity(intent); 

    } 
} 

保存してください!その後、新たに追加されたテンプレートがNewポップアップに表示されます。これを選択すると、クラス名、var_nameとレイアウトを入力するよう求められます。

他にも、複数のクラスで同じコードを他の名前と一緒に使用することは推奨されていません。 ;)

+0

私はテンプレートを作って、それを動作させることができるかどうかを調べます。 –

+0

私は新しいゲーム用キーボードG510を購入しました.Gキーを使用して各ページを保持していますので、今私がしなければならないのは1つのキーに当たって、ページ上のすべてのコードを置きます。 –

関連する問題