일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
- Messenger
- app to app transaction
- java hashmap sorting
- android google account add call
- android border custom
- HashMap
- progressbar rounding
- android progressbar setIndeterminateDrawable not working
- android layout border
- android device add account
- nougat
- bindservice
- progressbar custom marshmallow
- Today
- Total
목록프로그래밍 (12)
기타치는 개발자
코틀린 시작하기 코틀린은 Google I/O 2017 에서 안드로이드 공식 언어로 채택되면서 세상밖으로 나오게 되었습니다. Kotlin은 IntelliJ IDEA의 개발사인 JetBrains에서 2011년에 개발된 언어로서 JVM에서 구동되며 Java와 100% 호환되며 기존 자바로 개발된 프로젝트에서도 코틀린 코드를 추가 할수도 있고 Android Studio를 사용하여 기존 Java코드를 Kotlin으로 손쉽게 변환할수 있습니다. 이번 글에서는 Kotlin의 장단점 및 간단한 변수 및 Java를 기준으로 특징 등을 작성해도록 하겠습니다. ● Kotlin의 장단점 1. 장점 - NullPointException 을 줄일수있습니다.- 기본으로 람다 지원으로 기존 람다를 위한 라이브러리가 필요 없습니다.-..
안드로이드를 사용하다보면 항상 불편하던것이 각 클래스마다 하나하나 임포트를 해줘야한다. 이클립스에서는 단축키 하나만 하면 전체 import 가 되었는데 ㅠㅠ 구글링중 좋은 전보를 얻게되어 올림니다. 위와같이 설정에 해당부분을 활성화를 해주면 된다는사실!!
이번에는 Service 사용해서 앱과 앱 사이 통신하는 부분을 정리해보려 합니다. 기본적으로 앱간 통신을 하게 될때 BroadcastReceiver, Intent 등을 많이 쓰게됩니다. 어려운 작업 없이 Receiver Action 정의를 해주거나 Intent scheme 정의합니다. 하지만 BroadcastReceiver 같은경우 시스템쪽으로 sendBroadCast 를 해주고 받아오는것이라 찝찝한 부분이 있습니다. 또한 구글 정책상 버전이 올라갈수록 manifest.xml Receiver 에 명시적으로 Action명을 선언하는것을 줄여간다고 하였습니다. 저 같은경우 아래와 같은 요건사항이 있을경우 Messenger 방식의 Service 를 사용하여 작업하였습니다.앱간 요청에 대한 응답 필요서로 앱 동..
9월 12일날 안드로이드 누가 버전 워크샵 참가한 후 간단히 정리 해보려 합니다. 구글코리아 양찬석님께서 발표해주신 세션을 듣고 유의깊게 봐야될 사항은 아래와 같습니다. Multi-Window 지원Display Size 변경가능Extended Doze브로드퀘스트리시버 (CONNECTIVITY_CHANGE) 메니페스트에 static 하게 선언 불가 1. Multi_Window 지원 - 기존 삼성단말에서 지원하던 Multi-Window 가 누가 버전에서는 기본으로 기능이 탑재 됩니다. - 기존 삼성단말에서의 Multi_Window 와는 다르게 해당 앱 창이 포커스게 되지 않았을시에 onResume이 타지 않는다고 함. - 동영상 재생앱 경우 동영상 정지 이벤트를 onPause 가 아닌 onStop 에 하도록..
미디어파일(이미지, 동영상 등 ) 복사/삭제/ 수정 등 작업을하였을때 새로고침하는 방법에 대해서 적어보겠습니다. 기존에 겔러리 기능이 있는 앱을 만들때 kikat 버전 이전은 12sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+Environment.getExternalStorageDirectory())));cs 위와 같이 사용하지만 이후 버전부터는 지원하지않습니다. MediaScannerConnection 라는 클래스가 존재합니다. 이클래스는 파일에서 메타 데이터를 읽고 해당 Medis scanner server에 제공하고 MediaScannerConnectionClient 클랫는 새로 검색한 파일의 Uri를 MediaS..
MVP(Model-View-Presenter)패턴 http://tiii.tistory.com/24 및 http://www.tinmegali.com/en/model-view-presenter-android-part-1/ 자료들을 참고하여 작성하였습니다. 안드로이드는 Spring Framgwork 처럼 정형화된 패턴이 정해져 있지 않습니다. 저를 포함한 많은 개발자들이 특정한 패턴에 맞춰서 개발을 하거나 구분하지 않습니다. 계속 많은 개발자들이 안드로이드에 맞는 패턴을 찾으려 노력하고 있으며 많은 포스팅이 있습니다. 많은 포스팅 참고하여 정리할 겸 MVP관하여 정리해봄니다. MVP란? 기본적으로 Model-View-Presenter 로 구분되어있다. - Model : View에 표시될 Data를 가공하거나 ..
단말에 계정등록할때 아래 와 같이 쓰면된다 1234Intent addAccountIntent = new Intent(android.provider.Settings.ACTION_ADD_ACCOUNT) .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);addAccountIntent.putExtra(Settings.EXTRA_ACCOUNT_TYPES, new String[] {"com.google"});startActivity(addAccountIntent);Colored by Color Scriptercs
파일다운로드시 IndeterminateDrawable 를 사용하여 Custom으로 화면 구성하는것을 작성해보도록 하겠습니다. 화면은 아래와같이 다운로드 후 압축해제 등 파일 처리시 나오는 화면으로 구성되어있습니다. 다운로드 중 파일 적용중 IndeterminateDrawable에 필요한 이미지들은 아래와 같으며 아래 이미지들이 반복되어 나타나게 됩니다. progress_01.png progress_02.png progress_03.png indeterminate_progressbar.xml123456789101112 Colored by Color Scriptercs 레이아웃 xml12345678910cs 프로그레스에 위와 같이 적용 후 해당 시점에서 progressBar.setIndeterminate(t..
안드로이드에서 DB를 생성하여 데이터를 저장 및 관리를 하게됩니다. 하지만 간단한 설정값(push 허용, 자동로그인여부) 등의 값들은 DB를 생성하고 관리하는데 너무 비효율적인면이 있습니다. 이럴경우에 SharedPreferences를 사용하여 간단한 값 관리를 할수있습니다. 간단한 사용은 아래와 같습니다 저장 : 123456 SharedPreferences prefs = getSharedPreferences("preferrence_name", MODE_PRIVATE);SharedPreferences.Editor editor = prefs.edit();editor.putString("key", text);editor.commit(); Colored by Color Scriptercs호출 :12Shared..
안드로이드는 기본적으로 SQLite를 지원하며 SQLiteOpenHelper 를 상속받아 구현하게됩니다. 아래와같이 onCreate에서 SQLITEDatabase객체에 create table 쿼리를 작성하여 테이블을 생성하게됩니다. 이때 오타의 위험성도 있으며 각각의 필드를 직접 적어야된다는 불편함이 있습니다. 또한 CRUD작업들을 할경우에도 커서에서 하나하나 컬럼명에 따라서 가져오는 부분을 구현해야 합니다 123cursor.getInt(mCursor.getColumnIndex("_id")), cursor.getString(mCursor.getColumnIndex("name"))cs실제로 앱에서는 서버와는 다르게 정교한 데이터베이스 작업들이 많지가 않습니다. 간단한 정보를 저장 후 검색 및 CRUD작업이..