Articles of java的

使用gradle构建Cordova项目时覆盖Java版本

我正在尝试使用gradle作为构建工具来构建Cordova项目。 在Cordova项目中,我有自己的插件,需要Java 1.7。 在Cordova附带的build.gradle中,java版本是1.6。 的build.gradle: android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_6 targetCompatibility JavaVersion.VERSION_1_6 } } build.gradle有一个很大的警告,说它是一个不应该编辑的生成文件,自定义gradle构建步骤的方法是 – 据我所知 – 创建build-extras.gradle文件。 我创建了一个build-extras.gradle文件,并尝试了以下内容: android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } } 但它似乎没有用。 我构建项目时仍然出错。 错误: > strings in switch are not supported in -source 1.6 > switch (action) { > ^ (use -source 7 or higher […]

如何从Android进行HTTPS POST?

我想做一个HTTPS post方法从我的Android应用程序发送一些数据到我的网站。 我首先使用了HttpURLConnection ,它的HTTP URL工作正常。 我的生产网站使用HTTPS,我想使用HttpsURLConnection发送相同的POST。 有人可以帮我正确使用课程吗? 我在这个链接find了一些来源: KeyStore keyStore = …; TrustManagerFactory tmf = TrustManagerFactory.getInstance(“X509”); tmf.init(keyStore); SSLContext context = SSLContext.getInstance(“TLS”); context.init(null, tmf.getTrustManagers(), null); URL url = new URL(“https://www.example.com/”); HttpsURLConnection urlConnection = (HttpsURLConnection) url.openConnection(); urlConnection.setSSLSocketFactory(context.getSocketFactory()); InputStream in = urlConnection.getInputStream(); 应该是KeyStore keyStore = …;的值KeyStore keyStore = …; ? 我尝试使用相同的HttpURLConnection发送数据,但我看到一些POST数据丢失或出错。 我试过这个问题的方法。 我在下面粘贴我的代码 String urlParameters=”dateTime=” + URLEncoder.encode(dateTime,”UTF-8″)+ “&mobileNum=”+URLEncoder.encode(mobileNum,”UTF-8”); […]

仅限Android 2.3.3设备上的Stackoverflow

我一直在使用Native Android App ,我在Android 2.3.3 versions and below Android 3.0 version面临一些错误。 我没有得到我的代码究竟在哪里,因为在Logcat编译的每行代码但最后得到的是非常奇怪的错误描述日志如下: java.lang.StackOverflowError at java.util.concurrent.locks.ReentrantLock$NonfairSync.tryAcquire(ReentrantLock.java:189) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1171) at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:185) at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:261) at java.util.concurrent.CopyOnWriteArrayList.removeRange(CopyOnWriteArrayList.java:569) at java.util.concurrent.CopyOnWriteArrayList.remove(CopyOnWriteArrayList.java:366) at java.util.concurrent.CopyOnWriteArrayList.remove(CopyOnWriteArrayList.java:376) at android.view.ViewTreeObserver.removeOnPreDrawListener(ViewTreeObserver.java:377) at android.widget.TextView.onDraw(TextView.java:4085) at android.view.View.draw(View.java:6986) at android.view.ViewGroup.drawChild(ViewGroup.java:1739) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1466) at android.view.ViewGroup.drawChild(ViewGroup.java:1737) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1466) at android.view.ViewGroup.drawChild(ViewGroup.java:1737) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1466) at android.view.View.draw(View.java:6989) at android.view.ViewGroup.drawChild(ViewGroup.java:1739) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1466) at android.view.View.draw(View.java:6989) at android.view.ViewGroup.drawChild(ViewGroup.java:1739) […]

使用Kotlin在Android上的UI组件上声明的最佳方法是什么?

我正在尝试首次使用Kotlin构建Android应用程序。 我想在OnCreate方法之外的一些按钮上声明,我只能初始化它们在这个函数中使用findViewById。 我可以在java中简单而干净的代码中声明吗? private Button btnProceed; 因为在将其转换为Kotlin时,它看起来像: private var btnProceed: Button? = null 然后在初始化OnClick函数时需要添加! 标志: btnProceed!!.setOnClickListener 什么是正确和最干净的方式?

Android:OutOfMemory错误和backstack

以下表格表示此问题所涉及的应用程序中的工作流程。 我遇到OutOfMemory错误的问题,主要是因为用户能够多次从活动B切换到活动D(他们在每次尝试时显示不同的内容),而不会破坏先前的活动。 这导致了一个非常大的backstack导致OutOfMemory错误。 为了避免这种情况,我按照建议将清单中的父活动添加到了清单,并使用TaskStackBuilder类创建新的backstack: void openDFromB() { Intent i = new Intent(this, ActivityD.class); TaskStackBuilder.create(this) .addParentStack(ActivityD.class) .addNextIntent(i) .startActivities(); } 如果用户现在从活动B切换到D,则销毁MainMenu,A和B并创建新的Backstack(MainMenu,C,D)。 这解决了api级别大10的内存问题,但不幸的是,TaskStackBuilder没有为pre api 11设备创建后台堆栈。 知道如何做以避免用户在api 11之前堆叠无限量的活动吗? 这是否可能,或者我应该尝试在onPause中释放尽可能多的资源,以便在OoM之前获得最大量的堆叠活动? 提前致谢!

Youtube数据API:访问媒体流和播放(JAVA)

我想访问YouTubevideo并使用自己的媒体播放器播放。 我可以使用youtube数据API获取video属性(标题,url等)。 我可以访问video流并使用我自己的媒体播放器(如Android Media Player)播放它。 我在JAVA中尝试所有这些。 提前致谢.. :)

错误:条目中的空值:streamOutputFolder = null

由于此错误,我无法在模拟器中运行我的应用程序: 错误:条目中的空值:streamOutputFolder = null 有人可以帮忙吗?

现在必须显式声明注释处理器

Error:Execution failed for task ‘:laMusique2May2016:javaPreCompileRelease’. > Annotation processors must be explicitly declared now. The following dependencies on the compile classpath are found to contain annotation processor. Please add them to the annotationProcessor configuration. – auto-value-1.1.jar (com.google.auto.value:auto-value:1.1) Alternatively, set android.defaultConfig.javaCompileOptions.annotationProcessorOptions.includeCompileClasspath = true to continue with previous behavior. Note that this option is deprecated and will be […]

使用Android发送HTTP发布请求

我一直试图从SO和其他网站上的大量例子中学习,但我无法弄清楚为什么我一起攻击的例子不起作用。 我正在构建一个小概念validation应用程序来识别语音并将其作为POST请求发送给node.js服务器。 我已经确认语音识别工作,服务器正在接收来自常规浏览器访问的连接,因此我开始相信问题出在应用程序本身。 我错过了一些小而愚蠢的东西吗? 没有错误被抛出,但服务器永远不会识别连接。 提前感谢任何建议或帮助。 相关Java(主要活动和必要的AsyncTask): protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == 1001) { if (resultCode == RESULT_OK) { ArrayList textMatchList = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS); if (!textMatchList.isEmpty()) { String topMatch = textMatchList.get(0); PostTask pt = new PostTask(); pt.execute(topMatch); } } } } private class PostTask extends AsyncTask { @Override protected […]

Android编辑位图频道

可以使用extractAlpha()访问给定位图的alpha通道,但我无法find任何方法来实际设置位图的alpha通道。 如何将多个灰度图像作为通道重新组合成Android的位图?