Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
ocr-oa
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
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
陈赛康
ocr-oa
Commits
0fdb8fa8
Commit
0fdb8fa8
authored
Apr 09, 2018
by
陈赛康
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
搜索功能添加;
parent
18f2e07c
Changes
26
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
1083 additions
and
250 deletions
+1083
-250
build.gradle
app/build.gradle
+4
-2
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+2
-1
OcrApplication.java
...in/java/cn/com/bril/androidocr/studio/OcrApplication.java
+0
-6
OcrInfo.java
...ain/java/cn/com/bril/androidocr/studio/beans/OcrInfo.java
+59
-12
RequestConfig.java
.../cn/com/bril/androidocr/studio/configs/RequestConfig.java
+17
-4
HttpHolder.java
...n/java/cn/com/bril/androidocr/studio/http/HttpHolder.java
+72
-31
OnHttpListener.java
.../cn/com/bril/androidocr/studio/interf/OnHttpListener.java
+2
-2
BaseActivity.java
.../com/bril/androidocr/studio/ui/activity/BaseActivity.java
+2
-0
MainActivity.java
.../com/bril/androidocr/studio/ui/activity/MainActivity.java
+383
-21
VertifyActivity.java
...m/bril/androidocr/studio/ui/activity/VertifyActivity.java
+81
-88
FragmentListAdapter.java
...ril/androidocr/studio/ui/adapter/FragmentListAdapter.java
+70
-9
TabFragmentPagerAdapter.java
...androidocr/studio/ui/adapter/TabFragmentPagerAdapter.java
+17
-1
ExportFragment.java
...om/bril/androidocr/studio/ui/fragment/ExportFragment.java
+146
-20
ShareFragment.java
...com/bril/androidocr/studio/ui/fragment/ShareFragment.java
+140
-32
FileUtil.java
...in/java/cn/com/bril/androidocr/studio/utils/FileUtil.java
+18
-0
ScreenUtil.java
.../java/cn/com/bril/androidocr/studio/utils/ScreenUtil.java
+8
-0
ShareUtil.java
...n/java/cn/com/bril/androidocr/studio/utils/ShareUtil.java
+5
-4
bottom_tab_selector.xml
app/src/main/res/color/bottom_tab_selector.xml
+2
-2
activity_main.xml
app/src/main/res/layout/activity_main.xml
+18
-9
export_layout.xml
app/src/main/res/layout/export_layout.xml
+0
-1
listview_item_layout.xml
app/src/main/res/layout/listview_item_layout.xml
+16
-3
main_bottom_layout.xml
app/src/main/res/layout/main_bottom_layout.xml
+2
-1
top_title_layout.xml
app/src/main/res/layout/top_title_layout.xml
+2
-1
dimen.xml
app/src/main/res/values/dimen.xml
+1
-0
strings.xml
app/src/main/res/values/strings.xml
+4
-0
styles.xml
app/src/main/res/values/styles.xml
+12
-0
No files found.
app/build.gradle
View file @
0fdb8fa8
apply
plugin:
'com.android.application'
apply
plugin:
'com.jakewharton.butterknife'
configurations
.
all
{
resolutionStrategy
.
force
'com.android.support:support-annotations:23.1.0'
}
...
...
@@ -57,6 +57,8 @@ dependencies {
compile
files
(
'libs/poi/poi-3.17.jar'
)
compile
files
(
'libs/poi/poi-scratchpad-3.17.jar'
)
compile
project
(
':scanlibrary'
)
compile
'com.android.support:appcompat-v7:25.3.1'
compile
'com.android.support:design:25.3.1'
compile
'com.github.bumptech.glide:glide:4.3.1'
...
...
@@ -64,8 +66,8 @@ dependencies {
compile
'com.android.support.constraint:constraint-layout:1.0.2'
compile
'org.xutils:xutils:3.5.0'
compile
'com.android.support:support-v4:25.3.1'
compile
'com.google.code.gson:gson:2.8.1'
testCompile
'junit:junit:4.12'
annotationProcessor
'com.github.bumptech.glide:compiler:4.3.1'
annotationProcessor
'com.jakewharton:butterknife-compiler:8.8.1'
compile
'com.google.code.gson:gson:2.8.1'
}
app/src/main/AndroidManifest.xml
View file @
0fdb8fa8
...
...
@@ -22,7 +22,7 @@
<intent-filter>
<action
android:name=
"android.intent.action.MAIN"
/>
<
!--<category android:name="android.intent.category.LAUNCHER" />--
>
<
category
android:name=
"android.intent.category.LAUNCHER"
/
>
</intent-filter>
</activity>
<activity
android:name=
".ui.activity.RecognizeActivity"
/>
...
...
@@ -38,6 +38,7 @@
<activity
android:name=
".ui.activity.OcrRecordActivity"
android:launchMode=
"singleTask"
/>
<activity
android:name=
".ui.activity.SearchActivity"
></activity>
</application>
</manifest>
\ No newline at end of file
app/src/main/java/cn/com/bril/androidocr/studio/OcrApplication.java
View file @
0fdb8fa8
...
...
@@ -99,12 +99,6 @@ public class OcrApplication extends Application {
}
}
public
void
exit
(){
// for (Activity activity : activities) {
// if (activity!=null) {
// activity.finish();
// }
// }
// System.exit(1);
ActivityManager
manager
=
(
ActivityManager
)
getApplicationContext
().
getSystemService
(
ACTIVITY_SERVICE
);
//获取应用程序管理器
manager
.
killBackgroundProcesses
(
getPackageName
());
//强制结束当前应用程序
}
...
...
app/src/main/java/cn/com/bril/androidocr/studio/beans/OcrInfo.java
View file @
0fdb8fa8
...
...
@@ -2,19 +2,42 @@ package cn.com.bril.androidocr.studio.beans;
/**
* Created by sunny on 2018-3-16.
* status 0导出;1分享
* 主文件
* status 为文件归属
*/
public
class
OcrInfo
{
private
String
id
;
private
String
id
;
private
String
fileName
;
private
String
filePath
;
private
String
uploadUser
;
private
String
lastUpdateTime
;
private
String
fileSuffix
;
private
String
uploadPeple
;
private
String
createTime
;
private
String
lastUpdateTime
;
private
String
fileType
;
private
String
status
;
private
String
remark
;
private
boolean
isChecked
;
public
boolean
isChecked
()
{
return
isChecked
;
}
public
void
setChecked
(
boolean
checked
)
{
isChecked
=
checked
;
}
public
String
getId
()
{
return
id
;
}
...
...
@@ -39,20 +62,20 @@ public class OcrInfo {
this
.
filePath
=
filePath
;
}
public
String
get
UploadUser
()
{
return
uploadUser
;
public
String
get
FileSuffix
()
{
return
fileSuffix
;
}
public
void
set
UploadUser
(
String
uploadUser
)
{
this
.
uploadUser
=
uploadUser
;
public
void
set
FileSuffix
(
String
fileSuffix
)
{
this
.
fileSuffix
=
fileSuffix
;
}
public
String
get
LastUpdateTim
e
()
{
return
lastUpdateTim
e
;
public
String
get
UploadPepl
e
()
{
return
uploadPepl
e
;
}
public
void
set
LastUpdateTime
(
String
lastUpdateTim
e
)
{
this
.
lastUpdateTime
=
lastUpdateTim
e
;
public
void
set
UploadPeple
(
String
uploadPepl
e
)
{
this
.
uploadPeple
=
uploadPepl
e
;
}
public
String
getCreateTime
()
{
...
...
@@ -63,6 +86,22 @@ public class OcrInfo {
this
.
createTime
=
createTime
;
}
public
String
getLastUpdateTime
()
{
return
lastUpdateTime
;
}
public
void
setLastUpdateTime
(
String
lastUpdateTime
)
{
this
.
lastUpdateTime
=
lastUpdateTime
;
}
public
String
getFileType
()
{
return
fileType
;
}
public
void
setFileType
(
String
fileType
)
{
this
.
fileType
=
fileType
;
}
public
String
getStatus
()
{
return
status
;
}
...
...
@@ -70,4 +109,12 @@ public class OcrInfo {
public
void
setStatus
(
String
status
)
{
this
.
status
=
status
;
}
public
String
getRemark
()
{
return
remark
;
}
public
void
setRemark
(
String
remark
)
{
this
.
remark
=
remark
;
}
}
app/src/main/java/cn/com/bril/androidocr/studio/configs/RequestConfig.java
View file @
0fdb8fa8
...
...
@@ -7,14 +7,27 @@ package cn.com.bril.androidocr.studio.configs;
public
class
RequestConfig
{
public
static
int
TAKE_PHOTO_REQUEST
=
1
;
public
static
int
PERMISSION_REQUEST_CODE
=
99
;
//
public static String BASE_URL="http://zjk.haomo-studio.com/zhangjiakouOA/";
public
static
String
BASE_URL
=
"http://192.168.1.72:8050/zhangjiakouOA/"
;
public
static
String
BASE_URL
=
"http://zjk.haomo-studio.com/zhangjiakouOA/"
;
//
public static String BASE_URL="http://192.168.1.72:8050/zhangjiakouOA/";
//添加
public
static
String
ADD_URL
=
BASE_URL
+
"cc_
ocr_files/new?
"
;
public
static
String
ADD_URL
=
BASE_URL
+
"cc_
files/new
"
;
//上传文件
public
static
String
UP_FILE
=
BASE_URL
+
"upload_ocr_file"
;
//编辑文件
public
static
String
EDIT_FILE_URL
=
BASE_URL
+
"cc_files/"
;
//创建导出记录
public
static
String
EXPORT_CREATE_URL
=
BASE_URL
+
"cc_export_records/new"
;
//导出记录
public
static
String
EXPORT_LIST_URL
=
BASE_URL
+
"cc_ocr_files?"
;
public
static
String
EXPORT_RECORD_URL
=
BASE_URL
+
"cc_export_records"
;
//分享记录
public
static
String
SHARE_RECORD_URL
=
BASE_URL
+
"cc_sharing_records"
;
//批量导出
public
static
String
BATCH_EXPORT_URL
=
BASE_URL
+
"cc_ocr_files/create/batch"
;
//批量删除
public
static
String
BATCH_DELETE_URL
=
BASE_URL
+
"cc_export_records/delete/batch"
;
//文件下载
public
static
String
DOWN_LOAD_URL
=
BASE_URL
+
"file_down"
;
...
...
app/src/main/java/cn/com/bril/androidocr/studio/http/HttpHolder.java
View file @
0fdb8fa8
package
cn
.
com
.
bril
.
androidocr
.
studio
.
http
;
import
android.util.Log
;
import
org.json.JSONArray
;
import
org.xutils.common.Callback
;
import
org.xutils.common.util.KeyValue
;
import
org.xutils.http.RequestParams
;
...
...
@@ -14,10 +13,11 @@ import java.util.Iterator;
import
java.util.List
;
import
java.util.Map
;
import
cn.com.bril.androidocr.studio.beans.OcrRootBean
;
import
cn.com.bril.androidocr.studio.configs.RequestConfig
;
import
cn.com.bril.androidocr.studio.interf.OnHttpListener
;
import
static
com
.
bumptech
.
glide
.
gifdecoder
.
GifHeaderParser
.
TAG
;
import
cn.com.bril.androidocr.studio.ui.activity.VertifyActivity
;
import
cn.com.bril.androidocr.studio.utils.GsonUtil
;
/**
* Created by sunny on 2018-3-12.
...
...
@@ -26,7 +26,7 @@ import static com.bumptech.glide.gifdecoder.GifHeaderParser.TAG;
public
class
HttpHolder
{
//add
public
static
void
exportFile
(
String
url
,
Map
<
String
,
Object
>
map
,
Callback
.
CommonCallback
<
String
>
callb
ack
){
public
static
void
exportFile
(
String
url
,
Map
<
String
,
Object
>
map
,
VertifyActivity
.
HttpCallBack
callB
ack
){
RequestParams
params
=
new
RequestParams
(
url
);
Iterator
<
Map
.
Entry
<
String
,
Object
>>
it
=
map
.
entrySet
().
iterator
();
while
(
it
.
hasNext
()){
...
...
@@ -36,56 +36,97 @@ public class HttpHolder {
else
params
.
addHeader
(
"X-Auth-Token"
,
String
.
valueOf
(
entry
.
getValue
()));
}
x
.
http
().
post
(
params
,
call
b
ack
);
x
.
http
().
post
(
params
,
call
B
ack
);
}
public
static
String
upLoadFile
(
String
path
,
final
OnHttpListener
listener
){
String
flg
=
""
;
public
static
void
upLoadFile
(
String
path
,
VertifyActivity
.
HttpCallBack
callBack
){
RequestParams
params
=
new
RequestParams
(
RequestConfig
.
UP_FILE
);
params
.
setConnectTimeout
(
10000
);
params
.
setReadTimeout
(
5000
);
//创建List<KeyValue>对象
List
<
KeyValue
>
list
=
new
ArrayList
<>();
//给list中添加数据,filePah是上传的文件路径,比如sd卡中图片
list
.
add
(
new
KeyValue
(
"file"
,
new
File
(
path
)));
//文件流数据
// //其它参数,根据项目而定,比如我的项目中要传入的参数是json格式的
// list.add(new KeyValue("parameters", json.toString()));
//创建MultipartBody
MultipartBody
body
=
new
MultipartBody
(
list
,
"UTF-8"
);
//添加请求参数
params
.
setRequestBody
(
body
);
//
File
file
=
new
File
(
path
);
boolean
flag
=
file
.
exists
();
// params.addBodyParameter("file",file);
x
.
http
().
post
(
params
,
callBack
);
};
x
.
http
().
post
(
params
,
new
Callback
.
CommonCallback
<
String
>()
{
//创建记录
public
static
void
createFileRecord
(
String
url
,
Map
<
String
,
Object
>
map
,
Callback
.
CommonCallback
<
String
>
listener
){
RequestParams
params
=
new
RequestParams
(
url
);
Iterator
<
Map
.
Entry
<
String
,
Object
>>
it
=
map
.
entrySet
().
iterator
();
while
(
it
.
hasNext
()){
Map
.
Entry
<
String
,
Object
>
entry
=
it
.
next
();
if
(!
"header"
.
equals
(
entry
.
getKey
()))
params
.
addBodyParameter
(
entry
.
getKey
(),
String
.
valueOf
(
entry
.
getValue
()));
else
params
.
addHeader
(
"X-Auth-Token"
,
String
.
valueOf
(
entry
.
getValue
()));
}
x
.
http
().
post
(
params
,
listener
);
}
//批量导出
/**
*
* @param infos
* @param http
*/
public
static
void
volumeExport
(
List
<
OcrRootBean
.
Superior
>
infos
,
final
OnHttpListener
http
){
RequestParams
params
=
new
RequestParams
(
RequestConfig
.
BATCH_EXPORT_URL
);
params
.
addHeader
(
"X-Auth-Token"
,
"ocr"
);
String
json
=
GsonUtil
.
getInstance
().
toJson
(
infos
);
params
.
addBodyParameter
(
"params"
,
json
);
x
.
http
().
get
(
params
,
new
Callback
.
CommonCallback
<
String
>()
{
@Override
public
void
onSuccess
(
String
result
)
{
String
data
=
result
;
listener
.
success
(
data
);
http
.
success
(
""
,
result
);
}
@Override
public
void
onError
(
Throwable
ex
,
boolean
isOnCallback
)
{
Log
.
e
(
TAG
,
"onError: "
+
ex
.
getMessage
(),
ex
);
listener
.
error
(
ex
);
http
.
error
(
""
,
ex
);
}
@Override
public
void
onCancelled
(
CancelledException
cex
)
{
}
@Override
public
void
onFinished
()
{
}
});
}
//批量删除
public
static
void
volumeDelete
(
final
List
<
OcrRootBean
.
Superior
>
list
,
final
OnHttpListener
listener
){
JSONArray
array
=
new
JSONArray
();
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++)
array
.
put
(
list
.
get
(
i
).
getId
());
RequestParams
params
=
new
RequestParams
(
RequestConfig
.
BATCH_DELETE_URL
);
params
.
addBodyParameter
(
"ids"
,
array
.
toString
());
return
flg
;
};
x
.
http
().
post
(
params
,
new
Callback
.
CommonCallback
<
String
>()
{
@Override
public
void
onSuccess
(
String
result
)
{
listener
.
success
(
"delete"
,
result
);
}
@Override
public
void
onError
(
Throwable
ex
,
boolean
isOnCallback
)
{
listener
.
error
(
""
,
ex
);
}
@Override
public
void
onCancelled
(
CancelledException
cex
)
{
}
@Override
public
void
onFinished
()
{
}
});
}
//单个下载
public
static
void
downLoad
(
Map
<
String
,
String
>
map
,
MainHttpCallBack
callBack
){
RequestParams
params
=
new
RequestParams
(
RequestConfig
.
DOWN_LOAD_URL
);
Iterator
<
Map
.
Entry
<
String
,
String
>>
it
=
map
.
entrySet
().
iterator
();
while
(
it
.
hasNext
()){
Map
.
Entry
<
String
,
String
>
entry
=
it
.
next
();
params
.
addBodyParameter
(
entry
.
getKey
(),
String
.
valueOf
(
entry
.
getValue
()));
}
x
.
http
().
get
(
params
,
callBack
);
}
}
app/src/main/java/cn/com/bril/androidocr/studio/interf/OnHttpListener.java
View file @
0fdb8fa8
...
...
@@ -6,7 +6,7 @@ package cn.com.bril.androidocr.studio.interf;
public
interface
OnHttpListener
{
void
success
(
String
result
);
void
success
(
String
type
,
String
result
);
void
error
(
Throwable
t
);
void
error
(
String
type
,
Throwable
t
);
}
app/src/main/java/cn/com/bril/androidocr/studio/ui/activity/BaseActivity.java
View file @
0fdb8fa8
...
...
@@ -59,4 +59,6 @@ public class BaseActivity extends AppCompatActivity {
private
void
dispatchBadLicense
()
{
showDialog
(
BaseActivity
.
DIALOG_BAD_LICENSE
);
}
}
app/src/main/java/cn/com/bril/androidocr/studio/ui/activity/MainActivity.java
View file @
0fdb8fa8
This diff is collapsed.
Click to expand it.
app/src/main/java/cn/com/bril/androidocr/studio/ui/activity/VertifyActivity.java
View file @
0fdb8fa8
This diff is collapsed.
Click to expand it.
app/src/main/java/cn/com/bril/androidocr/studio/ui/adapter/FragmentListAdapter.java
View file @
0fdb8fa8
...
...
@@ -5,12 +5,15 @@ import android.view.LayoutInflater;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.BaseAdapter
;
import
android.widget.CheckBox
;
import
android.widget.CompoundButton
;
import
android.widget.TextView
;
import
java.util.ArrayList
;
import
java.util.List
;
import
cn.com.bril.androidocr.studio.R
;
import
cn.com.bril.androidocr.studio.beans.Ocr
Info
;
import
cn.com.bril.androidocr.studio.beans.Ocr
RootBean
;
/**
* Created by sunny on 2018-3-19.
...
...
@@ -19,13 +22,35 @@ import cn.com.bril.androidocr.studio.beans.OcrInfo;
public
class
FragmentListAdapter
extends
BaseAdapter
{
private
Context
context
;
private
List
<
OcrInfo
>
infos
;
public
FragmentListAdapter
(
Context
context
,
List
<
OcrInfo
>
list
)
{
private
List
<
OcrRootBean
>
infos
;
private
ListTextClickListener
listTextClickListener
;
private
int
show
=
View
.
GONE
;
AdapterRadioSelectedListener
radioSelectedListener
;
public
FragmentListAdapter
(
Context
context
,
List
<
OcrRootBean
>
list
,
ListTextClickListener
listTextClickListener
,
AdapterRadioSelectedListener
radioSelectedListener
)
{
this
.
context
=
context
;
this
.
infos
=
list
;
this
.
listTextClickListener
=
listTextClickListener
;
this
.
radioSelectedListener
=
radioSelectedListener
;
}
public
void
setRadioShow
(
int
show
){
this
.
show
=
show
;
notifyDataSetChanged
();
}
public
void
setRadioAllSelected
(
boolean
flg
){
for
(
OcrRootBean
info:
infos
)
info
.
getSuperior
().
setChecked
(
flg
);
notifyDataSetChanged
();
}
public
List
<
OcrRootBean
>
getSelectedInfo
(){
List
<
OcrRootBean
>
newInfos
=
new
ArrayList
<>();
for
(
OcrRootBean
info:
infos
){
if
(
info
.
getSuperior
().
isChecked
())
newInfos
.
add
(
info
);
}
return
newInfos
;
}
@Override
public
int
getCount
()
{
return
infos
.
size
();
...
...
@@ -43,24 +68,60 @@ public class FragmentListAdapter extends BaseAdapter {
@Override
public
View
getView
(
int
position
,
View
convertView
,
ViewGroup
parent
)
{
ViewHolder
holder
;
final
ViewHolder
holder
;
if
(
convertView
==
null
){
holder
=
new
ViewHolder
();
convertView
=
LayoutInflater
.
from
(
context
).
inflate
(
R
.
layout
.
listview_item_layout
,
null
);
holder
.
title
=
(
TextView
)
convertView
.
findViewById
(
R
.
id
.
title
);
holder
.
time
=
(
TextView
)
convertView
.
findViewById
(
R
.
id
.
time
);
holder
.
radioButton
=
(
CheckBox
)
convertView
.
findViewById
(
R
.
id
.
radio
);
convertView
.
setTag
(
holder
);
}
else
holder
=
(
ViewHolder
)
convertView
.
getTag
();
OcrInfo
info
=
infos
.
get
(
position
);
holder
.
time
.
setText
(
info
.
getLastUpdateTime
());
String
fileName
=
info
.
getFileName
().
substring
(
0
,
info
.
getFileName
().
indexOf
(
"."
));
final
OcrRootBean
info
=
infos
.
get
(
position
);
holder
.
time
.
setText
(
info
.
getSuperior
().
getCreateTime
());
String
s
=
info
.
getIncludes
().
getCc_file
().
getFileName
();
String
fileName
;
if
(
s
.
contains
(
"."
))
fileName
=
s
.
substring
(
0
,
s
.
indexOf
(
"."
));
else
fileName
=
s
;
holder
.
title
.
setText
(
fileName
);
holder
.
title
.
setOnClickListener
(
new
ListTextOnClickListener
(
position
));
holder
.
radioButton
.
setVisibility
(
show
);
holder
.
radioButton
.
setOnCheckedChangeListener
(
new
CompoundButton
.
OnCheckedChangeListener
()
{
@Override
public
void
onCheckedChanged
(
CompoundButton
buttonView
,
boolean
isChecked
)
{
info
.
getSuperior
().
setChecked
(
isChecked
);
radioSelectedListener
.
adapterRadioSelectedCallBack
();
notifyDataSetChanged
();
}
});
holder
.
radioButton
.
setChecked
(
info
.
getSuperior
().
isChecked
());
return
convertView
;
}
class
ListTextOnClickListener
implements
View
.
OnClickListener
{
int
position
;
public
ListTextOnClickListener
(
int
index
)
{
position
=
index
;
}
@Override
public
void
onClick
(
View
v
)
{
listTextClickListener
.
onListTextCallBack
(
infos
.
get
(
position
));
}
}
public
interface
AdapterRadioSelectedListener
{
void
adapterRadioSelectedCallBack
();
}
public
interface
ListTextClickListener
{
void
onListTextCallBack
(
OcrRootBean
info
);
}
class
ViewHolder
{
TextView
title
,
time
;
CheckBox
radioButton
;
}
}
app/src/main/java/cn/com/bril/androidocr/studio/ui/adapter/TabFragmentPagerAdapter.java
View file @
0fdb8fa8
...
...
@@ -3,6 +3,7 @@ package cn.com.bril.androidocr.studio.ui.adapter;
import
android.support.v4.app.Fragment
;
import
android.support.v4.app.FragmentManager
;
import
android.support.v4.app.FragmentPagerAdapter
;
import
android.view.ViewGroup
;
import
java.util.List
;
...
...
@@ -13,12 +14,19 @@ import java.util.List;
public
class
TabFragmentPagerAdapter
extends
FragmentPagerAdapter
{
List
<
Fragment
>
fragments
;
List
<
String
>
tagList
;
FragmentManager
manager
;
public
TabFragmentPagerAdapter
(
FragmentManager
fm
,
List
<
Fragment
>
fragments
)
{
super
(
fm
);
manager
=
fm
;
this
.
fragments
=
fragments
;
}
@Override
public
int
getItemPosition
(
Object
object
)
{
return
POSITION_NONE
;
}
@Override
public
Fragment
getItem
(
int
position
)
{
return
fragments
.
get
(
position
);
...
...
@@ -28,4 +36,12 @@ public class TabFragmentPagerAdapter extends FragmentPagerAdapter {
public
int
getCount
()
{
return
fragments
.
size
();
}
@Override
public
Object
instantiateItem
(
ViewGroup
container
,
int
position
)
{
return
super
.
instantiateItem
(
container
,
position
);
}
}
app/src/main/java/cn/com/bril/androidocr/studio/ui/fragment/ExportFragment.java
View file @
0fdb8fa8
This diff is collapsed.
Click to expand it.
app/src/main/java/cn/com/bril/androidocr/studio/ui/fragment/ShareFragment.java
View file @
0fdb8fa8
This diff is collapsed.
Click to expand it.
app/src/main/java/cn/com/bril/androidocr/studio/utils/FileUtil.java
View file @
0fdb8fa8
...
...
@@ -42,4 +42,22 @@ public class FileUtil {
return
filePic
.
getAbsolutePath
();
}
//判断文件是否存在
public
static
boolean
isFileExist
(
String
path
){
try
{
File
f
=
new
File
(
path
);
if
(!
f
.
exists
())
{
return
false
;
}
}
catch
(
Exception
e
)
{
return
false
;
}
return
true
;
}
}
app/src/main/java/cn/com/bril/androidocr/studio/utils/ScreenUtil.java
View file @
0fdb8fa8
...
...
@@ -66,4 +66,12 @@ public class ScreenUtil {
}
return
windowPos
;
}
//清晰度设置
public
static
void
setBackgroundAlpha
(
Activity
context
,
float
bgAlpha
)
{
WindowManager
.
LayoutParams
lp
=
context
.
getWindow
().
getAttributes
();
lp
.
alpha
=
bgAlpha
;
//0.0-1.0
context
.
getWindow
().
setAttributes
(
lp
);
}
}
app/src/main/java/cn/com/bril/androidocr/studio/utils/ShareUtil.java
View file @
0fdb8fa8
package
cn
.
com
.
bril
.
androidocr
.
studio
.
utils
;
import
android.
content.Context
;
import
android.
app.Activity
;
import
android.content.Intent
;
import
android.media.MediaMetadataRetriever
;
import
android.net.Uri
;
...
...
@@ -15,16 +15,17 @@ import java.io.File;
public
class
ShareUtil
{
// 調用系統方法分享文件
public
static
void
shareFile
(
Context
context
,
File
file
)
{
public
static
void
shareFile
(
Activity
activity
,
File
file
)
{
if
(
null
!=
file
&&
file
.
exists
())
{
Intent
share
=
new
Intent
(
Intent
.
ACTION_SEND
);
share
.
putExtra
(
Intent
.
EXTRA_STREAM
,
Uri
.
fromFile
(
file
));
share
.
setType
(
getMimeType
(
file
.
getAbsolutePath
()));
//此处可发送多种文件
share
.
setFlags
(
Intent
.
FLAG_ACTIVITY_NEW_TASK
);
share
.
addFlags
(
Intent
.
FLAG_GRANT_READ_URI_PERMISSION
);
context
.
startActivity
(
Intent
.
createChooser
(
share
,
"分享文件"
));
activity
.
startActivity
(
Intent
.
createChooser
(
share
,
"分享文件"
));
// activity.startActivityForResult(share,0x00);
}
else
{
Toast
.
makeText
(
context
,
"分享文件不存在"
,
Toast
.
LENGTH_SHORT
).
show
();
Toast
.
makeText
(
activity
,
"分享文件不存在"
,
Toast
.
LENGTH_SHORT
).
show
();
}
}
...
...
app/src/main/res/color/bottom_tab_selector.xml
View file @
0fdb8fa8
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<item
android:color=
"@color/
normal"
android:state_check
ed=
"true"
/>
<item
android:color=
"@color/tab_grey"
android:state_
check
ed=
"false"
/>
<item
android:color=
"@color/
white"
android:state_press
ed=
"true"
/>
<item
android:color=
"@color/tab_grey"
android:state_
press
ed=
"false"
/>
</selector>
\ No newline at end of file
app/src/main/res/layout/activity_main.xml
View file @
0fdb8fa8
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/bg_normal"
>
<include
android:id=
"@+id/header"
layout=
"@layout/top_title_layout"
/>
<RelativeLayout
android:id=
"@+id/head_content"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
<include
layout=
"@layout/top_title_layout"
/>
<include
layout=
"@layout/bottom_tab_head_layout"
/>
</RelativeLayout>
<android.support.design.widget.FloatingActionButton
android:id=
"@+id/fabbtn"
android:layout_width=
"wrap_content"
...
...
@@ -22,18 +28,18 @@
android:src=
"@drawable/camera_icon"
android:layout_alignParentRight=
"true"
android:layout_alignParentBottom=
"true"
android:layout_marginBottom=
"
4
0dp"
android:layout_marginBottom=
"
5
0dp"
android:layout_marginRight=
"20dp"
/>
<
android.support.v4.view.
ViewPager
<
cn.com.bril.androidocr.studio.ui.widget.NoScroll
ViewPager
android:id=
"@+id/viewPager"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_above=
"@+id/bottom_menu"
android:layout_below=
"@+id/head
er
"
/>
android:layout_below=
"@+id/head
_content
"
/>
<
Linear
Layout
<
Relative
Layout
android:id=
"@+id/bottom_menu"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
...
...
@@ -42,7 +48,10 @@
<include
layout=
"@layout/main_bottom_layout"
/>
</LinearLayout>
<include
layout=
"@layout/bottom_tab_layout"
/>
</RelativeLayout>
...
...
app/src/main/res/layout/export_layout.xml
View file @
0fdb8fa8
...
...
@@ -77,7 +77,6 @@
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:orientation=
"horizontal"
android:visibility=
"gone"
android:padding=
"10dp"
>
<TextView
...
...
app/src/main/res/layout/listview_item_layout.xml
View file @
0fdb8fa8
...
...
@@ -22,11 +22,12 @@
android:layout_toRightOf=
"@+id/icon"
>
<TextView
android:layout_width=
"
match_par
ent"
android:layout_width=
"
wrap_cont
ent"
android:layout_height=
"0dp"
android:layout_weight=
"1"
android:id=
"@+id/title"
android:textSize=
"@dimen/txt16sp"
android:focusable=
"false"
android:textColor=
"@color/txtcolor33"
android:text=
"新文档"
/>
...
...
@@ -38,8 +39,8 @@
android:gravity=
"center_vertical"
>
<ImageView
android:layout_width=
"
30
dp"
android:layout_height=
"
2
0dp"
android:layout_width=
"
15
dp"
android:layout_height=
"
1
0dp"
android:src=
"@drawable/date"
/>
<TextView
android:id=
"@+id/time"
...
...
@@ -52,6 +53,18 @@
</LinearLayout>
<CheckBox
android:id=
"@+id/radio"
android:layout_width=
"18dp"
android:layout_height=
"18dp"
android:layout_centerVertical=
"true"
android:layout_alignParentRight=
"true"
android:layout_marginRight=
"15dp"
android:button=
"@null"
android:focusable=
"false"
android:visibility=
"gone"
android:background=
"@drawable/radio_selector"
/>
</RelativeLayout>
app/src/main/res/layout/main_bottom_layout.xml
View file @
0fdb8fa8
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_height=
"49dp"
android:id=
"@+id/main_bottom_menu"
android:orientation=
"vertical"
android:background=
"@color/white"
android:layout_gravity=
"bottom"
...
...
app/src/main/res/layout/top_title_layout.xml
View file @
0fdb8fa8
...
...
@@ -48,8 +48,9 @@
/>
<ImageView
android:id=
"@+id/right_iv"
android:layout_width=
"
5
dp"
android:layout_width=
"
30
dp"
android:layout_height=
"20dp"
android:scaleType=
"centerInside"
android:layout_alignParentRight=
"true"
android:layout_centerVertical=
"true"
android:layout_marginRight=
"20dp"
...
...
app/src/main/res/values/dimen.xml
View file @
0fdb8fa8
...
...
@@ -4,6 +4,7 @@
<dimen
name=
"txt18sp"
>
18sp
</dimen>
<dimen
name=
"txt16sp"
>
16sp
</dimen>
<dimen
name=
"txt14sp"
>
14sp
</dimen>
<dimen
name=
"txt12sp"
>
12sp
</dimen>
<!-- 下拉刷新字体 -->
<dimen
name=
"picture_pull_to_refresh_loading_text_size"
>
14dp
</dimen>
...
...
app/src/main/res/values/strings.xml
View file @
0fdb8fa8
...
...
@@ -4,8 +4,12 @@
<string
name=
"back"
>
返回
</string>
<string
name=
"export"
>
导出
</string>
<string
name=
"recoginize"
>
识别
</string>
<string
name=
"share"
>
分享
</string>
<string
name=
"rename"
>
重命名
</string>
<string
name=
"delete"
>
删除
</string>
<string
name=
"rerecoginize"
>
重新拍摄
</string>
<string
name=
"vertify"
>
校对
</string>
<string
name=
"search_content"
>
请输入要查询的内容
</string>
<string
name=
"vertify_content"
>
贵阳际会峰云会议服务有限公司倾力打造中国会议策划第一品牌;
专业提供会议整体策划、场地预定、场地搭建、印刷、礼品、会议接待、专车接待、视频会议等一系列会议服务。经过10年的历练,拥有非常专业的会议策划团队;
...
...
app/src/main/res/values/styles.xml
View file @
0fdb8fa8
...
...
@@ -20,4 +20,16 @@
<!--引入定义的menu主题-->
</style>
<style
name=
"action_item"
>
<item
name=
"android:layout_width"
>
0dp
</item>
<item
name=
"android:layout_height"
>
wrap_content
</item>
<item
name=
"android:layout_weight"
>
1
</item>
<item
name=
"android:gravity"
>
center
</item>
<item
name=
"android:textSize"
>
14sp
</item>
<item
name=
"android:drawablePadding"
>
2dp
</item>
<!--<item name="android:background">@drawable/bottom_nav_selector</item>-->
<item
name=
"android:textColor"
>
@color/white
</item>
</style>
</resources>
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