Articles of java

在android中获取mp3持续时间

如何在不创建MediaPlayer实例的情况下获取mp3轨道持续时间? 我只需要在mp3文件列表中显示mp3歌曲长度,所以我认为我不应该为列表中的每个曲目创建MediaPlayer对象 而另一个: 有时MediaPlayer返回错误的歌曲持续时间(我认为它是因为这些文件的比特率是dinamic)。 如何才能获得合适的歌曲持续时间?

如何在Android中使用Duktape访问Javascript模块

我使用Kotlin在我的Android应用程序中使用Duktape成功解析和评估了一个javascript文件。 val file_name = “lib.js” val js_string = application.assets.open(file_name).bufferedReader().use { it.readText() } val duktape = Duktape.create() try { Log.d(“Greeting”, duktape.evaluate(“‘hello world’.toUpperCase();”).toString()) duktape.evaluate(js_string) } finally { duktape.close() } javascript文件是使用Browserify创建的,因此它是一个包含所有内容的单个文件,并且工作正常。 但是我需要从模块中请求一个模块和一个方法,例如: var test = require(‘testjs-lib’); test.EVPair.makeRandom().toWTF(); 除了这个链接,我不知道怎么做,也没有find任何例子: http : //wiki.duktape.org/HowtoModules.html 它告诉我使用modsearch,但我不知道该怎么做或应该放在哪里,即使它适用于Duktape Android( https://github.com/square/duktape-) android )。 有没有人成功地做过这件事可以解释一下这个问题?

Java与.Net中的对象生命周期

我正在阅读“通过C#CLR”,似乎在这个例子中,最初分配给’obj’的对象在执行第1行后不符合第2行之后的垃圾收集条件。 void Foo() { Object obj = new Object(); obj = null; } 这是因为局部variables寿命不是由定义它的范围定义的,而是在上次读取它时定义的。 所以我的问题是:Java怎么样? 我编写了这个程序来检查这种行为,它看起来像对象保持活着。 我不认为JVM可以在解释字节码时限制variables生命周期,因此我尝试使用’java -Xcomp’来运行程序以强制进行方法编译,但是无论如何都不会调用’finalize’。 看起来对Java来说不是这样,但我希望我能在这里得到更准确的答案。 另外,Android的Dalvik VM怎么样? class TestProgram { public static void main(String[] args) { TestProgram ref = new TestProgram(); System.gc(); } @Override protected void finalize() { System.out.println(“finalized”); } } 补充:Jeffrey Richter在“CLR via C#”中给出了代码示例,如下所示: public static void Main (string[] args) […]

使用JUnit和JDK测试Android代码

我正在为我的Android代码编写一些POJO测试。 我想用JDK本地运行它们(不是在模拟器上使用Dalvik) – 速度,JUnit 4,Mockito,并且能够在没有设备的情况下运行无头 – 所以我在Eclipse中有一个单独的“Java”项目。 如果我正在测试的方法恰好引用Android SDK中的任何内容,例如android.util.Log ,则测试失败 – 这是有道理的,因为android.jar不在类路径中。 重现我有这个测试用例: public class FooTests { @Test public void testFoo() { android.util.Log.d(“x”, “y”); } } 如果我将android.jar显式添加到测试项目的类路径中,我会得到类似的exception java.lang.RuntimeException: Stub! at android.util.Log.d(Log.java:7) at com.example.FooTests.testFoo(FooTests.java:39) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) … at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) 有没有办法让代码工作而不会嘲笑Android SDK依赖的最后一点? 也许一个嘲笑的android.jar已经存在? 编辑 :现在我最终包装了像android.util.Log这样的类,并将它们注入到实例中,用于经典的基于IOC的测试。 斯科特的PowerMock建议是我需要它的下一步。 后期 编辑 : Robolectric !

php / java for android之间的数据编码/解码

我必须解码从php服务器接收的base64编码数据。 服务器使用’base64_encode’对数据进行编码。 在我的Android应用程序中,我使用android.utils.Base64类来进行解码。 原始加密数据=“†+Ü] M(‡=ñö” php中的Base64编码数据给出…… – “hisP3F1NBCgIAocQCD3x9g ==” android中的Base64编码数据给出 – “4oCgKw / DnF1NBCgIAuKAoRAIPcOxw7Y =” 如您所见,java编码的字符串比php编码的长。 请提出宝贵的建议。 我需要找出他们的默认编码格式。 如何从两者中获取相同的编码字符串。? java / android代码: String encrypted = “†+ Ü]M(‡ =ñö”; byte[] encoded = Base64.encode(encrypted.getBytes(), Base64.DEFAULT); String str = new String(encoded); //str = “4oCgKw/DnF1NBCgIAuKAoRAIPcOxw7Y=”

Android – 仅限1页固定屏幕方向(phonegap)

我在修复index.html页面的屏幕方向时遇到问题。 我想允许应用程序旋转,但主页上除外。 我明白将以下内容添加到您的活动中 – android:screenOrientation =“portrait”会阻止屏幕旋转。 但是,我需要设置它,以便它是特定于页面的。 我正在使用phonegap,因此需要停止我的网页浏览页面。 我尝试在我的清单中调用以下活动 – com.phonegap.droidgap.index.html,但这不起作用。 有人可以建议我如何定义1页的固定方向吗? 提前致谢

有没有办法在Android上将数组缓冲区从javascript传递到java?

我在这个案子上被困了一会儿。 我在Android 4.4.3上有一个webview,我有一个webapp, float32array包含包含二进制数据的float32array 。 我想通过与JavascriptInterface绑定的函数将该array传递给Java Android。 但是,似乎在Java中,我只能传递像String , int等基本types… 有没有办法给Java这个arrayBuffer? 谢谢 !

Xamarin C# – Android – 防止AlertDialog关闭PositiveButton点击

我是Xamarin的新手,我不知道如何在c#中执行以下操作。 我想在单击Positive / Negative按钮时阻止alertdialog关闭。 我需要先对输入进行一些validation。 如果输入正确,则对话框可以关闭,否则我将显示带有说明的消息。 基本上,我有以下代码: private void CreateAddProjectDialog() { //some code var alert = new AlertDialog.Builder (this); alert.SetTitle (“Create new project”); alert.SetView (layoutProperties); alert.SetCancelable (false); alert.SetPositiveButton(“Create”, HandlePositiveButtonClick); alert.SetNegativeButton(“Cancel”, HandelNegativeButtonClick); } private void HandlePositiveButtonClick (object sender, EventArgs e) { //Do some validation here and return false (prevent closing of dialog) if invalid, else close…. […]

我怎样才能检查我的sqlite表中是否有数据?

编辑,根据下面的答案稍微改变了代码,但仍然没有工作。 我还添加了一条日志消息,告诉我getCount是否返回> 0,它是,所以我认为我的查询可能有问题? 或者我使用光标.. 我已经创建了一个表,我想检查它是否为空,如果它是空的,我想运行一些插入语句(存储在数组中)。 下面是我的代码,虽然我没有错误,当我拉出.db文件时,我可以看到它不起作用。 你会怎么解决这个问题? public void onCreate(SQLiteDatabase db) { Log.i(“DB onCreate”, “Creating the database…”);//log message db.execSQL(createCATBUDTAB); db.execSQL(createTWOWEETAB); try{ Cursor cur = db.rawQuery(“SELECT COUNT(*) FROM CAT_BUD_TAB”, null); if (cur.getCount() > 0){ Log.i(“DB getCount”, ” getcount greater than 0″);//log message //do nothing everything’s as it should be } else{//put in these insert statements contained […]

Xamarin .jar绑定 – ‘无法find位图’

我有一个名为MyService的Java接口的.jar文件,它有一个方法: boolean printBitmapObject(android.graphics.Bitmap bitmap, byte[] result); 我想在Visual Studio 2015的Android Xamarin项目中使用C#中的.jar文件。我做了以下步骤: 我创建了一个新的库绑定项目。 我将.jar文件放入新项目的Jars目录中,并将BuildAction属性设置为InputJar 。 该项目成功建成。 我将库绑定项目的引用添加到我的主项目中。 不幸的是,我无法再构建我的主项目,因为自动生成的C#代码中存在错误: public interface IMyService : global::Android.OS.IInterface { bool PrintBitmapObject (Bitmap bmp, byte[] result); //”Bitmap” is red underlined } 消息”The type or namespace name ‘Bitmap’ could not be found (are you missing a using directive or an assembly reference?)” 。 还有一个自动生成的抽象类IMyServiceStub […]