Articles of java

如何检查两个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) […]

在Actionbar上面的DrawerLayout

使用抽屉布局时,是否有一种方法可以将抽屉视图覆盖在动作栏上? 显示抽屉时,我不想隐藏操作栏。 我希望操作栏保持原样,但发送到后台。 iOS Play音乐应用就是一个例子 我当前的实现隐藏和显示抽屉状态变化时的操作栏,但我不喜欢这种用户体验。 public void onDrawerClosed(View view) { getActionBar().show(); invalidateOptionsMenu(); } public void onDrawerOpened(View drawerView) { getActionBar().hide(); invalidateOptionsMenu(); }

Android:如何总结SQLite数据库中的所有列并返回1个单一variables

我的目标是总结我的数据库中的所有列,并返回一个variables“total”= x数量。 例: column – food | taxi | clothes | sports 2 3 4 5 6 8 0 12 11 10 7 2 那么总和等于= 70 我最初的想法是总结各个栏目,最后把它们加在一起总结一个单独的栏目的例子: public Cursor sumFoodColumn(){ Cursor c = db.query(true, DATABASE_TABLE, ALL_KEYS, KEY_FOOD + "=?", new String[]{"sum(food)" + KEY_FOOD}, null, null, null, null); if (c !=null) { c.moveToFirst(); } return c; […]

使用ExtendedCalendarView显示事件信息

我正在尝试为我的应用中的显示事件和相关信息创build自定义日历。 但是我不知道如何显示这些信息。 这是日历的代码: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ExtendedCalendarView calendar = (ExtendedCalendarView)findViewById(R.id.calendar); ContentValues values = new ContentValues(); values.put(CalendarProvider.COLOR, Event.COLOR_BLUE); values.put(CalendarProvider.DESCRIPTION, "Some Description"); values.put(CalendarProvider.LOCATION, "Some location"); values.put(CalendarProvider.EVENT, "Event name"); Calendar cal = Calendar.getInstance(); TimeZone tz = TimeZone.getDefault(); cal.set(startDayYear, startDayMonth, startDayDay, startTimeHour, startTimeMin); int StartDayJulian = Time.getJulianDay(cal.getTimeInMillis(), TimeUnit.MILLISECONDS.toSeconds(tz.getOffset(cal.getTimeInMillis()))); values.put(CalendarProvider.START, cal.getTimeInMillis()); values.put(CalendarProvider.START_DAY, StartDayJulian); cal.set(endDayYear, endDayMonth, […]

如何在Android Wear上录制audio

有一些方法来loggingAndroid Wear上的audio? 我使用AudioRecord API,它崩溃的应用程序。 难道我做错了什么? short[] audioData = new short[minBufferSize]; AudioRecord audioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC, 11025, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT, minBufferSize); audioRecord.startRecording(); while(recording){ int numberOfShort = audioRecord.read(audioData, 0, minBufferSize); for(int i = 0; i < numberOfShort; i++){ dataOutputStream.writeShort(audioData[i]); } } audioRecord.stop();

在androidtesting中的System.out.println

我已经在Android Studio中创build了简单的testing。 它只是hello from test打印hello from test ,比较1和5 package com.example.maks.firstapp.test; import android.test.InstrumentationTestCase; public class ExampleTest extends InstrumentationTestCase { public void test() throws Exception { System.out.println("hello from test"); final int expected = 1; final int reality = 5; assertEquals(expected, reality); } } 我运行它,但没有看到你hello from test任何地方的hello from test 。 输出: Running tests Test running started junit.framework.AssertionFailedError: expected:<1> […]