Android Coding 23

파일 삭제 Task

매번 파일 삭제 프로세스를 처리를 할 때 필요한 Task를 정리 1.Task 처리private void deleteTmpFile(){ GomsLog.d(TAG, "deleteTmpFile()"); new DeleteFileTask().executeOnExecutor(AsyncTask.SERIAL_EXECUTOR); } /** 사진 삭제 task */ class DeleteFileTask extends AsyncTask { public DeleteFileTask() { } @Override protected void onPreExecute() { super.onPreExecute(); } @Override protected Integer doInBackground(Integer... params) { Fi..

Android Coding 2017.11.10

[앨범]사진 다중 선택을 할 때, 이상하게 의도치 않은 checkbox checked 될 때..

앨범 기능에서 다중 선택을 할 때, 이상하게 의도치 않은 checkbox click이 된다.따로 지정한 것도 없는데 참 난감하다. 1번 선택 이미지 옆에 번호없는 체크박스에 클릭이 자동으로 생긴다 ㅠㅜ 해결책..리사이클뷰(RecyclerView)에서 ViewHolder를 재사용함으로써 생기는 현상ViewHolder 재사용하지 않겠다는 코드를 넣어주면 끝...... this.setIsRecyclable(false); public SimpleViewHolder(View view) { super(view); this.setIsRecyclable(false); }참쉽죠잉~~ 결과물이 정상적으로 나온다. ^^v 이제 버그 수정을 했으니, 업데이트 진행을 하는 업무가 생겼네 이런 업데이트는 기꺼이 쇽~ 진행하겠삭~~

Android Coding 2017.06.15

Parcelable을 사용한 Object Array 전달

앨범에서 선택한 사진을 콜라주 생성 액티비티로 전달 시 필요함 1.AlbumActivity에서 세팅ArrayList collageArray = new ArrayList(); collageArray.addAll(mAdapter.getSelectedItems()); Intent intent = new Intent(mExternalGalleryActivity, CollageActivity.class); intent.putParcelableArrayListExtra(CollageActivity.EXTRA_COLLAGE_DATA, collageArray); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG..

Android Coding 2017.05.31

OkHttp3을 활용한 Multipart Image 전송

이미지 파일 전송을 1개씩 다중으로 보내는 프로세스를 적용했었는데,한번에 다중으로 보내는 필요성이 있어서 Okhttp를 적용하기로 함.. 그냥 httpclient를 사용해도 되는데, 그래도 okhttp를 사용해보고 싶어서 ^^ 1.okttp 적용 - 2017.03.24 기준으로 최신 com.squareup.okhttp3:okhttp:3.6.0 적용 http://square.github.io/okhttp/ dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.squareup.okhttp3:okhttp:3.6.0' } 2.적용 소스public class TestMultPartActivity extends Activity {..

Android Coding 2017.03.24

실시간 permission 처리 최종 #3

* 피쳐되기 전 필수 해결 사항: - 안드로이드 6.0(마시멜로)이 출시되면서 사용자가 직접 런타임 앱 권한을 관리할 수 있게 되었습니다. 따라서 사용자가 앱 실행 중 일부 혹은 전체 권한을 거부했을 때, 이를 적절하게 처리하는 것이 중요합니다. 권한 요청 과정은 아래의 가이드라인을 준수해야 합니다.• 사용자가 권한 사용을 거부하는 경우, 다시 해당 권한이 필요한 이유를 설명하시되 앱 설정으로 이동시키지 마십시오. 사용자가 ‘다시 묻지 않음'을 체크하고 거부하였을 경우에 설정 화면으로 유도하십시오. ------------------------------------------------------------- 다시 지적을 받았네요 ㅠㅜ기존에 설정 버튼을 달아서 사용자에게 확인토록 하면 될 거라고 판단되었는..

Android Coding 2017.03.22

실시간 permission 처리 #2

구글 피쳐 되기 위해 요청한 앱 피드백 결과 중 퍼미션에 대한 내용 3. 안드로이드 6.0(마시멜로)이 출시되면서 사용자가 직접 런타임 앱 권한을 관리할 수 있게 되었습니다. 따라서 사용자가 앱 실행 중 일부 혹은 전체 권한을 거부했을 때, 이를 적절하게 처리하는 것이 중요합니다. 권한 요청 과정은 아래의 가이드라인을 준수해야 합니다. • 앱의 주요 기능상 필요해서 앱 실행 시점에 특정 권한을 요청해야 하는 경우, 사용자가 이를 허용할 수 있도록 권한이 요청되는 이유를 상황에 맞게 설명하십시오.• 관련 작업이 수행되는 시점에 요청하시기를 권장해 드립니다.• 사용자가 권한 요청을 '거부'하는 경우 사용자를 단말기 설정 메뉴로 유도하지 마십시오. 사용자에게 앱 실행을 위해 해당 권한이 필요한 이유를 설명한 ..

Android Coding 2017.03.17

Activity Intent Flag 참조글

매번 Activity 생성 시, Intent Flag값이 혼돈이 된다. 모바일 앱 작성 시, 최초 walkthroughs 생성 Intent Flag는 FLAG_ACTIVITY_NO_HISTORY로 설정.Back Press 시, 다시 나오지 않겠지? ^^;Intent intent = new Intent(this, WalkthroughsActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY); startActivity(intent); finish(); 아래의 좋은 글이 있어서 참조하고 있습니다.FLAG_ACTIVITY_SINGLE_TOP 생성하려는 액티비티와 동일한 종류의 액티비티가 스택 최상위에 없을 경우 액티비티를 새로 생성한다.예제)1. 이미..

Android Coding 2017.03.13

카메라 수평계 센서 버그 처리. Orientation

카메라 수평계 처리에 대한 버그 카메라 화면에서 수평계를 넣어 달라고 해서 적용을 했었다. 카메라 디바이스 센서 중에 Sensor.TYPE_ROTATION_VECTOR이 있으면 센서가동 처리해서 수평계를 그려줌.Sensor.TYPE_ROTATION_VECTORpublic OrientationSensor(Activity activity) { mWindowManager = activity.getWindow().getWindowManager(); mSensorManager = (SensorManager) activity.getSystemService(Activity.SENSOR_SERVICE); // Can be null if the sensor hardware is not available if (mSens..

Android Coding 2017.03.10