我看到了所有其他问题,但没有一个可接受的答案对我有用.
通过以下https://dev.twitter.com/twitter-kit/android/integrate中的集成步骤,我在模块根目录中创建了crashlytics.properties文件.文件中填充了在我新创建的twitter应用程序中找到的apiKey和apiSecret值.
项目构建时出错.我正在使用AndroidStudio 1.0
这是我的错误:
ERROR - Crashlytics Developer Tools error.
java.lang.IllegalArgumentException: Crashlytics found an invalid API key: REAL_APIKEY_VALUE.
Check the Crashlytics plugin to make sure that the application has been added successfully!
Contact support@fabric.io for assistance.
Run Code Online (Sandbox Code Playgroud) 我ViewHolder在顶部有一个标题,并且标题在特定情况下变得可见.在大多数其他情况下,标头设置为GONE.问题是当标题设置为GONE时,仍然会计算其高度,而其他视图则spread不同(两者之间的空间更大).
蓝图说明:
top,left和right.packed chain,约束到上一个标头top,ImageView向right和父的left和bottom.以下是布局检查器的截图,其中突出显示的标题视图设置为GONE:

根据文档,标题视图,当设置为GONE应该缩小到指向其他视图仍然应用于它的约束时,但标题不应占用布局空间并影响ConstraintLayout其设置的高度wrap_content.
在这个检查员截图中,目前尚不清楚实际发生了什么.标题不可见,底部视图显然约束到父顶部,但标题仍在检查器中显示为具有指定高度的全宽.
我不确定这是不是一个错误,或者我应该强制ConstraintLayout重新测量自己.
XML更新:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
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="wrap_content">
<TextView
android:id="@+id/list_item_step_conversion_tv_header"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@color/gray_very_light"
android:padding="@dimen/activity_vertical_margin"
android:text="@string/favorites"
android:textColor="@android:color/black"
android:textSize="@dimen/default_text_size"
android:textStyle="bold"
android:visibility="gone"
tools:visibility="visible"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<TextView
android:id="@+id/list_item_step_conversion_tv_title"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_marginStart="16dp"
android:layout_marginTop="8dp"
android:ellipsize="end" …Run Code Online (Sandbox Code Playgroud) 我从可访问性获取
Got null根节点 - 重试...
来自的消息UiAutomator,我不知道为什么.
不久:
我们正在对我们的应用程序执行E2E测试,每个测试都从启动活动开始.第一次测试成功运行.当第二次测试开始时,在我们开始寻找UiObject之前一切正常.在那次通话中,我们收到了错误.
详细:
第一次测试开始StartActivity并通过入门导航到MainScreen.
开始屏幕开始:
val intent = Intent(appContext, StartActivity::class.java)
appContext.startActivity(intent)
Run Code Online (Sandbox Code Playgroud)
我也尝试过这样:
val intent = appContext.packageManager.getLaunchIntentForPackage(appContext.originalPackageName).apply {
addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK)
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
}
appContext.startActivity(intent)
Run Code Online (Sandbox Code Playgroud)
但没有区别,因为测试运行器会在测试运行后自动检查是否存在正在运行的活动,并清除它.
当第二次测试运行时,它仍然从启动,StartActivity但现在跳过启动过程,并且用户(测试运行器)被导航到包含Continue按钮的屏幕.因此,我们找到带有文本的UiObject Continue并等待它出现在屏幕上.一旦出现,我们将点击它.但是,一旦我们启动"查找继续按钮",标题中的消息就会开始出现,几秒钟后,所有内容都会崩溃:
测试运行失败:由于"进程崩溃",仪表运行失败.
片段:
val continueButton = viewByText { appContext stringOf R.string.all_continue }
continueButton.waitToBecomeVisible(1.minute)
continueButton.click()
Run Code Online (Sandbox Code Playgroud)
我猜最后的问题是,是什么导致UiAutomator丢失所有根节点?在调试方法UiDevice一样getUiAutomation,getWindowRoots与实际getRootNode()距离QueryContoller,这是记录上述消息,并没有帮助.
语法糖:
appContext
val appContext: Context get() = InstrumentationRegistry.getTargetContext()
Run Code Online (Sandbox Code Playgroud)
viewByText:
fun viewByText(text: () …Run Code Online (Sandbox Code Playgroud) 我使用java反射创建了通用的json解析器,但是有一个我无法解决的错误.
方法(在这个问题的底部),接收我的自定义Model类的子类.我遍历字段并从json设置值.如果子类包含某些其他类的数组属性(同样是Model的子类),我创建了小递归来填充这些对象.
例如.
class UserModel extends Model
{
@JsonResponseParam(Name="userName")
public String Name;
@JsonResponseParam(Name="friends")
public FriendModel[] Friends;
}
Run Code Online (Sandbox Code Playgroud)
最后,UserModel应该填充好友.(JsonResponseParam是自定义anotation,Name值用作从json获取值的属性)
此方法的结果是IllegalArgumentException,并且它被抛出
field.set(t, values.toArray());
Run Code Online (Sandbox Code Playgroud)
这是方法:
protected <T extends Model> T getModel(T t)
{
Field[] fields = t.getClass().getFields();
for (Field field : fields) {
Annotation an = field.getAnnotation(JsonResponseParam.class);
if(an != null){
try
{
if(field.getType() == boolean.class)
field.setBoolean(t, t.getBool(((JsonResponseParam)an).Name()));
if(field.getType() == String.class)
field.set(t, t.getString(((JsonResponseParam)an).Name()));
if(field.getType() == int.class)
field.setInt(t, t.getInt(((JsonResponseParam)an).Name()));
if(field.getType() == Date.class)
field.set(t, t.getDate(((JsonResponseParam)an).Name()));
if(field.getType().isArray()){
ArrayList<Model> modelArray = t.getModelArray(((JsonResponseParam)an).Name());
ArrayList<Model> values = new ArrayList<Model>();
for …Run Code Online (Sandbox Code Playgroud) 我创建了ErrorDialogFragment,其中包含OnDialogClickListener参数.
需要显示ErrorDialogFragment的每个其他片段或活动都通过ErrorDialogFragment中的公共方法设置OnDialogClickListener.同时,所有这些活动和片段都实现了OnDialogClickListener.
如果用户在显示ErrorDialogFragment时从应用程序退出,则会出现问题,并在一段时间后返回(应用程序从内存中删除).如果用户单击片段选项,它将强制关闭,因为未设置OnDialogClickListener.
我错误地使用了activity-listener-fragment模式,我如何解决这个问题(应用程序已经处于测试阶段..大模式更改是不可接受的.
例如:
接口:
public interface OnDialogClickListener {
public void OnPositiveClick(int key, Object... args);
public void OnNegativeClick(int key, Object... args);
}
Run Code Online (Sandbox Code Playgroud)
活动:
public class Home extends FragmentActivity implements TabListener, ServiceConnection, OnDialogClickListener {
.
.
.
@Override
public void OnPositiveClick(int key, Object... args) {
//some actions
}
@Override
public void OnNegativeClick(int key, Object... args) {
//some actions
}
Run Code Online (Sandbox Code Playgroud)
分段:
public class ErrorDialogFragment extends DialogFragment implements OnClickListener {
OnDialogClickListener OnDialogClickListener = null;
.
.
.
public void setDialogListener(OnDialogClickListener listener)
{ …Run Code Online (Sandbox Code Playgroud) 我正在实施 Google 地图 V2,并利用从外部 GPX 文件接收的交付路线、设备路径、设备当前位置和交付点位置。问题是它在大多数情况下都有效......我得到的错误(当它不工作时)是下一个:
03-16 20:48:37.811: I/dalvikvm(16510): threadid=30: stack overflow on call to Lmaps/t/bx;.d:FLLL
03-16 20:48:37.811: I/dalvikvm(16510): method requires 40+20+0=60 bytes, fp is 0x60223318 (24 left)
03-16 20:48:37.811: I/dalvikvm(16510): expanding stack end (0x60223300 to 0x60223000)
03-16 20:48:37.811: I/dalvikvm(16510): Shrank stack (to 0x60223300, curFrame is 0x60226e54)
03-16 20:48:37.821: D/gralloc(16510): unmap_buffer: Successfully unmapped 0xa5000 bytes at address 0x60416000, SharedFd=89, map_count = 3
03-16 20:48:37.821: D/gralloc(16510): unmap_buffer: Successfully unmapped 0xa5000 bytes at address 0x604bb000, SharedFd=96, map_count = 2
03-16 20:48:37.881: W/dalvikvm(16510): …Run Code Online (Sandbox Code Playgroud) 我已经阅读了很多关于索引和它们之间差异的内容。现在我正在我的项目中进行查询优化。我创建了非聚集索引,应该用于查询执行,但事实并非如此。详情如下:
桌子:

指数:
CREATE NONCLUSTERED INDEX [_IXProcedure_Deleted_Date] ON [por].[DailyAsset]
(
[Deleted] ASC,
[Date] DESC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
Run Code Online (Sandbox Code Playgroud)
实体框架生成的查询:
exec sp_executesql N'SELECT
[Project1].[C1] AS [C1],
[Project1].[AssetId] AS [AssetId],
[Project1].[Active] AS [Active],
[Project1].[Date] AS [Date]
FROM ( SELECT
[Extent1].[AssetId] AS [AssetId],
[Extent1].[Active] AS [Active],
[Extent1].[Date] AS [Date],
1 AS [C1]
FROM [por].[DailyAsset] AS [Extent1]
WHERE (0 = [Extent1].[Deleted]) AND ([Extent1].[Date] …Run Code Online (Sandbox Code Playgroud) 过去7天占据我的问题是实现从Android到WowzaMediaEngine的实时视频流.
我已经开始对官方Wowza页面进行研究,我很高兴能够存在用于Android和IOS的GoCoderSDK库."小"问题是价格(第一年10k,每年2k),因为我正在为"小"客户建立申请,我尝试过其他图书馆:
libstreaming是好的,在我看来是丑陋的编码(没有难过的感觉),有很多错误需要修复,但是使用相当复杂的技术(做得很好).我已经在Nexus 5 marshmallow上测试了一段时间后使用MediaCodec和低视频分辨率.提高分辨率将切换到MediaRecorder,而MediaRecorder大多无法正常工作.在KitKat设备上,我根本无法启动它.经过3-4天的修复实施后,我放弃了.Lib接缝不再维护
媒体广播图书馆看起来很有希望,但没有尝试过.真的很贵.在我看来,500美元/月太简单了.
KickFlip经过精心编码,外观漂亮,功能强大,并且已经取消了对RTMP/RTSP的支持.试图恢复支持并失败.
RealTimeLibs的价格是可以接受的.从PlayStore安装了广播ME(演示应用),无法启动流.演示应用程序不断崩溃.气馁,没有试图联系他们.
该怎么做,购买GoCoderSDK,重写libstreaming库(因为我有最好的结果)或编写我自己的解决方案(不知道需要多少时间).需要巨大的多媒体体验(我没有)?
android ×6
arrays ×1
crashlytics ×1
java ×1
listener ×1
reflection ×1
rtmp ×1
rtsp ×1
setvalue ×1
sql ×1
sql-server ×1
wowza ×1