|
|
|
11년 전
|
조회 3,862
|
|
|
|
11년 전
|
조회 3,426
|
|
|
|
11년 전
|
조회 3,810
|
|
|
|
11년 전
|
조회 2,903
|
|
|
|
11년 전
|
조회 4,151
|
|
|
|
11년 전
|
조회 4,564
|
|
|
|
11년 전
|
조회 5,923
|
|
|
|
11년 전
|
조회 7,272
|
|
|
|
11년 전
|
조회 3,580
|
|
|
|
11년 전
|
조회 3,171
|
|
|
|
11년 전
|
조회 2,912
|
|
|
|
11년 전
|
조회 2,616
|
|
|
|
11년 전
|
조회 2,323
|
|
|
|
11년 전
|
조회 2,501
|
|
|
|
11년 전
|
조회 2,426
|
|
|
|
11년 전
|
조회 2,864
|
|
|
|
11년 전
|
조회 3,729
|
|
|
|
11년 전
|
조회 2,329
|
|
|
|
11년 전
|
조회 2,514
|
|
|
관리자
|
11년 전
|
조회 3,141
|
|
|
|
11년 전
|
조회 2,838
|
|
|
|
11년 전
|
조회 2,722
|
|
|
|
11년 전
|
조회 2,667
|
|
|
|
11년 전
|
조회 2,595
|
|
|
|
11년 전
|
조회 4,925
|
|
|
|
11년 전
|
조회 2,555
|
|
|
|
11년 전
|
조회 3,170
|
|
|
|
11년 전
|
조회 3,408
|
|
|
|
11년 전
|
조회 2,734
|
|
|
|
11년 전
|
조회 2,748
|
|
|
|
11년 전
|
조회 2,715
|
|
|
|
11년 전
|
조회 2,184
|
|
|
|
11년 전
|
조회 2,577
|
|
|
|
11년 전
|
조회 2,929
|
|
|
|
11년 전
|
조회 2,882
|
|
|
|
11년 전
|
조회 2,214
|
|
|
|
11년 전
|
조회 2,581
|
|
|
|
11년 전
|
조회 2,359
|
|
|
|
11년 전
|
조회 3,086
|
|
|
|
11년 전
|
조회 2,736
|
|
|
|
11년 전
|
조회 2,082
|
|
|
|
11년 전
|
조회 3,503
|
|
|
|
11년 전
|
조회 8,005
|
|
|
|
11년 전
|
조회 2,631
|
|
|
|
11년 전
|
조회 2,510
|
|
|
|
11년 전
|
조회 2,380
|
|
|
|
11년 전
|
조회 2,267
|
|
|
|
11년 전
|
조회 2,826
|
|
|
|
11년 전
|
조회 2,202
|
|
|
|
11년 전
|
조회 4,781
|
|
|
|
11년 전
|
조회 2,629
|
|
|
|
11년 전
|
조회 3,002
|
|
|
|
11년 전
|
조회 2,352
|
|
|
|
11년 전
|
조회 3,897
|
|
|
|
11년 전
|
조회 2,664
|
|
|
|
11년 전
|
조회 4,025
|
|
|
|
11년 전
|
조회 3,347
|
|
|
|
11년 전
|
조회 3,837
|
|
|
|
11년 전
|
조회 2,846
|
|
|
관리자
|
11년 전
|
조회 3,937
|
|
|
|
11년 전
|
조회 2,755
|
|
|
|
11년 전
|
조회 2,461
|
|
|
|
11년 전
|
조회 2,430
|
|
|
|
11년 전
|
조회 6,823
|
|
|
|
11년 전
|
조회 2,638
|
|
|
|
11년 전
|
조회 2,185
|
|
|
|
11년 전
|
조회 2,148
|
|
|
|
11년 전
|
조회 2,517
|
|
|
|
11년 전
|
조회 2,883
|
|
|
|
11년 전
|
조회 3,315
|
|
|
|
11년 전
|
조회 3,610
|
|
|
관리자
|
11년 전
|
조회 2,557
|
|
|
관리자
|
11년 전
|
조회 2,806
|
|
|
|
11년 전
|
조회 2,767
|
|
|
|
11년 전
|
조회 2,372
|
|
|
|
11년 전
|
조회 2,193
|
|
|
|
11년 전
|
조회 3,569
|
|
|
|
11년 전
|
조회 2,825
|
|
|
|
11년 전
|
조회 4,660
|
|
|
|
11년 전
|
조회 2,574
|
|
|
|
11년 전
|
조회 2,465
|
|
|
|
11년 전
|
조회 3,514
|
|
|
|
11년 전
|
조회 4,180
|
|
|
|
11년 전
|
조회 3,532
|
|
|
|
11년 전
|
조회 4,574
|
|
|
|
11년 전
|
조회 2,952
|
|
|
|
11년 전
|
조회 4,703
|
|
|
|
11년 전
|
조회 2,231
|
|
|
|
11년 전
|
조회 2,519
|
|
|
|
11년 전
|
조회 3,365
|
|
|
|
11년 전
|
조회 3,715
|
|
|
|
11년 전
|
조회 2,316
|
|
|
|
11년 전
|
조회 4,252
|
|
|
|
11년 전
|
조회 4,426
|
|
|
|
11년 전
|
조회 2,958
|
|
|
|
11년 전
|
조회 3,644
|
|
|
|
11년 전
|
조회 2,506
|
|
|
|
11년 전
|
조회 2,818
|
|
|
|
11년 전
|
조회 2,518
|
|
|
|
11년 전
|
조회 3,740
|
댓글 8개
저도 그렇게 생각을 했는데, 앱스토어에서 웹뷰로만 구현된 어플은 통과시켜주지 않는다고 하더라구요.
그래서 불가피하게 폰갭을 이용하려고 합니다.. ㅎ
좋은 예제는 아래서 보실 수 있습니다.
http://catchmayuri.blogspot.com/2012/01/working-with-json-phonegap-application.html
XML 로 연동하는 경우는, 저는 더 어렵게 느껴지네요.
아마 제가 XMLHttpRequest 에 친숙하지 않아서 그렇게 느껴지는 것 같습니다.
아, 폰갭에서 jQuery 로 .load 만 해도 먹힙니다!!!
$('#content').load('http://www.gnuboard.com/index.php');
저는 워드프레스 사용자라서 그냥 워프+폰갭 플러그인을 사용하는 관계로 (앱프레서라고 있습니다.) 어떤 방식이 가장 좋은지 (그러니까 단순히 jQuery 를 이용한 연동이 좋은지, JSON 으로 한번 감싸서 연동해야 하는지) 자세하게는 모르지만, (아마도 단순히 .load 하면 별의별 문제가 다 발생하겠죠? ㅎㅎㅎ 그렇게 쉬울리가 없잖아!!!)
http://apppresser.com/download/
이거 다운받아서 소스코드를 한번 참고삼아 살펴보셔도 좋으실 듯 합니다.
일단 닥즐찾
[code]
package 패키지;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.pm.ActivityInfo;
import org.apache.cordova.*;
public class MainActivity extends DroidGap {
final protected static String homeUrl = "file:///android_asset/www/index.html"; // 홈 주소
final protected static String listUrl = "file:///android_asset/www/list.html"; // 리스트 주소
@Override
public void onCreate(Bundle savedInstanceState) {
/*
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
*/
super.onCreate(savedInstanceState);
super.loadUrl(homeUrl);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
// 하드웨어키 제어
public boolean onKeyDown(int keyCode, KeyEvent event) {
// 뒤로가기키로 종료
if( keyCode == KeyEvent.KEYCODE_BACK ) {
new AlertDialog.Builder(this)
.setIcon(android.R.drawable.ic_dialog_alert)
.setTitle("종료")
.setMessage("종료하시겠습니까?")
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick( DialogInterface dialog, int which ) {
finish();
}
}).setNegativeButton( "No", null ).show();
return true;
}
return super.onKeyDown(keyCode, event);
}
// 하드웨어 메뉴키 메뉴를 설정한다.
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, 0, 0, "홈으로");
menu.add(0, 1, 0, "리스트");
menu.add(0, 2, 0, "다음");
menu.add(0, 3, 0, "종료");
return super.onCreateOptionsMenu(menu);
}
// 메뉴에 따른 동작값을 추가한다.
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()) {
case 0 :
Toast toast = Toast.makeText(this, "홈으로", Toast.LENGTH_SHORT); // 토스트 띄우기
toast.show(); // 토스트 보여주기
super.loadUrl(homeUrl);
break;
case 1 :
Toast toast_1 = Toast.makeText(this, "리스트", Toast.LENGTH_SHORT); // 토스트 띄우기
toast_1.show(); // 토스트 보여주기
super.loadUrl(listUrl);
break;
case 2 :
Toast toast_2 = Toast.makeText(this, "다음", Toast.LENGTH_SHORT); // 토스트 띄우기
toast_2.show(); // 토스트 보여주기
super.loadUrl("http://m.daum.net");
break;
case 3 :
new AlertDialog.Builder(this)
.setIcon(android.R.drawable.ic_dialog_alert)
.setTitle("종료")
.setMessage("종료하시겠습니까?")
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick( DialogInterface dialog, int which ) {
finish();
}
}).setNegativeButton( "No", null ).show();
break;
}
return super.onOptionsItemSelected(item);
}
}
[/code]
저같은 경우 외부 홈페이지와 연결이 필요 한경우 homeUrl를 외부 주소로 변경 하여 사용 하곤 한답니다.