我正在尝试在ChartJS v2.0中创建自定义图例模板.在ChartJS的v1*中,我只是向新的Chart构造函数添加了一个属性,例如......
legendTemplate : '<ul>'
+'<% for (var i=0; i<datasets.length; i++) { %>'
+'<li>'
+'<span style=\"background-color:<%=datasets[i].lineColor%>\"></span>'
+'<% if (datasets[i].label) { %><%= datasets[i].label %><% } %>'
+'</li>'
+'<% } %>'
+'</ul>'
Run Code Online (Sandbox Code Playgroud)
我似乎无法在v2.0中找到此选项的任何文档.它甚至可用吗?任何人都可以展示如何实现这一目标的例子吗?
谢谢!
更新 - 下面的工作代码
legendCallback: function(chart) {
console.log(chart.data);
var text = [];
text.push('<ul>');
for (var i=0; i<chart.data.datasets[0].data.length; i++) {
text.push('<li>');
text.push('<span style="background-color:' + chart.data.datasets[0].backgroundColor[i] + '">' + chart.data.datasets[0].data[i] + '</span>');
if (chart.data.labels[i]) {
text.push(chart.data.labels[i]);
}
text.push('</li>');
}
text.push('</ul>');
return text.join("");
}
Run Code Online (Sandbox Code Playgroud) 我有一个使用Azure发送推送通知的应用程序.Azure依次使用GCM发送到Android设备.
我注意到我的AndroidManifest.xml中有一个警告说明
在SDK版本23及更高版本中,您的应用数据将自动备份,并在应用安装时恢复.您的GCM注册表无法在恢复期间使用,因此您必须确保将其从备份集中排除.使用属性android:fullBackupContent指定一个@xml资源,该资源用于配置要备份的文件.
我按照https://developer.android.com/training/backup/autosyncapi.html?hl=in#configuring中的说明进行操作
但是我对如何从备份中排除GCM regID感到难过?这是我目前的设置.
表现
<application
android:allowBackup="true"
android:fullBackupContent="@xml/backup_scheme"
........
Run Code Online (Sandbox Code Playgroud)
RES/XML/backup_scheme.xml
<?xml version="1.0" encoding="utf-8"?>
<full-backup-content>
<exclude domain="sharedpref" path=""/>
</full-backup-content>
Run Code Online (Sandbox Code Playgroud)
我把什么作为路径?我应该在某个地方放置一个物理文件吗?
UPDATE
所以我想我明白了.在我的RegistrationIntentService.java文件中,我将用户registrationID存储在字符串"registrationID"下的共享首选项中.所以我假设我使用以下内容......
<exclude domain="sharedpref" path="registrationID"/>
Run Code Online (Sandbox Code Playgroud)
对?
android google-cloud-messaging android-backup-service android-6.0-marshmallow
有谁知道Firebird 2.5是否具有类似于SQL中"STUFF"功能的功能?我有一个包含父用户记录的表,另一个表包含与父进程相关的子用户记录.我希望能够在不必使用第二个查询的情况下拉出用户所拥有的"ROLES"的逗号分隔字符串,循环返回给定ID的值并自己创建字符串.
我搜索过任何其他相关问题,但没有找到任何问题.这个链接字符串相当于Sum连接的问题基本上也是我想做的,但是使用Firebird 2.5数据库.
所以,当我从Android Studio运行androidDependencies命令时,我得到以下LONG输出.所有错误是什么意思?它仍然成功构建,我应该对错误做些什么,如果是这样,我该如何清理它们?
androidDependencies输出
Information:Gradle tasks [androidDependencies]
:app:androidDependencies
debug
+--- LOCAL: notification-hubs-0.4.jar
+--- LOCAL: android-viewbadger.jar
+--- LOCAL: android-maps-extensions.jar
+--- com.google.android.gms:play-services:8.4.0
| +--- com.google.android.gms:play-services-ads:8.4.0
Error:\--- com.google.android.gms:play-services-basement:8.4.0
Error:\--- com.android.support:support-v4:23.0.0
Error:\--- LOCAL: internal_impl-23.0.0.jar
| +--- com.google.android.gms:play-services-analytics:8.4.0
Error:\--- com.google.android.gms:play-services-basement:8.4.0
Error:\--- com.android.support:support-v4:23.0.0
Error:\--- LOCAL: internal_impl-23.0.0.jar
| +--- com.google.android.gms:play-services-appindexing:8.4.0
Error:\--- com.google.android.gms:play-services-base:8.4.0
Error:\--- com.google.android.gms:play-services-basement:8.4.0
Error:\--- com.android.support:support-v4:23.0.0
Error:\--- LOCAL: internal_impl-23.0.0.jar
| +--- com.google.android.gms:play-services-appinvite:8.4.0
Error:\--- com.google.android.gms:play-services-base:8.4.0
Error:\--- com.google.android.gms:play-services-basement:8.4.0
Error:\--- com.android.support:support-v4:23.0.0
Error:\--- LOCAL: internal_impl-23.0.0.jar
| +--- com.google.android.gms:play-services-appstate:8.4.0
Error:\--- com.google.android.gms:play-services-base:8.4.0
Error:\--- com.google.android.gms:play-services-basement:8.4.0
Error:\--- com.android.support:support-v4:23.0.0
Error:\--- LOCAL: internal_impl-23.0.0.jar
| +--- com.google.android.gms:play-services-auth:8.4.0
Error:\--- com.google.android.gms:play-services-base:8.4.0 …
Run Code Online (Sandbox Code Playgroud) android android-studio azure-notificationhub android-gradle-plugin gradle-dependencies
我有以下XML布局,基本上给我圆角,我在EditText上使用它.为什么Android检查员会说element solid is not allowed here
和element corners is not allowed here.
它工作正常,我应该离开吗?
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" android:padding="10dp"
android:layout_width="match_parent"
android:layout_height="match_parent">
<solid android:color="#FFFFFF" />
<corners
android:bottomRightRadius="5dp"
android:bottomLeftRadius="5dp"
android:topLeftRadius="5dp"
android:topRightRadius="5dp" />
</shape>
Run Code Online (Sandbox Code Playgroud) 我已经跟随使用Azure通知中心向Android发送推送通知教程,以使用Azure通知中心将推送通知实现到我的Android应用中.
以前,我使用另一个教程使用带有Azure Notification Hub的Google Cloud Messaging服务来执行此操作,但是当我从Android Studio将应用程序发送到设备时,我只能获得推送通知.当我构建一个已签名的APK并将其安装在我的设备上时,没有推送通知.
在昨天整天尝试使其工作(禁用ProGuard,尝试不同的API密钥等)后,我决定今天早上重新开始.就在那时,我意识到Google现在会在用户从云端控制台点击GCM时将用户引导至Firebase云消息传递.所以...我已经使用上面的教程和Google FCM将Push Notifications实现到我的应用程序中.
它工作得很好....但是,当我创建一个签名的APK并在我的设备上安装它而不是从Android Studio将应用程序发送到我的设备时,我没有得到推送通知.Azure显示推送已成功发送,但没有任何结果.
在我的推送处理程序中,我有一个登录控制台的日志,如下面的onReceive方法所示.当我从Android Studio运行应用程序时,这被称为正常,并且应该通过推送来实现.但是当我创建签名的apk并从中运行时,onReceive方法不会被调用,也没有推送.
@Override
public void onReceive(Context context, Bundle bundle) {
Log.d("TAG","TRIGGERED");
ctx = context;
String nhMessage = bundle.getString("message");
String nhTitle = bundle.containsKey("title") ? bundle.getString("title") : "Title";
String nhBadge = bundle.containsKey("badge") ? bundle.getString("badge") : null ;
sendNotification(nhMessage,nhTitle,nhBadge);
if (Main.isVisible) { Main.mainActivity.ToastNotify(nhMessage); }
}
Run Code Online (Sandbox Code Playgroud)
有人请帮帮我.我错过了什么????? 是因为我正在直接安装APK吗?是否必须从Google Play下载?除此之外,我不知道它可能是什么.
UPDATE
根据Nikita G的建议,我按照说明使用cURL从命令行发送测试推送.
我得到的回复是以下(看起来像一个成功的消息)但是我的设备没有推送.
{"multicast_id":6722521883082447284,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"0:1473693614087201%06fb35f0f9fd7ecd"}]}
Run Code Online (Sandbox Code Playgroud)
我的cURL请求看起来像这样,就像教程所示.
curl --header "Authorization: key=XXXXXXXXXXXX" --header "Content-Type: application/json" https://android.googleapis.com/gcm/send -d "{\"registration_ids\":[\"fs...Tw:APA...SzXha\"]}"
Run Code Online (Sandbox Code Playgroud)
UPDATE …
android azure firebase azure-notificationhub firebase-cloud-messaging
我在我的应用程序中使用以下内容连接到URL并解析生成的XML响应.我的麻烦是我无法找到一种方法来设置openStream()方法的超时,以便它只等待大约5秒,如果没有收到响应,则失败.它只是在等待和等待.有什么想法吗?
URL website = new URL(sb.toString());
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
DataHandler h = new DataHandler();
xr.setContentHandler(h);
xr.parse(new InputSource(website.openStream()));
Run Code Online (Sandbox Code Playgroud) 我正在使用PHP生成CSV文件并在Excel中打开它.在每条记录的末尾添加"\n"会创建一个新行并且工作正常,但我需要找到一种在单元格内创建换行符的方法.将数据手动输入Excel时,alt + enter实现的功能相同.有没有人知道如何执行此操作?我试过"\n\r","\n",chr(10),似乎没有一个工作,只是在同一个单元格中继续获得一个完整的新行而不是换行符.
我想要实现的是一个看起来像这样的标题......这一切都在Excel中排成一行..
开始日期结束日期
感谢您提供的任何帮助!
当我执行 FragmentTransaction 时,我使用简单的向左滑动、向右滑动自定义动画。我的问题是,我使用事务动画加载的片段包含 onResume() 中的代码,用于进行 HTTP 调用,这会导致显示“请稍候”进度对话框。它有效,但我希望将我的代码从 onResume 移动到片段中的另一个方法,该方法在片段完全加载之前不会触发。换句话说,当动画完成并且完全滑入到位时。
我用它来启动新片段
FragmentManager manager = getSupportFragmentManager();
FragmentTransaction ft = manager.beginTransaction();
ft.setCustomAnimation(R.anim.slide_in_right, R.anim.slide_out_left);
ft.replace(R.id.realtabcontent, new MyFragment());
ft.commit();
Run Code Online (Sandbox Code Playgroud)
我希望 MyNewFragment() 中的方法在动画 100% 完成后初始化
那可能吗?
我不确定这是否是ColdFusion 2018错误,或者它是否是ColdFusion 2018实施Firebird 2.5的Jaybird 2.2.10驱动程序的方式。
我有一个表,其中包含名为“ item_date”的列。此列具有Firebird“日期”数据类型。在ColdFusion 10中,以下查询根据返回的月份显示正确的字符串长度。但是,在ColdFusion 2018中,所有字符串的长度返回为9。几乎就像ColdFusion将结果集分配为CHAR(9)数据类型,而不是应有的VARCHAR。
我的概念证明代码示例如下所示。
<cfquery name="test" datasource="#application.dsn#">
SELECT
CASE EXTRACT (MONTH from item_date)
WHEN 1 THEN 'January'
WHEN 2 THEN 'February'
WHEN 3 THEN 'March'
WHEN 4 THEN 'April'
WHEN 5 THEN 'May'
WHEN 6 THEN 'June'
WHEN 7 THEN 'July'
WHEN 8 THEN 'August'
WHEN 9 THEN 'September'
WHEN 10 THEN 'October'
WHEN 11 THEN 'November'
WHEN 12 THEN 'December'
END itemMonth
FROM MY_TABLE
</cfquery>
<cfloop query="test">
#test.itemMonth# - Length: #Len(test.itemMonth)#<br />
</cfloop> …
Run Code Online (Sandbox Code Playgroud)