Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
AndiovisualRecord
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Yu_Tung
AndiovisualRecord
Commits
1bf78a2e
Commit
1bf78a2e
authored
Jun 16, 2020
by
Yu-Tung
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
上傳api測試
parent
a25be043
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
147 additions
and
60 deletions
+147
-60
vcs.xml
.idea/vcs.xml
+7
-0
MainActivity.java
...a/com/example/audiovisualrecord/ui/main/MainActivity.java
+140
-60
No files found.
.idea/vcs.xml
0 → 100644
View file @
1bf78a2e
<?xml version="1.0" encoding="UTF-8"?>
<project
version=
"4"
>
<component
name=
"VcsDirectoryMappings"
>
<mapping
directory=
"$PROJECT_DIR$"
vcs=
"Git"
/>
</component>
</project>
\ No newline at end of file
app/src/main/java/com/example/audiovisualrecord/ui/main/MainActivity.java
View file @
1bf78a2e
...
...
@@ -10,6 +10,7 @@ import android.content.pm.PackageManager;
import
android.content.pm.ResolveInfo
;
import
android.graphics.Bitmap
;
import
android.graphics.BitmapFactory
;
import
android.media.MediaRecorder
;
import
android.net.Uri
;
import
android.os.Build
;
import
android.os.Bundle
;
...
...
@@ -39,6 +40,7 @@ import java.util.ArrayList;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Locale
;
import
java.util.concurrent.TimeUnit
;
import
okhttp3.MediaType
;
import
okhttp3.MultipartBody
;
...
...
@@ -46,9 +48,10 @@ import okhttp3.OkHttpClient;
import
okhttp3.Request
;
import
okhttp3.RequestBody
;
import
okhttp3.Response
;
import
retrofit2.http.Body
;
public
class
MainActivity
extends
BaseActivity
implements
MainContract
.
View
,
View
.
OnClickListener
{
public
class
MainActivity
extends
BaseActivity
implements
MainContract
.
View
,
View
.
OnClickListener
{
private
static
final
int
REQUEST_CAPTURE_IMAGE
=
100
;
...
...
@@ -57,13 +60,13 @@ public class MainActivity extends BaseActivity implements MainContract.View,View
private
static
final
int
PICK_VIDEO_FROM_GALLERY_REQUEST_CODE
=
400
;
private
static
final
int
PICK_FILE_REQUEST_CODE
=
500
;
private
Button
btnCapturePicture
,
btnRecordVideo
,
btnGetImageFromGallery
,
btnGetVideoFromGallery
,
btnDeviceEdit
,
btnCentralCloud
,
btnChoseDevice
,
btnBasicInformation
;
private
Button
btnCapturePicture
,
btnRecordVideo
,
btnGetImageFromGallery
,
btnGetVideoFromGallery
,
btnDeviceEdit
,
btnCentralCloud
,
btnChoseDevice
,
btnBasicInformation
;
private
File
photoFile
;
// Bundle bag;
String
token
,
imageFilePath
;
// Bundle bag;
String
token
,
imageFilePath
;
int
countFile
=
0
;
TextView
tvCompany
,
tvFactory
,
tvClass
,
tvUnit
,
tvShootType
;
TextView
tvCompany
,
tvFactory
,
tvClass
,
tvUnit
,
tvShootType
;
private
MainPresenter
mPresenter
;
private
MainData
mMainData
;
private
ChooseDeviceItemData
mChooseDeviceItemData
;
...
...
@@ -73,7 +76,6 @@ public class MainActivity extends BaseActivity implements MainContract.View,View
private
List
<
String
>
filename
=
new
ArrayList
<>();
@Override
protected
void
onCreate
(
@Nullable
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
...
...
@@ -161,7 +163,7 @@ public class MainActivity extends BaseActivity implements MainContract.View,View
PackageManager
packageManager
=
this
.
getPackageManager
();
List
<
ResolveInfo
>
listCam
=
packageManager
.
queryIntentActivities
(
takeVideoIntent
,
0
);
takeVideoIntent
.
setPackage
(
listCam
.
get
(
0
).
activityInfo
.
packageName
);
takeVideoIntent
.
putExtra
(
MediaStore
.
EXTRA_SIZE_LIMIT
,
10996480L
);
// takeVideoIntent.putExtra(MediaStore.EXTRA_SIZE_LIMIT, 10996480L); //限制影片大小
if
(
takeVideoIntent
.
resolveActivity
(
getPackageManager
())
!=
null
)
{
startActivityForResult
(
takeVideoIntent
,
REQUEST_VIDEO_CAPTURE
);
}
...
...
@@ -218,18 +220,18 @@ public class MainActivity extends BaseActivity implements MainContract.View,View
if
(
requestCode
==
PICK_IMAGE_FROM_GALLERY_REQUEST_CODE
&&
resultCode
==
RESULT_OK
)
{
ArrayList
<
String
>
uriList
=
new
ArrayList
<
String
>();
if
(
data
.
getClipData
()
!=
null
){
if
(
data
.
getClipData
()
!=
null
)
{
for
(
int
i
=
0
;
i
<
data
.
getClipData
().
getItemCount
();
i
++)
{
uriList
.
add
(
getPath
(
data
.
getClipData
().
getItemAt
(
i
).
getUri
()));
Log
.
e
(
"gggg"
,
""
+
uriList
.
get
(
i
));
}
}
else
if
(
Build
.
VERSION
.
SDK_INT
>=
16
&&
data
.
getClipData
()==
null
){
}
else
if
(
Build
.
VERSION
.
SDK_INT
>=
16
&&
data
.
getClipData
()
==
null
)
{
uriList
.
add
(
getPath
(
data
.
getData
()));
Log
.
e
(
"eee"
,
getPath
(
data
.
getData
()));
Log
.
e
(
"eee"
,
getPath
(
data
.
getData
()));
}
//照片的uri
// onUploadFile(uriList, getResourceString(R.string.on_upload_image));
onUploadFile
(
uriList
,
getResourceString
(
R
.
string
.
on_upload_image
));
// onUploadFile1();
}
if
(
requestCode
==
PICK_VIDEO_FROM_GALLERY_REQUEST_CODE
&&
resultCode
==
RESULT_OK
)
{
...
...
@@ -243,16 +245,17 @@ public class MainActivity extends BaseActivity implements MainContract.View,View
uriList
.
add
(
getPath
(
data
.
getClipData
().
getItemAt
(
i
).
getUri
()));
filename
.
add
(
FileUtil
.
fileName
(
getPath
(
data
.
getClipData
().
getItemAt
(
i
).
getUri
())));
Log
.
e
(
"gggg"
,
""
+
uriList
.
get
(
i
));
Log
.
e
(
"dddd"
,
""
+
filename
.
get
(
i
));
mPresenter
.
segVideo
(
uriList
.
get
(
i
),
filename
.
get
(
i
));
Log
.
e
(
"dddd"
,
""
+
filename
.
get
(
i
));
mPresenter
.
segVideo
(
uriList
.
get
(
i
),
filename
.
get
(
i
));
}
Log
.
e
(
"aaa"
,
count
+
""
);
Log
.
e
(
"aaa"
,
count
+
""
);
}
else
if
(
Build
.
VERSION
.
SDK_INT
>=
16
&&
data
.
getClipData
()
==
null
)
{
uriList
.
clear
();
String
path
=
FileUtil
.
getFileAbsolutePath
(
this
,
data
.
getData
());
String
name
=
FileUtil
.
fileName
(
path
);
mPresenter
.
segVideo
(
path
,
name
);
String
name
=
FileUtil
.
fileName
(
path
);
mPresenter
.
segVideo
(
path
,
name
);
Log
.
e
(
"path"
,
path
);
// TODO here====================
// onUploadFile(compressList, getResourceString(R.string.on_upload_vedio));
...
...
@@ -295,13 +298,14 @@ public class MainActivity extends BaseActivity implements MainContract.View,View
@Override
public
void
onClick
(
View
v
)
{
switch
(
v
.
getId
()){
switch
(
v
.
getId
())
{
case
R
.
id
.
btnCaptureImage
:
openCameraIntent
();
break
;
case
R
.
id
.
btnGetImageFromGallery
:
pickImageFromGallery
();
// onUploadFile1();
break
;
case
R
.
id
.
btnGetVideoFromGallery
:
...
...
@@ -321,33 +325,33 @@ public class MainActivity extends BaseActivity implements MainContract.View,View
break
;
case
R
.
id
.
tv_unit
:
if
(
mChooseDeviceItemData
.
getFactoryAreaId
().
equals
(
""
)){
if
(
mChooseDeviceItemData
.
getFactoryAreaId
().
equals
(
""
))
{
showDialogCaveatMessage
(
getResourceString
(
R
.
string
.
add_device_no_maintenance_plant_error
));
}
if
(
mChooseDeviceItemData
.
getCompanyId
().
equals
(
""
))
{
if
(
mChooseDeviceItemData
.
getCompanyId
().
equals
(
""
))
{
showDialogCaveatMessage
(
getResourceString
(
R
.
string
.
add_device_no_company_error
));
}
mPresenter
.
onGetDPData
(
mChooseDeviceItemData
.
getCompanyId
(),
mChooseDeviceItemData
.
getFactoryAreaId
());
mPresenter
.
onGetDPData
(
mChooseDeviceItemData
.
getCompanyId
(),
mChooseDeviceItemData
.
getFactoryAreaId
());
break
;
case
R
.
id
.
tv_class
:
if
(
mChooseDeviceItemData
.
getCompanyId
().
equals
(
""
)){
if
(
mChooseDeviceItemData
.
getCompanyId
().
equals
(
""
))
{
showDialogCaveatMessage
(
getResourceString
(
R
.
string
.
add_device_no_company_error
));
}
if
(
mChooseDeviceItemData
.
getProductionPlantId
().
equals
(
""
)){
if
(
mChooseDeviceItemData
.
getProductionPlantId
().
equals
(
""
))
{
showDialogCaveatMessage
(
getResourceString
(
R
.
string
.
add_device_no_production_plant_error
));
}
mPresenter
.
onGetSHIFTData
(
mChooseDeviceItemData
.
getCompanyId
(),
mChooseDeviceItemData
.
getProductionPlantId
());
mPresenter
.
onGetSHIFTData
(
mChooseDeviceItemData
.
getCompanyId
(),
mChooseDeviceItemData
.
getProductionPlantId
());
break
;
case
R
.
id
.
tv_shoottype
:
if
(
mChooseDeviceItemData
.
getCompanyId
().
equals
(
""
)){
if
(
mChooseDeviceItemData
.
getCompanyId
().
equals
(
""
))
{
showDialogCaveatMessage
(
getResourceString
(
R
.
string
.
add_device_no_company_error
));
}
if
(
mChooseDeviceItemData
.
getProductionPlantId
().
equals
(
""
)){
if
(
mChooseDeviceItemData
.
getProductionPlantId
().
equals
(
""
))
{
showDialogCaveatMessage
(
getResourceString
(
R
.
string
.
add_device_no_production_plant_error
));
}
mPresenter
.
onGetTYPEData
(
mChooseDeviceItemData
.
getCompanyId
(),
mChooseDeviceItemData
.
getProductionPlantId
()
mPresenter
.
onGetTYPEData
(
mChooseDeviceItemData
.
getCompanyId
(),
mChooseDeviceItemData
.
getProductionPlantId
()
);
break
;
...
...
@@ -360,37 +364,80 @@ public class MainActivity extends BaseActivity implements MainContract.View,View
new
Thread
(
new
Runnable
()
{
@Override
public
void
run
()
{
// OkHttpClient client = new OkHttpClient().newBuilder()
// .build();
// MediaType mediaType = MediaType.parse("text/plain");
// MultipartBody.Builder buildernew = new MultipartBody.Builder()
// .setType(MultipartBody.FORM)
// .addFormDataPart("AuthorizedId", "1179cf63-9f4c-4060-a0f3-201f108b20c1")
// .addFormDataPart("CO", "1")
// .addFormDataPart("CONM", "台塑")
// .addFormDataPart("PMFCT", "A3")
// .addFormDataPart("PMFCTNM", "麥寮AN廠")
// .addFormDataPart("EQKD", "PU")
// .addFormDataPart("EQKDNM", "泵浦")
// .addFormDataPart("EQNO", "P-166")
// .addFormDataPart("EQNM", "工業用水泵浦")
// .addFormDataPart("RecordDate", "2020/04/06")
// .addFormDataPart("RecordSubject", "測試")
// .addFormDataPart("UploadEMP", "1")
// .addFormDataPart("UploadNM", "新人")
// .addFormDataPart("UploadDATETM", "");
// for (String path : uriList) {
// File uploadFile = new File(path);
// buildernew.addFormDataPart("", uploadFile.getName(),
// RequestBody.create(MediaType.parse("application/octet-stream"),
// uploadFile));
// }
// RequestBody body = buildernew.build();
//
// Request request = new Request.Builder()
// .url("https://cloud.fpcetg.com.tw/FPC/API/MTN/API_MTN/MTN/Upload")
// .method("POST", body)
// .build();
String
apiname
=
"SYNO.FileStation.Upload"
;
String
method
=
"upload"
;
String
version
=
"2"
;
String
sid
=
"lRlPHRE7r9hm---3DSmlBx_r4gTaMuYkASLtpKHKp0c3M1jgiWwzGtQqj5d6OXoggCk1dIvHz7tUvhCgWnIJkY"
;
String
path1
=
"/仁武氯乙烯廠製造一課/1_SOP導讀"
;
Boolean
a
=
true
;
Boolean
b
=
false
;
OkHttpClient
client
=
new
OkHttpClient
().
newBuilder
()
.
connectTimeout
(
30
,
TimeUnit
.
SECONDS
)
.
readTimeout
(
30
,
TimeUnit
.
SECONDS
)
.
writeTimeout
(
30
,
TimeUnit
.
SECONDS
)
.
build
();
MediaType
mediaType
=
MediaType
.
parse
(
"
text/plain
"
);
MediaType
mediaType
=
MediaType
.
parse
(
"
application/octet-stream
"
);
MultipartBody
.
Builder
buildernew
=
new
MultipartBody
.
Builder
()
.
setType
(
MultipartBody
.
FORM
)
.
addFormDataPart
(
"AuthorizedId"
,
"1179cf63-9f4c-4060-a0f3-201f108b20c1"
)
.
addFormDataPart
(
"CO"
,
"1"
)
.
addFormDataPart
(
"CONM"
,
"台塑"
)
.
addFormDataPart
(
"PMFCT"
,
"A3"
)
.
addFormDataPart
(
"PMFCTNM"
,
"麥寮AN廠"
)
.
addFormDataPart
(
"EQKD"
,
"PU"
)
.
addFormDataPart
(
"EQKDNM"
,
"泵浦"
)
.
addFormDataPart
(
"EQNO"
,
"P-166"
)
.
addFormDataPart
(
"EQNM"
,
"工業用水泵浦"
)
.
addFormDataPart
(
"RecordDate"
,
"2020/04/06"
)
.
addFormDataPart
(
"RecordSubject"
,
"測試"
)
.
addFormDataPart
(
"UploadEMP"
,
"1"
)
.
addFormDataPart
(
"UploadNM"
,
"新人"
)
.
addFormDataPart
(
"UploadDATETM"
,
""
);
for
(
String
path
:
uriList
)
{
File
uploadFile
=
new
File
(
path
);
buildernew
.
addFormDataPart
(
""
,
uploadFile
.
getName
(),
RequestBody
.
create
(
MediaType
.
parse
(
"application/octet-stream"
),
uploadFile
));
}
.
addFormDataPart
(
"path"
,
""
+
path1
)
.
addFormDataPart
(
"create_parents"
,
""
+
b
)
.
addFormDataPart
(
"overwrite"
,
""
+
a
)
.
addFormDataPart
(
"file"
,
"b525a7db0c5da640_1.jpg"
,
RequestBody
.
create
(
mediaType
,
new
File
(
"/storage/emulated/0/Watashi AHD V.2/temp_images/b525a7db0c5da640_1.jpg"
)
));
// .addFormDataPart("file","seg_1VID_20200604_155612.mp4.mp4",
// RequestBody.create(MediaType.parse("application/octet-stream"),
// "/storage/emulated/0/seg_1VID_20200604_155612.mp4.mp4"));
// for (String path : uriList) {
// File uploadFile = new File(path);
// buildernew.addFormDataPart("file", uploadFile.getName(),
// RequestBody.create(mediaType,uploadFile));
// Log.e("path", uploadFile.getName());
// }
RequestBody
body
=
buildernew
.
build
();
Request
request
=
new
Request
.
Builder
()
.
url
(
"https://cloud.fpcetg.com.tw/FPC/API/MTN/API_MTN/MTN/Upload"
)
.
url
(
"https://fpcrtpms.synology.me:5001/webapi/entry.cgi?api="
+
apiname
+
"&method="
+
method
+
"&version="
+
version
+
"&_sid="
+
sid
)
// .url("https://fpcrtpms.synology.me:5001/webapi/entry.cgi")
.
method
(
"POST"
,
body
)
.
build
();
try
{
Response
response
=
client
.
newCall
(
request
).
execute
();
Log
.
e
(
"response"
,
response
.
body
().
string
());
...
...
@@ -399,7 +446,40 @@ public class MainActivity extends BaseActivity implements MainContract.View,View
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
dismissProgressDialog
();
showDialogCaveatMessage
(
"上傳失敗"
);
// showDialogCaveatMessage("上傳失敗");
Log
.
e
(
"error"
,
""
+
e
.
getMessage
());
}
}
}).
start
();
}
private
void
onUploadFile1
()
{
new
Thread
(
new
Runnable
()
{
@Override
public
void
run
()
{
OkHttpClient
client
=
new
OkHttpClient
().
newBuilder
()
.
connectTimeout
(
15
,
TimeUnit
.
SECONDS
)
.
readTimeout
(
15
,
TimeUnit
.
SECONDS
)
.
build
();
MediaType
mediaType
=
MediaType
.
parse
(
"text/plain"
);
RequestBody
body
=
new
MultipartBody
.
Builder
().
setType
(
MultipartBody
.
FORM
)
.
addFormDataPart
(
"path"
,
"/仁武氯乙烯廠製造一課/3_SOP落實度查核/DA"
)
.
addFormDataPart
(
"create_parents"
,
"flase"
)
.
addFormDataPart
(
"overwrite"
,
"true"
)
.
addFormDataPart
(
"file"
,
"IMG_20200528_144512.jpg"
,
RequestBody
.
create
(
MediaType
.
parse
(
"application/octet-stream"
),
new
File
(
"/storage/emulated/0/DCIM/Camera/IMG_20200528_144512.jpg"
)))
.
build
();
Request
request
=
new
Request
.
Builder
()
.
url
(
"https://fpcrtpms.synology.me:5001/webapi/entry.cgi?api=SYNO.FileStation.Upload&method=upload&version=2"
)
.
method
(
"POST"
,
body
)
.
build
();
try
{
Response
response
=
client
.
newCall
(
request
).
execute
();
Log
.
e
(
"response"
,
response
.
body
().
string
());
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
Log
.
e
(
"error"
,
""
+
e
.
getMessage
());
}
}
...
...
@@ -410,50 +490,50 @@ public class MainActivity extends BaseActivity implements MainContract.View,View
public
void
setCOData
(
List
<
COResponse
>
adapterData
)
{
dialogString
.
clear
();
mMainData
.
setmCODataList
(
adapterData
);
for
(
COResponse
mCoResponse
:
adapterData
)
{
for
(
COResponse
mCoResponse
:
adapterData
)
{
dialogString
.
add
(
mCoResponse
.
getcONM
());
}
showItemDialog
(
dialogString
,
onCompanyDialogItemClick
);
showItemDialog
(
dialogString
,
onCompanyDialogItemClick
);
}
@Override
public
void
setPZData
(
List
<
MNTFCTResponse
>
adapterData
)
{
dialogString
.
clear
();
mMainData
.
setmMNTFCTDataList
(
adapterData
);
for
(
MNTFCTResponse
mMNTFCTResponse:
adapterData
)
{
for
(
MNTFCTResponse
mMNTFCTResponse
:
adapterData
)
{
dialogString
.
add
(
mMNTFCTResponse
.
getmPZNM
());
}
showItemDialog
(
dialogString
,
onMaintenanceDialogItemClick
);
showItemDialog
(
dialogString
,
onMaintenanceDialogItemClick
);
}
@Override
public
void
setDPNMData
(
List
<
PMFCTResponse
>
adapterData
)
{
dialogString
.
clear
();
mMainData
.
setmPMFCTDataList
(
adapterData
);
for
(
PMFCTResponse
mPMFCTResponse:
adapterData
)
{
for
(
PMFCTResponse
mPMFCTResponse
:
adapterData
)
{
dialogString
.
add
(
mPMFCTResponse
.
getmDPNM
());
}
showItemDialog
(
dialogString
,
onProductionDialogItemClick
);
showItemDialog
(
dialogString
,
onProductionDialogItemClick
);
}
@Override
public
void
setEQKDData
(
List
<
EQKDResponse
>
adapterData
)
{
dialogString
.
clear
();
mMainData
.
setmEQKDDataList
(
adapterData
);
for
(
EQKDResponse
mEQKDResponse:
adapterData
)
{
for
(
EQKDResponse
mEQKDResponse
:
adapterData
)
{
dialogString
.
add
(
mEQKDResponse
.
getmShift
());
}
showItemDialog
(
dialogString
,
onDeviceCategoryDialogItemClick
);
showItemDialog
(
dialogString
,
onDeviceCategoryDialogItemClick
);
}
@Override
public
void
setTYPEData
(
List
<
TYPEResponse
>
adapterData
)
{
dialogString
.
clear
();
mMainData
.
setmTYPEDataList
(
adapterData
);
for
(
TYPEResponse
mTYPEResponse:
adapterData
)
{
for
(
TYPEResponse
mTYPEResponse
:
adapterData
)
{
dialogString
.
add
(
mTYPEResponse
.
getmType
());
}
showItemDialog
(
dialogString
,
onShootTypeCategoryDialogItemClick
);
showItemDialog
(
dialogString
,
onShootTypeCategoryDialogItemClick
);
}
private
DialogInterface
.
OnClickListener
onCompanyDialogItemClick
=
new
DialogInterface
.
OnClickListener
()
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment