アプリ作って海外移住

コピペプログラマーのメモ

PDF googledrive から読み込み ダウンロード

 

 

public void setList3Ko(Intent data, ArrayList<Dclass_ko> list3Ko, MainActivity s_callingActivity) {

callingActivity = s_callingActivity;
Resources r = callingActivity.getResources();
dummyPdf = BitmapFactory.decodeResource(r, R.drawable.pdf);

Uri uri = data.getData();//contentの場合content://media/external/images/media/8872
//fileの場合 file:///storage/sdcard1/DCIM/Camera/IMG_20151201_123714.jpg
//googledrive content://com.google.android.apps.docs.storage/document/acc%3D1%3Bdoc%3D132
String struri = uri+"";
// Uri uri2 = Uri.parse(struri);

String scheme =uri.getScheme();//contentの場合content
if(scheme.equals("content")){
selected_pdf_content(uri,list3Ko);

}else {
//sorry dialog
}

}

private void selected_pdf_content(Uri uri, ArrayList<Dclass_ko> list3Ko) {
//tanmatu path
//drive daunnro-do save
//---------------------------------------------------
// uri.getAuthority(); = content の場合
//
// path; displayName; mimeType; get
///-------------------------------------------------
Cursor c2 =
callingActivity.getContentResolver().query(uri, null, null, null, null);
c2.moveToFirst();


String s =c2.getColumnNames ();
int j = s.length;
String s0 = s[0];
String s1 = s[1];
String s2 = s[2];
String s3 = s[3];
String s4 = s[4];
String s5 = s[5];
String s6 = s[6];
String s7 = s[7];
// String s8 = s[8];

String ss0 = c2.getString(0)+"";
String ss1 = c2.getString(1)+"";
String ss2 = c2.getString(2)+"";
String ss3 = c2.getString(3)+"";
String ss4 = c2.getString(4)+"";
String ss5 = c2.getString(5)+"";
String ss6 = c2.getString(6)+"";
String ss7 = c2.getString(7)+"";

 

String path;
String displayName;
String mimeType;
Bitmap bmp = null;
String storageKbn = "";


if(c2.getColumnIndex("_data")==-1){
path ="";

}else{
path = c2.getString(c2.getColumnIndex("_data"))+"";
}
if(c2.getColumnIndex("_display_name")==-1){
displayName ="";

}else{
displayName = c2.getString(c2.getColumnIndex("_display_name"))+"";
}
if(c2.getColumnIndex("mime_type")==-1){
mimeType ="";

}else{
mimeType = c2.getString(c2.getColumnIndex("mime_type"))+"";
}

c2.close();


if (path.length() ==0) {//googledrive uriからpdfをダウンロード


InputStream is = null;
//ここで取り出し
try {
is = callingActivity.getContentResolver().openInputStream(uri);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
File outFile=new File(MainActivity.E1N_STORAGE+"/"+displayName);
OutputStream os = null;
try {
os = new FileOutputStream(outFile);

final int buffer_size = 1024;
try {
byte bytes = new byte[buffer_size];
for (;;) {
int count = is.read(bytes, 0, buffer_size);
if (count == -1)
break;
os.write(bytes, 0, count);
}

storageKbn =MainActivity.STORAGE_KBN_GOOGLEDRIVE;
bmp =dummyPdf;
} catch (Exception ex) {
}

 

} catch (FileNotFoundException e) {
e.printStackTrace();
}

 

}else{//tanmatu
storageKbn =MainActivity.STORAGE_KBN_TANMATSU;
bmp =dummyPdf;
}

/////////////////msgtb list3list 更新
String Item2=MainActivity.MSGTB_KBN_PDF;//kbn1 0text 1 gazou 2 pdf 3text 4video 5audio
String Item3=mt.getyyyymmddhhmm();//yyyymmddhhmm
String Item4="0000000000";//flag10
String Item5=displayName;//"";//struri;//msg
String Item6=path;//path
Uri Item7=uri;//uri
Bitmap Item8 = bmp;//bitmap
String Item9= storageKbn;//path

int index = dbioMsgTb2.addNewMsg(callingActivity,Item2,Item3,Item4,Item5,Item6,Item7+"",Item9);//save msg
int Item1=index;
list3Ko.add(new Dclass_ko(
Item1, Item2, Item3, Item4, Item5, Item6, Item7, Item8, Item9));

 

 

 

 

 

}