Programming/Android2014. 3. 21. 16:53

AndroidManifest.xml에서 수정해 주시면 됩니다!


Posted by Berg
Programming/Android2014. 3. 21. 16:52

여러모로 가끔씩 필요하게 되는 기능..

AndroidManifest.xml 에서 수정해주시면 됩니다.


Posted by Berg
Programming/Android2014. 3. 21. 16:49

어플 다운시에나 종료할 때 가끔 뜨는 다이얼로그창 만들어보기


  



Posted by Berg
Programming/Android2014. 3. 21. 16:47

흠.. 잊어먹지 않기 위해서!!


Posted by Berg
Programming/Android2014. 3. 21. 16:29

저같은 경우는 onDraw에서 canvas가 오류가 나면서 NullPointerException 떴는데

canvas들을 try catch해주면 되네요!


Posted by Berg
Programming/Android2014. 3. 21. 16:26
xml 에서 아래 처럼 수정해주면 됩니다.

또는


Posted by Berg
Programming/Android2014. 3. 21. 15:58

xml에 이미지 하나 띄워주고 Button하나 생성.


소스코드


package com.example.photo_captured;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.text.SimpleDateFormat;

import java.util.Date;

import android.net.Uri;

import android.os.Bundle;

import android.os.Environment;

import android.app.Activity;

import android.content.Intent;

import android.graphics.Bitmap;

import android.util.Log;

import android.view.View;

import android.widget.Button;

import android.widget.LinearLayout;

import android.widget.Toast;

public class MainActivity extends Activity {

    

    Button button;

    LinearLayout container;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        

        button = (Button) findViewById(R.id.button1);

        container = (LinearLayout) findViewById(R.id.linear);

        

        button.setOnClickListener(new View.OnClickListener() {

            

            @Override

            public void onClick(View v) {

                // TODO Auto-generated method stub

                

                String folder = "Test_Directory"// 폴더 이름

                

                try {

                    // 현재 날짜로 파일을 저장하기

                    SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmss");

                    // 년월일시분초

                    Date currentTime_1 = new Date();

                    String dateString = formatter.format(currentTime_1);

                    File sdCardPath = Environment.getExternalStorageDirectory();

                    File dirs = new File(Environment.getExternalStorageDirectory(), folder); 

                    

                    if (!dirs.exists()) { // 원하는 경로에 폴더가 있는지 확인

                        dirs.mkdirs(); // Test 폴더 생성

                        Log.d("CAMERA_TEST""Directory Created");

                    }

                    container.buildDrawingCache();

                    Bitmap captureView = container.getDrawingCache();

                    FileOutputStream fos;

                    String save;

                    

                    try {

                        save = sdCardPath.getPath() + "/" + folder + "/" + dateString + ".jpg";

                        // 저장 경로

                        fos = new FileOutputStream(save);

                        captureView.compress(Bitmap.CompressFormat.JPEG, 100, fos); // 캡쳐

                        

                        // 미디어 스캐너를 통해 모든 미디어 리스트를 갱신시킨다.

                        sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,                 

                        Uri.parse("file://" + Environment.getExternalStorageDirectory())));

                    } catch (FileNotFoundException e) {

                        e.printStackTrace();

                    }

                    Toast.makeText(getApplicationContext(), dateString + ".jpg 저장",

                    Toast.LENGTH_LONG).show();

                } catch (Exception e) {

                    // TODO: handle exception

                    Log.e("Screen""" + e.toString());

                }

            }

        });

    }

}


그리고 AndroidManufest.xml에서 퍼미션 추가

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>


실행화면


Posted by Berg