package com.android_mvc.sample_project.activities.func_net;
import android.view.View;
import android.view.View.OnClickListener;
import com.android_mvc.sample_project.controller.FuncNetController;
import com.android_mvc.framework.activities.base.BaseNormalActivity;
import com.android_mvc.framework.controller.action.ActionResult;
import com.android_mvc.framework.controller.validation.ActivityParams;
import com.android_mvc.framework.net.HttpPostResponse;
import com.android_mvc.framework.ui.UIBuilder;
import com.android_mvc.framework.ui.UIUtil;
import com.android_mvc.framework.ui.view.MButton;
import com.android_mvc.framework.ui.view.MEditText;
import com.android_mvc.framework.ui.view.MLinearLayout;
import com.android_mvc.framework.ui.view.MTextView;
/**
* サンプルのHTTP通信アクティビティ。
* @author id:language_and_engineering
*
*/
public class HttpNetActivity extends BaseNormalActivity {
MLinearLayout layout1;
MTextView tv1;
MTextView tv2;
MEditText et1;
MButton button1;
@Override
public void defineContentView() {
final HttpNetActivity activity = this;
// 入力フォームUIを動的に構築する。
new UIBuilder(context)
.add(
layout1 = new MLinearLayout(context)
.orientationHorizontal()
.widthFillParent()
.add(
tv1 = new MTextView(context)
.text("対象URL:" )
.widthWrapContent()
,
et1 = new MEditText(context)
.widthPx(400)
.text("http://www.yahoo.co.jp/")
)
,
button1 = new MButton(context)
.text("このURLにアクセス")
.click(new OnClickListener(){
@Override
public void onClick(View v) {
FuncNetController.submit(activity);
}
})
,
tv2 = new MTextView(context)
.text("※ここに通信結果が表示されます。" )
.widthFillParent()
.heightWrapContent()
)
.display();
}
@Override
public ActivityParams toParams() {
// 入力された値をすべて回収
return new ActivityParams()
.add("対象URL", "http_url", et1.getText().toString() )
;
}
@Override
public void afterBLExecuted(ActionResult ares)
{
UIUtil.longToast(this, "通信処理が完了しました。");
// 通信の結果を表示
HttpPostResponse response = (HttpPostResponse)ares.get("http_response");
if( response.isSuccess() )
{
tv2.setText( response.getText() );
}
else
{
tv2.setText( response.getErrMsg() );
}
}
}