티스토리 뷰
1. 안드로이드 개발 환경 구축(http://developer.android.com/sdk/index.html)
eclipse, JDK, Android SDK, ADT를 다운로드 받은 후 설치한다.
2. PhoneGap을 다운로드 받은 후 압축을 해제한다.(http://phonegap.com/)
3. "Android Application Project"를 생성한 후 PhoneGap라이브러리 파일을 추가한다.
cordova-2.7.0.js, cordova-2.7.0.jar, config.xml
4. "AndroidManifest.xml", "MainActivity.java" 파일을 수정한다.
5. Sencha Touch2로 개발한 파일을 "assets/www/" 폴더에 복사한다.
6. AVD를 이용하여 가상 디바이스를 생성한 후 테스트 한다.
"핸드폰 -> 환경설정 -> 개발자 옵션 -> USB 디버깅"을 체크하면 핸드폰으로 테스트할 수 있다.
삼성 통합 USB 드라이버 설치(http://local.sec.samsung.com/comLocal/support/down/kies_main.do?kind=usb)
3번 수행시 참조
안드로이드 프로젝트 -> assets -> www(폴더생성) -> cordova-2.7.0.js 파일 복사
안드로이드 프로젝트 -> libs -> cordova-2.7.0.jar 파일 복사
안드로이드 프로젝트 -> res -> xml -> config.xml 파일 복사
4번 수행시 참조
[AndroidManifest.xml 코드 추가]
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true"
android:resizeable="true"
android:anyDensity="true"
/>
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.RECORD_VIDEO"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<activity
android:name="com.example.hybrid.MainActivity"
android:label="@string/app_name"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
[MainActivity.java 수정]
package com.example.hybrid;
import org.apache.cordova.Config;
import android.os.Bundle;
import org.apache.cordova.*;
//import 제거
//import android.app.Activity;
//import android.view.Menu;
//상속 변경(Activity -> DroidGap)
//public class MainActivity extends Activity {
public class MainActivity extends DroidGap {
@Override
//접근 제어자 변경(protected -> public)
//protected void onCreate(Bundle savedInstanceState) {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Set by <content src="index.html" /> in config.xml
super.loadUrl(Config.getStartUrl());
//시작 파일 변경
//super.loadUrl("file:///android_asset/www/index.html")
/*
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
*/
}
/*
* 불필요한 override 제거
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
*/
}
apk 파일 생성하기
- Total
- Today
- Yesterday
- 스프링 시큐리티(spring security)
- java web-mvc
- error-java
- await
- system.io
- 진수 변환
- docker
- java.sql
- 문자 자르기
- 스프링 시큐리티(spring security)-http basic 인증
- jstl(java standard tag library)
- REST API
- jsp 오픈 소스
- In App Purchase
- 스프링 프레임워크(spring framework)
- 제품 등록
- MainActor
- java-개발 환경 설정하기
- 메이븐(maven)
- System.Diagnostics
- java 키워드 정리
- 람다식(lambda expression)
- jstl(java standard tag library)-core
- 특정 문자를 기준으로 자르기
- nl2br
- 인텔리제이(intellij)
- 스프링 프레임워크(spring framewordk)
- React
- 표현 언어(expression language)
- .submit()
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |