본문 바로가기
반응형

개발 공부 기록하기84

지뢰찾기 알고리즘 구현 한창 취업을 위해 이력서를 제출하고 있는데, 사전과제로 지뢰찾기를 구현하라는 과제를 받게되어 지뢰찾기에 대해서 고민해보는 시간을 가지게 되었다. 지뢰찾기를 제대로 해본적이 없어서 지뢰찾기를 어떻게 하는지 부터 찾아보게 되었다. 아무대나 빈 네모를 클릭 했을때 숫자가 나오는 것은 그 해당 숫자를 기준으로 ex 1 ) 1의 주변 (자신을 제외한 8칸)에 지뢰가 1개 있음을 표시 1 * ex 2 ) 3의 주변 (자신을 제외한 8칸)에 지뢰가 3개 있음을 표시 * * 3 * 위와 같은 규칙을 가지고 있음을 알 수 있었다. 그렇다 이는 이중 배열을 써야하고 만약 [2,2]의 위치에 숫자 3이 있다고 가정한다면 지뢰는 자기자신( [2,2] ) 를 제외한 배열주소에 어딘가에 지뢰가 3개가 있음을 알 수 있는 것이다... 2017. 6. 16.
RecyclerView 내부 CheckBox 체크 상태 유지시키기 개인 개발을 하다 RecyclerView 내부에 CheckBox를 추가할 일이 있었는데, 체크박스에 체크를 하고 스크롤을 내렸다가 다시 올리면 체크해놓은 아이템의 체크값이 초기화 되는 문제점이 있었다. 이를 어떻게 해결할까 구글링 해본결과 역시 해결책을 찾을 수 있었다. 내 소스는 xml과 Java 파일의 내용이 길어 짧은 스택오브플로우의 구글링한 코드를 가져왔다. xml layout 파일이다. RecyclerView 내부에 포함될 CardView 안에 TextView, CheckBox이 포함되어 있음을 볼 수 있다. 해당 Java 파일이다. RecyclerView를 사용할때 보통 다음과 같이 구성할 것이다.public class AdapterTrashIncome extends RecyclerView.A.. 2017. 5. 18.
View 이벤트 번짐효과 (ripple effect) 주기 안드로이드 버튼 터치/클릭시 위의 그림과 같이 효과를 주고 싶은 경우가 있다. 그럴때 어떻게 다음과 같은 효과를 줄까 찾아보게 되었다. 크게 두가지 간단한(?) 방법이 있는데 첫번째 아래의 내용을 이벤트를 주고자하는 view xml에 넣는다.android:clickable="true" android:background="?attr/selectableItemBackground" 두번째 다음과 같이 drawble forder 내에 ripple_effect.xml 파일을 만들어(이름은 마음대로 작명) effect 효과를 커스텀 하여 넣는 것이다. ripple_effect.xml 예제 소스는 다음과 같다 원하는 색상과 모양 타겟버전 등을 커스텀 할수 있다. 이후에는 effect효과를 주고싶은 뷰안에 androi.. 2017. 5. 11.
Fragment 내에서 Snackbar 사용하기 Fragment 내에서 간단하게 화면에 Snackbar를 출력하고자 하였다. 정말 쉽지 않은가? 그냥 단순하게 public class FragmentSnackbar extends Fragment { private View view; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) { view = inflater.inflate(R.layout.fragment, container, false); Snackbar.make(view, "SnackBar 나와라", Snackbar.LENGTH_LONG) .setAction("Action.. 2017. 5. 1.
Android 네트워크 연결 상태 체크 하기 개인 앱을 만들고 있는 도중 네트워크 연결상태에 따라 구분하여 처리해야하는 상황이 있었다. 이를 어떻게 해결할까 찾아보던 도중 다음과 같이 해결 할 수 있었다. 이 메소드는 모바일 인터넷이 연결 되었는지 체크하고 난 뒤 값을 연결됬는지 값을 boolean 값으로 반환하는 메소드 이다.public static boolean isNetworkConnected() { ConnectivityManager cm = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); return cm.getActiveNetworkInfo() != null; } 네트워크 상태 또는 와이파이 연결 체크를 위해 Manifest또한 아래 퍼미션을 추가해줘야 한다. 또.. 2017. 4. 30.
[안드로이드] Android Studio에서 Junit 기반 단위 테스트(Unit Test) 환경 구축하기 유닛테스트에 대해서 알아보던 도중 좋은 글이 있어서 가져왔습니다. 진행환경* Window 10 / * Android Studio 2.1.1 으로 아래의 내용을 테스트 해본 결과 동일하게 잘 동작함을 확인하였습니다. 출처 : http://xinics.tistory.com/101 ------------------------------------------------------------------------------------------------------------------------------------- Android Studio에서 Junit 기반 단위 테스트(Unit Test) 환경 구축하기안드로이드 Instrumentation 테스트의 경우에는 안드로이드 장치 또는 시뮬레이터에 직접 테스트 .. 2016. 7. 27.
[안드로이드]WebView에 동영상 자동실행 시키기 웹 사이트 안의 동영상을 안드로이드에서 실행 시킬 일이 있었다. 단순히 웹뷰로 해당 주소 URL만 입력하면 완료될 줄 알았는데 , 아래와 같은 문제점 들이 있었다. 1. 웹에 있는 영상이 자동으로 실행되지 않음.2. 동영상이 실행이 되지 않거나, 되더라도 영상은 안나오고 소리만 나온다. 위의 문제 2가지를 해결 하기 위해 찾아본 결과 아래의 소스로 해결 할 수 있었다. WebView webView = findViewById(R.id.webView); WebSettings mWebSettings = webview.getSettings(); webview.setWebViewClient(new KSWebViewClient()); // 웹뷰에 동영상을 바로 실행시키기 위함. mWebSettings.setMedi.. 2016. 7. 20.
스레드 동기화 synchronized에 관해서 출처 : http://noesse.tistory.com/27 요즘 Multi Thread를 다뤄야 하는 작업이 많아져서 데이터의 동기화작업을 해줘야 하는 경우가 많은데,확실하게 개념을 파악하지 못하고 대충 값의 변형이 일어나면 synchronized만 붙여서 사용했던것 같다. 잘못 남용했다가 삽질도 많이 했는데, 이 기회에 확실히 집고 넘어가기 위해 구글링을 하던 중, 좋은 번역을 해주신분이 있어서 이렇게 자료를 가져왔다. 두고두고 생각 안날때마다 보면 좋을것 같아 이렇게 포스팅한다. 이 글은 원 저자 Jakob Jenkov의 허가로 포스팅된 번역물이다.자바 컨커런시와 자바 메모리 모델에 관한 자료를 찾던 중 발견한 이 튜토리얼의 깔금한 이미지와 예제, 명료한 설명에 반하여 번역-소개한다. 자바 컨커런시.. 2016. 7. 5.
[안드로이드] 액션바 커스텀 하기 구글링중 좋은 예시가 있어 가져옴. 58down voteIf you want imageview in Center of ActionBar then use:just replace getActionBar(); to getSupportActionBar(); in below codepublic void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final ActionBar actionBar = getActionBar(); actionBar.setCustomView(R.layout.actionbar_custom_view_home); actionBar.set.. 2016. 5. 20.
반응형