Articles of c ++

Android和C#之间的encryption

我正在使用以下C#源代码使用AES(ECB 256)encryption纯文本: public static string Encode(string PlainText) { byte[] Key = ASCIIEncoding.UTF8.GetBytes("12345678901234567890123456789012"); string encrypted = null; RijndaelManaged rj = new RijndaelManaged(); rj.BlockSize = 256; rj.KeySize = 256; rj.Key = Key; rj.GenerateIV(); byte[] IV = rj.IV; rj.Mode = CipherMode.ECB; rj.Padding = PaddingMode.Zeros; try { using (MemoryStream ms = new MemoryStream()) { using (CryptoStream cs = new […]

具有SHA-1的.NET RSACryptoServiceProvider的Java等价物

我在C#中有以下数据签名代码 RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(); string PrivateKeyText = "<RSAKeyValue><Modulus>….</D></RSAKeyValue>"; rsa.FromXmlString(PrivateKeyText); string data = "my data"; byte[] SignedByteData = rsa.SignData(Encoding.UTF8.GetBytes(data), new SHA1CryptoServiceProvider()); 我想在Java(Android)中重现相同的代码: String modulusElem = "…"; String expElem = "…"; byte[] expBytes = Base64.decode(expElem, Base64.DEFAULT); byte[] modulusBytes = Base64.decode(modulusElem, Base64.DEFAULT); BigInteger modulus = new BigInteger(1, modulusBytes); BigInteger exponent = new BigInteger(1, expBytes); try { […]

在Android中使用图像和audio创buildvideo

我想用一些图像和audio文件在Android中创build一个video 。 我search了,发现有用的库是opencv,javacv和ffmpeg 。 我用这个库,并按照链接 – https://github.com/bytedeco/javacv 我想知道这个过程 本地开发工具包是必要的任务。 即使我们有.so文件也是必须的,因为我通过简单地将.so文件放在libs目录的armeabi文件夹中来实现使用上述资源的任务。 我创build了video,但要求是video应该添加声音 声音必须在用户运行时logging下来,图像必须来自位图,这些位图也是在运行时创build的。

断点和exception停止正常工作,xamarin android

我在Xamarin Android开发应用程序,并有一个非常奇怪的问题:断点和例外已停止正常工作。 当我设置一个断点时,它永远不会被击中。 我已经在我的项目中设置了断点,但没有一个被击中。 这也发生在Visual Studio和Xamarin Studio中。 我也有第二个和更烦人的问题,每次有一个exception,它会抛出Xamarin Studio中完全无益的“java.lang.reflect.InvocationTargetException”exception,并在Visual Studio中发生“exception发生”,没有关于该exception的更多细节。 这只发生在一个特定的项目,其他项目工作正常。 我已经在各种论坛和博客寻找解决scheme,但没有一个工作。 我对Xamarin Android开发很新,希望你能帮助我。

在Android上零拷贝相机处理和渲染stream水线

我需要在实时摄像机数据(仅来自Y平面)上执行CPU端只读过程,然后在GPU上进行渲染。 在处理完成之前不应该渲染帧(所以我不总是想渲染摄像机的最新帧,只是CPU端已经完成处理的最新帧)。 渲染与摄像机处理是分离的,即使摄像机帧的速率低于60帧,其目标也是60帧/秒。 有一个相关的,但更高层次的问题在: 最低的开销摄像头CPU到GPU的方法在Android上 要更详细地描述当前的设置:我们有一个应用程序端的缓冲池用于摄像机数据,其中缓冲区是“空闲”,“正在显示”或“正在显示”。 当来自摄像机的新帧到达时,我们抓取一个空闲的缓冲区,在那里存储帧(或者如果实际数据在系统提供的缓冲池中的引用),执行处理并将结果存入缓冲区,然后设置缓冲区“等待显示”。 在渲染器线程中,如果在渲染循环的开始处有任何缓冲区“暂挂显示”,我们将其locking为“正在显示”中的一个,渲染相机,并使用从相同的计算得到的已处理信息渲染其他内容相机框架。 感谢@ fadden对上面提到的问题的回应我现在明白android camera2 API的“并行输出”function可以在各种输出队列之间共享缓冲区,所以不应该涉及数据上的任何副本,至less在现代的android上。 在评论中有一个build议,我可以同时lockingSurfaceTexture和ImageReader输出,只是“坐在缓冲区”,直到处理完成。 不幸的是,我不认为这适用于我的情况,因为我们仍然希望以60 FPS的速度进行分离渲染,并且仍然需要访问前一帧,而新的一个正在处理,以确保事情不会得到不同步。 想到的一个解决scheme是拥有多个SurfaceTextures – 每个应用程序端缓冲区都有一个(我们目前使用3个)。 有了这个scheme,当我们得到一个新的相机帧,我们将从我们的应用程序池获得一个免费的缓冲区。 然后我们调用ImageReader的acquireLatestImage()来获取数据进行处理,并在空闲缓冲区的SurfaceTexture上调用updateTexImage() 。 在呈现的时候,我们只需要确保“显示”缓冲区中的SufaceTexture是绑定到GL的那个,并且大部分时间应该是同步的(@fadden评论说在调用updateTexImage()和acquireLatestImage()但那个时间窗口应该足够小,使得它很less见,也许使用缓冲区中的时间戳是可以解决的。 我在文档中注意到updateTexImage()只能在SurfaceTexture绑定到GL上下文时调用,这意味着我需要在相机处理线程中使用GL上下文,因此相机线程可以在SurfaceTexture上执行updateTexImage()在“空闲”缓冲区中,而渲染线程仍然能够从“显示”缓冲区中的SurfaceTexture渲染。 所以,对于这个问题: 这似乎是一个明智的做法? SurfaceTextures基本上是共享缓冲池的简单包装,还是消耗一些有限的硬件资源,应该谨慎使用? SurfaceTexture的调用是否足够便宜,以至于复制数据仍然是一个巨大的胜利? 是计划有两个不同的GL上下文线程与不同的SurfaceTexture绑定在每个可能的工作,或者我要求一个痛苦和越野车司机的世界? 这听起来很有希望,我会去给它一个去; 但是如果有人(基本上@fadden!)知道我忽视了哪些内部细节,这会让这个主意变得糟糕,那么在这里值得问一下。

应用程序立即崩溃,无一例外地或日志(看起来像xamarin /单声道错误)

这是一个奇怪的情况在这里:),我已经在我的片段中实现了这个代码,以扫描multithread environment TCP Ports ,它crash when debugging ,有时crash in release mode也与消息: E/art (12972): Nested signal detected – original signal being reported F/art (12972): art/runtime/fault_handler.cc:117] Check failed: !initialized_ 试图设置目标Android to 23不起作用。 试过运行adb shell setprop debug.mono.env MONO_DEBUG=soft-breakpoints没有工作的adb shell setprop debug.mono.env MONO_DEBUG=soft-breakpoints 。 试图使用不同的Android API's Versions进行编译 任何想法为什么这是发生? 这是我的代码: public void start() { for (int i = 0; i […]

Java手机编译器

我做了一些Googlesearch,但没有发现太多的信息,所以我在这里问这里, 有没有人知道基于电话的Java或C / C ++编译器,所以开发人员可以有效地使用他的手机来做一些初步的开发工作(或者只是在无聊的时候玩弄:))

Q_RETURN_ARG和QQmlComponent – 组件没有准备好

我花了3天的时间仔细检查我可以在网上find关于Q_RETURN_ARG的最佳参考资料 。 我已经包含了QQmlComponent 。 当在C ++上使用它来发送一个variables来显示在QML上时,情况并不总是如他们所看到的那样。 也许是因为Qt5比较新,没有太多的资料可以依靠。 基本上,代码编译没有问题。 当我要求它运行时,它将qml页面呈现给设备没有问题,然后得到错误: QQmlComponent: Component is not ready main.cpp:33 (int main(int, char**)): Got QML return: "" 除了文件invoke.pro和myapplication.cpp之外,下面是基于这篇文章 , Qt5文档 , ICS教程 , 文章和链接的小例子的关键部分: ./myapplication.h #include <QObject> #include <QDebug> #include <QQmlComponent> class MyApplication : public QObject { Q_OBJECT public: explicit MyApplication(QObject *parent = 0); ~MyApplication(void) {} QObject *object; QQmlComponent *component; […]

Xamarin.Android pdf生成器

最近我一直在Xamarin.Android工作。 我需要使用PDF生成器通过电子邮件发送报告。 我已经遇到以下博客 。 我真的不知道要把什么放在FileStream fs = new FileStream (???????); 除此之外,我想在屏幕上打开或看到这个pdf。 using System; using Android.App; using Android.Content; using Android.Runtime; using Android.Views; using Android.Widget; using Android.OS; using System.IO; using XamiTextSharpLGPL; using iTextSharp.text; using iTextSharp.text.pdf; using iTextSharp; namespace PDFAapp { [Activity (Label = "PDFAapp", MainLauncher = true, Icon = "@drawable/icon")] public class MainActivity : Activity { int […]

NDK支持是一个实验性function,Android Studio中还没有支持所有的用例错误?

我想将NDK集成到Android Studio中,但是我面对NDK支持是一个实验性function,并且用例还不支持error.I已经使用SDKpipe理器下载了NDK,并且NDK被触发了C:\ Users \ TheAppData \ Local \的Android \ SDK \ NDK束。 我还为Java和C ++交互创build了NativePanorama java类。 这是NativePanorama.java类的代码 public class NativePanorama { public native static void processPanorama(long[] imageAddressArray, long outputAddress); { } } 我在terminal中使用了javah命令,为NativePanorama java类中的processPanorama方法创build相应的C ++头文件。 这里是创build的com_example_the_myapplication_NativePanorama.h c ++头文件。 /* DO NOT EDIT THIS FILE – it is machine generated */ #include <jni.h> /* Header for class […]