我正在尝试测试Firebase Analytics的实施情况.在他们的文档中,他们声明:
通过将-FIRDebugEnabled参数传递给应用程序来启用调试模式.您可以在应用程序的Xcode方案中添加此参数.当通过-FIRDebugEnabled启用调试模式时,应用程序的进一步执行也将处于调试模式.要返回默认模式,必须使用应用程序参数-FIRDebugDisabled显式禁用调试模式.
不幸的是,我不明白我设置这个方案的位置.在Android中这很容易.帮助将不胜感激.
我有以下配置:
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="jpaDataSource" />
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
</property>
<property name="jpaProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
<property name="packagesToScan">
<list>
<value>com.example.domain</value>
<value>com.example.repositories</value>
</list>
</property>
</bean>
Run Code Online (Sandbox Code Playgroud)
我在com.example.domain中有我的Geoname类:
@Entity
@Table(name="geonames")
public class Geoname implements Serializable {
@Id
@Column(name="geonameid")
private Long geonameid = null;
}
Run Code Online (Sandbox Code Playgroud)
但是,在运行时,我得到以下异常:
org.hibernate.AnnotationException:通过引起指定实体没有标识符:com.example.domain.Geoname在org.hibernate.cfg.InheritanceState.determineDefaultAccessType(InheritanceState.java:277)在org.hibernate.cfg.InheritanceState.getElementsToProcess( InheritanceState.java:224)在org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:664)在org.hibernate.cfg.Configuration $ MetadataSourceQueue.processAnnotatedClassesQueue(Configuration.java:3449)在org.hibernate.cfg.Configuration $ MetadataSourceQueue.processMetadata(Configuration.java:3403)在org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1330)在org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1730)
有什么想法吗?
旁注:我在这个项目中将mongodb和hibernate/mysql结合起来.
我们在工作中遇到一个奇怪的问题,只发生在chrome中.看起来css文件正在缓存,并且不会重新下载此文件的内容.
问题是当使用新会话例如"私人会话"时,不会显示图像"mainSprite.png".
经过一些测试后,我认为如果用户未经过身份验证,问题与我们在开始时进行重定向有关.根据我的理解,它可能无法完成在css文件中链接的精灵的下载.它会尽快缓存无效对象作为重定向开始,然后在下面的页面时,将无法显示正确的图像,因为它的缓存有些不妥.
奇怪的是它实际上在某个时刻完全加载了图像.但它看起来并没有在内存中刷新它......
在第一次加载开始重定向并正确显示图像之前,我做了一秒的超时.这是一个快速修复,我不能指望每台计算机在1秒钟内加载css中包含的每个图像.
编辑
据我所知,它看起来真的像竞争条件.我改变了加载顺序.我们使用require.js.我没有在css之后加载js,而是在之前启动js加载.现在,我的本地服务器上的图像正确加载.
如果有人有兴趣研究它:
编辑2
当图像不可见时,打开新标签会出现同样的问题.关闭浏览器并重新打开它将在首次加载时工作,图像不会被下载,而是从Cache加载,这意味着在关闭浏览器之前,图像确实已下载.
我试图用随机数更新集合中的所有文档.每个集合应该有不同的编号.我目前的代码:
db.myDoc.update({ rand: {$exists : false }},{$set : {rand:Math.random()}},{multi:true})
Run Code Online (Sandbox Code Playgroud)
使用SAME随机值填充所有文档.怎么修?
我已将我的应用升级为支持SDK 26,现在Google Analytics在Android Oreo上运行时会导致崩溃:
致命异常:java.lang.RuntimeException:无法启动接收器com.google.android.gms.analytics.AnalyticsReceiver:java.lang.IllegalStateException:不允许启动服务Intent {act = com.google.android.gms.analytics. ANALYTICS_DISPATCH cmp = com.example.android/com.google.android.gms.analytics.AnalyticsService}:app在android.app中的后台uid UidRecord {3f302e5 u0a107 RCVR idle procs:1 seq(0,0,0)}. Activity.Thread.handleReceiver(ActivityThread.java:3259)在Android.app.Handler.dispatchMessage(Handler)的android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1677)上的android.app.ActivityThread.-wrap17(未知来源) .java:105)在android.app.Looper.loop(Looper.java:164)的android.app.ActivityThread.main(ActivityThread.java:6541)java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.Zygote $ MethodAndArgsCaller.run(Zygote.java:240)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)由java.lang.IllegalStateException引起:不是全部 欠开始服务Intent {act = com.google.android.gms.analytics.ANALYTICS_DISPATCH cmp = com.example.android/com.google.android.gms.analytics.AnalyticsService}:app is in background uid UidRecord {3f302e5 u0a107 RCVR idle procs:1 seq(0,0,0)}在android.app.ContextImpl.startService(设置在Android.apptentImpl.java:1461)的android.content.ContextWrapper上的android.app.ContextImpl.startServiceCommon(ContextImpl.java:1505).位于com.google.android的com.google.android.gms.internal.zzaot.onReceive(未知来源:68)的android.content.ContextWrapper.startService(ContextWrapper.java:644)上的startService(ContextWrapper.java:644). android.app.ActivityThread $ H的android.app.ActivityThread.- wrap17(未知来源)的android.app.ActivityThread.handleReceiver(ActivityThread.java:3252)上的gms.analytics.AnalyticsReceiver.onReceive(未知来源:11). android.app.ActivityThread.m上android.os.Handler.dispatchMessage(Handler.java:105)处于android.app.Looper.loop(Looper.java:164)的handleMessage(ActivityThread.java:1677)ain(ActivityThread.java:6541)位于com.android.internal的com.android.internal.os.Zygote $ MethodAndArgsCaller.run(Zygote.java:240)的java.lang.reflect.Method.invoke(Method.java) .os.ZygoteInit.main(ZygoteInit.java:767)
这是我的相关清单:
<meta-data
android:name="com.google.android.gms.analytics.globalConfigResource"
android:resource="@xml/analytics"/>
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version"/>
<!-- Optionally, register AnalyticsReceiver and AnalyticsService to support background
dispatching on non-Google Play devices -->
<receiver
android:name="com.google.android.gms.analytics.AnalyticsReceiver"
android:enabled="true">
<intent-filter> …Run Code Online (Sandbox Code Playgroud) 我试图用spring查询mongodb.我们有一个集合,它包含一个树,并包含一个项目列表作为树路径(因此我们可以轻松遍历树).我们有一个查询需要返回特定节点的所有子节点.我们的查询基于选择路径中具有节点(父节点)并且比父节点(级别)低一级的所有节点.我们的标准如下:
Criteria.where("treePath").in(parentId).and("treePath").size(level)
Run Code Online (Sandbox Code Playgroud)
唉,当我们在mongodb上调用它时,我们得到以下异常:
org.springframework.data.mongodb.InvalidMongoDbApiUsageException:由于com.mongodb.BasicDBObject的限制,您无法添加第二个'treePath'表达式,指定为'treePath:{"$ size":2}'.Criteria已经包含'treePath:{"$ in":["50137df5f49f9b4a6481d639"]}'.
是否有其他建议如何实现相同?我想到的一个选择是直接查询mongodb.我试过了
String command = "{findAndModify:\"Task\",query:{$and:[{treePath:\"5013a79a36600872ecf4dba8\"},{treePath:{$size:2}},{order:{$gte:0}}]},update:{$inc:{order:1}}}";
CommandResult commandResult = mongoTemplate.executeCommand(command);
Run Code Online (Sandbox Code Playgroud)
但这只会更新第一条记录,我需要更新它们.
谢谢!
我有一种情况,我想自己创建一个访问令牌(所以不通过通常的过程).我想出了这样的事情:
@Inject
private DefaultTokenServices defaultTokenServices;
...
OAuth2Authentication auth = xxx;
OAuth2AccessToken token = defaultTokenServices.createAccessToken(auth);
Run Code Online (Sandbox Code Playgroud)
唯一的问题是我不知道如何创建OAuth2Authentication(在我的代码中使用xxx的部分).我有用户和客户信息,我知道我想授予这个令牌的权限.
我有一个库,我用作所有Android应用程序的基础,并有以下清单文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android"
xmlns:tools="http://schemas.android.com/tools"
android:versionCode="36"
android:versionName="1.b" >
<uses-sdk
android:minSdkVersion="5"
android:targetSdkVersion="21"
tools:overrideLibrary="com.facebook.android"/>
Run Code Online (Sandbox Code Playgroud)
然后我尝试在我的一个具有以下清单的项目中使用它:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android"
xmlns:tools="http://schemas.android.com/tools"
android:versionCode="36"
android:versionName="1.6" >
<uses-library
android:name="com.example.android"
android:required="true"/>
<uses-sdk
android:minSdkVersion="5"
android:targetSdkVersion="21"
tools:overrideLibrary="com.facebook.android"/>
Run Code Online (Sandbox Code Playgroud)
请注意,使用的包名称是相同的:com.example.android.由于该应用程序是在com.example.android下发布的,因此我无法为该应用程序更改它.至于图书馆,由于历史原因,它具有相同的pacakge名称.当我构建项目时,我收到以下错误:
FAILURE:构建因异常而失败.
- 出了什么问题:任务执行失败':exampleCom:processDebugResources'.
错误:库使用与此项目相同的包:com.example.android您可以使用android.enforceUniquePackageName = false暂时禁用此错误但是,这是临时的,将在1.0中强制执行
我不想更改库或应用程序的包名称.我不知道在哪里添加"android.enforceUniquePackageName = false".有任何想法吗?另外,如何解决超过1.0(我已经在使用)?
我需要将Crashlytics Crashes Report Log导出到某个外部文件系统中.使用他们的钩子将不起作用,因为那些仅用于新报告,而我需要导出完整的未解决问题.我找到了这个库:https://github.com/MattNewberry/crashstats但似乎Crashlytics阻止它工作.
看一下chrome调试器,我正在尝试使用curl将调用复制到他们的API,以便稍后我可以用Java/Ruby编写代码:
$ curl --data"email=user@example.com&password=pass"--referer" https:// w ww.crashlytics.com/login"--header"接受:application/json,text/javascript,*/*; q = 0.01"--header"X-CSRF-Token:E5puPaolZYUNJ2IbUX2u9S + W0iqU/6/9KDr4ivcmOq0 =" - header"X-CRASHLYTICS-DEVELOPER-TOKEN:0bb5ea45eb53fa71fa5758290be5a7d5bb867 e77"--header"X-Requested-With:XMLHttpRequest " https://www.crashlytics.com/api/v2/session
但我继续得到以下回应:
{"message":"请求无效"}
我正在寻找一种方法来自定义Android中的日期选择器,只显示日期和月份(即没有年份).
我正在创建一个基于如何显示android的日期选择器的对话框,只有月份和年份字段?:
Dialog dlg = new DatePickerDialog(context, datePickerListener, dueDateCalendar.get(Calendar.YEAR), dueDateCalendar.get(Calendar.MONTH), dueDateCalendar.get(Calendar.DAY_OF_MONTH));
try {
Field f[] = dlg.getClass().getDeclaredFields();
for (Field field : f) {
String name = field.getName();
if (name.equals("YEAR")){
field.setAccessible(true);
Object dayPicker = new Object();
dayPicker = field.get(dlg);
((View) dayPicker).setVisibility(View.GONE);
}
}
} catch (Exception e){
// TODO: should not happen
e.printStackTrace();
}
return dlg;
Run Code Online (Sandbox Code Playgroud)
但我一直在((查看)dayPicker).setVisibility(View.GONE)上获得Cast异常;
java.lang.ClassCastException:java.lang.String无法强制转换为android.view.View
有任何想法吗?
android ×3
spring ×3
java ×2
mongodb ×2
caching ×1
crashlytics ×1
css ×1
curl ×1
datepicker ×1
firebase ×1
gradle ×1
hibernate ×1
http-post ×1
mongodb-java ×1
oauth ×1
oauth-2.0 ×1
random ×1
spring-data ×1
swift ×1
xcode ×1