본문 바로가기

Android

PDF 파일을 띄우는 Source


* 해당 소스는 단말을 연결하여 테스트를 해야합니다. 또한 PDF파일  뷰어앱의 설치가 있어야합니다.


--manifests---------------------------------------------------------------------------------------------------------


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

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


추가

----------------------------------------------------------------------------------------------------------------------


public class MainActivity extends AppCompatActivity {

    EditText editText;


    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);


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

        editText = (EditText) findViewById(R.id.editText);

        button.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View view) {

                onButtonClicked(view);

            }

        });


    }


    public void onButtonClicked(View v){

        String filename = editText.getText().toString();

        if(filename.length() > 0){

            openPDF(filename.trim());

        }else{

            Toast.makeText(getApplicationContext(), "PDF 파일명을 입력하세요.", Toast.LENGTH_LONG).show();

        }

    }


    public void openPDF(String filename){

        //SD카드의 폴더 Path

        String sdcardFolder = Environment.getExternalStorageDirectory().getAbsolutePath();


        String filepath = sdcardFolder + File.separator + filename;

        File file = new File(filepath);


        if(file.exists()){

            Uri uri = Uri.fromFile(file);


            Intent intent = new Intent(Intent.ACTION_VIEW);

            intent.setDataAndType(uri, "application/pdf");


            try{

                startActivity(intent);

            } catch (ActivityNotFoundException ex){

                Toast.makeText(this, "PDF 파일을 보기 위한 뷰어 앱이 없습니다.", Toast.LENGTH_SHORT).show();

            }

        }else{

            Toast.makeText(this, "PDF 파일이 없습니다.", Toast.LENGTH_SHORT).show();

        }

    }

}



--View--




'Android' 카테고리의 다른 글

Sevice 구현 예제  (0) 2017.09.09
Parcelable  (0) 2017.08.01
Inflater  (0) 2017.07.25
DatePicker  (0) 2017.07.23
Layout 종류별 소스  (0) 2017.06.08