Articles of java

Android工作室无法在Windows 7上运行

我下载了android-studio-bundle-130.677228-windows并将其安装在我的电脑上。 但是当我试图启动android工作室时,那里什么也没发生……它没有启动,没有错误。 我也尝试以管理员身份运行它,但没有工作。 那里的实际问题是什么? 有没有人遇到同样的问题?

将Java代码重写为JS – 从字节创建音频?

我正在尝试将我用Java编写的一些(非常简单的)android代码重写为静态HTML5应用程序(我不需要服务器做任何事情,我想保持这种方式)。 我在Web开发方面有广泛的背景,但对Java有基本的了解,甚至在Android开发方面知识较少。 该应用程序的唯一function是获取一些数字并将其转换为字节的音频啁啾。 我将数学逻辑转换为JS绝对没有问题。 我遇到麻烦的地方是实际产生声音的时候。 这是原始代码的相关部分: import android.media.AudioFormat; import android.media.AudioManager; import android.media.AudioTrack; // later in the code: AudioTrack track = new AudioTrack(AudioManager.STREAM_MUSIC, sampleRate, AudioFormat.CHANNEL_OUT_MONO, AudioFormat.ENCODING_PCM_16BIT, minBufferSize, AudioTrack.MODE_STATIC); // some math, and then: track.write(sound, 0, sound.length); // sound is an array of bytes 我如何在JS中这样做? 我可以使用dataURI从字节中产生声音 ,但这是否允许我在这里控制其他信息(即采样率等)? 换句话说:在JS中执行此操作的最简单,最准确的方法是什么? 更新 我一直试图复制我在这个答案中find的东西。 这是我的代码的相关部分: window.onload = init; var context; // […]

在使用Android 2.2的HTC Desire上使用Android MediaPlayer进行流式传输时的奇怪行为

在我的一个项目中,我正在使用无尽的流来实现现场广播。 我可以毫无问题地使用nativ Android MediaPlayer,也可以在运行旧版Android的设备上使用,因为该流的types为audio / mpeg。 我在运行1.6的HTC Magic上进行了测试,它运行完美无缺。 即使在WLAN和3G之间切换它也只是缓冲起来,我只注意到一个小打嗝,然后它继续播放,好像什么也没发生。 它也很少丢失连接,因为我在工作日期间一直在收听广播,也在上下class途中收听,以确保用户体验与我想要的完全一样。 我已经为其他设备重复了相同的程序,例如运行Android 2.1的HTC Legend,运行2.2的HTC Wildfire和运行2.2的三星Galaxy Tab,结果相同。 所有设备都能完美地处理流。 然而,这就是我遇到困难的地方,在运行2.2的HTC Desire上我遇到了严重的问题让游戏发挥。 当使用MediaPlayer的标准实现,即setDataSource(字符串路径)时,它会播放10 – 30秒,然后即使我在WLAN和3G上都有完全接收,它也会失去连接。 我已经尝试了不同的方法来解决这个问题,一个是使用NPR新闻项目的StreamProxy ,经过一些修改后实际上工作得很好。 然而,HTC Desire仍然不时地断开连接,并且在某些情况下尝试重新连接4-5次,直到它实际上成功地保持稳定的连接。 我在使用代理时遇到的错误如下所示 08-08 09:35:17.810: ERROR/AwesomePlayer(67): Not sending buffering status because duration is unknown. 08-08 09:35:19.849: ERROR/HTTPStream(67): recv failed, errno = 11 (Try again) 08-08 09:35:19.849: INFO/HTTPDataSource(67): Retry … 2 times left […]

维护HttpUrlConnection调用之间的会话(本机/ Webview)

让我从我想要的开始: 我想制作一个part native and part webviews的应用程序。 问题 – 维护本机和Webview部件之间的会话。 我处理这个的方法: 我打算实现一个本机登录,在其中我向用户提供两个EditTextboxes和一个按钮,用户输入凭据,我将它们作为JSON发布到服务器。 服务器响应成功或错误。 基于Success标志,我读取了此连接的标头值并解压缩SessionCookie: switch (responseCode) { case 200: BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream())); String inputLine; response = new StringBuffer(); while ((inputLine = in.readLine()) != null) { response.append(inputLine); } in.close(); //IF SUCCESS Map<String, List> map = conn.getHeaderFields(); for (Map.Entry<String, List> entry : map.entrySet()) { System.out.println(“Key […]

如何从Java程序中findAndroid中的DNS服务器?

java.net.InetAddress.GetByName(String host)方法只能返回A记录,以便查找我需要能够使用dnsjava库发送DNS查询的其他记录types。 然而,这通常依赖于能够解析/etc/resolv.conf或类似的东西来查找DNS服务器地址,这在Android上不起作用。 Android上的当前DNS设置显然只能通过使用getprop命令从shell中getprop 。 任何人都可以告诉我如何从Java获取这些设置,而不是通过使用Runtime.exec()生成shell并解析getprop的输出?

Objective-c和Java,iPhone和Android之间是否存在巨大差异?

编辑:我的坏,我的意思是客观c,而不是c#。 有些原因我把它弄到脑袋里就是i#使用的c#。 所以c#的答案很棒,谢谢,但是它们有点无关紧要,抱歉。 我已经看过但找不到任何可以解决这个问题的东西,尽管有些人通过回答部分问题缩短了问题。 在一个小团队之间,我们计划在iPhone和Android上做一些工作,大部分是分开的,但互相帮助,并且有些人在他们之间进行图形工作。 但我们正在考虑在两者之间移动东西的可能性,不一定是应用程序,可能只是有用的类或其他东西。 看看Objective-c和Java,他们似乎有相同的function,最大的障碍是系统接口的东西,所以我们想知道,如果我们在每个系统上创建一个抽象,以便他们可以给予相同的输入(除非我错了不会对系统造成太大的压力?),在编写一些在objective-c和Java之间转换的东西会有什么问题,比sdks中的方法位置更糟糕吗? 或者是否存在一种语言的关键特征或某种东西,而另一种语言则是我们错过的,这意味着唯一的方法就是从头开始重写。

检测WebView内的可用内存

我正在构建一个包含运行一些JavaScript代码的WebView的应用程序。 JavaScript代码的分配很重,可能需要大量内存。 有时,所需的内存量超过了JavaScript可能需要的数量,并且崩溃了导致我的应用崩溃的WebView的Chromium进程。 我在我的应用程序中监听onMemoryTrim – 但在这种情况下,在内存超过1GB的设备上永远不会调用它。 (甚至没有TRIM_MEMORY_RUNNING_LOW )。 有什么方法可以检测到我的WebView内存不足并杀死它或让它知道(所以它可以释放内存)? 我试过polling performance.memory但它没有用。 如果在其中执行,则以下脚本会崩溃WebView: var a = []; var kek = () => { var b = []; for(var i = 0; i { let m = performance.memory; if(m.jsHeapSizeLimit – m.usedJSHeapSize < 1e5) { console.log("Memory limited") } else { a.push(kek()); } }); 有没有办法检测内存即将用完所以我可以优雅地处理它而不会崩溃的应用程序?

Unity中的回调监听器 – 如何从Android中的UnityPlayerActivity调用脚本文件方法

我有一个android库项目,并在Unity项目中导入了库项目。 现在,我想在Unity项目中实现一个回调,它将根据android库项目给出的响应执行。 我的意思是说,来自UnityPlayerActivity(Android Project)的Call Script File方法。 目前我使用下面的代码行,但没有任何反应: UnityPlayer.UnitySendMessage(“Main Camera”,”showMessage”,errorMessage); Main Camera是我的游戏对象。 showMessage是脚本文件中的消息名称。 Message是将通过Android Activity在Unity中显示的消息。 请检查我的下面代码Unity Script File和Android Activity。 Unity脚本文件: using UnityEngine; using System.Collections; public class scriptfile : MonoBehaviour { // Use this for initialization void Start () { AndroidJavaClass jc = new AndroidJavaClass(“com.unity3d.player.UnityPlayer”); AndroidJavaObject jo = jc.GetStatic(“currentActivity”); jo.Call(“shareText”,”236″,”236″); } void showMessage(string message){ print (“hello”); Debug.Log […]

直播主题

对于那些对从 设备 到 网络服务器的直播感兴趣的人来说,这可能是一个非常有趣的主题。 (初级Android / Java)我终于find了一种如何从我的设备的相机直播到我的网络服务器(网站)的方法。 在wifi网络上需要大约。 在wifi网络上显示1帧/秒,它也适用于EDGE / 3G网络。 在这个主题/问题中,我想讨论新的技术,改进,关于直播的想法,因为我将与你分享我的(代码也很受欢迎。) 我的代码使用setOneShotPreviewCallback()重复从摄像头预览中获取快照,以调用onPreviewFrame()。 帧以YUV格式传送,因此raw2jpg()将其转换为jpeg编码器的32位ARGB。 NV21是YUV平面格式。 应用程序调用getPicture(),并在私有字节数组mCurrentFrame中生成图像的jpeg数据并返回该数组。 在此之后,byteArray mCurrentFrame获取Base64Encoded,并以HTTP POST方式连同字符串值Base64和自己的ID代码一起发送到我的网络服务器,这样人们就无法向其发送另一个图像。 在网络服务器上,它再次被解码并被放入文件test.jpg中。 PHP和Javascript正在Web服务器上运行。 PHP获取POST方法,JavaScript每750秒重新加载一次图像。 这基本上就是它的工作原理。 现在,我对您的想法,改进以及您想要添加/询问的其他内容非常感兴趣。 以下是我的一些问题: 1)带音频直播的最佳方法是什么? video录制或我的方法+录音? 2)你将如何处理video记录流? 3)您如何将音频流式传输到网络服务器? ( 主要目标 )(使用Java,PHP和JavaScript) 4)我还计划向我添加典型的实时流媒体function,例如,当有名人出现时,您可以在实时流式传输时显示他的名字,或者只是将sd目录中的图像添加到您的直播中。 您是否也会对其进行解码并覆盖图像,或者以某种方式将图像放入您的直播中? 这个主题主要针对问题,所以请对一些人来说这可能是一个很好的帮助。 因此我添加了50(woot!)代表的赏金。 真诚的,XverhelstX

在Android SDK上设置JAVA_HOME

我与JAVA_HOME配置有一些冲突当我使用以下代码时 – System.out.println(System.getenv(“JAVA_HOME”)); 我得到 – C:\jdk1.6.0_23这是正确的地方。 但是,当我在Android build.xml上运行Ant命令时,我收到以下错误消息 – C:\ android–sdk-windows \ tools \ ant \ main_rules.xml:361:无法findjavac编译器; com.sun.tools.javac.Main不在类路径上。 也许JAVA_HOME并没有指向JDK。 它目前设置为“C:\ jdk1.6.0_23 \ jre” 怎么解决? 谢谢, 的Eyal