1. JDK  설치 (Java SE Delvelopment Kit)     

 http://www.oracle.com/technetwork/java/javase/downloads/index.html 

20130924 최신버전 : JDK 7u40 

(Java 및  JRE 설치)

 

2.  안드로이드 SDK 설치

     http://developer.android.com/sdk/index.html  

    다운받아 압축을 "C:\Program Files\Android-SDK\sdk"에 푼다.

    SDK Manager 실행...

 

3. Elipse 및 ADT 설치

   http://www.eclipse.org/downloads/  

   "Eclipse IDE for Java EE Developers" > windows 32 bit  

   2013년 9월 25일 현재 최신버전은 Kelper Packages 입니다. 

   다운받아 설치한 후  C:\Program Files\eclipse 에 압축을 풀고,  eclipse.exe 실행 


  메뉴 > help > Install new Software ... > Add 


 안드로이드 플러그인,  http://dl-ssl.google.com/android/eclipse   입력후 OK 버튼   


그러면,  Developer Tools와 NDK PlugIns 항목이 나타나는데, 체크박스 선택후 Next 버튼 클릭 


설치할 세부항목을 보여주는데, 역시  Next


관련 내용의 설치가 진행되고, 최종 라이센스 동의 여부를 묻는데, 동의하고 설치 종료 


eclipse가 제 실행되면 설치 완료~~

 

Posted by 꿈을펼쳐라
,

[issue] GeoNames 사이트에서 받은 데이터들은 txt 형식을 하고 있으나, 실제로는 tab으로 구분되어 있는 CSV파일 형식이다.  이것을 iOS나 안드로이드에서 사용할 DB로 변환을 해야함.

 

[solution] 네이버 웹검색을 통해 해결책을 찾음  [출처 : 상상하면님 블로그]

  1. firefox 에서 부가기능에서 sqlite manager 설치   

   2. sqlite manager > DataBase> new Database 메뉴실행 

 

  4. DataBase> import

     4-1. CSV파일 선택/ 인코딩 방식 / 구분자 등의 정보지정

4-2. Table column 명 및 Data Type, Primary Key등의 정보 입력

      4-3. import 완료 메시지 출력( 레코드 갯수)

4-4. import Fail 메시지 출력

 importing 하는 과정에서 7개의 레코드에서 에러가 발생했다고 한다.  

 별도로 확인이 필요할 것 같다.   "이유가 뭐니~"

 

 5. Data 확인

파일정보를 SQLite Manager에게 변환했으니, 이제 필요한 자료가 있으면 엡에서 해당 DB를 접근하여 처리하도록 하면 되겠다.

 

[geonames.org cities1000.zip 내용을 DB변환] :  geonames.zip

Posted by 꿈을펼쳐라
,

데이터 포멧을 확인하기 위해서 먼저, http://www.geonames.org에서 한국도시 정보 파일인 KR.zip을 다운 받아 압축을 해제하면 KR.txt 파일이 나온다.  다행이 text 파일이니 워드패드로도 확인가능하니 우선 열어보면 다음과 같다.

 

몇가지 글자는 깨져서 나타나지만, 일정한 형식으로 작성된 듯하다. 각 밸류는 탭으로 구분되어 있으며, 사이트에 따른 여러 언어를 표현하기 위해 UTF-8 인토딩을 적용했다는 내용을 참고하여 이번엔 엑셀프로그램을 이용해 보자.

 

 

이렇게 해서 파일을 열어보면 다음과 같다.

2012년10월30일 기준으로 KR.txt에는 총 78,343개의 도시정보를 갖고 있다. 

그럼, 각 필드의 의미를 살펴보자.

Column 

Name 

Format 

Contents 

 1

geonameid

 interger

 Record ID

 2

 name

 varchar(200)

 지형이름(UTF-8) 

 3

 asciiname

 varchar(200)

 지형이름(ASCII)

 4

 alternatenames

 varchar(5000)

 쉼표로 구분된 다른 이름 (이명)

 5

 latitude

 decimal degrees

 위도(WGS84)

 6

 longitude

 decimal degrees

 경도(WGS84) 

 7

 feature class

 char(1)

 Record 특성 CLASS (codes.html) 

 8

 feature code

 varchar(10)

 Record 특성 CODE (codes.html)

 9

 country code

 char(2)

 ISO-3166 2-letter country code

 10

 cc2

 char(60) 

 alternate country codes,

 11

admin1 code

 varchar(20)

 지역코드1 (admin1Codes.txt 참고, 한국 : 광역시도)

 12

 admin2  code

 varchar(80)

 지역코드2 (admin2Codes.txt 참고, 한국 : 대규모 시군)

 13

admin3 code

 varchar(20)

 지역코드3 (한국의 경우, 소규모 시군)

 14

admin4 code

 varchar(20)

 지역코드4

 15

 population

 bigint( 8byte int)

 인구

 16

 elevation

 interger (meters)

 해발고도

 17

 dem

 interger

 DEM 정보

 18

 timezone

varchar(40) 

 timezone 정보

 19

modification 

yyyy-mm-dd 

 데이터 수정일

여기서 7,8번 정보를 관심있게 볼 필요가 있다. 

Record의 특성을 분류해서 code값으로 분류하였는데 주요 정보들은 다음과 같다. 

 [7 : feature class] 

 Class

Description 

 A

country, state, region, ... 

 H

stream, lake, ... 

 L

park, area, ... 

 P

city, village, ... 

 R

road, railroad, ... 

 S

spot, building, farm

 T

mountain, hill, rock , ....

 U

undersea 

 V

forest, health, ... 

[ 8 : feature code ]

feature code에는 feature class를 기준으로 보다 다양한 분류를 하고 있는, 이 내용을 정리하여 엑셀파일로 첨부한다.  행정구역단위의 분류뿐 아니라, 주도 산, 다리, 강, 호수등의 자연적 특성, 빌딩, 도로, 철도 등의 인위적 특성등으로 구분하여 분류를 하고 있다.    이것을 이용한다면 다양한 형태의 서비스를 위한 Map Service의 질을 향상 시킬 수 있을 것 같다. 

Feature Class Code File download :featureCode.xlsx

 

사이트에서 보다 다양하고 정밀한 정보를 얻을 수 있으나, 현재 내가 필요한 정보는 이 수준에서 정리 될 수 있을 것 같다.  관심있는 분들은 보다 세심히 살펴 보시면, 득템하실 지도...

 

Posted by 꿈을펼쳐라
,

현재 진행하고 있는 프로젝트에서 신규 서비스 개발을 위한 Infra 추가 건이 있어 개발환경을 기준으로 구매요청을 했는데, 구매담당자의 질문은 WAS 서버를 Tomcat으로 쓰면 안되지는 지를 물어본다. 

"원래, 개발담당이 그렇게 알려주셔서 WebLogic을 기준으로 개발 했어요. TT "

막상 대답은 해보지만, 뒷골이 땡긴다.  

 

그럼, 이참에 관련 지식을 쌓아보자.  

1, 개발환경 정리 

항  목 

사  양 

비  고 

 WEB Server

Appache 

 

 WAS Server

Web Logic

 

 DB

Oracle 

 

 JDK

1.5 

 

 Framework

spring 2.5 + iBatis 2.0

 

 

2. 웹서비스의 기본 지식

   1) HTML과 이미지등의 데이터로 구성된 웹서비스 : 웹서버 만으로 서비스 가능 (Appache, IIS, ... )

   2) HTML과 더불어 JSP, ASP, PHP등으로 구성된 웹서비스 : servlet container (톰캣, 레진, IIS 4 ASP )

   3) 상용 WAS 서버 :  Web Logic, Web Sphere, ...  =>  분산처리, 보안, 트랜젝션, 쓰레드 등을 신경쓰지 않고, 오직 비즈니스 로직만 신경쓰면 됨.

 

3. 개발 총괄의 답변

  1) 톰켓등의 OpenSource를 사용하면, 유지보수 및 장애대응에 있어서 문제점 발생시 원인 파악 및 문제 해결에 있어 예상할 수 없는 상활 발생가능. 

  2) 동시접속자 처리, 쓰레드, 보안 등의 항목에서 오픈소스보다 상용 SW가 우수. 

  [결론] 단순 소규모, 내부사용자를 위해서라면 OpenSource 사용을 검토해 볼수 있으나 외부 상용 서비스를 위해서는 상용 소프트웨어 구매가 필요함.  

 

우와 전문가의 포스가 막...  그냥... 

'SI 프로젝트 수행' 카테고리의 다른 글

[경험공유] SW개발 일정 산정  (1) 2012.01.25
Posted by 꿈을펼쳐라
,

세팅 번들의 멀티밸류 값이 고정되어 있는 것이 아니라 사용자 필요에 의해 변경될 경우가 있다. 

나의 경우에는 길이나 넓이 단위를 사용자가 추가할 경우가 있는데, 이럴 경우 세팅 번들의 멀티 밸류항목에도 추가 시켜줘야하는 상황이 발생한다.  


hedar file  정의 : userDefaultSet.h

#import <Foundation/Foundation.h>


@interface UserDefaultSet : NSObject

{

    NSString *_strSettingBundlePath;

    NSMutableDictionary *_rootPList;

    

}


-(void) saveSettings;

-(void) loadSettings;


-(BOOL) setUserDefaultMultiValue:(NSString *)strID key:(id)keyArray value:(id)valueArray;

-(void) saveUserDefaultSet;


@end


 source file :UserDefaultSet.m

#import "UserDefaultSet.h"


@implementation UserDefaultSet


-(id) init

{

    if(self = [super init])

    {

        NSString* settingsBundle = [[[NSBundle mainBundle] pathForResource:@"Settings" ofType:@"bundle"] stringByAppendingPathComponent:@"Root.plist"];

        _strSettingBundlePath = [[NSString alloc] initWithFormat:@"%@",settingsBundle];

        

        NSDictionary *settingsPropertyList = [NSDictionary dictionaryWithContentsOfFile:_strSettingBundlePath];

        _rootPList = [[NSMutableDictionary alloc] initWithDictionary:settingsPropertyList];

        

    }    

    return self;       

}


-(void) dealloc

{

    [_strSettingBundlePath release];

    [_rootPList release];

    

    [super dealloc];

 }


-(void) saveSettings

{

    

}

-(void) loadSettings

{

    

}


- (BOOL) setUserDefaultMultiValue:(NSString *)strID key:(id)keyArray value:(id)valueArray 

{

    NSMutableArray* specifiers = [_rootPList objectForKey:@"PreferenceSpecifiers"];

//    NSMutableDictionary *multiValueSpecifier = [[NSMutableDictionary alloc] init];

    NSDictionary *multiValueSpecifier;    

    

    for (NSDictionary *specifier in specifiers)

    {

        if ([[specifier objectForKey:@"Key"] isEqualToString:strID] == YES &&

            [[specifier objectForKey:@"Type"] isEqualToString:@"PSMultiValueSpecifier"] == YES)

        {

            multiValueSpecifier = specifier;    

            break;

        }

    }

    

    if (multiValueSpecifier == nil)

        return FALSE;

    

    [multiValueSpecifier setValue:valueArray forKey:@"Values"];

    [multiValueSpecifier setValue:keyArray forKey:@"Titles"];

    

    NSLog(@"=== rootPlist:%@", _rootPList);    

    

    return [_rootPList writeToFile:_strSettingBundlePath atomically:YES];    

}


'아이폰개발 > Tip &amp; Tech' 카테고리의 다른 글

[XCode] bounds와 fame의 차이  (0) 2012.02.10
mainWindow.xib 사용하지 않고 어플 개발하기  (0) 2011.12.07
window와 _window의 차이  (0) 2011.10.13
FlipView구현 및 Toolbar 넣기  (0) 2011.10.13
NS Collection  (0) 2011.08.21
Posted by 꿈을펼쳐라
,

[LsitView & JSON 사용하기]

 

1. JASON 이란?

. 모바일 환경등에서 Data를 보다 편리하고, 가볍게 처리하기 위한 양식 ( <-> XML )

. Format : {}, [], ”,” 등으로 구성

. 구성예

{

        result:[

                   {

                             'name':'종현1',

                             'email':'gmail1@gmail.com',

                             'phone':'11111',                       

                   },

                   {

                             'name':'종현2',

                             'email':'gmail2@gmail.com',

                             'phone':'22222',                       

                   },

                   {

                             'name':'종현3',

                             'email':'gmail3@gmail.com',

                             'phone':'33333',                       

                   }                                         

        ]

}

 

2. JASON 파일 만들기

 .  [프로젝트 홈]에서 contact.jason 파일을 만들고, 위 예제 파일 내용을 저장

 

3. Data Model 파일 만들기

. [프로젝트 홈]> 터미널 실행

./sdk/command/sencha generate model -n ContactModel -f

name,email,phone

. [프로젝트홈]/app/model/ContactModel.js 파일 확인

 

Ext.define('Sencha.model.ContactModel', {

    extend: 'Ext.data.Model',

   

    config: {

        fields: [

            {name: 'name', type: 'auto'},

            {name: 'email', type: 'auto'},

            {name: 'phone', type: 'auto'}

        ]

    }

});

 

3. ListView 파일 작성

 . [프로젝트홈]/app/view/ ListView.js 추가

 . 아래 내용 추가

 . contact.jason / ContactModel 데이터를 이용하여, ContactStore 파일 구현

 . ContactStore를 이용하여, ContactList 구현

 . ContactList 파일을 이용하여, config.items에 추가

 . 파일 구현 내용

  

Ext.define(         'Sencha.view.ListView',{

           extend:'Ext.Panel',

           xtype : 'listview',

           config:{

                     layout:'vbox',

           },

          

           constructor: function(config) {

                      config = config ||          {};

          

                      Ext.define('ContactStore', {

                                extend: 'Ext.data.Store',

                                config: {

                                           model: 'Sencha.model.ContactModel',

                                           autoLoad: true,

                                           proxy: {

                                                     type: 'ajax',

                                                     url: 'contact.json',

                                                     extraParams: '',

                                                     reader: {

                                                               type: 'json',

                                                               rootProperty: 'result',

                                                     },

                                           },

                               },

                      });

          

                      Ext.define('ContactList', {

                               extend:'Ext.List',

                               xtype:'contactlist',

                              

                               config:{

                                          store:Ext.create('ContactStore'),

                                          disableSelection:false,

                                          emptyText:'<p> No Data <p>',

                                          itemTpl:Ext.create('Ext.XTemplate', '<h2>{name} : {email}: {phone} </h2>' ),

                               }

                      });

          

                      config.items = [

                                {

                                          xtype: 'toolbar',

                                          title: 'List',

                                },

                                {

                                         

                                           xclass: 'ContactList',

                                           flex: 1,

                                }

                      ];

                      

                      this.callParent([config]);

           }

});

 

4. controller  구현하기

1) ListViewController 만들기

  . [프로젝트홈] 터미널 실행

  . command 실행

./sdk/command/sencha generate controller -n ListViewController

2) control 이벤트 및 호출함수 구현

Ext.define('Sencha.controller.ListViewController', {

    extend: 'Ext.app.Controller',

   

    config: {

        refs: {

           

        },                

        control: {

                             contactlist: {

                                        itemtap: 'itemSelected',

                             },

        }

    },

   

    itemSelected: function(list, index, node, record) {

                  console.log(list);

                  console.log(index);

                  console.log(node);

                  console.log(record);

    },

});

 

 

Posted by 꿈을펼쳐라
,

[FormView 구현하기]

 

1. FormView 파일 작성

 . [프로젝트홈]/app/view/ FormView.js 추가

. 아래 내용 추가

Ext.define(         'Sencha.view.formView',{

           extend:'Ext.form.Panel',

           xtype : 'formview',

           config:{

                      layout:'vbox',

                     items:[

                                {

                                          xtype: 'formpanel',

                                          flex: 1,

                                          layout: 'vbox',

                                          items: [

                                                      {

                                                                xtype: 'fieldset',

                                                                title: 'form test',

                                                                items: [

                                                                          {

                                                                                    xtype: 'textfield',

                                                                                    name: 'inputId',

                                                                                    label: 'ID',

                                                                          },

                                                                          {

                                                                                    xtype: 'passwordfield',

                                                                                    name: 'inputPassword',

                                                                                    label: 'Password',

                                                                          },

                                                                ],

                                                      },

                                                      {

                                                                xtype: 'button',

                                                                text: 'SAVE',

                                                                action: 'formview.onClickedSaveButton'

                                                      }

                                          ],        

                                },

                     ]

           }

});

 

 

2. controller  구현하기

1) FormViewController 만들기

  . [프로젝트홈] 터미널 실행

  . command 실행

./sdk/command/sencha generate controller -n FormViewController

2) control 이벤트 및 호출함수 구현

 

Ext.define('Sencha.controller.FormViewController', {

    extend: 'Ext.app.Controller',

  

    config: {

        refs: {

        formView:'formview',

        },

        control: {

        'button[action=formview.onClickedSaveButton]': {

               tap:'onClickedSaveButton',

        },

        },

    },

   

    //called when the Application is launched, remove if not needed

    // launch: function(app) {

//        

    // }

       onClickedSaveButton: function() {

              var formObj = this.getFormView().down('formpanel');

              alert(formObj.inputId.getValue());

              console.log(formObj.inputId);

       }

});

 

 

 

Posted by 꿈을펼쳐라
,

NavigationView 사용시 기본 툴바를 사용하지 않고, 사용자 지정 Toolbar를 사용하는 방법

 

1. NavigationView에서 툴바를 숨김.  (/app/view/NaviView.js)

 

           config:{

                     autoDestory: false,

                     navigationBar:false,

                      items:[

                                {

                                          xtype:'menuview',

                                }

                     ]

           },

 

 

2. 하위 뷰에서 툴바를 생성하고, Back button 추가

( 하위 뷰를 Controller에서 생성하여 사용중임 : (/app/controller/MenuController.js)

 

    onClickedJjajang:function()

    {

          var ansPanel = {

                    xtype:'panel',

                    html: '짜장면',

                    title:'짜장면',

 

                                items:[

                                          {

                                                     xtype:'toolbar',

                                                     title:'짜장면',

                                                    

                                                     items:[

                                                                 // new Ext.Button(

                                                                          // {

                                                                                     // ui:'back',

                                                                                     // text:'back',

                                                                                     // action:'naviBack',

                                                                          // }

                                                                          // ),

                                                                          {

                                                                                     xtype:'button',

                                                                                     text:'back',

                                                                                     ui:'back',

                                                                                     action:'naviBack',

                                                                          },

                              ],

                                                    

                                          },

                                ],

                   

          };

         

          this.getNaviView().push(ansPanel);

         

    },

 

 

3. 액션 이벤트 연결: (/app/controller/MenuController.js)

 

config: {

refs: {

naviView:'naviview',           

        },

        control: {

        'button[action=menuview.jjajang]': {

                    tap:'onClickedJjajang',

        },

       

        'button[action=menuview.jjambong]': {

                    tap:'onClickedJjambong',

        },

        'button[action=naviBack]': {

                    tap:'onClickedBack',

        }

        },       

      },

 

     …......................

 

onClickedBack:function()

    {

          this.getNaviView().pop();

    }

 

Posted by 꿈을펼쳐라
,

Navigation Bar 구현하기

 

1. Navigation

1) Ext.navigation.View

2) 화면 스택관리

3) 편리한 사용법

4) navigation.View 하위로 들어가는 아이템은 ‘card’만 적용가능

5) navigation titlebar를 포함하고 있음

6) 새로운 View를 만들 때, 기본적으로 ‘Ext.Panel’에서 상속받도록 함

  (특정 UI에서 상속이 불가할 수 있음)

7) push(item)  /  pop()

8) controller 는 항상 전역으로 생성된다.  

9) 버튼 이벤트 연동시, ID 방식은 유효성 체크로 인하여, 에러를 유발할 염려가 있으므로액션을 사용

 

 

2. 실습

1) 새로운 프로젝트를 생성

  . workspace dir (‘sencha-touch-2.0.0-gpl/workspace’) > 오른쪽 클릭 > show in > Terminal

  . ‘Sencha’ 이름으로 프로젝트 생성

 

$ ./command/sencha app create –n Sencha -p ./workspace/Sencha -l all

 

2) app > view : 오른쪽 클릭  [ new > file > NaviView.js ]

 

Ext.define('Sencha.view.NaviView', {

        extend:'Ext.navigation.View',

        xtype : 'naviview',

        requires:[

                   'Sencha.view.MenuView',

        ],

        config:{

                   autoDestory: false,

                   navigationBar:false,

       

                   items:[

                  

                             {

                                        xtype:'menuview',

                             }

                   ]

       

        },

});

   3) app > view : 오른쪽 클릭  [ new > file > MenuView.js ]

Ext.define('Sencha.view.MenuView',{

        extend:'Ext.Panel',

        xtype : 'menuview',

       

        config:{

                   layout:'vbox',

                   title:'다시보기',

                   items:[

                             {

                                        xtype:'button',

                                        text:'짜짱면',

                                        action:'menuview.jjajang',

                             },

                             {

                                        xtype:'button',

                                        text:'짬뽕',

                                        action:'menuview.jjambong',

                             }

       

                   ],

        }

})

 

 

 4) app>view>Main.js 수정

 

Ext.define("Sencha.view.Main", {

    extend: 'Ext.Panel',

    requires: [

       'Ext.TitleBar',

       'Sencha.view.NaviView',

    ],

   

    config: {

       layout:'fit',

        items: [

        {

                 xtype:'naviview',

        },

       ],

    },

});

 

 

4) controller 추가 

. ./sdk/command/sencha generate controller -n Menu

. [project]/app/controller/MenuController.js 편집

 

 

Ext.define('Sencha.controller.MenuController', {

    extend: 'Ext.app.Controller',

   

    config: {

        refs: {

                 naviView:'naviview',           

        },

        control: {

                 'button[action=menuview.jjajang]': {

                            tap:'onClickedJjajang',

                 },

                

                 'button[action=menuview.jjambong]': {

                            tap:'onClickedJjambong',

                 },

        },       

        },

  

    // //called when the Application is launched, remove if not needed

    // launch: function(app) {

      

    onClickedJjajang:function()

    {

       var ansPanel = {

                  xtype:'panel',

                  html: '짜장면',

                  title:'짜장면',                

       };

      

       this.getNaviView().push(ansPanel);

      

    },

   

    onClickedJjambong:function()

    {

       var ansPanel = {

                  xtype:'panel',

                  html: '짬뽕',

                  title:'짬뽕',

       };

      

      

       this.getNaviView().push(ansPanel);

    },

   

});

 

      this.getNaviView().push(ansPanel);  -> 상단에서 refs를 기준으로 생성되는 getter를 이용

                                                         ( get+첫문자의 대문자 + 나머지명칭 + () )

Posted by 꿈을펼쳐라
,

1. MVC Pattern

1) Model / View / Controller 

 

2. Ext.container 상속

1) extend : 상속 키워드

2) requires : 필수 멤버 설정

3) config : 설정 관련 키워드  (정적 설정)

4) constructor : 설정 Function  (동적 설정 가능)

 

            Constructor:function(config)

{

config = config || {};

this.callParent([config]);

}

       

 

3. View 만들기

1) 파일 만들기

. >workspace>HelloWorld>app>view> 에서 오른쪽 마우스 클릭  

. New > File > ‘TestView.js’

2) 클래스 이름 정하기 : {프로젝트명}.{폴더명}.{파일명}

3) xtype 이름 정하기 (ID , unique 해야함)

4) app.js views: 에 등록  (Optional,  , controller는 필수)

5) config:{…} 사이에 코딩하기   

 

 

4. Controller 만들기

1) 프로젝트에서 Consolee환경으로 이동

2) Sencha Command tool

 ./sdk/command/sencha generate controller –n TestView 

3) config, refs, control

4) launch:function(app)  : 필요없는 경우, 삭제

# 이벤트 사용할 경우, ID 방식 말고, Action을 사용해라. 

  (ID일 경우, 선언 클래스가 해제될 경우 에러 발생)

 

5. 실습 프로젝트

1) TestView.js | View

Ext.define('HelloWorld.view.TestView', {

           extend: 'Ext.Panel',

           xtype:'testview',

           config : {

                     layout: 'vbox',

                     items:[

                     {

                                xtype:'toolbar',

                                title:'Simverse',

                     },

                     {

                                xtype:'panel',

                                html:'TextView for Simverse',

                     },

                     {

                                xtype:'button',

                                text:'click me, Simvere',

                                action:'testview.onClickedClickmeButton'

                     }

                     ],

           },

})

 

2) TestView.js | Controller

 

Ext.define('HelloWorld.controller.TestView', {

    extend: 'Ext.app.Controller',

   

    config: {

        refs: {

        testview:'testview',

        },

        control: {

        'button[action=testview.onClickedClickmeButton]':{

                    tap:'onClickedClickmeButton'

        },

        },

    },

   

    onClickedClickmeButton:function(){

          alert('onClickedClickmeButton');

    }

    //called when the Application is launched, remove if not needed

    //launch: function(app) {

});

 

  3) app.js  ( launch: 부분)

    ...............

    launch: function() {

        // Destroy the #appLoadingIndicator element

        Ext.fly('appLoadingIndicator').destroy();

 

                   var testView = Ext.create('HelloWorld.view.TestView');

                  

                   if(!Ext.os.is.Phone)

                   {

                             Ext.Viewport.add({

                                        xtype:'panel',

                                        width:480,

                                        height:800,

                                        centered:true,

                                        modal: true,

                                        hideOnMaksTop:false,

                                        layout : 'fit',

                                        items:[testView]

                             });

                   }

                   else

                   {

                             Ext.Viewport.add(testView);

                   }

                  

 

        // Initialize the main view

        //Ext.Viewport.add(Ext.create('HelloWorld.view.Main'));

    },

 

   ..................

 

  4) 실행화면

 

Posted by 꿈을펼쳐라
,