Articles of java

CommandError:您的项目buildScript或buildSrc classpath中似乎有guava-jdk5

您好我已更新我的IDE“Android Studio 3.0”和Build.gradle,但我遇到了Build Build.gradle(模块APP)中的问题, Build.gradle(模块APP)更新后变成这样 apply plugin: 'com.android.application' android { compileSdkVersion 26 buildToolsVersion '25.0.0' defaultConfig { applicationId "com.abdeljalilkchih.learnarabicforkids" minSdkVersion 12 versionName "\n" + " targetSdkVersion 26\n" + " versionCode 1515.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude […]

Android SMS API

我知道SMS内容提供者不是公共API的一部分(至less没有logging),但是如果我理解正确,只要知道如何使用API​​(?),仍然可以使用许多SMSfunction。 例如,将短信插入收件箱非常简单: ContentValues values = new ContentValues(); values.put("address", "+457014921911"); contentResolver.insert(Uri.parse("content://sms"), values); 不幸的是,这不会触发标准的“收件箱中的新短信”通知。 可以手动触发吗? 编辑 :AFAIK Android中的“标准邮件应用程序(消息)”正在使用android.permission.RECEIVE_SMS权限侦听传入的短信。 然后,当新的SMS到达时,状态栏通知将被插入一个“特殊”通知ID。 所以我的问题(上面所述)的一个解决scheme可能是find并发送正确的广播意图; 像“新的短信已到达”的意图。 编辑 :从Android市场下载第三方消息应用程序( chompsms )。 这个应用程序更好地满足我的需求。 当我执行上面的代码chompsms通知新的短信,并显示“标准状态栏通知”。 所以我会说,标准的Android消息应用程序没有正确检测到短信? 还是我错了?

如何使用MediaPlayer和MediaController为Android实现audio播放器?

我想创build一个Android应用程序,这是一个互联网广播电台的客户端。 我希望它看起来本机Android? 但即时通讯与Android API的逻辑和文件混淆。 我得到的是我需要MediaPlayer和MediaController类。 我是对的,有没有Android的audio播放器的好例子? 特别是,我非常感兴趣如何一起使用MediaPlayer和MediaController类。 UPD: 最后我得到了代码,这正是我想要的: Intent i = new Intent(Intent.ACTION_VIEW); Uri u = Uri.parse(%file_uri%)); i.setData(u); startActivity(i);

如何在Android中设置主菜单布局?

对于我正在制作的应用程序,我计划有一个由6个不同图标组成的主菜单,每行2个。 这与在这里看到的Twitter主菜单布局非常相似: 所以基本上…我应该如何去设置XML? LinearLayout,TableLayout? 然后,我实际上做了什么来使图标和文字均匀分布,这样的? 我已经尝试过所有我能想到的事情,但都无济于事。

使用NDK的可移植性有什么影响?

我需要一些在很长时间内执行的操作非常快。 我能看到的唯一select是使用Android NDK。 任何人都可以给出一个总结,关于哪些设备可以使用该应用程序,使用NDK对我的应用程序做什么,以及对维护我的应用程序有什么影响? 我看到你需要指定你想要编译你的C代码的架构,比如ARM和Intel。 Android新架构出现时会发生什么? 每次有新架构出现时,我是否必须更新我的应用程序?

Android操作系统中使用SSLSocket的TLS连接速度较慢

我正在开发一个使用SSLSocket连接到服务器的Android应用程序。 这是我正在使用的代码: // Connect if (socket == null || socket.isClosed() || !socket.isConnected()) { if (socket != null && !socket.isClosed()) socket.close(); Log.i(getClass().toString(), "Connecting…"); if (sslContext == null) { sslContext = SSLContext.getInstance("TLS"); sslContext.init(null, trustAllCerts, new SecureRandom()); } SSLSocketFactory socketFactory = sslContext.getSocketFactory(); socket = (SSLSocket)socketFactory.createSocket(host, port); socket.setSoTimeout(20000); socket.setUseClientMode(true); connected = true; Log.i(getClass().toString(), "Connected."); } // Secure if (connected) […]

如何访问com.android.internal.telephony.CallManager?

我想从com.android.internal.telephony包访问CallManager类对象。 这是我的代码: ClassLoader classLoader = TestActivity.class.getClassLoader(); final ClassLoader classLoader = this.getClass().getClassLoader(); try { final Class<?> classCallManager = classLoader.loadClass("com.android.internal.telephony.CallManager"); Log.i("TestActivity", classCallManager); } catch (final ClassNotFoundException e) { Log.e("TestActivity", e); } 不幸的是,这是抛出一个ClassNotFoundException 。 同样的方法允许我访问PhoneFactory ,但显然我不允许访问CallManager 。 如果我能够到达课堂,那么我想要继续使用课程,如下所示: Method method_getInstance; method_getInstance = classCallManager.getDeclaredMethod("getInstance"); method_getInstance.setAccessible(true); Object callManagerInstance = method_getInstance.invoke(null); 谁可以帮我这个事? 提前致谢, Harsha C.

Java手机编译器

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

Android上的AES解密太慢,无法使用。 NDK会更快吗? 其他想法?

我使用内置的Cipher类在Android上实现了AES / CTR。 对于我的目的来说,解密看起来太慢了,128KB的块在仿真器上需要大约6秒的时间解密,而在三星Galaxy硬件上则需要2.6秒。 我想知道是否使用NDK构buildOpenSSL并调用其方法会更快。 有人对这个有经验么? 我的一部分人想要相信Cipher(“AES / CTR / NoPadding”)方法只是围绕原生OpenSSL调用的一个包装,因为支持Android的Linux操作系统应该安装libcrypto。 如果是这种情况,那么试图使用NDK将只是浪费时间,因为没有预期的性能增益。 我还没有在iOS上花费这么多时间,但即使是3G硬件解密速度如此之快,以至于10MB解密对于最终用户来说似乎是瞬间的。 我发现很难相信,Android的实施是真正的严重程度,但也许这就是现实。 如果这真的是我所面对的,有没有人有任何其他的实施策略的想法,为最终用户提供不可察觉的响应(10Mb文件)? 我办公室里的另一位开发人员用一种tongue suggested的方式build议我只是使用XORencryption,这使我想要面对自己,但是我认为(安全问题抛在一边),如果我这样做,它会工作。 谢谢! 这里有一些简单的代码供参考: public class ResourceDecryptor { private static ThreadLocal<Cipher> mCipher; private byte[] mIV = new byte[ 8 ]; private SecretKeySpec mKey; private String mResourcePath; private static final int kAESBlockSize = 16; public ResourceDecryptor( String resourcePath, String decryptionKey ) […]

SimpleDateFormat:不可parsing的dateexception

看了几个现有的post后,我仍然无法让我的SimpleDateFormat分析器工作。 这里是代码: SimpleDateFormat df = new SimpleDateFormat( "EEE, dd MMM yyyy HH:mm:ss Z", Locale.US); try { volcanoListDate = df.parse(currentValue); } catch (ParseException e) { Log.d("DEBUG", e.toString()); Log.d("DEBUG", currentValue); } 我总是以ParseException结束。 以下是debugging消息的输出: 06-09 23:52:17.478:DEBUG / DEBUG(2436):java.text.ParseException:Unparseable date: 06-09 23:52:17.478:DEBUG / DEBUG(2436):Wed,08 Jun 2011 03:23:55 -0500 区域设置ist设置和模式看起来不错。 我错在哪里?