지식메모
-
안드로이드 숫자 키보드 띄우기2013.07.20
-
안드로이드 EditText에 텍스트 집어넣기2013.07.20
-
안드로이드 카메라 호출해서 이미지 크롭하기2013.07.20
-
안드로이드 이미지버튼으로 버튼 눌림 효과 주기2013.07.17
-
안드로이드 뒤로가기 버튼으로 종료하기2013.07.17
-
루트 권한 폴더를 내 계정 권한폴더로 바꾸기2013.07.17
안드로이드 공유하기 기능쓰기
이미지를 캡쳐해서 저장한 후 공유하기를 통해 이미지를 공유하고 싶었다.
이 공유하기 기능을 사용하면 카톡 페북 미투데이 등등 메뉴가 저절로 나온다.신기방기
Intent intentSend = new Intent(Intent.ACTION_SEND); intentSend.setType("image/*"); intentSend.putExtra(Intent.EXTRA_STREAM, Uri.parse(파일경로)); startActivity(Intent.createChooser(intentSend, "공유")); |
특정파일을 공유하기 위해 다음과 같이 사용했다.
공유하기 버튼을 만들어 그 안에 집어넣었다.
Intent it3=getIntent(); //파일명을 가져오기 위한 인텐트(에디트텍스트에서 이름입력받은 걸 파일명으로 쓰기 위해)
String str_name=it3.getStringExtra("it3_name"); //이름을 가져온다.
File fileRoute = null;
fileRoute = Environment.getExternalStorageDirectory(); //sdcard 파일경로 선언
File files = new File(fileRoute,"/temp/"+str_name+"-.jpeg"); //temp폴더에 이름으로 저장된 jpeg파일 경로 선언
if(files.exists()==true) //파일유무확인
{
Intent intentSend = new Intent(Intent.ACTION_SEND);
intentSend.setType("image/*");
//이름으로 저장된 파일의 경로를 넣어서 공유하기
intentSend.putExtra(Intent.EXTRA_STREAM, Uri.parse(fileRoute+"/temp/"+str_name+"-.jpeg"));
startActivity(Intent.createChooser(intentSend, "공유")); //공유하기 창 띄우기
}else{
//파일이 없다면 저장을 해달라는 토스트메세지를 띄운다.
Toast.makeText(getApplicationContext(), "저장을 먼저 해주세요", Toast.LENGTH_LONG).show();
}
소스양식버전
Intent it3=getIntent(); //파일명을 가져오기 위한 인텐트(에디트텍스트에서 이름입력받은 걸 파일명으로 쓰기 위해) String str_name=it3.getStringExtra("it3_name"); //이름을 가져온다. File fileRoute = null; fileRoute = Environment.getExternalStorageDirectory(); //sdcard 파일경로 선언 File files = new File(fileRoute,"/temp/"+str_name+"-.jpeg"); //temp폴더에 이름으로 저장된 jpeg파일 경로 선언 if(files.exists()==true) //파일유무확인 { Intent intentSend = new Intent(Intent.ACTION_SEND); intentSend.setType("image/*"); //이름으로 저장된 파일의 경로를 넣어서 공유하기 intentSend.putExtra(Intent.EXTRA_STREAM, Uri.parse(fileRoute+"/temp/"+str_name+"-.jpeg")); startActivity(Intent.createChooser(intentSend, "공유")); //공유하기 창 띄우기 }else{ //파일이 없다면 저장을 해달라는 토스트메세지를 띄운다. Toast.makeText(getApplicationContext(), "저장을 먼저 해주세요", Toast.LENGTH_LONG).show(); }
'지식메모 > 안드로이드 Android' 카테고리의 다른 글
안드로이드 dip px 변환하기 (0) | 2013.07.23 |
---|---|
안드로이드 버튼 여러개 쓰기 (0) | 2013.07.21 |
안드로이드 숫자 키보드 띄우기 (0) | 2013.07.20 |
안드로이드 EditText에 텍스트 집어넣기 (0) | 2013.07.20 |
안드로이드 카메라 호출해서 이미지 크롭하기 (0) | 2013.07.20 |
안드로이드 숫자 키보드 띄우기
<EditText
android:inputType="number"
/>
이렇게 해주면 된다.
number 대신에 phone 을 쓰면 전화번호만 입력할 수 있는 키보드가 뜬다.
뭐 사실상 둘 다 같은거라 볼 수도 있는 듯..
'지식메모 > 안드로이드 Android' 카테고리의 다른 글
안드로이드 버튼 여러개 쓰기 (0) | 2013.07.21 |
---|---|
안드로이드 공유하기 기능쓰기 (7) | 2013.07.21 |
안드로이드 EditText에 텍스트 집어넣기 (0) | 2013.07.20 |
안드로이드 카메라 호출해서 이미지 크롭하기 (0) | 2013.07.20 |
안드로이드 이미지 캡쳐시 Out of Memory 현상 해결법 (4) | 2013.07.19 |
안드로이드 EditText에 텍스트 집어넣기
뭔가 특별한게 있을 줄 알았는데 별 거 없었다..
그냥 텍스트 뷰에서 하는 것 처럼 xml 에서
<EditText
android:text="텍스트"
/>
이렇게 해주면 입력칸에 hint가 아닌 진짜 텍스트가 초기상태부터 들어가 있다.
'지식메모 > 안드로이드 Android' 카테고리의 다른 글
안드로이드 공유하기 기능쓰기 (7) | 2013.07.21 |
---|---|
안드로이드 숫자 키보드 띄우기 (0) | 2013.07.20 |
안드로이드 카메라 호출해서 이미지 크롭하기 (0) | 2013.07.20 |
안드로이드 이미지 캡쳐시 Out of Memory 현상 해결법 (4) | 2013.07.19 |
안드로이드 이미지버튼으로 버튼 눌림 효과 주기 (0) | 2013.07.17 |
안드로이드 카메라 호출해서 이미지 크롭하기
내가 참고한 블로그.
http://theeye.pe.kr/entry/example-of-image-crop-with-camera-and-album-picker-on-android?category=18
트랙백은 뭐하는건지 모르겠다..
누가 알려주실 분..
그리고 위 소스는 정사각형으로 밖에 자르기가 안되는데 직사각형으로도 자르게 하려면
case PICK_FROM_CAMERA: { // 이미지를 가져온 이후의 리사이즈할 이미지 크기를 결정합니다. // 이후에 이미지 크롭 어플리케이션을 호출하게 됩니다. Intent intent = new Intent("com.android.camera.action.CROP"); intent.setDataAndType(mImageCaptureUri, "image/*"); intent.putExtra("outputX", 120); intent.putExtra("outputY", 130); intent.putExtra("aspectX", 1); //이걸 삭제한다 intent.putExtra("aspectY", 1); //이걸 삭제한다 intent.putExtra("scale", true); intent.putExtra("return-data", true); startActivityForResult(intent, CROP_FROM_CAMERA); break; }
'지식메모 > 안드로이드 Android' 카테고리의 다른 글
안드로이드 숫자 키보드 띄우기 (0) | 2013.07.20 |
---|---|
안드로이드 EditText에 텍스트 집어넣기 (0) | 2013.07.20 |
안드로이드 이미지 캡쳐시 Out of Memory 현상 해결법 (4) | 2013.07.19 |
안드로이드 이미지버튼으로 버튼 눌림 효과 주기 (0) | 2013.07.17 |
안드로이드 뒤로가기 버튼으로 종료하기 (0) | 2013.07.17 |
안드로이드 이미지 캡쳐시 Out of Memory 현상 해결법
이미지를 캡쳐하는 어플을 만들었는데 저장하기 버튼을 누르면 캡쳐가 되는 기능이었다.
그런데 저장하기를 누르니까
java.lang.OutOfMemoryError
at android.graphics.Bitmap.nativeCreate(Native Method)
at android.graphics.Bitmap.createBitmap(Bitmap.java:605)
at android.graphics.Bitmap.createBitmap(Bitmap.java:585)
at com.project.app.ResultActivity.onClick(ResultActivity.java:860)
at android.view.View.performClick(View.java:3531)
at android.view.View$PerformClick.run(View.java:14125)
at android.os.Handler.handleCallback(Handler.java:605)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4449)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554)
at dalvik.system.NativeStart.main(Native Method)
이런 에러가 나타났다. 그래서 해결책을 찾고 있었는데 다 recycle()이거나 BitmapFactory등등 뭔가 복잡했다.
내 실력으로는 잘 이해가 안갔다.
그러다 되게 간단해 보이는 방법을 찾았는데
AndroidManifest.xml 파일에
<application>
....
android:largeHeap="true"
....
</application>
어플리케이션 부분에 이 옵션을 주는 것이었다. 어플리케이션에 메모리할당을 더 크게 늘려주는 옵션이라나...
아무튼 적용해보니 에러가 발생하지 않았다.
감격 ㅠㅠ
물론 이게 100%해결책은 아니지만 가장 간단한 해결책이 되지 않을까 싶다.
'지식메모 > 안드로이드 Android' 카테고리의 다른 글
안드로이드 EditText에 텍스트 집어넣기 (0) | 2013.07.20 |
---|---|
안드로이드 카메라 호출해서 이미지 크롭하기 (0) | 2013.07.20 |
안드로이드 이미지버튼으로 버튼 눌림 효과 주기 (0) | 2013.07.17 |
안드로이드 뒤로가기 버튼으로 종료하기 (0) | 2013.07.17 |
안드로이드 EdtiText 입력 숫자 검사하기 (0) | 2013.07.14 |
안드로이드 이미지버튼으로 버튼 눌림 효과 주기
버튼이 눌렸을때와 안 눌렸을때 각 버튼이미지를 프로젝트에 넣어주고
(res폴더 안에 있는 drawable-hdpi 등등 폴더안에)
res폴더에 drawable 폴더를 만들고 안에다가
눌림효과를 줄 xml 파일을 만들어 준다. ex) button_click.xml
그리고 그 안에 밑에 소스를 추가
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawable/after_button" /> <!-- 눌린 후 버튼이미지 파일명을 써준다.--> <!-- pressed --> <item android:drawable="@drawable/before_button" /> <!-- 눌리기 전 버튼이미지 파일명을 써준다..--> <!-- default --> </selector> |
위와 같이 해주고
이미지버튼 눌림효과를 줄 xml 파일로 가서 이미지버튼 부분에
android:background="@drawable/button_click"
이걸 추가해준다. button_click 은 아까 drawable 폴더 안에 만들어둔 xml 파일명이다.
<ImageButton
android:id="@+id/button_custom"
android:layout_width="100sp"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="143dp"
android:background="@drawable/button_click" />
이렇게 하면 눌림효과가 만들어진다.
'지식메모 > 안드로이드 Android' 카테고리의 다른 글
안드로이드 카메라 호출해서 이미지 크롭하기 (0) | 2013.07.20 |
---|---|
안드로이드 이미지 캡쳐시 Out of Memory 현상 해결법 (4) | 2013.07.19 |
안드로이드 뒤로가기 버튼으로 종료하기 (0) | 2013.07.17 |
안드로이드 EdtiText 입력 숫자 검사하기 (0) | 2013.07.14 |
안드로이드 EditText 입력 글씨 색깔 바꾸기 (0) | 2013.07.09 |
안드로이드 뒤로가기 버튼으로 종료하기
public class MainActivity extends Activity{
다음에 삽입해주면 끝
private static final int MSG_TIMER_EXPIRED = 1; private static final int BACKEY_TIMEOUT = 2000; private boolean mIsBackKeyPressed = false; private long mCurrentTimeInMillis = 0; @Override public void onBackPressed() { if(mIsBackKeyPressed == false){ mIsBackKeyPressed = true; mCurrentTimeInMillis = Calendar.getInstance().getTimeInMillis(); Toast.makeText(this, "뒤로 버튼을 한번 더 누르시면 종료됩니다.", Toast.LENGTH_SHORT).show(); startTimer(); } else { mIsBackKeyPressed = false; if(Calendar.getInstance().getTimeInMillis() <= (mCurrentTimeInMillis + (BACKEY_TIMEOUT))){ finish(); } } } private void startTimer(){ mTimerHander.sendEmptyMessageDelayed(MSG_TIMER_EXPIRED, BACKEY_TIMEOUT); } private Handler mTimerHander = new Handler(){ public void handleMessage(Message msg){ switch(msg.what){ case MSG_TIMER_EXPIRED: { mIsBackKeyPressed = false; } break; } } };
'지식메모 > 안드로이드 Android' 카테고리의 다른 글
안드로이드 이미지 캡쳐시 Out of Memory 현상 해결법 (4) | 2013.07.19 |
---|---|
안드로이드 이미지버튼으로 버튼 눌림 효과 주기 (0) | 2013.07.17 |
안드로이드 EdtiText 입력 숫자 검사하기 (0) | 2013.07.14 |
안드로이드 EditText 입력 글씨 색깔 바꾸기 (0) | 2013.07.09 |
안드로이드 특정파일 미디어 스캐닝 (5) | 2013.07.08 |
루트 권한 폴더를 내 계정 권한폴더로 바꾸기
루트 권한 폴더를 내 계정권한으로 바꾸기
sudo chown -R 내계정:내계정 해당폴더
ex) sudo chown -R jeong:jeong test_auth
test_auth 폴더가 현재 root root로 되어있는데 이걸 내 계정 권한으로 바꿔보겠다.
jeong jeong으로 바뀐 모습
'지식메모 > 리눅스' 카테고리의 다른 글
vim 문자열 찾기 (0) | 2013.09.02 |
---|---|
리눅스 운영체제 비트 확인하기 (0) | 2013.07.26 |
파일 경로 찾기 (0) | 2013.07.17 |
루트 계정으로 작업하기 (0) | 2013.07.17 |
PlayFramework : Ooops - Something went wrong! Exception:java.io.IOException: Cannot write parent directory: Path(/) of /helloworld 메세지 해결 (0) | 2013.04.16 |