package com.android_mvc.sample_project.activities.main;
import android.view.View;
import android.view.View.OnClickListener;
import com.android_mvc.sample_project.R;
import com.android_mvc.sample_project.bat.SamplePeriodicService;
import com.android_mvc.sample_project.controller.MainController;
import com.android_mvc.framework.activities.base.BaseNormalActivity;
import com.android_mvc.framework.ui.UIBuilder;
import com.android_mvc.framework.ui.UIUtil;
import com.android_mvc.framework.ui.menu.OptionMenuBuilder;
import com.android_mvc.framework.ui.menu.OptionMenuDescription;
import com.android_mvc.framework.ui.view.MButton;
import com.android_mvc.framework.ui.view.MTextView;
/**
* サンプルのトップ画面。
* @author id:language_and_engineering
*
*/
public class TopActivity extends BaseNormalActivity
{
// これらのメンバ宣言は,書かなくても動作する。
MTextView tv1;
MTextView tv2;
MButton button1;
MButton button2;
MButton button3;
MButton button4;
MButton button5;
MButton button6;
MButton button7;
MButton button8;
MButton button9;
MButton button10;
@Override
public void defineContentView() {
final TopActivity activity = this;
// ここに,画面上のUI部品の定義を記述する。
new UIBuilder(context)
.add(
tv1 = new MTextView(context)
.text("ここは,Top画面です。\n画面のレイアウトには,XMLもHTMLも使っていません。" )
.widthWrapContent()
,
tv2 = new MTextView(context)
.text("このアプリの名称:" + $._(R.string.app_name) + "\n" )
.widthWrapContent()
,
button1 = new MButton(context)
.text("Toastを表示")
.click(new OnClickListener(){
@Override
public void onClick(View v) {
UIUtil.longToast(context, "Toastです。");
}
})
,
new MTextView(context)
.text("\n友達情報をDBで管理するサンプル:" )
.widthWrapContent()
,
button2 = new MButton(context)
.text("DB登録画面へ")
.click(new OnClickListener(){
@Override
public void onClick(View v) {
MainController.submit(activity, "EDIT_DB");
}
})
,
button3 = new MButton(context)
.text("DB閲覧画面へ")
.click(new OnClickListener(){
@Override
public void onClick(View v) {
MainController.submit(activity, "VIEW_DB");
}
})
,
new MTextView(context)
.text("\nGPS機能のサンプル:" )
.widthWrapContent()
,
button4 = new MButton(context)
.text("サービスを起動")
.click(new OnClickListener(){
@Override
public void onClick(View v) {
new SamplePeriodicService().startResident(context);
UIUtil.longToast(activity, "サンプルのサービス常駐を開始しました。");
}
})
,
button5 = new MButton(context)
.text("サービスの常駐を解除")
.click(new OnClickListener(){
@Override
public void onClick(View v) {
SamplePeriodicService.stopResidentIfActive(context);
UIUtil.longToast(activity, "サンプルのサービス常駐を解除しました。");
}
})
,
button6 = new MButton(context)
.text("GoogleMapのサンプルへ")
.click(new OnClickListener(){
@Override
public void onClick(View v) {
MainController.submit(activity, "MAP_SAMPLE");
}
})
,
new MTextView(context)
.text("\nレイアウト・UIのサンプル:" )
.widthWrapContent()
,
button7 = new MButton(context)
.text("HTMLによる画面描画のサンプルへ")
.click(new OnClickListener(){
@Override
public void onClick(View v) {
MainController.submit(activity, "HTML_SAMPLE");
}
})
,
button8 = new MButton(context)
.text("jQuery Mobileによる画面描画のサンプルへ")
.click(new OnClickListener(){
@Override
public void onClick(View v) {
MainController.submit(activity, "JQUERY_SAMPLE");
}
})
,
button9 = new MButton(context)
.text("タブと通信のサンプルへ")
.click(new OnClickListener(){
@Override
public void onClick(View v) {
MainController.submit(activity, "TAB_SAMPLE");
}
})
,
button10 = new MButton(context)
.text("アニメーションのサンプル")
.click(new OnClickListener(){
@Override
public void onClick(View v) {
MainController.submit(activity, "ANIM_SAMPLE");
}
})
)
.display();
}
@Override
public OptionMenuBuilder defineMenu()
{
final TopActivity activity = this;
// オプションメニューを構築
return new OptionMenuBuilder(context)
.add(
new OptionMenuDescription()
{
@Override
protected String displayText() {return "DB登録";}
@Override
protected void onSelected() {
// 画面遷移
MainController.submit(activity, "EDIT_DB");
}
}
)
.add(
new OptionMenuDescription()
{
@Override
protected String displayText() {return "DB閲覧";}
@Override
protected void onSelected() {
// 画面遷移
MainController.submit(activity, "VIEW_DB");
}
}
)
;
}
@Override
public void onBackPressed()
{
// 戻るキーが押されたら終了
moveTaskToBack(true);
}
}