我在Angular 2中创建了一个单页抵押贷款计算器应用程序,它对我来说就像一个学习游乐场(试图更习惯于目前在工作中使用的技术堆栈)...它正在运行http://www.mortgagecalculator123.com如果你想看看它.如果你想看一下,我已经在页面上用Fork Me链接创建了它.
无论如何,我想做的是,能够直接从URL传递变量到我的应用程序,因此我们的Angular 2应用程序可以使用它们.像这样的东西:http://www.mortgagecalculator123.com/? var1 = ABC&var2 = DEF
我试过跟随,在我的app.component.ts中,我添加了以下内容:
import { Router, ActivatedRoute, Params } from '@angular/router';
AppComponent {
private var1: string;
private var2: string;
constructor(
private route: ActivatedRoute,
private router: Router
) {}
ngOnInit() {
this.route.params.forEach((params: Params) => {
this.var1 = params['var1'];
this.var2 = params['var2'];
});
console.log(this.var1, this.var2);
}
...
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用,当我运行npm start时,我得到以下错误:
aot/app/app.component.ngfactory.ts(45,30):错误TS2346:提供的参数与调用目标的任何签名都不匹配.
谢谢,任何帮助将不胜感激.
我有点挣扎于此.
我想设置我的日历让我们说:2012年2月的第三个星期一. 我没有找到任何使用Java的方法.
例如,如果我想设置2011年圣诞节的日历,我可以通过这种方式轻松完成:
Calendar when = Calendar.getInstance();
when.set (Calendar.MONTH, Calendar.DECEMBER);
when.set (Calendar.DAY_OF_MONTH, 25)
when.set (Calendar.YEAR, 2011);
Run Code Online (Sandbox Code Playgroud)
但我很遗憾如何设置它让我们说2012年阵亡将士纪念日,即5月的最后一个星期一.这是我的代码,但这显然是错误的,因为我根本无法假设5月的最后一个星期一将在当年5月的第4周:
Calendar when = Calendar.getInstance ();
when.set (Calendar.DAY_OF_WEEK,Calendar.MONDAY);
when.set (Calendar.MONTH, Calendar.MAY);
when.set (Calendar.WEEK_OF_MONTH, 4)
when.set (Calendar.YEAR, 2012);
Run Code Online (Sandbox Code Playgroud)
关于我如何以编程方式找出的任何建议,在2012年5月的哪个星期(例如上面的例子)是最后一个星期一?假设我可以获得该信息,我应该能够使我的代码在上面工作.
我需要一些基本上适用于任何其他例子的东西.可以为相同场景提供确切日期的东西.例子:
哪个日期是:
- 2015年5月第3个星期四
- 2050年6月1日星期一
- 2012年12月4日星期二
- 2000年7月2日星期三
我真的需要这个用于我的项目,我确信这很简单,但是我在这个没有任何实际结果的情况下突破了我的头脑:)并且在网上也找不到任何东西.
添加:
好的,这是我一个月的最后一个星期一的地方:
when.set (GregorianCalendar.MONTH, GregorianCalendar.MAY);
when.set (GregorianCalendar.DAY_OF_WEEK, Calendar.MONDAY);
when.set (GregorianCalendar.DAY_OF_WEEK_IN_MONTH, -1);
when.set (Calendar.YEAR, 2012);
Run Code Online (Sandbox Code Playgroud)
但我不知道我会在同一个月的星期一如何做这样的事情,就像这样?
when.set (GregorianCalendar.DAY_OF_WEEK_IN_MONTH, 2);
Run Code Online (Sandbox Code Playgroud)
有什么建议?
很抱歉,如果这很简单,但只是无法弄清楚...在我的Angular测试应用程序中,我试图在我的html模板中附加一个id以下内容:
<a href="https://www.domainname.com/?q="+{{text.id}}>URL</a>
Run Code Online (Sandbox Code Playgroud)
这不会失败并出现错误(错误:无法在'Element'上执行'setAttribute')并且我不确定如何将{{text.id}}附加到此网址...我是否需要在我的组件中执行此操作,还是可以在html模板中以某种方式完成?
BTW.正如人们所预料的那样,这很好用(但这不是我想做的,我需要将text.id附加到url):
<a href="https://www.domainname.com/?q=">{{text.id}}</a>
Run Code Online (Sandbox Code Playgroud)
有什么建议?
我需要在用户打开我的应用后5-10秒内获取设备上安装的所有应用的列表.
这是因为,它需要大约.对于我的Android应用程序的典型用户,请求5-10秒,以请求有关设备上安装的应用程序的信息.
为了相关,我必须在每次加载应用程序时创建已安装应用程序列表的新副本.
但是,使用下面的代码在四核Android设备上花费超过30秒.400个应用程序(系统和已安装 - 我需要两个).
我在"创建时"执行了代码,但没有人会等待30秒才能打开应用程序.所以我把它移到AsyncTask,所以我的应用程序打开immediadetelly.但仍然需要+30秒; 如果在加载列表之前有人要求提供特定的应用程序,他们可能无法获得正确的信息.
为什么这段代码这么慢?我该怎么做才能加快速度呢?我会向任何可以提高10倍或者给我一个很好的小费的人支付金币.
final PackageManager pm = getPackageManager();
List<ApplicationInfo> packages = pm.getInstalledApplications(PackageManager.GET_META_DATA);
for (ApplicationInfo packageInfo : packages) {
InstalledAppsName.add(packageInfo.loadLabel(pm).toString());
CountApps=CountApps+1;
}
Run Code Online (Sandbox Code Playgroud) 我在Android市场上有一个相当受欢迎的应用程序,它允许成千上万的用户按下按钮并给它一个语音命令.然后我可以做很多不同的事情,比如给他们当前的天气预报等等......
无论如何,我几乎每天都被我的应用程序的用户询问,他们不想一直按下按钮.他们希望我的应用程序通过触发词(某些特定的单词命令)启动.通过这种方式,应用程序会唤醒并要求他们提供语音命令,所有人都可以免费使用.
我知道这需要一个不间断的听力,它可能是一个电池吃,等等.但我想尝试一下.无论如何,这就是我在这里的原因.我根本就不知道如何去做.
我知道这是可能的,这些家伙做到了,不仅如此,即使手机处于睡眠模式或锁定屏幕后,他们也会听到触发词:http://www.youtube.com/watch?v = Dd2vo_9euOY
关于如何做到这一点的任何想法?上面的人是怎么做到的?怎么样?任何例子?
提前致谢.
我的应用程序可以选择与用户联系人列表中的朋友分享其内容.
但是,因为它仅适用于Android用户,有没有办法找出我的联系人列表中的人有Android设备?
这样我就可以向我的客户展示一个过滤的列表,他们的联系人书中有时可能会有数千人.
我在考虑只过滤Gmail地址,但这不是一个非常好的迹象表明该人是一个Android所有者.我知道谷歌可以说,因为他们将设备绑定到谷歌的电子邮件地址(他们甚至知道每个人都使用什么设备和Android版本),但我怎么知道呢?
对不起,如果这是之前问过的问题,但我无法找到答案。如何创建 MySQL select 语句以从数据库中选择所有首字符为小写或大写的字符串。
我通常会使用这样的方法从英文单词数据库中选择 10 个长度超过 8 个字符的随机单词:
SELECT word FROM en_dictionary WHERE CHAR_LENGTH(word)>8 ORDER BY RAND() LIMIT 10
Run Code Online (Sandbox Code Playgroud)
不幸的是,这也会在结果中选择我不想要的大写字母,因为它们通常是诸如城市名称、物种名称等的术语:
所以,我的问题是:有没有办法只选择以小写字母(或大写)开头的单词?
我可以做这样的事情并且它会起作用,但它会是一个非常丑陋的声明:
AND word LIKE BINARY 'a%' AND word LIKE BINARY 'b%' AND word LIKE BINARY 'c%'...
Run Code Online (Sandbox Code Playgroud) 我正在为 Android 编写一个应用程序,其中获取应用程序的标签(实际名称)非常慢。特别是这段代码的表现非常糟糕:
packageInfo.loadLabel(pm);
Run Code Online (Sandbox Code Playgroud)
只是给你一些指标。在安装了 400 个应用程序的 Android 设备上,构建所有应用程序包名称(com.android.* 等)的列表只需不到一秒钟。但是,获取每个应用程序的实际名称需要 30 多秒的时间。
我也试过这段代码,但结果几乎相同(非常慢):
(String)pm.getApplicationLabel(packageInfo);
Run Code Online (Sandbox Code Playgroud)
问题:如果应用程序包名称已知(即“com.android.htmlviewer”),是否有其他方法可以快速获取应用程序名称(即“HTML 查看器”)?
我需要一个示例,说明如何通过语音命令(触发词)启动我的应用程序。因此,某种在后台运行的服务会监听所有内容,如果单词与设置的文本值匹配(我想这可以通过语音识别来完成),则应用会打开。我知道这是可能的,但是我不知道从哪里开始...
我看到其他应用程序也可以确定这一点。我的用户接近100万,这是最常被要求的功能之一。
我有这样的输入:
start: 10 | duration: 1 | text: Subtitle Text 1
start: 15 | duration: 2 | text: Subtitle Text 2
start: 20 | duration: 3 | text: Subtitle Text 3
Run Code Online (Sandbox Code Playgroud)
这是一个字幕指令集,内容如下:
At 10 second of the video, show "Subtitle Text 1" for 1 seconds
At 15 second of the video, show "Subtitle Text 2" for 2 seconds
At 20 second of the video, show "Subtitle Text 3" for 3 seconds
Run Code Online (Sandbox Code Playgroud)
这个输入需要转换成SRT格式,所以就变成了这样:
1
00:00:10,000 --> 00:00:11,000
Subtitle Text 1
2 …Run Code Online (Sandbox Code Playgroud)