안드로이드: 133개의 글
신나게 코딩하다 빌드하려하면 with non-zero exit value 가 포함된 에러가 나올 때가 있다. Full Exception은 다음과 같다. Error:Execution failed for task ':app:transformClassesWithDexForDebug'. > com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_65\bin\java.exe'' finished with non-zero exit ..
우리가 흔히 사진에 줌 기능을 넣을 때 쓰는 라이브러리가 chrisbanes 의 PhotoView다. https://github.com/chrisbanes/PhotoView 사용을 위해 간편하게 디펜던시에 추가하면 끝 compile 'com.commit451:PhotoView:1.2.4' 사용법도 간편하다 ImageView iv = (ImageView) findViewById(R.id.imageView); Drawable bitmap = getResources().getDrawable(R.drawable.wallpaper); iv.setImageDrawable(bitmap); PhotoViewAttacher mAttacher = new PhotoViewAttacher(mImageView);ImageVie..
이전에 구글맵은 LocationManager를 이용하여 gps와 network를 비교하며 사용했다.이 과정이 복잡하고 처리도 늦어 구글에서 대대적인 개혁을 했으니.바로 GoogleApiClient를 이용하여 서비스 한다. 이전의 처리방법LocationManager locationManager = (LocationManager) context.getSystemService(Activity.LOCATION_SERVICE); boolean isGpsEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER); boolean isNetworkEnabled = locationManager.isProviderEnabled(LocationMana..
The Way to Scan Wifi List 내 주변의 와이파이의 목록을 가져오는 법 1. WifiManager를 선언wifiManager = (WifiManager) getContext().getSystemService(Context.WIFI_SERVICE); 2. IntentFilter를 선언하여 Receiver를 등록IntentFilter intentFilter = new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION); intentFilter.addAction(WifiManager.NETWORK_STATE_CHANGED_ACTION); getContext().registerReceiver(receiver, intentFilter); 3. Rec..
Decompile을 하는 이유는 간단하다. 소스를 보기 위해서.... apk파일을 열어보면 xml은 깨져있고 java파일은 보이지도 않는다.소스를 보기 위해서는 어떻게 해야할까?알고있는 몇가지를 포스팅해본다. - dex2jar https://github.com/pxb1988/dex2jar실행파일을 미러사이트에서 받으면 된다. 압축을 풀면 위와 같은 파일들을 볼 수 있다. 다음으로 apk에서 classes.dex파일을 추출하여 위 폴더에다 넣는다. 해당 폴더의 경로에서 d2j-dex2jar.bat classes.dex 를 입력하면 dex파일을 jar파일로 변환시켜준다. 변환된 jar파일의 압축을 풀면 java파일을 볼수가 있다. - smali2java dex2jar에 GUI까지 더해진 것이라 생각하면 된다..
안드로이드에서 비디오를 재생하는 방법은 두가지다. 하나는 원격지 서버에서 스트림으로 받아와 재생하는 방법또 하나는 로컬에 있는 매체를 재생하는 방법 다양한 재생방법과 라이브러리가 있겠지만 가장 기본적인 방법은 아래와 같다. VideoView videoView = (VideoView) findViewById(R.id.vidieo); MediaController controller = new MediaController(this); controller.setVisibility(View.GONE); videoView.setMediaController(controller); videoView.setOnCompletionListener(completionListener); //로컬 videoView.setVide..
우리가 흔히 sns에서 사진을 첨부할 때 선택할 때마다 번호가 생성되는 것을 볼 수 있습니다.그냥 첨부해도 되지만 번호를 보여준다는 것은 사용자들로 하여금 올바르게 작동되고 있다는 것을 인식시켜줍니다. 제가 문득 카카오그룹의 사진을 첨부하며 본 것을 간단하게 만들어봤습니다. 출처: https://akaisun.tistory.com/12?category=622886 [아카이의 개발창고]
ButterKnife란? 스퀘어 개발자인 JakeWharton이 만든 어노테이션 프로세싱을 이용한 오픈소스 라이브러리 기존의 코드public class TestActivity extends AppCompatActivity { private TextView textView1; private TextView textView2; private TextView textView3; private TextView textView4; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_test); textView1 = (TextView..
안드로이드 개발을 하면 플레이스토어에 앱을 등록해야 합니다.하지만 그냥 등록하는 것이 아니라 개발자 등록과정을 거쳐야 하는데요. 개발자 등록을 위해서는 아래의 주소로 접속하시면 됩니다. 구글플레이 개발자콘솔 - https://play.google.com/apps/publish 구글 계정으로 로그인을 하게 되면 개발자 등록을 위한 step by step이 기다리고 있습니다.구글 플레이스토어의 개발자 등록은 1회만 하면 되며, 가격은 25달러 한화로 약 2만 5천원정도입니다. 환율에 따라 틀려질 수 있으니 유념하세요. 개발자 등록을 함과 동시에 결제를 해야 하는데요. 결제수단은 카드밖에 되지 않습니다. 신용카드가 없어도 visa마크가 붙은 체크카드도 가능하니 참고하시길 바랍니다. 결제를 함과 동시에 카드상태..
지난 포스팅에서 Firebase(파이어베이스)가 무엇인지 알아봤습니다. 이번 포스팅에서는 파이어베이스의 특 장점인 Realtime Database를 사용해서 간단한 채팅 앱을 구현해보겠습니다. 1. Realtime Database 참고 : 파이어베이스의 리얼타임 데이터베이스는 Android, iOS, Web에서 사용이 가능합니다! '리얼타임 데이터베이스'란 데이터 저장 공간인 데이터베이스에서 데이터를 실시간으로 주고받는 것을 의미합니다. Firebase의 데이터베이스는 개발자가 직접 구축하는게 아니라 Firebase에서 기본적으로 제공하는 폼을 사용합니다. 이 데이터베이스는 Android에서API 사용으로 몇줄의 소스만을 통해 실시간으로 앱 데이터를 저장 및 동기화를 해줍니다. 그렇기 때문에 서버관리에서..