본문 바로가기
반응형

분류 전체보기361

오라클 sqlplus 접속, 계정생성, 계정삭제, 패스워드 수정 ●계정 생성 - cmd창에서 'sqlplus "/as sysdba"'를 입력해서 오라클에 접속한다 - 'create user 유저명 identified by 패스워드' 명령어로 계정을 생성한다. ●권한부여 - 'grant connect, dba, resource to 유저명' 명령어로 계정에 권한을 준다. ●계정 패스워드 변경 - 'alter user 유저명 identified by 패스워드' 명령어로 계정의 패스워드를 변경한다. ●계정 삭제 - 'drop user 유저명 cascade' 명령어로 계정을 삭제한다. 2015. 8. 25.
오라클 서버 설치 ●오라클 사이트(http://www.oracle.com/)에서 오라클 데이터베이스 설치파일을 다운받는다 ●파일 압축을 푼 뒤 두번째 파일의 database/stage/Components에 있는 파일들을 복사해서 첫번째 파일의 database/stage/Components경로에 복사한다. ●setup.exe로 설치한다. ●db를 설치할 경로를 선택하고 비밀번호를 입력한다. ●완료후 cmd에서 sqlplus를 실행했을때 실행되면 설치가 완료된것이다. ●sql developer 실행-sql developer를 실행하면 java설치경로를 지정하는 창이 뜬다. java설치경로에서 java.exe를 선택한다 ㅣ 2015. 8. 20.
웹 호스팅 장시간 접속 안할때 mysql 500에러 ●장시간 접속하지 않고 다시 접속하면 500에러가 나오고 새로고침 한번 하면 다시 제대로 나오는 오류->mysql서버에 일정시간 접속하지 않으면 mysql서버 연결이 끊긴다. 그래서 일정시간 마다 한번씩 mysql에 접속을 해주는 속성을 넣어줘야 한다. spring+ibatis의 경우 root-context.xml에 validationQuery를 넣는다. ex) 2015. 6. 17.
안드로이드 GCM ●GCM(Google Cloud Messaging)- 구글에서 제공하는 푸시 메시지 서비스이다. ●gcm 서비스 신청 - 구글 콘솔 사이트에 접속한 후 프로젝트를 생성한다.https://console.developers.google.com/project - API 및 인증에서 API를 클릭 한 후 Clou Messaging for Android에 들어가서 사용설정을 On으로 한다. - 사용자 인증정보에 들어가서 '공개API 엑세스'에서 새 키(서버키)를 만든다. - 서버의 IP를 입력한다. 아무것도 입력하지 않으면 모든IP허용이 된다. ● 아래 사이트에서 예제 소스를 다운받아 적용하기https://github.com/google/gcm - https://github.com/google/gcm에서 다운받은.. 2015. 5. 10.
안드로이드 SharedPreferences ●SharedPreferences- 데이터를 간단하게 저장할 수 있는 안드로이드에서 제공하는 클래스이다. ●예제- MainActivity.javapackage com.example.example; import android.app.Activity;import android.content.SharedPreferences;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.CheckBox;import android.widget.EditText;import android.widget.Toast; public c.. 2015. 5. 10.
안드로이드 자바 소켓서버 통신 ●소켓- 일상 용어에서는 전구를 끼울 수 있는 도구를 말한다. 자바언어에서는 네트워크를 제어하는 클래스를 의미한다.자바에서는 개발자가 네트워크 전문지식이 없어도 프로그래밍적으로 제어가 가능하도록 추상화시켜 제공해준다. ●예제 서버- ChatServer.javapackage chat; import java.io.IOException;import java.net.InetAddress;import java.net.ServerSocket;import java.net.Socket;import java.util.Vector; public class ChatServer {//서버소켓 - 클라이언트의 접속을 받아들이는 클래스int port=7777;ServerSocket server;Vector connectList;.. 2015. 5. 10.
안드로이드 어싱크태스크(AsyncTask),로딩중 표시(ProgressDialog), 웹서버 연결 통신(HttpURLConnection) ●어싱크태스트(Async Task) - 네트워크 연결이므로, 연결시에 지연이 발생할 수 있다. 따라서 메인쓰레드(UI쓰레드)로 네트워크 접속을 시도하면 앱은 접속이 성공되고 응답을 받을때까지 동작을 못하게 된다. 따라서 안드로이드 최근버전부터는 메인쓰레드가 네트워크 접속을 시도하는것 자체를 금지한다. - 웹서버로부터 데이터를 가져와서 ListView 등에 출력하려면 동생쓰레드에서 가져온 데이터를 UI에 반영하는 작업이 필요한데, 안드로이드에서는 개발자가 정의한 쓰레드는 UI를 제어할 수 없도록 금지시켜놓았다. 그래서 Handler를 사용해야 하는데 이 작업은 번거롭다.그래서 AsyncTask라는 백그라운드 작업용 클래스를 지원하게 되었다. - AsyncTask = Thread + Handler ●로딩중 .. 2015. 5. 1.
자바스크립트 JSON ●자바스크립트 JSON(JavaScript Object Notation)- JSON은 원래 자바스크립트 데이터 객체이다. - JSON이란 데이터를 표현함에 있어 xml보다 더욱 단순하고 객체 표현방식이 기존의 개발자들에 익숙한 {객체표기법}을 따르므로 데이터 처리가 쉽다. ●예제- text.jsp 2015. 4. 26.
java JSON 라이브러리 ●자바JSON- 자바에서 JSON을 만들고 파싱을 해주는 기본 클래스가 없기때문에 라이브러리를 추가해줘야 한다. - 자바 JSON라이브러리는 여러가지가 있다. 아래 예제는 org.json 라이브러리를 사용했다.http://mvnrepository.com/artifact/org.json/json ●예제- text.jsp 2015. 4. 26.
안드로이드 JSONObject, JSONArray ●안드로이드 JSON - 안드로이드에서는 별도로 라이브러리를 추가할 필요없이 JSONObject, JSONArray 클래스를 사용하면 된다. ●예제- MainActivity.javapackage com.example.exam; import org.json.JSONArray;import org.json.JSONException;import org.json.JSONObject; import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.widget.Toast; public class MainActivity extends Activity { @Overr.. 2015. 4. 26.
안드로이드 ViewPager, SQLite 예제 소스 ●ViewPager와 SQLite를 이용한 예제 - MainActivity.javapackage com.example.example1; import java.util.ArrayList; import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.os.Bundle;import android.support.v4.view.ViewPager;import android.support.v4.view.ViewPager.OnPageChangeListener;import android.support.v7.app.ActionBarActivity; public class MainActivity extends Action.. 2015. 4. 25.
안드로이드 오픈소스 ViewPagerIndicator ●뷰페이저인디케이터(ViewPagerIndicator)- 뷰페이저 화면이 이동할대 탭으로 해당 페이지가 어디에 위치해 있는지 알려준다.예)카카오톡 상단 탭 효과 - 아래 페이지에서 라이브러리를 다운 받은후 이클립스에 import해준다.http://viewpagerindicator.com/ - library프로젝트 우클릭후 properties에 들어가서 좌측android탭에서 is Library에 체크해준다. ●뷰페이저인디케이터 sample앱 추가- 먼저 다운받은 라이브러리 압축을 푼후 library폴더를 이클립스에 import해준다. (이 라이브러리를 사용할 프로젝트와 같은 workspace에 추가해야한다.) - library프로젝트 우클릭후 properties에 들어가서 좌측android탭에서 is L.. 2015. 4. 15.
안드로이드 SQLite ●sqlite- 안드로이드 로컬에서 사용하는 database이다. - 실제 스마트폰 단말기 내의 data/data/database경로에 파일이 만들어지게된다.에뮬레이터를 실행하고 DDMS에 들어가면 파일 구조를 볼수 있다.(실제 핸드폰으로 연결하면 파일구조를 다 보지 못하도록 막혀있다.) - 안드로이드 스마트폰은 보안상 접근을 허용하지 않는다. 따라서 개발자가 만일 sqlite 파일등을 스마트폰에 넣으려 할때, gui모드로 지원되는 DDMS는 사용할 수 없다.DDMS는 에뮬레이터에서만 의미가 있다. 안드로이드의 sqlite 관련 패키지에는 개발자가 데이터베이스 관리할 수 있는 여러 객체들을 지원해주므로, 실제 개발시엔 GUI모드로 하지말고 프로그래밍으로 처리한다. ●예제 - DatabaseMain.jav.. 2015. 4. 8.
안드로이드 뷰페이저(ViewPager) ●뷰페이저(ViewPager)- 화면을 좌우로 드래그해서 화면을 전환하는 기법이다. - import android.support.v4.app.~~ 를 선언해야한다. ●예제- 버튼을 클릭하거나 좌우로 드래그하면 화면이 전환되고 2초마다 화면이 자동으로 전환되는 예제 - MainActivity.javapackage com.example.day0404; import android.os.Bundle;import android.os.Handler;import android.support.v4.view.ViewPager;import android.support.v7.app.ActionBarActivity;import android.view.View;import android.view.View.OnClickListe.. 2015. 4. 7.
안드로이드 액션바 (ActionBar) ●액션바(Actionbat)- 앱 상단에 나오는 네이게이션 모드를 제공해 주는 바이다. 유저의 위치를 확인시켜주고 메뉴등을 제공해 줘서 유저가 앱을 더 편리하게 사용하도록 한다. - 안드로이드 버전 11부터는 Activity에 이미 액션바가 지원된다. 개발자가 매니페스트에 설정하지 않으면 나오지 않는것 뿐이었다. 이전 버전 개발시 반드시 ActionBarActivity클래스를 상속 받아야 한다. - 액션바를 사용하려면 매니페스트에 테마(android:theme="@android:style/~~~)를 추가하면 된다. ●예제1 - ActionBarMain.javapackage study.bar; import com.example.day0328.R; import android.app.Activity;impor.. 2015. 4. 1.
안드로이드 프래그먼트(Fragment) ●프래그먼트(Fragment) - 스마트폰 화면이 커지고, 태블릿 피시의 등작으로 한 화면안에 여러 액티비티를 처리해야할 필요가 생겨났다. 그래서 하나의 액티비티안에 각각 여러개의 독립적으로 분할된 화면을 처리하기 위해 안드로이드 API 11(허니콤)부터 Fragment가 등장했다. - Fragment를 상속받은 클래스를 만들고 FragmentManager, FragmentTransaction를 이용해서 화면 처리를 한다. ●예제- 버튼A, B, C를 누르면 화면 변경되는 예제(지금은 잘 안쓰는 방법) - FragmentTest.javapackage study.fragment; import android.app.Activity;import android.app.FragmentManager;import a.. 2015. 4. 1.
안드로이드 애니메이션2 ●예제- 쓰레드를 이용하여 사용자가 직접 애니매이션 효과를 만들어 본다. 아래 예제는 화면을 터치하면 이미지가 움직이는 예제이다. - AniActivity.javapackage study.thread; import com.example.day0328.R; import android.app.Activity;import android.os.Bundle; public class AniActivity extends Activity{@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.ani_layout);}} - MyView.javapackage stu.. 2015. 3. 30.
안드로이드 핸들러(Handler) ●핸들러(Handler) - 안드로이드는 자바표준의 쓰레드를 그대로 사용한다. 단, 주의할건 쓰레드의 대상이 UI제어일 경우 직접 제어할 수 없고 반드시 Handler나, AsyncTask를 이용해야 한다. - 안드로이드에서는 메인쓰레드만 UI를 제어할 수 있고, 이벤트를 제어할 수 있다. 따라서 개발자가 정의한 쓰레드를 이용한 UI 제어를 허용하지 않는다. 그래서 개발자 정의 쓰레드는 핸들러를 이용하여 간접적인 요청을 시도하여 그래픽을 처리할 수 있다. ●예제 - CountActivity.javapackage study.thread; import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.v.. 2015. 3. 30.
안드로이드 쓰레드 (Thread) ●쓰레드(Thread)- OS가 여러 프로세스를 동시에 처리하듯, 자바의 JVM도 세부 실행부를 생성하여 독립적으로 실행할 수 있는데, 이러한 독립적 세부 실행단위를 '쓰레드'라고 부른다. - 특정 클래스를 쓰레드 클래스로 정의할 경우, 메인 실행부와는 별도로 독립적인 수행단위가 될 수 있다. - 개발자가 독립적으로 수행할 코드를 run메서드에 작성해야 한다. - run메서드는 개발자가 직접 호출해서는 안된다. 실행여부는 시스템인 JVM이 결정해야 한다. 만일 개발자가 run메서드를 호출하면 메인쓰레드가 실행되므로 그냥 일반 메서드 취급된다. 그래서 start()로 호출해야한다. - 쓰레드는 run메서드가 끝날때 죽는다. 만약 run()안에 무한루프를 넣으면 run()메서드가 끝나지 않아서 쓰레드가 죽지.. 2015. 3. 26.
안드로이드 애니매이션1 (Animation) ●애니매이션(Animation) - 안드로이드 자체적으로 간단한 에니메이션 효과가 지원된다. - 안드로이드에서는 트윈 에니메이션을 지원한다. 일반적인 프레임에니메이션과는 차이가 있다. * 프레임 에니메이션 - 여러장의 이미지를 짧은 시간에 보여줘서 움직이는 것처럼 보여줌 * 트윈 에니메이션- 시작부터 마지막 사이의 에니메이션 효과를 내부적으로 예측 연산하여 보여줌 - 안드로이드에서 제공하는 시스템 애니매이션은 호출만 하면 된다. 대신 종류가 적다. 그래서 개발자가 직접 애니매이션을 제작해야 할 경우 쓰레드(Thread)를 이용해서 제작한다. - res/anim 안에 애니매이션 효과에 관한 xml파일을 만든 후 이 xml을 위젯에 적용한다. ●트윈 에니메이션 예제 - AniActivity.javapacka.. 2015. 3. 25.
안드로이드 캔버스(Canvas) ●캔버스(Canvas) - 화면에 어떤것을 그릴때 사용한다. - 뷰의 onDraw()메서드 재정의가 필요하다. - 안드로이드에서 제공하는 대부분의 안드로이드 위젯은 안드로이드에서 필요한 것이므로 개발자가 그래픽 처리를 함부로 하지 않는게 좋다. ●예제 - DrawTest.javapackage study.graphic; import com.example.day0321.R; import android.app.Activity;import android.os.Bundle;import android.widget.Button; public class DrawTest extends Activity{protected void onCreate(Bundle savedInstanceState) {super.onCreate(.. 2015. 3. 25.
안드로이드 리스트뷰2 (ListView), Adapter 재정의 ●Adapter 재정의- Adapter의 자식 개체중 ArrayAdapter는 단순한 텍스트만 보여주고자 할때 사용한다. 개발자가 정의한 복잡한 아이템 위젯은 지금가지 존재하지 않았던 새로운 위젯과 마찬가지이므로, ArrayAdapter가 보여줄 수 없다. 그래서 개발자가 직접 Adapter클래스를 상속받아 재정의해서 사용해야한다. ●예제 - FruitActivity.javapackage com.example.day0321; import java.util.ArrayList; import android.app.Activity;import android.os.Bundle;import android.widget.ArrayAdapter;import android.widget.ListView; public cla.. 2015. 3. 25.
안드로이드 인플레이터(inflater) ●인플레이션(inflation)- 레이아웃xml에 명시한 위젯이 안드로이드 메모리에 셩성되는 과정은 인플레이션이라 한다. - setContentView를 이용하면 xml레이아웃을 인플레이션 한 후 화면에 보여주는 기능을 하기도 하고, 인플레이션 된 위젯을 화면에 구성하는 기능을 한다. ●예제- TestActivity.javapackage study.custom; import com.example.day0314.R; import android.app.Activity;import android.os.Bundle;import android.view.LayoutInflater;import android.widget.Button;import android.widget.LinearLayout; public clas.. 2015. 3. 18.
안드로이드 커스텀 버튼 만들기 ●자바로 Button 위젯 만들기 - CustomEx1.javapackage com.custom; import android.app.Activity;import android.app.ActionBar.LayoutParams;import android.os.Bundle;import android.widget.Button;import android.widget.LinearLayout; public class CustomEx1 extends Activity{@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//리니어 레이아웃 선언LinearLayout layout = new LinearLa.. 2015. 3. 17.
안드로이드 xml레이아웃 include ●안드로이드 레이아웃 xml include해서 사용하기 - xml레이아웃에 추가하고 싶은 레이아웃xml을 include해준다. - mybutton.xml 2015. 3. 17.
안드로이드 리스트뷰1 (ListView) ●리스트뷰(ListView) - 여러개의 목록을 보여주는 위젯이다. - 리스트뷰에 보여줄 데이터는 리스트뷰에 직접 입력하는 것이 아니라, adapter 객체에 담고, 그 adapter객체를 리스트뷰에 넣어줘야한다. - adapter객체에 담을 데이터는 xml에서 불러올수도 있고 자바에서 넣어줄수도 있다. - ListView처럼 다량의 데이터를 처리하는 위젯은 어댑터라는 중간 객체에 의존하게 된다. 이유는 디자인에 불과한 ListView가 직접 데이터를 제어하게 되면, 유지보수성이 떨어지게 되기 때문이다. - 안드로이드에서는 ListView처럼 다수의 데이터를 처리하는 위젯이 여러개 있다. 아래 4개 위젯 모두 데이터를 직접 제어하지 않고 어댑터 객체를 이용한다. 그래서 어댑터뷰라고 부른다.(ListVie.. 2015. 3. 17.
안드로이드 스피너(spinner) ●스피너(spinner)- html의 select와 비슷한 것이다. 여러개 중 하나를 선택 할수 있게 해준다. - ListView와 마찬가지로 adapter 객체를 이용하여 보여준다. ●스피너 예제1 - ex1.xml - ex1.javapackage com.example.day0314; import android.app.Activity;import android.os.Bundle;import android.widget.ArrayAdapter;import android.widget.Spinner; public class Ex1 extends Activity{@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated .. 2015. 3. 17.
안드로이드 인텐트(intent) ●인텐트(Intent)- 하나의 앱을 구성하는 여러 액티비티간 데이터를 주고 받고 대상에게 무엇을 하려는지에 대한 '의도'를 전달할 목적으로 사용되는 객체이다. - 인텐트 사용시 대상 액티비티를 정확히 명시하여 사용할 수 있는 인텐트를 명시적(explicit)인텐트라고 하고 대상을 정확히 명시하지 않고 사용하는 액티비티를 암시적(implicit)라고 한다. - 명시적 인텐트는 앱내에서 내가 만든 액티비티를 호출할때 이용하고, 암시적 인텐트는 다른 앱을 호출할때 Action상수를 이용해서 호출한다. ●명시적 액티비티 예제 - A액티비티에서 B액티비티로 화면 이동하고 텍스트를 전달하는 예제 - a.xml - ActivityA.javapackage study; import com.example.day0307... 2015. 3. 10.
안드로이드 버튼 클릭, 이미지 변경 ●버튼클릭하면 숫자가 하나씩 증가하는 예제 - ex1.xml -MainActirity.javapackage com.example.day0307;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast; public class MainActivity extends Activity implements OnClickListener{int cnt=1;@Overri.. 2015. 3. 10.
안드로이드 버튼 클릭, 화면 이동 ●버튼을 클릭하면 메세지가 나오는 예제 - MainActivity.javapackage com.example.project import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast; //사용자가 위젯에 이벤트를 발생시킬때, 이러한 이벤트를 click이벤트라 하고, 이 이벤트가 발생했을때 어떤 내용의//구현을 할지는 개발자의 몫이기 때문에, 내용이 불완전한 인터페이스 객체가 전달된다!public class MainActivity extends Activ.. 2015. 3. 6.
반응형