从Android 4.4 KitKat开始,我的应用程序出现了奇怪的崩溃.它似乎与微调器有关.我收到的这个bug堆栈跟踪:
java.lang.NullPointerException
at android.widget.TextView.makeNewLayout(TextView.java:6124)
at android.widget.TextView.onMeasure(TextView.java:6400)
at android.view.View.measure(View.java:16458)
at android.widget.Spinner.setUpChild(Spinner.java:632)
at android.widget.Spinner.makeView(Spinner.java:595)
at android.widget.Spinner.getBaseline(Spinner.java:431)
at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1089)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:590)
at android.view.View.measure(View.java:16458)
at com.android.internal.widget.ActionBarView.onMeasure(ActionBarView.java:1011)
at android.view.View.measure(View.java:16458)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at com.android.internal.widget.ActionBarContainer.onMeasure(ActionBarContainer.java:271)
at android.view.View.measure(View.java:16458)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
at com.android.internal.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:254)
at android.view.View.measure(View.java:16458)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2289)
at android.view.View.measure(View.java:16458)
at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1914)
at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1111)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1293)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:998)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5582)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
at android.view.Choreographer.doCallbacks(Choreographer.java:562)
at android.view.Choreographer.doFrame(Choreographer.java:532)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4998)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at …
Run Code Online (Sandbox Code Playgroud) java android nullpointerexception spinner android-4.4-kitkat
我对Gradle + Android Build中明显占位符的新可能性大肆宣传.我在gradle文档中发现我可以像这样指定自己的占位符:
productFlavors {
free {
}
pro {
manifestPlaceholders = [ activityLabel:"proName" ]
}
}
Run Code Online (Sandbox Code Playgroud)
但是我希望有一个占位符依赖于构建类型而不是产品风格.当我将该占位符规范插入到构建类型设置中时,它不起作用.你知道如何实现这个目标吗?因为在我看来,愚蠢的有三种构建类型和三种与之相关的风格.谢谢
我正在使用 Android Gradle 插件版本7.0.0-alpha14
和 Gradle 版本7.0
,当我尝试通过 Gradle 插件版本将应用程序上传到应用程序分发时,2.1.0
它在任务失败app:appDistributionUploadDebug
并出现错误
> Task :app:appDistributionUploadDebug FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Some problems were found with the configuration of task ':app:appDistributionUploadDebug' (type 'UploadDistributionTask').
- Type 'UploadDistributionTask' property 'COMMAND_LINE_PREFIX' is missing an input or output annotation.
Reason: A property without annotation isn't considered during up-to-date checking.
Possible solutions:
1. Add an input or output annotation.
2. Mark it as @Internal.
Please refer …
Run Code Online (Sandbox Code Playgroud) android gradle android-gradle-plugin firebase-app-distribution
我试图使用RenderScript支持库中的ScriptIntrinsicBlur模糊图像.我正在使用gradle,我使用这种方法来使用RenderScript的支持库版本.
在我的Nexus 4上,一切正常并且速度非常快,但是当我在搭载Android 2.3.3的三星Galaxy S上试用它时,我得到的图片看起来像这样:
我正在使用Roman Nurik的提示将位图宽度设置为4的倍数,但我不认为这是我的问题的原因.我的模糊代码看起来与这篇文章完全一样.谢谢你的建议.
这是我的代码:
获取视图的位图并重新缩放位图:
public static Bitmap loadBitmapFromView(View v) {
v.setDrawingCacheEnabled(false);
v.setDrawingCacheQuality(View.DRAWING_CACHE_QUALITY_LOW);
v.setDrawingCacheEnabled(true);
Bitmap b = v.getDrawingCache();
return b;
}
public static Bitmap scaledBitmap(Bitmap dest, float scale) {
int scaledWidth = (int) (scale * dest.getWidth());
if (scaledWidth % 4 != 0) { //workaround for bug explained here https://plus.google.com/+RomanNurik/posts/TLkVQC3M6jW
scaledWidth = (scaledWidth / 4) * 4;
}
return Bitmap.createScaledBitmap(dest, scaledWidth, (int) (scale * dest.getHeight()), true);
}
Run Code Online (Sandbox Code Playgroud)
Renderscript代码:
Bitmap bitmap = sentBitmap.copy(sentBitmap.getConfig(), true); …
Run Code Online (Sandbox Code Playgroud) 有没有办法通过图形API发表评论到社交插件?我正在开发一个Android应用程序,我想通过Facebook实现讨论,但我看不出如何实现这一点.我看到了一些关于它的其他问题,但我想询问"官方"Facebook堆栈溢出
我已经实现了我自己的子类ImageAnalysis.Analyzer
并且它按预期工作。现在我想ImageAnalysis
动态地“附加/分离”这个分析器到类(基于一些用户操作)。从ImageAnalysis
API来看好像是可以的,有setAnalyzer方法,也有clearAnalyzer方法。但是,这仅在第一次setAnalyzer
调用时才能正常工作。如果我一次clearAnalyzer
又一次地调用setAnalyzer
,analyze
则不会调用方法。
在方法的文档中clearAnalyzer
是
Removes a previously set analyzer.
This will stop data from streaming to the ImageAnalysis.
Run Code Online (Sandbox Code Playgroud)
所以看起来它的工作可能如预期的那样正确?它将停止数据流向ImageAnalysis
. 但是可以按照我想要的方式清除/设置分析仪吗?我不想enabled
向我的分析器添加一些布尔标志,存在线程问题、图像队列问题,并且使用 set/clear 的解决方案将是我认为最干净的解决方案。
我正在尝试使用触摸视图事件实现我自己的拖放。我想通过长按触发拖动,在 onLongClick 中,我将视图阴影创建为位图,并将该位图设置为 imageview。我想拖动这个图像视图。我的问题是,在长按事件之后,imageview 没有立即响应触摸事件。我必须停止触摸屏幕并再次点击图像视图,然后我的图像正在移动。
一些相关代码:
mCategoryNews.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
v.setVisibility(View.INVISIBLE);
ImageView shadow = (ImageView) getView().findViewById(R.id.imgViewShadow);
shadow.setLayoutParams(new FrameLayout.LayoutParams(v.getWidth(), v.getHeight()));
shadow.setImageBitmap(Utils.loadBitmapFromView(v));
shadow.bringToFront();
((FrameLayout.LayoutParams) shadow.getLayoutParams()).leftMargin = rowCategories1.getLeft();
((FrameLayout.LayoutParams) shadow.getLayoutParams()).topMargin = rowCategories1.getTop();
return true;
}
});
private View.OnTouchListener mDragShadowTouchListener = new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
Log.d(TAG, "onTouch");
switch (event.getAction()) {
case MotionEvent.ACTION_MOVE:
Log.d(TAG, "action move");
int x = (int) event.getRawX();//- rowCategories1.getLeft() - v.getWidth() / 2;
int y = (int) event.getRawY();//- rowCategories1.getTop() - …
Run Code Online (Sandbox Code Playgroud) 我在设计我的应用程序的 DI 架构时遇到了一些问题。我正在使用架构组件 ViewModels,我的灵感来自如何通过 Dagger 在他们自己的 GitHub存储库中提供 ViewModels .. 我想创建范围组件/模块,例如产品细节,将提供 ViewModels/Repositories 和其他依赖于该单个产品的东西.. 问题是所有 ViewModel 都是从给定示例中的相同 ViewModelModule 提供的。但是 ProductViewModel 需要从作用域子组件 ProductModule 提供的 ProductRepository。显然这是不可能的,因为 Dagger 在构建时抛出错误,我需要为 ProductRepository 提供 @Provides 注释。
好的,所以我认为我会在我的 ProductModule 中提供 ProductViewModel 但是它在运行时崩溃了,因为在这个方法中找不到我的 ViewModel 的提供者
是否有可能拥有这种架构,或者我是否需要重新设计它以在他们的示例中不使用与谷歌相同的方法?
我有一个名为的库模块library
,它有两种风格flavor1
和flavor2
. 然后我有两个应用程序模块,让我们调用它们app1
,app2
它们将使用这个库模块,每个模块都会以特定的风格使用它......例如。app1
将始终library
与flavor1
风味一起使用。我应该如何配置 gradle 依赖项以使其做我想做的事?如果我只是尝试implementation project(':library')
在app1
build.gradle
它显然是行不通的,因为它不知道选择哪个味道..所以我尝试过类似的东西implementation project(path: ':library', configuration: 'flavor1Release')
,但不工作过,它打印很像错误
ERROR: Unable to resolve dependency for ':app1@debug/compileClasspath': Could not resolve project :library.
Show Details
Affected Modules: app1
ERROR: Unable to resolve dependency for ':app1@debugAndroidTest/compileClasspath': Could not resolve project :library.
Show Details
Affected Modules: app1
ERROR: Unable to resolve dependency for ':app1@debugUnitTest/compileClasspath': Could not resolve project :library.
Show Details …
Run Code Online (Sandbox Code Playgroud) 我的任务是开发应该由游客使用的Android应用程序.基本用例:我正在经历一些城镇的旧部分,然后我开始我的应用程序,用相机指向某个地方,一些已经消失的旧建筑将像以前一样出现在它的位置.
我探索的第一个方向是基于位置的识别,我尝试了一些像Wikitude,MetaIO和DroidAR这样的框架.这些都不是100%满足我的需求,因为(在我看来),没有人使用(因为它的健壮性)最新的工具,应该使这项任务更容易,如新的Google Play服务位置API.我不知道我能不能做得更好,但我宁愿不写自己的解决方案.
我现在正在考虑探索基于标记的识别,但是需要额外的工作来将一些标记放置到期望的位置,并且我不相信用户将与该标记成直角和距离.我看过一些使用某种边缘检测的视频,但我使用的框架都没有这个功能.
您是否了解我可以探索的一些方向,技术或想法,并可能导致成功的解决方案?
android ×10
gradle ×3
dagger-2 ×1
facebook ×1
geolocation ×1
java ×1
module ×1
mvvm ×1
renderscript ×1
spinner ×1
touch-event ×1
view ×1