* 해당 소스는 단말을 연결하여 테스트를 해야합니다. 또한 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 |