이미지를 제공된 크기대로 설정해야 하는 상황에서


ImageView에 setImageDrawable 을 사용 하는 것과 Button에 setImageDrawable을 사용 하는 것은 서로 다르게 작용한다.


ImageView에 리소스를 로딩 하는 경우, View의 크기에 맞게 이미지가 Stretch 된다.

하지만 Button에 리소스를 로딩 하는 경우, 원래 크기대로 이미지가 표시된다.


물론 setBackgroundDrawable이나 xml 상에서 android:background="@drawable/~~" 하는 경우에는 View의 크기에 꽉 차게 이미지를 로드한다.


Stretch 되는 것 너무 싫다 흑흑

저작자 표시 비영리 변경 금지

어플을 실행시키면 기본적으로 로그캣의 필터에 걸러져서 나온다.


근데 이놈이 제대로 동작하지 않아서 필터를 다 지웠더니.. 그 이후로 임의로 필터를 추가해도 동작하지 않는다!!


헐...


커스텀으로 필터 추가 할 때 보통은 by Application Name에 어플의 패키지명을 적어줘야 하는데, 그래도 안되길래 by Log Tag 항목에, 어플 내에 있는 임의의 태그를 하나 입력했더니, 갑자기 어플의 필터도 뚜둥 하고 생겼다.


휴.. 안생기면 어쩌나 걱정했었는데..


다행이다!!


저작자 표시 비영리 변경 금지

맘에 드는 뮤직 비디오 Best

music/listen 2013/06/19 16:17 Posted by roter

순위는 딱히 매길 수 없고... 생각나는대로 적어봄

 

1. 이승철 - My Love

2. 싸이 - 강남스타일

3. 본조비 - All about lovin you

 

계속 추가 예정

저작자 표시 비영리 변경 금지


안드로이드 코드

private void uploadPhoto(final Bitmap bitmap){ Thread thread = new Thread(new Runnable() { public void run() { ByteArrayOutputStream bao = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.JPEG, 90, bao); byte [] ba = bao.toByteArray(); String ba1 = Base64.encodeToString(ba, Base64.DEFAULT); ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); nameValuePairs.add(new BasicNameValuePair("image", ba1)); try { HttpClient client = new DefaultHttpClient(); HttpPost post = new HttpPost("http://10.0.2.2:80/android/base.php");

post.setEntity(new UrlEncodedFormEntity(nameValuePairs)); HttpResponse response = client.execute(post); //HttpEntity entity = response.getEntity(); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ClientProtocolException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); thread.start(); }


위처럼 쓰레드로 감싸는 이유는, 허니콤 부터 Network 관련 부분을 쓰레드로 감싸지 않으면 Exception을 띄우게 해놨기 때문이다. 무슨 익셉션인지는 까먹었다.. 여튼 저렇게 쓰레드로 감싸야 한다!


서버 코드

<?php

$base=$_REQUEST['image'];
echo $base;
// base64 encoded utf-8 string
$binary=base64_decode($base);
// binary, utf-8 bytes
header('Content-Type: bitmap; charset=utf-8');
// print($binary);
//$theFile = base64_decode($image_data);
$file = fopen('test.jpg', 'wb');
fwrite($file, $binary);
fclose($file);
echo '<img src=test.jpg>';
?>


정말 간단하다! 아 그리고 안드로이드에 Internet permission 추가하는거 잊지 말 것.

* http://javaexpert.tistory.com/368에 있는 내용을 일부 수정 하여 게시함.


저작자 표시 비영리 변경 금지