Objectといっても広すぎるので、Fragmentを生成するテンプレートにします。
Objectのテンプレートは
[SDK_ROOT]/tools/templates/other配下にあります。
ここにFragmentという名前のテンプレートを作成します。
(なんでよく使うFragmentのテンプレートが最初から無いんだろう(^_^;))
templates配下のフォルダ構成です。
template.xml
<?xml version="1.0"?>
<template
format="1"
revision="1"
name="New Fragment"
description="Creates a new fragment class">
<dependency name="android-support-v4" revision="8" />
<parameter
id="className"
name="Class Name"
type="string"
constraints="class|unique|nonempty"
default="MyFragment" />
<globals file="globals.xml.ftl" />
<execute file="recipe.xml.ftl" />
</template>
今回はFragmentなのでSupport Libraryをインポートします。recipe.xml.ftl
<?xml version="1.0"?>
<recipe>
<instantiate from="src/app_package/Fragment.java.ftl"
to="${srcOut}/${className}.java" />
</recipe>
globals.xml.ftl<?xml version="1.0"?>
<globals>
<global id="srcOut" value="src/${slashedPackageName(packageName)}" />
</globals>
Fragment.java.ftlpackage ${packageName};
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class ${className} extends Fragment {
@Override
public void onAttach(Activity activity) {
// TODO 自動生成されたメソッド・スタブ
super.onAttach(activity);
}
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO 自動生成されたメソッド・スタブ
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// TODO 自動生成されたメソッド・スタブ
return super.onCreateView(inflater, container, savedInstanceState);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
// TODO 自動生成されたメソッド・スタブ
super.onActivityCreated(savedInstanceState);
}
@Override
public void onStart() {
// TODO 自動生成されたメソッド・スタブ
super.onStart();
}
@Override
public void onResume() {
// TODO 自動生成されたメソッド・スタブ
super.onResume();
}
@Override
public void onPause() {
// TODO 自動生成されたメソッド・スタブ
super.onPause();
}
@Override
public void onStop() {
// TODO 自動生成されたメソッド・スタブ
super.onStop();
}
@Override
public void onDestroyView() {
// TODO 自動生成されたメソッド・スタブ
super.onDestroyView();
}
@Override
public void onDestroy() {
// TODO 自動生成されたメソッド・スタブ
super.onDestroy();
}
@Override
public void onDetach() {
// TODO 自動生成されたメソッド・スタブ
super.onDetach();
}
}
空のFragmentを生成します。FragmentのライフサイクルはActivityより多くてよく忘れるのでライフサイクル順にOverrrideさせてます。手抜きですがこれで完成です。(手の込んだやつは追々...)
あとはActivityと同様にEclipseから以下の手順で追加できます。
[ファイル]→[新規]→[その他]→[Android]→[Android オブジェクト]
Create Android ObjectでFragmentを選択し、Class Nameを入力したら完了です。
これでFragmentを生成することができました。
一応作成したのを置いておきます。Fragment.zip
これで一通りのテンプレート作成は終了です。Projectのテンプレートは現在1つしか作れないため最小構成になると思いますが、ActivityとFragmentは実際に使う場合、標準のLoginActivityなどのように用途に合わせて作成するとより便利になります。
...といっても個人で作るのは限界があるので、Googleか誰かがテンプレートの共有サイト(システム)を作ってくれないかなぁ...と[壁]_・)チラッ

