김은옥 강사 과목을 전에 XML이나 HTML5를 들었을텐데...
항상 명쾌한 강의가 맘에 들었다.
약간 오따꾸라고나 할까????
앱 개발을 위해서는 더 많은 노력이 필요할 듯... 3일은 택도 없다.
ㅇ 기간 : 2016.06.01 ~06.03
ㅇ 장소 : 서울시 인재개발원 데이터센터
ㅇ 강사 : 김은옥(probemeia@gmail.com)
ㅇ 교육목표 : 간단한 앱 작성을 통해 개발 및 유지 보수 방법을 습득
ㅇ 교재 : 러닝 안드로이드 스튜디오(후카세 요시마사)
애플리케이션의 종류
-PC에서 실행되는 프로그램 : 데스크탑 애플리케이션(앱)
예)한글, 엑셀, 파워포인트 등등
-스마트 기기 실행 되는 프로그램: 모바일 앱
안드로이드 플랫폼: 안드로이드 앱 ->java로 개발 <-네이티브언어
iOS플랫폼: iOS앱 -> object-c <-네이티브언어
=>네이티브 앱 : 네이티브 언어로 개발한 모바일 앱
-웹 브라우저에서 실행되는 프로그램 : 웹 사이트(웹 앱)
=>반응형 웹
-> html :웹사이트 만드는 언어
스마트기기 전용 웹사이트 :모바일웹앱(html) --->안드로이드 앱
↑
Cordova(크로스 플랫폼 프레임워크)
=>이렇게 개발된 안드로이드 앱을 하이브리드 앱이라 함
앱을 개발시 필요한 데이터를 제공하는 사이트
=>공공 빅데이터 제공 사이트
-공공데이터포털(행정자치부 운영) :www.data.go.kr
-서울 열린 데이터 광장: data.seoul.go.kr
안드로이드 폰 권장 백신
-새로운 앱이 설치되면 자동으로 실행되어서 악성코드 체크
-매주 전체 악성코드 검색, 스마트폰 환경설정
[CM security]- 주요 앱에 개별적으로 비밀번호 설정, 최적화 <-무료
[Antivirus]- 주요 앱에 개별적으로 비밀번호 설정, 최적화 <-유료
1.안드로이드 개요
안드로이드 앱: 안드로이드 플랫폼에서 실행
-안드로이드 폰에서 실행되는 프로그램(애플리케이션)
- 누구나 무료로 개발가능
- 구글플레이 스토어에 등록해서 전세계적으로 배포 가능.
=>참고: 구글 플레이 스토어에 앱 등록하려면 개발자 등록이 필수 <-$25/평생
* iOS앱:iOS가 플랫폼(설치된 운영체제)에서 실행.-아이폰에서 실행되는 프로그램
* 안드로이 앱 개발 최저버전: 권장 4.0.3
=> 개발한 앱이 실행되는 최저버전
=> 최저버전부터 최신버전까지 실행되는 앱이 개발 됨
- 개발시 개발툴로 통합개발환경 : 빌드 자동화
=>빌드: 컴파일, 파일배치 등등을 프로그램 실행에 필요한 형태로 변경
2.개발환경구축 - 안드로이드 스튜디오 기반
: 앱을 만들기위한 프로그램 설치
-앱을 만들기위한 프로그램 : 안드로이드 스튜디오
-안드로이드 앱 개발에 필요한 선수프로그램:자바
-ADB : 스마트기기로 앱 실행을 하게 해줌. ADB드라이버(안드로이드 드라이버) 필요 <- 설치
(1)JDK(Java Development Kit, 자바개발킷):자바
:자바기반의 애플케이션(자바프로젝트, JSP웹사이트, 안드로이드 앱) 개발, 이클립스사용,
빅데이터에서 한글 텍스트마이닝(KoNLP패키지에 자바가 필요)
1)JDK 다운로드 : 최신버전 권장
-다운로드 사이트 http://www.oracle.com/technetwork/java/javase/downloads/index.html
주의)Windows운영체제의 경우 다운로드받는 파일이 다름
- Windows 32bit(XP, Vista, Window7 32bit)인 경우 : [Windows x86]항목의 [jdk-8u업데이트버전-
windows-i586.exe]을 클릭.
- Windows 64bit(Vista 64bit 또는 Window7 64bit)인 경우: [jdk-8u업데이트버전-windows-x64.exe]을 클릭
설치 경로 –C:\Program Files\Java\jdk1.8.0_92\bin
2)환경변수 설정
- 자바명령어의 위치를 시스템에 알려주는 작업
PATH .............. 편집
;C:\Program Files\Java\jdk1.8.0_92\bin;
CLASSPATH .............. 새로 만들기
.;C:\Program Files\Java\jdk1.8.0_92\lib\tools.jar
JAVA_HOME .............. 새로 만들기
C:\Program Files\Java\jdk1.8.0_92
3)설정 확인
cmd창에서 javac, java명령어 실행
(2)안드로이드 스튜디오 설치 - 안드로이드 앱 개발에 사용하는 프로그램
1) 안드로이드 스튜디오 다운로드 - 최신버전
-다운로드 사이트
http://developer.android.com/sdk/index.html
2) 안드로이드 스튜디오 설치
총 5개 packages 설치 --- 나머지는 선택 해제.
1. Android SDK License / 2. Intel Android Extra License 각각 동의 후 Install
-안드로이드 SDK : 안드로이드 앱 개발 공통환경
-안드로이드 플랫폼 툴 : 버전별 개발환경
예)버전별 개발환경을 최신버전 설치하면
->최소버전(4.0.3)부터 최신버전(예:6.0)에서 실행되는 앱을 개발할 수 있음
(3)첫번째 프로젝트 작성: 프로젝트명- HelloWorld
1) 프로젝트 작성
project name : HelloWorld
company domain : seoul.go.kr
project location : 설정시 -c:\project
보여질때 - c:\project\HelloWorld
(4)안드로이드 스튜디오 작업환경 설정
1) 워크스페이스 : 프로젝트 관리 폴더 예)c:\project
=====> 결과 새로운 Project 생성 "HelloWorld"
2) 환경설정
■ 에디터뷰에 라인번호
① [File]-[Settings] - [Editor]-[Appearance]
② [Show line numbers]항목 체크 후 [Apply]버튼 또는 [OK]버튼 클릭
■ 폰트조정
① [File]-[Settings] - [Editor]-[Colors & Font]
② [Save As]버튼을 눌러 myFont입력 후 [OK]버튼 클릭
③ [Editor]-[Colors & Font]-[Font]에서 [Scheme name]항목에서 myFont선택 후 글꼴 조정 후 [Apply]버튼 또는
[OK]버튼 클릭
(4)AVD작성 및 실행 : 가상 디바이스인 AVD(Android Virtual Device) 작성 및 실행.
->AVD는 안드로이드 애플리케이션을 실행(테스트)하기 위한 가상 디바이스.
1) AVD 작성
① 안드로이드 스튜디오에서 [Tools]-[Android]-[AVD Manager]
기존 Nexus 디바이스 삭제
② [Android Virtual Devices]창에서 [Create Virtual Device...]버튼 클릭
③ [3.2HVGA]선택 후 [Next]버튼 클릭
④ [System image]에서 에뮬레이터의 안드로이드 운영체제 버전([Intel x86 Emulator) 선택 후 [Next]버튼 클릭
⑤ [Verify Configuration]에서 [AVD Name]항목에 testPhone6.0.x를 입력 후 [Show Advanced Setting]버튼 눌러
RAM을 256으로 변경 후 [Finish]버튼 클릭
기존 기기 삭제
2) AVD 실행
① 생성된 [testPhone6.0.x]에뮬레이터의 [Actions]항목에서 [Launch this AVD in the Emulator]버튼 클릭.
② 에뮬레이터가 기동되면, 일반 스마트 폰처럼 사용.
주의: 기동 시 시간이 많이 걸리므로, 에뮬레이터는 닫지 않고 그냥 실행시켜 둔다.
초록 삼각형으로 실행 ---manager 창 닫기
GOT-IT 버튼 클릭
(5) 작성한 프로젝트 실행 : 디버그 버전 실행
->디버그 버전 : 개발중인 테스트 버전
-[Run]-[Run app]메뉴
- 실행할 디바이스 또는 애뮬레이터를 선택 후 [OK]버튼 클릭
메뉴판에 실행 버튼(초록 삼각형) 클릭 – 가상폰 두 번 클릭하면 실행내용이 아래에 스크롤
핸드폰에 어플 설치하기
1. 휴대폰 개발모드로 설정
환경설정 - 휴대폰 정보-빌드번호
– 개발 ===> USB 디버깅 “체크”
또는 응용프로그램
2. 폰 인식(USB 연결) 확인 - 케이블 연결 후 해당 버튼 클릭
3. 실행버튼(초록 삼각) – 에뮬레이터가 아닌 기기 선택
*** 에러 시 : Enable ADB Intergration 이 항상 체크되어 있어야 한다. (방화벽에 의해 수시로 끊길 수 있음. )
*** 빨간 네모 눌러야 다시 에뮬레이터 또는 기기로 갈 수 있음.
(6) 작성한 프로젝트 실행 : 릴리즈 버전 실행
-> 릴리즈 버전 : 개발이 완료된 배포버전. 구글플레이 스토어에도 등록 가능
-> 릴리즈버전 배포: APK파일 생성
-APK파일: 안드로이드 앱 설치 파일
1) APK파일 작성
- [keystore]폴더 생성 : APK파일 저장소
- [Build]-[Generate Signed APK...]메뉴
- [Generate Signed APK Wizard] 창에서 [Create new...]버튼 클릭.
- [Key store path]의 [...]을 눌러 [keystore]폴더 선택, [file name]에 HelloWorld 입력 후[OK]버튼 클릭
- 나머지 값 입력 후 [OK]버튼 클릭
- [Next]버튼
- [APK Destination Folder]에 [keystore]폴더 선택, [Build Type]에 [release]선택 후
[Finish]버튼 클릭
-[keystore]폴더에 app-release.apk 파일이 생성됨.
- 이 파일을 HelloWord.apk로 변경해서사용
2) 릴리즈 버전 실행
주의 사항: 디버그버전이 설치되어 있는 경우 제거
-안드로이드 기기로 직접 HelloWord.apk 복사 후 설치
*** 쉽게 배포하기
1. debugging 앱 삭제 ... 기존에 있다면
2. c:\keystore 의 HelloWorld.apk를 폰 USB를 통해 배포
3. 폰에 keystore 디렉토리 생성 후 HelloWorld.apk 복사->실행
* USB 안되는 경우 데이터USB이지 확인 (충전 전용 USB는 연결 안됨)
* “프로그램 설치관리자” 사용
* 마켓 통해 구입 안할 경우 보안 에러 뜸 ->환경설정-응용프로그램-알 수 없는 소스 허용에 체크
(6) APK파일 배포
1) 기관서버에 등록 :FTP프로그램을 사용
2) 구글플레이 스토어에 앱 등록
순서: 구글계정 -> 개발자 등록 -> 앱 등록
①구글 계정 필요. 구글계정이 없으면 생성
②선수작업 개발자 등록 : https://play.google.com/apps/publish
③개발자를 등록한 경우: https://play.google.com/apps/publish 에 로그인해서 개발한 앱을 등록
strings는 필요한 변수를 정의한다.
리소스 ID : R.java에서 변수로 자동 생성--- 편집 불가능
“+” 리소스 정의
“+” 없는 것은 참조
* R.java가 로직과 리소스 연결/중간 역할
layout resource 참조
id resource 참조
method name
실습 : 문자열 2개, 이미지 1개 띠우기
1. 위젯에서 Large Text, Medium Text, Image View 끌어 놓는다.
2. strings.xml 항목 편집
3. drawable 디렉토리에 원하는 이미지를 복사한다. : "Copy" 메뉴 사용 또는 내컴퓨터에서
java-MainActivity에서 package확인 가능
4. imageView 속성은 "src"에 g_img01 링크
textView 속성dms "text"에...
====> 결과
실습 : 버튼 만들기
1. 위젯에서 버튼끌어 놓는다.
2. id에 "end_btn" 입력
2. strings.xml에 "end_lbl"을 생성하고 "종료"를 입력
3. java-...-MainActivity에 코딩 ***** 코딩 위치 중요 : Button 액션 내에 코딩 *** 직접 입력하지 말고 자동 완성 이용
Button endBtn = (Button) findViewById(R.id.end_btn);
endBtn.setOnClickListener(new View.OnClickListener(){ <---- Implement methods 실행
@Override
Public void onClick(View v){
finish();
}
});
**** Implement methods 실행
3.애플리케이션 작성 기초 지식
- 안드로이드 애플리케이션 개발시 로직, 리소스, 매니페스트를 구분해서 작성
* 리소스와 로직을 분리하면 좋은 점
- 문자열 변경시 로직을 변경할 필요 없음
- 여러곳에서 재사용이 가능
- 여러 언어를 지원하는 애플리케이션 작성에 유용
사용방법: [values-언어로케일코드]
언어로케일코드- ko(한국),ja(일본),zh(중국)...
예)영어지원(기본값)-[values], 한국어지원- [values-ko]
(1) 안드로이드 앱 개발의 3요소
- 로직 : .java파일- [java]폴더
- 리소스 : 로직을 뺀 모든 파일 - [res], [assets]
화면, 문자열, 이미지, 동영상,..
- 매니페스트 : 안드로이드 앱 환경설정 파일 - [manifests]
화면의 수, 권한설정,..
=> AndroidManifest.xml
안드로이드 앱 개발 순서
1. 기본 프로젝트를 작성후 실행 - 앱의 기동 상태
2. 앱의 내용이될 것을 작성
(2)안드로이드 애플리케이션의 주요파일
1) 리소스파일: [res]
문자열, 이미지, 오디오, 동영상 등등의 파일
*리소스 만듦(정의)-[res]
- 문자열:[res]-[values] : strings.xml에 <string>태그를 추가
예) <string name="hello">Hello</string>
- 이미지:[res]-[drawable]
- 비디오,오디오, XML, JSON:[res]-[raw] : 특정 폴더에 위치
예) 이미지위치- [drawable]
비디오,오디오위치-[raw]
- 레이아웃(화면의 내용) : [res]-[layout]
xml파일로 정의. [layout]폴더에 위치
- ID(뷰이름) : @+id/아이디이름
- 뷰 : 버튼, 콤보상자, 입력란...
* 리소스 참조
- 리소스에서 리소스 참조 : @리소스종류/리소스명
예)레이아웃 리소스에서 문자열 리소스 a1참조 : @string/a1
-로직에서 리소스 참조: R.리소스종류.리소스명
예)로직(액티비티)에서 activity_main.xml 레이아웃 리소스 : R.layout.activity_main
예)로직(액티비티)에서 name1 ID 리소스 : R.id.name1
- 패키지명: 도메인명+프로젝트명
- 이미지파일명: 소문자,_,숫자만 사용. 확장자는 png권장
2) 레이아웃 리소스 파일: [res]-[layout]
화면의 구조 및 내용을 설계
content_main.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android“ //XML 이름공간 xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" //Wrap_content : 요소 크기에 맞게 android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" app:layout_behavior="@string/appbar_scrolling_view_behavior" tools:context="kr.go.seoul.helloworld2.MainActivity" tools:showIn="@layout/activity_main">
<TextView // 문자 표시 android:layout_width="wrap_content" //android 생략 못함. android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" android:text="@string/g_title_01" android:id="@+id/textView" android:layout_centerHorizontal="true" />
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceSmall" android:text="@string/g_title_02" android:id="@+id/textView2" android:layout_alignParentBottom="true" android:layout_alignRight="@+id/textView" android:layout_alignEnd="@+id/textView" android:layout_marginBottom="181dp" />
<ImageView // 이미지 표시 android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageView" android:src="@drawable/g_img01" android:layout_below="@+id/textView" android:layout_above="@+id/textView2" /> </RelativeLayout> |
3) 액티비티 클래스 파일: [java]-[패키지명]
화면 표시, 이벤트 처리하는 안드로이드 애플리케이션 로직
// ********* 필요한 라이브러리 import android.os.Bundle; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.View; import android.view.Menu; import android.view.MenuItem;
public class MainActivity extends AppCompatActivity { //부모 AppCompatActivity //title bar 제거 extends Activity
@Override protected void onCreate(Bundle savedInstanceState) { //onCreate : Activity 생성 시 자동 실행 super.onCreate(savedInstanceState); //필수! override재정의 : 실행에 필요한 처리 setContentView(R.layout.activity_main); //필수! 화면의 내용 표시 : 액티비티 위에 layout 결정 //content_main.xml 사용자가 작성하여 activity_main.xml(편집 안됨)을 정의
// 아래부터 이벤트 Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); 핑크 똥그라미 fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) .setAction("Action", null).show(); } }); }
/// 실제 코딩 위치
@Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. 쩜 세개 getMenuInflater().inflate(R.menu.menu_main, menu); return true; }
@Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId();
//noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; }
return super.onOptionsItemSelected(item); } } |
4) 매니페스트 파일 : [manifest]
애플리케이션의 기본설정, 권한 설정 등을 기술
5) 추가리소스 [assets]
- [res]와 동등레벨로 폴더 생성
-> [project]보기에서 [app]-[main]에 생성
- 사용방법: 일반 파일로 접근해서 사용
- 해당 파일 : 동영상, 폰트(ttf), html, js, css, xml, json, 미리 생성한 SQLite db(db를 읽어 들일 때 사용), 이미지파일 (이미지 파일이 지정되지 않아 리소스를 할당받기 어려운 경우 )
main에 디렉토리 : assets 생성
* 안드로이드 스튜디오로 프로젝트 부르기
-[File]-[Open]--불러올 프로젝트 선택
- 필요한 플랫폼 툴이나 고칠 그래들 빌드가 있는 경우 에러가 표시됨.
<-해결방법: 에러메시지 다음에 표시되는 링크 클릭
4.사용자 인터페이스 - 화면 내용을 구성하고 배치
순서: 레이아웃 작성 -> 레이아웃에 뷰 추가
(1) 레이아웃 : 뷰를 배치하는 공간. 화면의 내용
(2) 뷰 :버튼, 입력상자, 리스트...
-> 이벤트가 발생하고 로직에의해 제어됨
(3)화면의 내용 작성 방법
1) XML 레이아웃 리소스 - 정형화된 구조
=> 기관앱 <-형태 구조를 만들 수 있음
2) View 클래스 사용 - 비정형화 구조
=> 게임 <-형태 구조를 만들 수 없음
* 4개의 핵심 컴포넌트
-액티비티(Activity) - 하나의 화면을 제공
-서비스(Service) - 백그라운드 동작 애플리케이션
-브로드캐스트 리시버(Broadcast receiver) - 수신 컴포넌트
-컨텐트 프로바이더(Content provider) - 데이터 공유 관리
5. 액티비티 - 화면을 표현, 화면의 내용에서 발생한 이벤트 제어
(1) 작성방법 : 액티비티의 상속을 받아서 작성
public class MainActivity extends AppCompatActivity
(2) 하는일
1) 화면을 표현 : setContentView(표시할 뷰)
2)이벤트 제어
FloatingActionButton fab =
(FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//처리할 내용
}
});
3)옵션 메뉴 제어 : onCreateOptionsMenu(),onOptionsItemSelected()
(3) 액티비티의 메소드에 로그 기록 권장- 디버그에 유용
작성방법 : Log.종류("앱이름|프로젝트명","메소드명")
예) Test프로젝트의 onCreate()메소드에 기록하는 디버그 로그 : Log.d("Test","onCreate")
(4) 형변환 - 캐스트(cast)
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
(5) 어댑터가 필요한 뷰
리스트뷰(ListView), 그리드뷰(GridView)
예) 레이아웃 리소스: 리스트뷰 껍데기
|
|액티비티
|
어댑터 클래스 : 리스트 뷰의 내용을 표시하고 취득
1) 작성순서
① 레이아웃 리소스에 껍데기 만듦
② 액티비티를 통해서 내용을 채움
- 어댑터 클래스를 생성해서 채워야하는 경우가 있음
6. 이벤트 - 동작에 대한 작업처리. 액티비티에서 함
(1) 이벤트 처리의 3요소
1) 이벤트가 발생하는 뷰(위젯)
Button endBtn = (Button)findViewById(R.id.end_btn);
2) 뷰에서 발생하는 이벤트를 감지하는 리스너
endBtn.setOnClickListener(클래스레퍼런스);
3) 이벤트를 처리하는 메소드
public void onClick(View v) {}
7.인텐트 - 액티비티, 서비스, 브로드캐스트 리시버 호출에 사용
- 액티비티, 서비스, 브로드캐스트 리시버는 인텐트(intent)라 불리는 비동기 메시지에 의해서 활성화
(1) 사용되는 시기
- 액티비티, 서비스, 브로드캐스트 리시버 호출시 사용
1) 액티비티 호출 : startActivity(인텐트객체) 또는 startActivityForResult(인텐트객체)메소드
2) 서비스 호출 : startService(인텐트객체)메소드
3) 브로드캐스트 리시버 호출 :sendBroadcast(인텐트객체)메소드
(2)사용법
1) 인텐트 객체 작성방법
Intent it = new Intent(this, 호출할컴포넌트클래스)
2) 인텐트 객체 사용법
startActivity(인텐트객체)
startActivityForResult(인텐트객체)메소드
startService(인텐트객체)
sendBroadcast(인텐트객체)
예) MainActivity에서 TestActivity호출
Intent it = new Intent(this, TestActivity.class);
startActivity(it);
단) 무명내부클래스(이벤트제어)에서 인텐트 사용
예) MainActivity에서 TestActivity호출
//무명내부클래스
endBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent it =
new Intent(MainActivity.this, TestActivity.class);
startActivity(it);
}
});
(3) 액티비티 간의 정보유지
인텐트의 파라미터
MainActivity ---------------> TestActivity
<---------------
프레퍼런스
인텐트의 파라미터: putExtra()
Intent it = new Intent(this, TestActivity.class);
it.putExtra(파라메터명, 값)
프레퍼런스 : SharedPreferences
SharedPreferences prefs
= getSharedPreferences(PREFS_NAME,MODE_PRIVATE);
8. 프로젝트 - 인공지능 앱 개발
- 사용자의 질문에 응답을 하는 앱
- 한국어와 영어 두가지 언어로 구성됨
- 사용자의 질문은 키보드 또는 음성으로 입력됨
* 안드로이드 앱에서 제공하는 저장소의 종류
- 앱 내의 공간 : 해당 앱에서만 사용할 데이터 저장 <-공유안됨
예)[res],[assets]폴더
- 공유 폴더 : 여러 앱에서 공유할 데이터 저장
예)안드로이드 기기연결시 보이는 [Music], [Pictures] 등등
* 안드로이드에서 제공하는 데이터 저장 기법
1. 제공되는 방법:
- 프레퍼런스, 내부/외부 저장소를 사용한 파일, SQLite데이터베이스, 네트워크를 사용한 웹상에서의
데이터 저장 방법
2. 방법 선택: 제공되는 방법 중 적절한 것을 선택
- 단독으로 사용할 것이지 다른 애플리케이션과 공유할 것인지?
- 데이터 유지용인지?
- 데이터를 저장할 위치는 어디에 지정할지? 에 따라
* JSON, XML 데이터
- 데이터를 배포할 때 사용하는 표준. 배포되는 공공데이터들도 이 둘 중 하나의 포맷을 사용
9. 데이터베이스 - 스마트 기기에 내장된 SQLite DB사용
- SQLite DB 용도 : 앱에서 발생하는 데이터등을 저장
- 서버DB 용도: 기관의 모든 데이터 관리.
그룹웨어, 웹사이트...
10.프레퍼런스 - 액티비티간에 정보 유지. 일종의 세션
Project 보기 : 저장된 폴더 내용과 동일 --> 간단하게 보기 위해 "Android" 보기
에러 시 clean project 또는 종료 후 재실행
* 작업 환경 구성 : MainActivity, content_main.xml 두번 클릭
- MainActivity
- content_main.xml : 디자인/텍스트 모드
* 위젯 사용하려면 디자인 모드로....
activity_main.xml 선택 시 수정(편집) 안됨
안드로이드 앱 개발과정 추가교재 - Android Studio사용.pdf
'잡기' 카테고리의 다른 글
카페 뮤제오 써포터즈 2016 서울 카페쇼 (0) | 2016.11.01 |
---|---|
2016 서울 카페쇼 사전등록 못했다면... (0) | 2016.10.26 |
나도 배우는 네트워크 설계 및 구축(IP라우팅) (0) | 2016.05.28 |
서울 포럼 2016 (2016.05.11~05.12) (0) | 2016.05.12 |
[육아일기]씨크라멘 파종에서 꽃피우기까지 (0) | 2016.05.12 |