728x90
반응형

ALL 601

프래그먼트 생명주기

실무에서 안드로이드앱을 만들 때 내가 만든 앱은 전부다 하나의 액티비티에 다수의 프래그먼트 물리는 구조를 많이 선택했다. 처음에는 다이렉트로 Context를 프래그먼트에서 불러오지 못하고, 일반적으로 액티비티에서 사용하는 문법과 살짝 살짝 다르기 때문에 복잡했지만, 처음부터 프래그먼트를 이용해서 개발해서 그런지 익숙해져버렸다.... 오늘은 프래그먼트의 생명주기를 알아보도록 하겠다. 제일 정확한 프래그먼트 생명주기 사진이다. 1. onAttach() 프래그먼트가 액티비티에 붙을 때 호출된다. 하지만 아직 완벽하게 생성된 것은 아님!! (이말을 잘 생각해보면, 프래그먼트는 액티비티 없인 독단적으로 존재할 수없는 녀석이란 소리다.) 2. onCreate() 본격적으로 프래그먼트가 액티비티에 호출을 받아 생성되..

Android 2018.07.23

안드로이드 OkHttp3를 활용한 동영상 전송

Uri video_URI; // 동영상 앨범 열기 public void getVideoFromGallery() { ImageView getVideoBtn = (ImageView) findViewById(R.id.getVideoBtn); getVideoBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //갤러리 동영상 호출 Uri uri = Uri.parse("content://media/external/images/media"); Intent intent = new Intent(Intent.ACTION_VIEW, uri); intent.setAction(Intent.ACTION_GET_CON..

Android 2018.07.18

php 로 파일 전송

$userId = $_POST['loginUserId']; $videosFile = $_FILES['file']['name']; $data = date("Ymdhi"); $file_path = "/Video_dir/"; // 저장할 경로 + 새로운 이름을 지정한다. $file_name = $_SERVER['DOCUMENT_ROOT'].$file_path.$userId.$data.".mp4"; if(isset($videosFile)){ // 임시폴더에서 위에서 작성한 경로로 새로운 이름으로 보내준다. if( move_uploaded_file($_FILES['file']['tmp_name'], $file_name)){ echo "업로드 성공"; }else{ echo "업로드 실패"; } }else{ echo..

PHP 2018.07.18

aws mysql 연동

설치 환경 AWS에 Ubuntu 14.04를 기반으로 인스턴스를 생성하고 sudo apt-get install mysql-server 명령으로 MySQL을 설치 버전 - MySQL 5.5(5.5.41-0ubuntu0.14.04.1) AWS - Security Group 설정 Inbound 탭에서 3306 포트를 열고 Source는 Anywhere(0.0.0.0)으로 설정 MySQL 설정 파일(/etc/mysql/my.cnf) 수정 bind-address 항목을 찾아서 0.0.0.0으로 변경(이전 값은 127.0.0.1) MySQL 재시작 service mysql restart ROOT 계정으로 외부에서 접속 가능하게 하려면 아래의 명령을 MySQL monitor에서 실행 GRANT ALL PRIVILEG..

미분류 2018.07.13

옵션 메뉴(Menu) 사용방법

22. 옵션 메뉴(Menu) 사용방법 22-1 메뉴란? 기기의 메뉴버튼을 누르면 나타나는 화면이 있습니다 어쩔때는 이렇게 메뉴 부분 옆에 나타나기도 합니다 이렇게 기기의 설정과 같은 항목이나, 검색같은 기능을 따로 메뉴를 통해 만들어 두게 됩니다 이번에는 이 메뉴에 대해 알아보겠습니다 22-2 메뉴는 프로젝트를 만들때 부터 있는데요? 맞습니다 메뉴는 어떤 작업을 하지 않아도 프로젝트를 만들때 부터 생기게 됩니다 우리가 자주 접하던 onCreate()는 액티비티의 생명주기(원래 빨리 배웠어야 하는대 너무 미뤄졌내요)에 의해 액티비티가 처음에 만들어질때 호출되는 메소드인것을 감안하면 그 아래에 있는 onCreateOptionsMenu()메소드가 메뉴와 관련된 메소드 라는것을 알수 있습니다 이제부터 onCre..

Android 2018.07.11

Android에서 타이틀바(TitleBar) 없애기

Android에서 타이틀바(TitleBar) 없애기 안드로이드 액티비티의 기본 타이틀바가 사실 그대로 사용해도 문제가 없을 만큼 다양한 표현이 가능하거나 미세한 조정이 되지 않기 때문에 대부분 분위기에 맞지 않는 기본 타이틀바를 완전히 없애거나 다른 이미지로 교체하려는 경우가 대부분이다. 인터넷을 검색해보면 많은 방법을 제시하지만 대부분 안드로이드가 제공하는 테마 기능의 사용을 어렵게 만드는 방법 뿐이다. 즉 AndroidManifest.xml에서 타이틀바가 없는 테마로 기본 테마를 교체하거나 코드에서 테마를 직접 지정하는 것인데 별로 좋은 방법은 아니다. 그래서 인터넷에 떠도는 몇 가지 방법을 정리해보고 문제점과 최선의 방법을 정리해볼까 한다. 자세히 읽어보고 가장 좋은 방법이 무엇인지 각자 생각해보면..

Android 2018.07.11

안드로이드 키보드 숨기기 ( 내리기 )

// 키보드 내리기 View 변수명 = getCurrentFocus(); if(searchView != null){ InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(searchView.getWindowToken(),0); } 또는 // 키보드 내리기 View searchView =this.getCurrentFocus(); if(searchView != null){ InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); imm.hi..

Android 2018.07.11

안드로이드 search View

res - menu main.java @Override public boolean onCreateOptionsMenu(Menu menu) { // 우측 상단 서치뷰 inflater.inflate(R.menu.main_search_view, menu); main_searchView = menu.findItem(R.id.search); // 서치뷰 검색 이벤트 setSearchEvent(); return true; } // --------------------- 검색 ( 서치뷰 ) onCreateOptionsMenu 내부에서 호출 --------------------- public void setSearchEvent(){ main_searchView.setOnActionExpandListener(new Me..

Android 2018.07.11
728x90
반응형