Articles of java

Android:从NativeActivity使用JNI

我们正在使用NativeActivity类在android上开发一个OpenGL游戏。 到目前为止,一切正常,但现在我们需要访问一些似乎只能从Java获得的function。 还有更多,但第一个我们认为将是有用的访问显示DPI。 如此处所述,Java代码如下所示: DisplayMetrics metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metrics); 这里是不幸的对应C ++代码: // My checking routine. #define JNI_ASSERT(jni, cond) { \ if (!(cond)) {\ std::stringstream ss; \ ss << __FILE__ << ":" << __LINE__; \ throw std::runtime_error(ss.str()); \ } \ if (jni->ExceptionCheck()) { \ std::stringstream ss; \ ss << __FILE__ << ":" << __LINE__; \ […]

Android:File()的资源文件夹的path?

我在我的项目的资产文件夹中有一些文件,我想列出它们,所以我把它放在我的代码中: File dir = new File("com.packagename/assets/fonts"); File[] fileList = dir.listFiles(); 我应该采取哪一条path才能使它工作? 我想要它,所以用户可以安装新的字体(我不知道如何做到这一点),所以我需要列出文件夹中的所有字体,包括后装字体。 如果有其他解决scheme,请分享。

SQLiteDatabase'不实现接口'

当我使用SQLiteDatabase作为Closeable时得到这个错误 我有一个示例项目来重新创build它: https://github.com/blundell/SQLDatabaseError 使用扩展SQLiteOpenHelper的类: public class DatabaseHelper extends SQLiteOpenHelper { …. public void openAndCloseDatabase() { SQLiteDatabase database = getWritableDatabase(); close(database); } private void close(Closeable database) { try { if (database != null) { database.close(); } } catch (Exception e) { Log.e("Error", "Oh no!", e); } } } 堆栈跟踪: 12-14 12:23:43.719: E/AndroidRuntime(5179): FATAL EXCEPTION: main 12-14 […]

在Android的主屏幕小部件中填充ListView

我试图创build一个包含元素(任务)列表的Android小部件。 当我把小部件放在主屏幕上时,它是空的,没有任何任务显示。 我不理解缺less的东西。 在此先感谢您的帮助。 这是我的widget_layout.xml的XML <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/widget_background" android:orientation="vertical" > <TextView android:id="@+id/title" style="@android:style/TextAppearance.Medium" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_margin="4dip" android:gravity="center_horizontal" android:text="@+string/TASK_LIST_ACT" > </TextView> <ListView android:id="@+id/list" style="@android:style/TextAppearance.Medium" android:layout_width="match_parent" android:layout_height="match_parent" > </ListView> 这是ListView项目的布局 <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/widget_element" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?android:attr/listPreferredItemHeight" /> 这是我的widgetProvider类 package it.geotask.android.widget; import it.geotask.android.R; import android.appwidget.AppWidgetManager; import android.appwidget.AppWidgetProvider; import android.content.Context; […]

当OpenCV for Android使用GaussianBlur时,Eclipse会给出错误

我发布了我的代码的一小部分,因为我不断得到一个奇怪的错误,我似乎无法摆脱。 这个问题可以在这行find: Imgproc.GaussianBlur(mGray,mGray,new Size(5,5),2.2,2); public Mat onCameraFrame(Mat inputFrame) { mGray = new Mat(); Imgproc.cvtColor(mRgba, mGray, Imgproc.COLOR_RGBA2GRAY); // doing a gaussian blur prevents getting a lot of false hits Imgproc.GaussianBlur(mGray, mGray, new Size (5,5), 2.2, 2); // Values 3 and 4are the LowerThreshold and UpperThreshold. Imgproc.Canny(inputFrame, mIntermediateMat, 80, 100); Imgproc.cvtColor(mIntermediateMat,mRgba, Imgproc.COLOR_GRAY2BGRA, 4); return mIntermediateMat; } 我从Eclipse获得的错误是: […]

如何检查两个Box2d物体是否在任何时候碰撞/重叠?

如何检查两个物体是否碰撞(重叠)? 我知道ContactListener在开始碰撞和停止时触发一个方法。 但是有没有办法在任何时候检查它? 喜欢: if(body1.overlaps(body2))… 其他细节,其中之一是传感器。 这是在libgdx中。

Android MediaPlayer setNextMediaPlayer()替代

我最近发布了一个应用程序,用户报告崩溃,因为我的程序包含了setNextMediaPlayer()方法。 我现在意识到, 这只适用于API 16 +,我的应用程序支持API 8 + 。 我想知道是否有另一种方法达到同样的效果。 我的应用程序有一些文本到语音,我正在做的是创buildMediaPlayers ArrayList ,每个有一个短的声音文件,然后一个接一个地播放它们。 如果我从代码中删除这个方法,那么audio变得太不明了。 我正在考虑使用SoundPool类,但没有OnCompleteListener ,所以我不知道该怎么做。 所以基本上我的问题是: 是否有一种方法可以在不使用setNextMediaPlayer()方法的情况下在audio文件之间进行无缝转换? 非常感谢你花时间陪伴! 编辑 我添加了这个代码,我发现 private class CompatMediaPlayer extends MediaPlayer implements OnCompletionListener { private boolean mCompatMode = true; private MediaPlayer mNextPlayer; private OnCompletionListener mCompletion; public CompatMediaPlayer() { try { MediaPlayer.class.getMethod("setNextMediaPlayer", MediaPlayer.class); mCompatMode = false; } catch (NoSuchMethodException e) { mCompatMode […]

恢复后,libgdx不能正确显示字体

我在Android上使用libgdx的字体有问题。 当我第一次打开应用程序时,它们工作正常。 但是,当我暂停应用程序,然后恢复它,字体渲染不正确。 这是我如何创build字体。 FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("fonts/MainFont.ttf")); LabelStyle ls = new LabelStyle(); ls.font = generator.generateFont(30); ls.fontColor = new Color(1.0f, 1.0f, 1.0f, 1.0f); mPlay = new Label("Play", ls); mInstructions = new Label("How To Play", ls); generator.dispose(); 我没有任何东西在我的暂停/恢复方法,不知道是否应该有什么。 这是它看起来之前/之后的样子。

具有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 { […]

显示错误导致:java.lang.reflect.InvocationTargetException

当我按下button(名为“当前位置”)时,它应该在文本视图(名为“tvAddress”)上显示当前位置(纬度和长度)。但它没有按照我的预期工作。 它给了我错误。错误在下面给出。任何人都可以帮助我PLZ 错误是: 02-05 23:37:22.429: E/AndroidRuntime(20293): FATAL EXCEPTION: main 02-05 23:37:22.429: E/AndroidRuntime(20293): java.lang.IllegalStateException: Could not execute method of the activity 02-05 23:37:22.429: E/AndroidRuntime(20293): at android.view.View$1.onClick(View.java:3680) 02-05 23:37:22.429: E/AndroidRuntime(20293): at android.view.View.performClick(View.java:4191) 02-05 23:37:22.429: E/AndroidRuntime(20293): at android.view.View$PerformClick.run(View.java:17229) 02-05 23:37:22.429: E/AndroidRuntime(20293): at android.os.Handler.handleCallback(Handler.java:615) 02-05 23:37:22.429: E/AndroidRuntime(20293): at android.os.Handler.dispatchMessage(Handler.java:92) 02-05 23:37:22.429: E/AndroidRuntime(20293): at android.os.Looper.loop(Looper.java:137) 02-05 23:37:22.429: E/AndroidRuntime(20293): at android.app.ActivityThread.main(ActivityThread.java:4960) […]