Skip to content

Commit 1acac6b

Browse files
committed
更新MLKit相关依赖库版本
1 parent 500d335 commit 1acac6b

File tree

8 files changed

+87
-53
lines changed

8 files changed

+87
-53
lines changed

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,10 @@ compileOptions {
241241

242242
## 版本记录
243243

244+
#### v1.0.1:2021-7-2
245+
* 更新MLKit相关依赖库版本
246+
* 优化细节
247+
244248
#### v1.0.0:2021-4-7
245249
* MLKit初始版本
246250

app/release/app-release.apk

-1.41 MB
Binary file not shown.

app/release/output-metadata.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
{
1111
"type": "SINGLE",
1212
"filters": [],
13-
"versionCode": 1,
14-
"versionName": "1.0.0",
13+
"versionCode": 2,
14+
"versionName": "1.0.1",
1515
"outputFile": "app-release.apk"
1616
}
1717
]

app/src/main/java/com/king/mlkit/vision/app/MainActivity.kt

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import android.provider.MediaStore
2323
import android.view.View
2424
import android.widget.ImageView
2525
import androidx.appcompat.app.AppCompatActivity
26+
import com.google.android.gms.tasks.Task
2627
import com.google.mlkit.vision.barcode.Barcode
2728
import com.king.app.dialog.AppDialog
2829
import com.king.app.dialog.AppDialogConfig
@@ -48,6 +49,8 @@ import java.lang.StringBuilder
4849

4950
class MainActivity : AppCompatActivity() {
5051

52+
var isQRCode = false
53+
5154
companion object{
5255

5356
const val REQUEST_CODE_PHOTO = 1
@@ -80,7 +83,8 @@ class MainActivity : AppCompatActivity() {
8083
private fun processPhoto(data: Intent?){
8184
data?.let {
8285
try{
83-
val src = BitmapFactory.decodeFile(UriUtils.getPath(getContext(),data.data))
86+
val src = MediaStore.Images.Media.getBitmap(contentResolver,it.data)
87+
// val src = BitmapFactory.decodeFile(UriUtils.getPath(getContext(),data.data))
8488
BarcodeDecoder.process(src, object : OnAnalyzeListener<List<Barcode>?> {
8589
override fun onSuccess(result: List<Barcode>) {
8690
if(result?.isNotEmpty()){
@@ -110,9 +114,11 @@ class MainActivity : AppCompatActivity() {
110114
LogUtils.d("onFailure")
111115
ToastUtils.showToast(getContext(),"onFailure")
112116
}
113-
})
117+
//如果指定具体的识别条码类型,速度会更快
118+
},if(isQRCode) Barcode.FORMAT_QR_CODE else Barcode.FORMAT_ALL_FORMATS)
114119
}catch (e: Exception){
115-
120+
e.printStackTrace()
121+
ToastUtils.showToast(getContext(),e.message)
116122
}
117123

118124
}
@@ -122,7 +128,8 @@ class MainActivity : AppCompatActivity() {
122128
startActivity(Intent(this, cls))
123129
}
124130

125-
private fun pickPhotoClicked(){
131+
private fun pickPhotoClicked(isQRCode: Boolean){
132+
this.isQRCode = isQRCode
126133
if(PermissionUtils.checkPermission(getContext(),Manifest.permission.READ_EXTERNAL_STORAGE)){
127134
startPickPhoto()
128135
}else{
@@ -142,16 +149,17 @@ class MainActivity : AppCompatActivity() {
142149
when (v.id){
143150
R.id.btn0 -> startActivity(QRCodeScanningActivity::class.java)
144151
R.id.btn1 -> startActivity(BarcodeScanningActivity::class.java)
145-
R.id.btn2 -> pickPhotoClicked()
146-
R.id.btn3 -> startActivity(FaceDetectionActivity::class.java)
147-
R.id.btn4 -> startActivity(MultipleFaceDetectionActivity::class.java)
148-
R.id.btn5 -> startActivity(ImageLabelingActivity::class.java)
149-
R.id.btn6 -> startActivity(ObjectDetectionActivity::class.java)
150-
R.id.btn7 -> startActivity(MultipleObjectDetectionActivity::class.java)
151-
R.id.btn8 -> startActivity(PoseDetectionActivity::class.java)
152-
R.id.btn9 -> startActivity(AccuratePoseDetectionActivity::class.java)
153-
R.id.btn10 -> startActivity(SelfieSegmentationActivity::class.java)
154-
R.id.btn11 -> startActivity(TextRecognitionActivity::class.java)
152+
R.id.btn2 -> pickPhotoClicked(true)
153+
R.id.btn3 -> pickPhotoClicked(false)
154+
R.id.btn4 -> startActivity(FaceDetectionActivity::class.java)
155+
R.id.btn5 -> startActivity(MultipleFaceDetectionActivity::class.java)
156+
R.id.btn6 -> startActivity(ImageLabelingActivity::class.java)
157+
R.id.btn7 -> startActivity(ObjectDetectionActivity::class.java)
158+
R.id.btn8 -> startActivity(MultipleObjectDetectionActivity::class.java)
159+
R.id.btn9 -> startActivity(PoseDetectionActivity::class.java)
160+
R.id.btn10 -> startActivity(AccuratePoseDetectionActivity::class.java)
161+
R.id.btn11 -> startActivity(SelfieSegmentationActivity::class.java)
162+
R.id.btn12 -> startActivity(TextRecognitionActivity::class.java)
155163
}
156164
}
157165

app/src/main/res/layout/activity_main.xml

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
android:layout_marginBottom="4dp"
3030
android:text="Barcode scanning"
3131
style="@style/OnClick"/>
32-
3332
<Button
3433
android:id="@+id/btn2"
3534
android:layout_width="match_parent"
@@ -38,7 +37,7 @@
3837
android:layout_marginRight="20dp"
3938
android:layout_marginTop="4dp"
4039
android:layout_marginBottom="4dp"
41-
android:text="Barcode recognition from image"
40+
android:text="QRCode recognition from image"
4241
style="@style/OnClick"/>
4342
<Button
4443
android:id="@+id/btn3"
@@ -48,11 +47,21 @@
4847
android:layout_marginRight="20dp"
4948
android:layout_marginTop="4dp"
5049
android:layout_marginBottom="4dp"
50+
android:text="Barcode recognition from image"
51+
style="@style/OnClick"/>
52+
<Button
53+
android:id="@+id/btn4"
54+
android:layout_width="match_parent"
55+
android:layout_height="wrap_content"
56+
android:layout_marginLeft="20dp"
57+
android:layout_marginRight="20dp"
58+
android:layout_marginTop="4dp"
59+
android:layout_marginBottom="4dp"
5160
android:text="High-accuracy landmark detection"
5261
style="@style/OnClick"/>
5362

5463
<Button
55-
android:id="@+id/btn4"
64+
android:id="@+id/btn5"
5665
android:layout_width="match_parent"
5766
android:layout_height="wrap_content"
5867
android:layout_marginLeft="20dp"
@@ -62,7 +71,7 @@
6271
android:text="Multiple face detection"
6372
style="@style/OnClick"/>
6473
<Button
65-
android:id="@+id/btn5"
74+
android:id="@+id/btn6"
6675
android:layout_width="match_parent"
6776
android:layout_height="wrap_content"
6877
android:layout_marginLeft="20dp"
@@ -73,7 +82,7 @@
7382
style="@style/OnClick"/>
7483

7584
<Button
76-
android:id="@+id/btn6"
85+
android:id="@+id/btn7"
7786
android:layout_width="match_parent"
7887
android:layout_height="wrap_content"
7988
android:layout_marginLeft="20dp"
@@ -84,7 +93,7 @@
8493
style="@style/OnClick"/>
8594

8695
<Button
87-
android:id="@+id/btn7"
96+
android:id="@+id/btn8"
8897
android:layout_width="match_parent"
8998
android:layout_height="wrap_content"
9099
android:layout_marginLeft="20dp"
@@ -95,7 +104,7 @@
95104
style="@style/OnClick"/>
96105

97106
<Button
98-
android:id="@+id/btn8"
107+
android:id="@+id/btn9"
99108
android:layout_width="match_parent"
100109
android:layout_height="wrap_content"
101110
android:layout_marginLeft="20dp"
@@ -106,7 +115,7 @@
106115
style="@style/OnClick"/>
107116

108117
<Button
109-
android:id="@+id/btn9"
118+
android:id="@+id/btn10"
110119
android:layout_width="match_parent"
111120
android:layout_height="wrap_content"
112121
android:layout_marginLeft="20dp"
@@ -117,7 +126,7 @@
117126
style="@style/OnClick"/>
118127

119128
<Button
120-
android:id="@+id/btn10"
129+
android:id="@+id/btn11"
121130
android:layout_width="match_parent"
122131
android:layout_height="wrap_content"
123132
android:layout_marginLeft="20dp"
@@ -128,7 +137,7 @@
128137
style="@style/OnClick"/>
129138

130139
<Button
131-
android:id="@+id/btn11"
140+
android:id="@+id/btn12"
132141
android:layout_width="match_parent"
133142
android:layout_height="wrap_content"
134143
android:layout_marginLeft="20dp"

gradle.properties

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ android.enableJetifier = true
2121
kotlin.code.style = official
2222

2323

24-
VERSION_NAME=1.0.0
25-
VERSION_CODE=1
24+
VERSION_NAME=1.0.1
25+
VERSION_CODE=2
2626
GROUP=com.github.jenly1314.MLKit
2727

2828
POM_DESCRIPTION=MLKit for Android
@@ -39,5 +39,3 @@ POM_DEVELOPER_NAME=Jenly Yu
3939
RELEASE_REPOSITORY_URL=https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/
4040
SNAPSHOT_REPOSITORY_URL=https://s01.oss.sonatype.org/content/repositories/snapshots/
4141
RELEASE_SIGNING_ENABLED=true
42-
43-

mlkit-barcode-scanning/src/main/java/com/king/mlkit/vision/barcode/BarcodeDecoder.java

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,13 @@ public static InputImage fromBitmap(Bitmap bitmap,int rotation){
5656
return InputImage.fromBitmap(bitmap,rotation);
5757
}
5858

59-
public static Task<List<Barcode>> process(Bitmap bitmap, Analyzer.OnAnalyzeListener<List<Barcode>> listener){
60-
return BarcodeScanning.getClient().process(fromBitmap(bitmap)).addOnSuccessListener(result -> {
59+
60+
public static Task<List<Barcode>> process(Bitmap bitmap,Analyzer.OnAnalyzeListener<List<Barcode>> listener){
61+
return process(bitmap,listener, Barcode.FORMAT_ALL_FORMATS);
62+
}
63+
64+
public static Task<List<Barcode>> process(Bitmap bitmap, Analyzer.OnAnalyzeListener<List<Barcode>> listener, @Barcode.BarcodeFormat int format,@Barcode.BarcodeFormat int... formats){
65+
return BarcodeScanning.getClient(new BarcodeScannerOptions.Builder().setBarcodeFormats(format,formats).build()).process(fromBitmap(bitmap)).addOnSuccessListener(result -> {
6166
if(listener != null){
6267
if(result == null || result.isEmpty()){
6368
listener.onFailure();
@@ -74,7 +79,11 @@ public static Task<List<Barcode>> process(Bitmap bitmap, Analyzer.OnAnalyzeListe
7479
}
7580

7681
public static Task<List<Barcode>> process(Bitmap bitmap, @NonNull Executor executor,Analyzer.OnAnalyzeListener<List<Barcode>> listener){
77-
return BarcodeScanning.getClient().process(fromBitmap(bitmap)).addOnSuccessListener(executor,result -> {
82+
return process(bitmap,executor,listener, Barcode.FORMAT_ALL_FORMATS);
83+
}
84+
85+
public static Task<List<Barcode>> process(Bitmap bitmap, @NonNull Executor executor,Analyzer.OnAnalyzeListener<List<Barcode>> listener, @Barcode.BarcodeFormat int format,@Barcode.BarcodeFormat int... formats){
86+
return BarcodeScanning.getClient(new BarcodeScannerOptions.Builder().setBarcodeFormats(format,formats).build()).process(fromBitmap(bitmap)).addOnSuccessListener(executor,result -> {
7887
if(listener != null){
7988
if(result == null || result.isEmpty()){
8089
listener.onFailure();
@@ -83,7 +92,7 @@ public static Task<List<Barcode>> process(Bitmap bitmap, @NonNull Executor execu
8392
}
8493
}
8594

86-
}).addOnFailureListener(e -> {
95+
}).addOnFailureListener(executor, e -> {
8796
if(listener != null){
8897
listener.onFailure();
8998
}
@@ -102,9 +111,13 @@ public static Task<List<Barcode>> process(Bitmap bitmap, @Barcode.BarcodeFormat
102111
return BarcodeScanning.getClient(new BarcodeScannerOptions.Builder().setBarcodeFormats(format,formats).build()).process(fromBitmap(bitmap));
103112
}
104113

105-
106114
public static Task<List<Barcode>> process(InputImage inputImage,Analyzer.OnAnalyzeListener<List<Barcode>> listener){
107-
return BarcodeScanning.getClient().process(inputImage).addOnSuccessListener(result -> {
115+
return process(inputImage,listener, Barcode.FORMAT_ALL_FORMATS);
116+
}
117+
118+
119+
public static Task<List<Barcode>> process(InputImage inputImage,Analyzer.OnAnalyzeListener<List<Barcode>> listener, @Barcode.BarcodeFormat int format,@Barcode.BarcodeFormat int... formats){
120+
return BarcodeScanning.getClient(new BarcodeScannerOptions.Builder().setBarcodeFormats(format,formats).build()).process(inputImage).addOnSuccessListener(result -> {
108121
if(listener != null){
109122
if(result == null || result.isEmpty()){
110123
listener.onFailure();
@@ -121,7 +134,11 @@ public static Task<List<Barcode>> process(InputImage inputImage,Analyzer.OnAnaly
121134
}
122135

123136
public static Task<List<Barcode>> process(InputImage inputImage, @NonNull Executor executor,Analyzer.OnAnalyzeListener<List<Barcode>> listener){
124-
return BarcodeScanning.getClient().process(inputImage).addOnSuccessListener(executor,result -> {
137+
return process(inputImage,executor,listener, Barcode.FORMAT_ALL_FORMATS);
138+
}
139+
140+
public static Task<List<Barcode>> process(InputImage inputImage, @NonNull Executor executor,Analyzer.OnAnalyzeListener<List<Barcode>> listener, @Barcode.BarcodeFormat int format,@Barcode.BarcodeFormat int... formats){
141+
return BarcodeScanning.getClient(new BarcodeScannerOptions.Builder().setBarcodeFormats(format,formats).build()).process(inputImage).addOnSuccessListener(executor,result -> {
125142
if(listener != null){
126143
if(result == null ){
127144
listener.onFailure();
@@ -130,7 +147,7 @@ public static Task<List<Barcode>> process(InputImage inputImage, @NonNull Execut
130147
}
131148
}
132149

133-
}).addOnFailureListener(e -> {
150+
}).addOnFailureListener(executor, e -> {
134151
if(listener != null){
135152
listener.onFailure();
136153
}

versions.gradle

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
//App
22
def app_version = [:]
3-
app_version.versionCode = 1
4-
app_version.versionName = "1.0.0"
3+
app_version.versionCode = 2
4+
app_version.versionName = "1.0.1"
55
ext.app_version = app_version
66

77
//build version
@@ -34,7 +34,7 @@ versions.gralde = "4.1.3"
3434
versions.kotlin = "1.4.30"
3535
versions.coreKtx = "1.3.2"
3636

37-
versions.camerax = "1.0.0-rc03"
37+
versions.camerax = "1.0.0"
3838

3939
versions.easypermissions = "3.0.0"
4040

@@ -64,18 +64,16 @@ deps.corektx = "androidx.core:core-ktx:$versions.coreKtx"
6464
deps.camera_core = "androidx.camera:camera-core:$versions.camerax"
6565
deps.camera_camera2 = "androidx.camera:camera-camera2:$versions.camerax"
6666
deps.camera_lifecycle = "androidx.camera:camera-lifecycle:$versions.camerax"
67-
deps.camera_view = "androidx.camera:camera-view:1.0.0-alpha20"
68-
69-
70-
deps.google_mlkit_barcode_scanning = "com.google.mlkit:barcode-scanning:16.1.1"
71-
deps.google_mlkit_face_detection = "com.google.mlkit:face-detection:16.0.6"
72-
deps.google_mlkit_image_labeling = "com.google.mlkit:image-labeling:17.0.3"
73-
deps.google_mlkit_object_detection = "com.google.mlkit:object-detection:16.2.3"
74-
deps.google_mlkit_pose_detection = "com.google.mlkit:pose-detection:17.0.1-beta3"
75-
deps.google_mlkit_pose_detection_accurate = "com.google.mlkit:pose-detection-accurate:17.0.1-beta3"
76-
deps.google_mlkit_segmentation_selfie = "com.google.mlkit:segmentation-selfie:16.0.0-beta1"
77-
deps.google_gms_text_recognition = "com.google.android.gms:play-services-mlkit-text-recognition:16.1.3"
78-
67+
deps.camera_view = "androidx.camera:camera-view:1.0.0-alpha25"
68+
69+
deps.google_mlkit_barcode_scanning = "com.google.mlkit:barcode-scanning:16.2.0"
70+
deps.google_mlkit_face_detection = "com.google.mlkit:face-detection:16.1.2"
71+
deps.google_mlkit_image_labeling = "com.google.mlkit:image-labeling:17.0.5"
72+
deps.google_mlkit_object_detection = "com.google.mlkit:object-detection:16.2.6"
73+
deps.google_mlkit_pose_detection = "com.google.mlkit:pose-detection:17.0.1-beta4"
74+
deps.google_mlkit_pose_detection_accurate = "com.google.mlkit:pose-detection-accurate:17.0.1-beta4"
75+
deps.google_mlkit_segmentation_selfie = "com.google.mlkit:segmentation-selfie:16.0.0-beta2"
76+
deps.google_gms_text_recognition = "com.google.android.gms:play-services-mlkit-text-recognition:16.3.0"
7977

8078
deps.base_util = "com.king.base:util:3.2.1-androidx"
8179
deps.app_dialog = "com.king.app:app-dialog:1.0.10-androidx"

0 commit comments

Comments
 (0)