본문 바로가기
728x90

프로그래밍/Android(Java)33

[Android] Image Url로부터 Bitmap 받아오기 private static Bitmap getBitmapFromURL(String src) { try { URL url = new URL(src); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setDoInput(true); connection.connect(); InputStream input = connection.getInputStream(); Bitmap myBitmap = BitmapFactory.decodeStream(input); return myBitmap; } catch (IOException e) { e.printStackTrace(); return null; } } 2019. 9. 29.
[Android] 앱 내에서 언어 설정 변경하는 창 띄우기 startActivity(new Intent(android.provider.Settings.ACTION_LOCALE_SETTINGS)); https://gist.github.com/gunhansancar/45648176dc47d50b1940 혹은 현재 앱 하나 언어만 바꾸는 코드 git. 2019. 9. 29.
[Android] Geocoder의 Address 리턴값 String s1 = address.get(0).getCountryName(); // 국가명 String s2 = address.get(0).getAdminArea(); // 시 String s3 = address.get(0).getLocality(); // 구 메인, "성남시 중원구" 인 경우 "성남시"가 들어감 String s4 = address.get(0).getSubLocality(); // 구 서브데이터 "성남시 중원구" 인 경우 "중원구"가 들어감 String s5 = address.get(0).getThoroughfare(); // 동 String s6 = address.get(0).getSubThoroughfare()); // 번지 String s7 = address.get(0).getFe.. 2019. 9. 29.
[Android] 구글맵에서 화면에 보이는 부분 범위 구하는 방법 public static void getMapStartEndPoint(int centerLatE6, int centerLngE6, int latSpan, int lngSpan){ // Screen 시작 좌표 int slat = centerLatE6 + (latSpan/2); int slng = centerLngE6 - (lngSpan/2); // Screen 끝 좌표 int elat = centerLatE6 - (latSpan/2); int elng = centerLngE6 + (lngSpan/2); } centerLatE6 : 지도중심의 LatitudeE6 centerLngE6 : 지도중심의 LongitudeE6 latSpan : 지도의 LatitudeSpan lngSpan : 지도의 Longitude.. 2019. 9. 29.
[Android] EditText 완료 버튼 리스너 달기 editText.setOnEditorActionListener((textView, i, keyEvent) -> { if(i == EditorInfo.IME_ACTION_DONE) { search(searchEditText.getText().toString()); } return true; }); 2019. 9. 29.
[Android] Bitmap을 Drawable로 바꾸는 방법 Drawable drawable = new BitmapDrawable(getResources(),bitmap); 2019. 9. 29.
[Android] 뒷 배경이 투명한 다이얼로그 생성 final Dialog dialog = new Dialog(this); dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT)); 2019. 9. 29.
[Android] 소프트 키보드(키패드) 열기 inputMethodManager.showSoftInput(EditText,InputMethodManager.SHOW_IMPLICIT); 'EditText'에는 포커스를 원하는 텍스트박스 입력 2019. 9. 29.
[Android] 소리 재생 소리 파일은 res - raw 폴더에 넣어둔다. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { mSoundPool = new SoundPool.Builder() .setMaxStreams(10) .build(); } else { mSoundPool = new SoundPool(10, AudioManager.STREAM_MUSIC, 1); } mSoundId = mSoundPool.load(this, R.raw.somesound, 1); // ... mSoundPool.play(mSoundId, 1, 1, 1, 0, 1); 2019. 9. 29.
[Android] GIF 파일 사용할수 있게 만들어주는 git https://github.com/koral--/android-gif-drawable koral--/android-gif-drawable Views and Drawable for displaying animated GIFs on Android - koral--/android-gif-drawable github.com 참고 2019. 9. 29.
[Android] assets 폴더의 이미지 사용법 Drawable.createFromStream(getAssets().open("pictemp/ic_launcher.png"),null) 위와 같은 방법으로 Drawable 클래스를 리턴받을 수 있음 (pictemp : assets 폴더의 하위 폴더, ic_launcher.png : 샘플 이미지) 2019. 9. 29.
[Android] 핸드폰 갤러리 열고, 선택한 사진 받아오기 Intent intent = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI); intent.setType("image/gallery"); intent.setAction(Intent.ACTION_PICK); startActivityForResult(intent,REQUEST_PICKER); 위 방법으로 갤러리를 열 수 있고(REQUEST_PICKER는 상수값) @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { //super.onActivityResult(requestCode, re.. 2019. 9. 29.
[Android] 소프트 키보드(키패드) 닫기 InputMethodManager inputMethodManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); 2019. 9. 29.
[Android] ValueAnimator의 Listener ValueAnimator도 리스너가 있어서 애니메이션이 시작, 끝, 반복 등의 이벤트가 발생할 때 내가 원하는 코드를 발동시킬 수 있다. 리스너의 생김새는 아래와 같다. ValueAnimator anim=~~; anim.setListener(new Animator.AnimatorListener(){ //* ~~ onAnimationStart,~End,~Cancel,~Repeat 등 오버라이드 }); 2019. 9. 29.
[Android] AlertDialog의 사이즈 변경 AlertDialog dialog=builder.create(); 로 dialog생성 후, dialog.show(); 이후에 LayoutParams params=dialog.getWindow().getAttributes(); params.width=~; params.height=~; dialog.getWindow().setAttributes(params); 로 변경하길 원하는 사이즈를 전달해주면 된다. 2019. 9. 29.
[Android] Vibrator를 사용하여 진동 울리기 AndroidManifest에 아래처럼 permission을 추가한다. onCreate에서 아래처럼 vibrator를 생성한 후 Vibrator vibe=(Vibrator)getSystemService(VIBRATOR_SERVICE); 진동이 울리길 원하는 지점에서 vibe.vibrate(~); 위 코드를 추가하면 된다. 2019. 9. 29.
[Android] AsyncTask 여러개를 동시에 병렬적으로 실행하는 방법. AsyncTask는 직렬적이므로 한번에 한개씩만 가동된다. 하지만, async.execute(); 대신 async.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); 를 쓰면 여러개의 AsyncTask가 동시에 실행된다(마치 여러개의 Thread를 돌리는것처럼). 2019. 9. 29.
[Android] Intent 전환 효과 주기 뷰 보이기 효과를 없애려면 onCreate에 미리 getWindow().setWindowAnimation(0); 이라고 하면 됨. 뷰 전환 애니메이션을 만들기 위해 아래와 같이 fade in 예시를 만들어보면, res 폴더에 anim 폴더 생성 후 ex) fade_in.xml 파일 생성 으로 fade_in.xml 완성 Intent intent=new Intent(~,~); startActivity(intent); overridePendingTransition(android.R.anim.fade_in,~); intent 전환시 이렇게 만들어놓은 fade_in.xml 파일을 적용시켜준다. 2019. 9. 29.
728x90