几天后,我正在尝试为Android构建OpenALPR示例项目.它构建并启动,但在调用本机方法识别它后会产生异常:
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:299)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
at java.util.concurrent.FutureTask.run(FutureTask.java:239)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:838)
Caused by: java.lang.UnsatisfiedLinkError: Native method not found: org.openalpr.AlprJNIWrapper.recognizeWithCountryRegionNConfig:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
at org.openalpr.AlprJNIWrapper.recognizeWithCountryRegionNConfig(Native Method)
at org.openalpr.app.AlprFragment$AlprTask.doInBackground(AlprFragment.java:78)
at org.openalpr.app.AlprFragment$AlprTask.doInBackground(AlprFragment.java:1)
at android.os.AsyncTask$2.call(AsyncTask.java:287)
at java.util.concurrent.FutureTask.run(FutureTask.java:234)
... 4 more
Run Code Online (Sandbox Code Playgroud)
我什么都做不了,它总是出现.
Application.mk
APP_ABI := armeabi-v7a
APP_CPPFLAGS := -frtti -fexceptions
APP_STL := gnustl_static
Run Code Online (Sandbox Code Playgroud)
我所有的尝试后Android.mk
LOCAL_PATH := $(call my-dir)
LIB_PATH := $(LOCAL_PATH)/../libs/armeabi-v7a
include $(CLEAR_VARS)
LOCAL_MODULE := leptonica
LOCAL_SRC_FILES := 3rdparty/liblept.so
include $(PREBUILT_SHARED_LIBRARY) …
Run Code Online (Sandbox Code Playgroud) 在我的应用程序中,我正在存储一些数据SharedPreferences
- 它可以根据需要运行.现在我想为一些不正确的情况创建日志消息.
我成功处理了首选项为空或在加载时抛出异常的情况.在保存值时可以显示的唯一错误是commit()
返回false
- 我不知道为什么会发生这种情况以及在这种情况下我应该做些什么.
所以我的问题是:该commit()
方法何时返回false
?在那种情况下我该怎么办?一个可能的解决方案是commit()
一次又一次地呼叫(类似的东西while (!editor.commit()) {}
)?
我的应用程序中有球只是飞过显示器.他们画出我想要的.但现在我想在他们身后画出一条痕迹.
我所能做的只是画canvas.drawPath
下面的图片:
但这不是我想要的.它应该有尖尾和渐变颜色,如下所示:
我不知道怎么做.尝试过BitmapShader
- 无法做出正确的事情.请帮忙.
码:
首先,有一个Point
显示位置的类:
class Point {
float x, y;
...
}
Run Code Online (Sandbox Code Playgroud)
并且跟踪存储为以下队列Point
:
private ConcurrentLinkedQueue<Point> trail;
Run Code Online (Sandbox Code Playgroud)
它如何填充并不重要,只要知道它有大小限制:
trail.add(position);
if(trail.size() > TRAIL_MAX_COUNT) {
trail.remove();
}
Run Code Online (Sandbox Code Playgroud)
绘图发生在DrawTrail
方法中:
private void DrawTrail(Canvas canvas) {
trailPath.reset();
boolean isFirst = true;
for(Point p : trail) {
if(isFirst) {
trailPath.moveTo(p.x, p.y);
isFirst = false;
} else {
trailPath.lineTo(p.x, p.y);
}
}
canvas.drawPath(trailPath, trailPaint);
}
Run Code Online (Sandbox Code Playgroud)
顺便说一下,trailPaint
真是胖油漆:)
trailPaint = new Paint();
trailPaint.setStyle(Paint.Style.STROKE);
trailPaint.setColor(color);
trailPaint.setStrokeWidth(radius …
Run Code Online (Sandbox Code Playgroud) 目前我正在尝试使用Xamarin Studio中的跨平台解决方案启动空应用程序.
我尝试使用空库项目和共享库制作app,两者都有相同的错误.现在尚未解决的问题是:
1)构建错误:
Error XA5207: Please install package: 'Android Support Library' available in SDK installer. Java library file classes.jar doesn't exist. (XA5207) (*projectName*)
Error XA5207: Please install package: 'Android Support Library' available in SDK installer. Java library file libs/internal_impl-21.0.3.jar doesn't exist. (XA5207) (*projectName*)
Run Code Online (Sandbox Code Playgroud)
这个问题对我没有帮助.
2)有些链接说可能是因为旧Mono.Android.Support.v4
组件.我的组件版本是21.0.3.0.点击更新后,它说:
You are trying to install this package into a project that targets 'MonoAndroid,Version=v4.0', but the package does not contain any assembly references or content files that are compatible with that framework. …
Run Code Online (Sandbox Code Playgroud) 我需要获得设备方向.据我所知常用TYPE_ACCELEROMETER
和TYPE_MAGNETIC_FIELD
传感器.我的问题是让SensorManager.getDefaultSensor
我回归null
地磁传感器.它返回null
的TYPE_ORIENTATION
传感器了.
manager = (SensorManager) getSystemService(SENSOR_SERVICE);
Sensor sensorAcc = manager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), //normal object
sensorMagn = manager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD); //null
orientationListener = new OrientationSensorListener();
manager.registerListener(orientationListener, sensorAcc, 10);
manager.registerListener(orientationListener, sensorMagn, 10);
Run Code Online (Sandbox Code Playgroud)
我需要另一种方法来获取设备方向.
我们有应用程序来查看一些特定的材料。在材料类型中有HTML5
显示在WebView
应用程序内的小部件中的演示文稿。现在我们需要获取有关此视图的详细信息(例如幻灯片持续时间、列表元素选择可用的位置等)。
这是客户想要的 - 我们无法改变它。
我们决定使用IndexedDB
insideHTML5
在本地存储信息。现在存储作品(据我所知:)
)。下一个问题是通过应用程序获取此信息,但尚未解决。不幸的是谷歌没有帮助我。
IndexedDB
如果我知道它的路径,如何从文件中获取信息?或者您知道另一种将数据从 html 传输到本机应用程序的方法吗?
PS编写自定义浏览器无法解决。
更新
找到了从 JS 加载文件的解决方案。在 chrome 浏览器中,它会自动保存在下载中。在 android 应用程序中,我设置WebView
反对DownloadListener
侦听文件保存事件。
捕捉保存文件完美无缺。但是 url 路径看起来像blob:file/...
,我无法从中获取信息。尝试使用ContentResolver
,创建File
对象,用空替换blob:
字符串,开始ACTION_VIEW
意图 - 没有任何帮助。
更新
尝试使用DownloadManager
和DownloadManager.Request
- 它引发以下异常
java.lang.IllegalArgumentException: Can only download HTTP/HTTPS URIs: file:///fa4857ad-0e86-454a-a341-123729e9ece0
Run Code Online (Sandbox Code Playgroud)
与blob:file
uri相同。
我在我的同步应用程序的时间与android.location.Location
"s法getTime()
里面onLocationChanged
方法调用.问题是在某些设备上结果是正确的,在某些设备上快15秒.据我所知,这是因为GPS时间和UTC差异.
如何检查设备是否知道这种差异?我需要我的应用程序在所有设备上同时显示.
我不能使用网络同步作为解决方案.
I'm trying to make multi module project with Dagger2
. You can see my code following the link. In the main
branch is working solution where all the dagger classes are in presentation
module.
Now I'm trying to make separate app
module for the DI root. You can see the latest attempts in the develop
branch. It's not working. I want to make my root ApplicationComponent
component in app
module and add there PresentationComponent
(sub)component from other module. …
android ×8
java ×3
android-ndk ×1
c# ×1
c++ ×1
dagger-2 ×1
drawing ×1
gps ×1
indexeddb ×1
kotlin ×1
magnetometer ×1
orientation ×1
xamarin.ios ×1