아래 소스는 이벤트를 걸어 놓기 위한 소스이다.
예를들어 아이폰, 안드로이드 동시에 html 파일을 만들어 놓고
이벤트성을 그 페이지에 계속 넣기 위해 사용된다.
** 어플 특성상 업뎃 되었다고 계속 페이지를 수정할수 없는 노릇이기 때문에..
xxx.php
예를들어 아이폰, 안드로이드 동시에 html 파일을 만들어 놓고
이벤트성을 그 페이지에 계속 넣기 위해 사용된다.
** 어플 특성상 업뎃 되었다고 계속 페이지를 수정할수 없는 노릇이기 때문에..
xxx.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ko" xml:lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc_kr" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" />
<link rel="apple-touch-icon" href="http://menu.mt.co.kr/mobile/images/Icon3.png" />
<title>Test</title>
</head>
<body>
<div id="wrap">
<div id="container">
<div class="event_box">
<script language="JavaScript">
<!--
alert('이벤트 준비중입니다');
location.href='toApp://close';
//-->
</script>
</div>
</div>
</div>
</body>
</html>
.class
.class
public class StarEvent extends Activity {
WebView mWebView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.starevent);
// setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);//화면가로모드
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); // 세로 유지
String link = "http://.... .. ... ..Event.html";
final WebView browser = (WebView)findViewById(R.id.webview);
browser.getSettings().setJavaScriptEnabled(true); //javascript 사용 가능하게 한다
final Context myApp = this;
browser.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onJsAlert(WebView view, String url, String message, final android.webkit.JsResult result)
{
new AlertDialog.Builder(myApp)
.setTitle("StarNews Event")
.setMessage(message)
.setPositiveButton(android.R.string.ok,
new AlertDialog.OnClickListener()
{
public void onClick(DialogInterface dialog, int which)
{
result.confirm();
}
})
.setCancelable(false)
.create()
.show();
return true;
};
});
browser.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String overrideUrl) {
view.stopLoading();
//Log.d("test", overrideUrl);
if(overrideUrl.contains("close")) {
finish(); // html 파일에서 app://close 의 close 을 따서 finish하게 된다.
}else{
view.loadUrl(overrideUrl);
}
return false;
}
public void onReceivedError(WebView view, int errorCode, String description, String fallingUrl) {
view.loadData("<html><body></body></html>", "text/html", "UTF-8");
//Toast.makeText(activity, "로딩오류"+description, Toast.LENGTH_SHORT).show();
}
});
browser.loadUrl(link);
// 실행문은 가장 아래 넣는것!! 안그러면 에러가 날것이다.
}
}
'개발도구 > aOS - 안드로이드 개발' 카테고리의 다른 글
[안드로이드] notification (0) | 2011.08.19 |
---|---|
[안드로이드, 아이폰] 푸시 (1) | 2011.08.18 |
[안드로이드] 배경이 투명한 액티비티 (0) | 2011.08.03 |
[android] mac 에 이클립스 설치 - 안드로이드 개발환경 (0) | 2011.07.22 |
[안드로이드 커니 소스] (0) | 2011.06.30 |