小编Hen*_*ons的帖子

在包含下划线的Android包名称中调用JNI函数

我正在尝试使用LAME库在Android中实现MP3编码,遵循以下指南: Lame MP3 Encoder编译为Android http://developer.samsung.com/android/technical-docs/Porting-and-using-LAME-MP3-on -Android与- JNI

但是我得到了一个java.lang.UnsatisfiedLinkError,我认为可能是因为我的包名包含一个下划线,它将其解释为句号.

看下面我的代码可能是这个问题,我该如何解决这个问题.或者是否有其他原因导致这种情况.在此先感谢您的帮助.

Record.java:

package co.uk.ing_simmons.aberdeensoundsites;

public class Record extends Activity implements OnClickListener {

static {
    System.loadLibrary("mp3lame");
}

private native void initEncoder(int numChannels, int sampleRate, int bitRate, int mode, int quality);

private native void destroyEncoder();

private native int encodeFile(String sourcePath, String targetPath);

[.....]
}
Run Code Online (Sandbox Code Playgroud)

wrapper.c:

void Java_co_uk_ing_simmons_aberdeensoundsites_Record_initEncoder(JNIEnv *env,
        jobject jobj, jint in_num_channels, jint in_samplerate, jint in_brate,
        jint in_mode, jint in_quality) {
[....]
Run Code Online (Sandbox Code Playgroud)

完整日志cat错误:

04-17 20:58:36.009: E/AndroidRuntime(26768): FATAL EXCEPTION: main
04-17 20:58:36.009: …
Run Code Online (Sandbox Code Playgroud)

java java-native-interface android lame

19
推荐指数
2
解决办法
6677
查看次数

获取一天开始的时间戳

我使用unix时间戳在数据库中存储时间/日期.我想在某一天获取所有实例,因此我需要计算当天开始的时间戳,以便查询数据库.

我在php中做了类似的事情,通过将mktime从日期对象传递给日/月/年的值并将小时和分钟设置为零.在java/android中似乎没有类似的功能(不推荐使用获取日期特定部分的函数)

任何人都可以给出一些指导吗?谢谢

编辑:

好的,所以我意识到这可能有效:

public static int startOfDay(Timestamp time) {
        Calendar cal = dateToCalendar(new Date(time.getTime()));
        cal.add(Calendar.HOUR_OF_DAY, -Calendar.HOUR_OF_DAY);
        cal.add(Calendar.MINUTE, -Calendar.MINUTE);
        cal.add(Calendar.SECOND, -Calendar.SECOND);
        Log.i("Time", cal.getTime().toString());        
        return (int) cal.getTimeInMillis()/1000;
}
Run Code Online (Sandbox Code Playgroud)

但是当我刚刚运行时,我得到了:

周六12月15日01:24:00 GMT 2012

秒是正确的但小时和分钟是错误的?

android

16
推荐指数
3
解决办法
2万
查看次数

ASP.NET Core MVC通配符路由不能使用与另一个正常工作相同的设置

我正在开发三个Web应用程序,它们是更大系统的一部分.这些是带有API的单页面应用程序,因此我有指向我的主控制器的非API动作的通配符路由.

对于其中两个应用程序,这工作正常,但对于第三个重定向不起作用,我只是在尝试访问前端路由时返回404.据我所知,设置是完全相同的,我完全不知道为什么它不起作用.

我正在使用屏幕截图而不是代码片段,因此我可以并排显示设置(在左侧工作,而不是在右侧工作).

正如您所看到的,代码的关键部分在两个应用程序中都是相同的,但有一个是有效的,有一个不是.

我错过了什么?我还应该在哪儿看?关于如何调试这个的任何指导都将非常感激.

的.csproj 在此输入图像描述

Startup.cs 在此输入图像描述

这是代码的关键部分,你可以看到两个地方都是相同的:

app.UseMvc(routes =>
{
    routes.EnableDependencyInjection();
    routes.MapRoute("default", "{controller=Home}/{action=Index}/{id?}");
});
app.MapWhen(x => !x.Request.Path.Value.StartsWith("/api", StringComparison.OrdinalIgnoreCase), builder =>
{
    builder.UseMvc(routes =>
    {
        routes.MapRoute("spa-fallback", "{*url}", new { controller = "Home", action = "Index" });
    });
});
Run Code Online (Sandbox Code Playgroud)

Program.cs中 在此输入图像描述

Web.config文件 在此输入图像描述

c# asp.net-mvc routing asp.net-core-mvc asp.net-core

9
推荐指数
1
解决办法
491
查看次数

Parameterised OFFSET FETCH NEXT query (EF Core) has 10x slower performance

I'm running the following query through (generated by Entity Framework Core) Microsoft SQL Server Management Studio against a SQL Azure database table with ~46,000 rows which takes ~5seconds

DECLARE @__TypedProperty_0 as int = 20
DECLARE @__TypedProperty_1 as int = 20

SELECT [dto].[Id], [dto].[Forename], [dto].[Surname], [dto].[AzureId], [dto].[Email]
 FROM [Associates] AS [dto]
 ORDER BY [dto].[Forename], [dto].[Id]
 OFFSET @__TypedProperty_0 ROWS FETCH NEXT @__TypedProperty_1 ROWS ONLY
Run Code Online (Sandbox Code Playgroud)

This results in the following execution plan:

参数化查询执行计划

The same query, in-lining the parameters like below runs in 500ms …

sql entity-framework-core azure-sql-database

6
推荐指数
1
解决办法
417
查看次数

使用SUM在JOINed表中的列上进行SQL查询

我在derby数据库中有两个表,我想一起查询.

Orders
+----+--------+--------------+------------+
| ID | UserID | PurchaseDate | TotalPrice |
+----+--------+--------------+------------+
|  1 |    1   | TIMESTAMP    |    7.00    |

OrderItems
+---------+-----------+----------+
| OrderID | ProductID | Quantity |
+---------+-----------+----------+
|    1    |      1    |     2    |
Run Code Online (Sandbox Code Playgroud)

我想要一个查询来从订单表中返回订单上的所有信息以及与该订单关联的产品总数.

我试过这个认为它会工作,但得到错误 - "列引用'ID'无效.当SELECT列表包含至少一个聚合时,所有条目必须是有效的聚合表达式."

SELECT 
orders.ID, orders.UserID, orders.PurchaseDate, orders.TotalPrice, SUM(Quantity) 
AS productCount
FROM app.orders JOIN app.orderItems ON orders.ID=orderItems.OrderID 
Run Code Online (Sandbox Code Playgroud)

sql join sum derby

5
推荐指数
1
解决办法
1万
查看次数

Android - MediaController 活动泄漏

我正在使用 MediaPlayer 和 MediaController 对象来传输音频。关闭活动时,我收到窗口泄漏异常。

我的活动中有以下内容,根本没有帮助。

@Override
protected void onStop() {
    super.onStop();
    mediaController.hide();

}
Run Code Online (Sandbox Code Playgroud)

我得到以下堆栈跟踪:

01-24 20:11:18.317:E / WindowManager(26286):活动co.uk.ing_simmons.aberdeensoundsites.RecordingDetails已泄露最初在此处添加的窗口com.android.internal.policy.impl.PhoneWindow$DecorView@4182d590 01 -24 20:11:18.317:E / WindowManager(26286):android.view.WindowLeaked:活动co.uk.ing_simmons.aberdeensoundsites.RecordingDetails已泄漏窗口com.android.internal.policy.impl.PhoneWindow$DecorView@4182d590最初添加在这里 01-24 20:11:18.317: E/WindowManager(26286): 在 android.view.ViewRootImpl.(ViewRootImpl.java:418) 01-24 20:11:18.317: E/WindowManager(26286):在 android.view.WindowManagerImpl.addView(WindowManagerImpl.java:294) 01-24 20:11:18.317:E/WindowManager(26286):在 android.view.WindowManagerImpl.addView(WindowManagerImpl.java:226) 01-24 20 :11:18.317:E / WindowManager(26286):在android.view.WindowManagerImpl $ CompatModeWrapper.addView(WindowManagerImpl.java:151)01-24 20:11:18.317:E / WindowManager(26286):在android.view。窗口 $LocalWindowManager.addView(Window.java:547) 01-24 20:11:18.317: E/WindowManager(26286): 在 android.widget.MediaController.show(MediaController.java:470) 01-24 20:11: 18.317: E/WindowManager(26286): 在 android.widget.MediaController.show(MediaController.java:429) 01-24 20:11:18.317: E/WindowManager(26286): 在 co.uk.ing_simmons.aberdeensoundsites.RecordingDetails $2.run(RecordingDetails.java:202) 01-24 20:11:18.317: E/WindowManager(26286): 在 android.os.Handler.handleCallback(Handler.java:615) 01-24 20:11:18.317: E / WindowManager(26286):在android.os.Handler.dispatchMessage(Handler.java:92)01-24 20:11:18.317:E / WindowManager(26286):在android.os.Looper.loop(Looper.java) :153)01-24 20:11:18.317:E / …

android memory-leaks mediacontroller android-mediaplayer

5
推荐指数
1
解决办法
1321
查看次数

SQL AVG()函数返回不正确的值

我想在sql中使用AVG函数来返回某些值的工作平均值(即基于上周而不是整体平均值).我有两个值,我正在计算,体重休息HR(心率).我为每个语句都有以下sql语句:

SELECT AVG( weight ) AS average 
FROM   stats 
WHERE  userid='$userid' 
ORDER BY date DESC LIMIT 7

SELECT AVG( restingHR ) AS average 
FROM   stats 
WHERE  userid='$userid' 
ORDER BY date DESC LIMIT 7
Run Code Online (Sandbox Code Playgroud)

我得到的重量值是82.56,但它应该是83.35 这不是一个大的错误,当我使用它时我正在舍入它所以它不是太大的交易.

然而,对于restingHR我得到45.96当它应该是57.57这是一个巨大的差异.

我不明白为什么会这么错.任何帮助深表感谢.

谢谢

sql average

2
推荐指数
1
解决办法
6639
查看次数

如何缓存较大的文件以进行开发

我在玩工作箱,但出现以下错误:

Skipping file 'app.js' due to size. [Max size supported is 2097152, this file is 4760833]

我知道为什么要在生产环境中执行此操作,而这在生产环境中也不是问题,因为我的app.js文件已缩小,并且处于该限制之下。

但是,如何生成可以在开发中使用的服务工作者,包括这些较大的文件?

workbox

2
推荐指数
1
解决办法
767
查看次数