最新更新: 查看Android Studio 2.0(预览版)即时运行它真棒!!!!
我发现了一些提示(通过Gradle和Android Studio构建和运行应用程序比通过Eclipse慢)来加速Android Studio(Gradle)的编译过程,但我仍然觉得它太慢了.编译项目并在设备上运行大约需要15秒.
gradle.properties已设置为:
org.gradle.daemon =真
org.gradle.parallel =真
编辑: 太棒了!!! 我的同事报告说Jack和Jill可能是解决方案:http: //www.infoworld.com/article/2856113/mobile-technology/androids-new-jack-and-jill-compilers-head-uphill-to-developers .html我正在读它.
查看此说明:https: //www.saikoa.com/blog/the_upcoming_jack_and_jill_compilers_in_android
编辑2: 杰克和吉尔的新信息!:http: //tools.android.com/tech-docs/jackandjill
编辑3: Android Studio 2.0似乎让我们摆脱了所有的负担!查看"即时运行". http://android-developers.blogspot.nl/2015/11/android-studio-20-preview.html
performance android gradle android-studio android-jack-and-jill
我正在使用Retrofit与rx-java结合使用,并提出以下问题:
有没有办法在设备脱机时将API调用排队到服务器,以便在设备重新联机时可以触发它们.
我正在使用XMLReader来简单地读取如下所示的Feed.
URLConnection urlConnection = url.openConnection();
XmlReader reader = new XmlReader(urlConnection);
Run Code Online (Sandbox Code Playgroud)
当调用它时,我会在5秒内收到IOException"提取时超时".所以我试着将超时设置为最大值.(10秒),但仍然没有运气,并且在5秒内仍然是IOExeption.
urlConnection.setConnectTimeout(10000);
Run Code Online (Sandbox Code Playgroud)
(最大值在文档中说明:http://code.google.com/intl/nl-NL/appengine/docs/java/urlfetch/overview.html)
似乎饲料的尺寸太大.当我拨打较小的Feed时,它可以正常工作.有没有解决方法或解决方案?我需要能够调用更大的Feed.
我目前正在开发一个需要显示带有灰色(黑/白)背景的对话框的项目.为了达到这个目的,我将截取屏幕截图和整个应用程序,将此屏幕截图放在全屏对话框的背景上,并在其上放置一个ColorFilter,使其变灰.
这是第一次完美的工作,但如果我滚动下面的内容并再次请求对话框,它会显示与之前相同的背景.
我用的代码是:
Bitmap bitmap;
View rootView = getActivity().getWindow().getDecorView().findViewById(android.R.id.content);
rootView.setDrawingCacheEnabled(true);
bitmap = Bitmap.createBitmap(rootView.getDrawingCache());
rootView.setDrawingCacheEnabled(false);
imageView.setImageBitmap(bitmap);
Run Code Online (Sandbox Code Playgroud)
换句话说,getDrawingCache()始终返回应用程序的相同屏幕截图.
我正在将Android 6.0运行时权限应用到监听运营商数据连接状态更改的应用程序中.我首先尝试从清单中删除READ_PHONE_STATE以检查应用程序需要权限的位置.令我惊讶的是,应用程序根本没有崩溃.
在此之后,我尝试在两个6.0之前的设备上进行相同的安装,这些设备实际上已经崩溃了.对我来说,似乎Android 6.0不再需要许可.有什么方法可以证实吗?
下面的行是6.0之前设备崩溃的行:
tm(TelephonyManager).listen(this, PhoneStateListener.LISTEN_DATA_CONNECTION_STATE);
Run Code Online (Sandbox Code Playgroud) android telephonymanager android-permissions phone-state-listener
在我目前正在从事的项目中,我遇到了一些与Dagger 2相关的未经检查的警告。
为了排除与项目相关的因素,我尝试编译GitHub上提供的Dagger 2示例,它们还会引起这些未经检查的警告。见下文。
/MY_DIRECTORY/../DaggerApplicationComponent.java:28:警告:[未选中]未选中的转换
this.demoApplicationMembersInjector = DemoApplication_MembersInjector.create(((MembersInjector)MembersInjectors.noOp(),ProvideLocationManagerProvider);
必需:MembersInjector
<Application>找到:成员喷射器
显然,create方法需要使用MembersInjector,<Application>但是Dagger 2默认将传递的对象强制转换为MembersInjector。
我想修复这些问题,以使日志保持干净,并且buildserver再次编译项目。
我正在使用的一些设置:
我现在进入的案例很难解释,因此我将编写一个更简单的版本来解释这个问题.
我有一个Observable.from()发出由文件定义的文件序列ArrayList.所有这些文件都应该上传到服务器.为此我有一个功能,完成工作并返回一个Observable.
Observable<Response> uploadFile(File file);
Run Code Online (Sandbox Code Playgroud)
当我运行这段代码时,它变得疯狂,它会Observable.from()发出所有文件并将它们全部上传到一个文件中,或者至少可以处理它可以处理的最大线程数.
我希望最多同时上传2个文件.是否有任何操作员可以为我处理这个问题?
我尝试了缓冲区,窗口和其他一些,但它们似乎只发出两个项目,而不是经常上传两个并行文件.我还尝试在上传部分设置最大线程池,但这不能用于我的情况.
这个权利应该有一个简单的运算符吗?我错过了什么吗?
multithreading android functional-programming observable rx-java
我想在Android 2.2及更高版本上通过HTTP(m3u8)播放流媒体音频.使用Android 3.0及更高版本,支持HTTP流,仅低于3.0,但不支持.
解决方案是在项目中使用Vitamio.但是,Vitamio要求用户从Play商店安装插件.
所以,我的问题: - 有没有办法将Vitamio插件嵌入到项目中? - 是否有其他解决方案用于设备<Android 3.0的HTTP流媒体?
如何在加载iTunes URL时避免UIWebView打开iTunes App?
示例网址:http://itunes.apple.com/nl/app/bluppr-postcards/id348147229?mt = 8
以上URL直接加载iTunes App.UIWebViewDelegate似乎无法控制它只是在UIWebView中加载页面.
它似乎由JavaScript函数detectAndOpenItunes()控制; 在页面的body标签中.
有任何想法吗?
android ×7
java ×2
rx-java ×2
bitmap ×1
dagger-2 ×1
gradle ×1
iphone ×1
javascript ×1
lint ×1
objective-c ×1
observable ×1
performance ×1
retrofit ×1
rootview ×1
uiwebview ×1
unchecked ×1
vitamio ×1