程序设计

专业和发烧友程序员的问答

11
compileSdkVersion和targetSdkVersion有什么区别?
我看过使用Gradle进行构建的文档,但是我仍然不确定compileSdkVersion和之间的区别targetSdkVersion。 它只说: 该compileSdkVersion属性指定编译目标。 那么,什么是“编译目标”? 我看到两种可能的解释方法: compileSdkVersion是用于构建应用程序的编译器版本,targetSdkVersion而是“应用程序定位的API级别”。(如果是这种情况,我认为compileSdkVersion必须大于或等于targetSdkVersion?? 他们是同一回事。“编译目标” ==“应用程序目标的API级别” 还有吗 我看到这个问题以前曾有人问过,但一个答案只是引用了doc,这对我来说还不清楚。

30
解决Android上INSTALL_FAILED_INSUFFICIENT_STORAGE错误的方法[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 该INSTALL_FAILED_INSUFFICIENT_STORAGE错误是每个Android开发者的生活的祸根。无论应用程序大小或可用存储量如何,都会发生这种情况。重新启动目标设备可以暂时解决该问题,但是很快又回来了。人们有数百(甚至数千个)留言板帖子询问为什么会出现此问题,但Google员工对此问题感到无奈。 有一个简单的解决方法。如果您的测试设备运行的是Android 2.2或更高版本android:installLocation,请使用将该属性添加到应用程序的清单文件中"preferExternal"。这将强制将应用程序安装在设备的外部存储设备(例如手机的SD卡)上。 例如: <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.andrewsmith.android.darkness" android:installLocation="preferExternal" 这更像是临时解决方案,而不是解决方案,如果您希望完成的应用程序安装在设备的内存中,则可能不是理想的选择。但这至少将使开发过程不那么麻烦。

21
控制反转与依赖注入
根据马丁·福勒(Martin Fowler)的论文,控制反转是程序控制流反向的原理:外部源(框架,服务,其他组件)代替程序控制程序流,而由程序控制流它。就像我们将某些东西插入其他东西一样。他提到了有关EJB 2.0的示例: 例如,会话Bean接口定义了ejbRemove,ejbPassivate(存储到辅助存储)和ejbActivate(从被动状态恢复)。您不必控制何时调用这些方法,而可以控制它们的作用。容器给我们打电话,我们不给它打电话。 这导致框架和库之间的差异: 控制反转是使框架与库不同的关键部分。库本质上是您可以调用的一组函数,这些天通常组织成类。每个调用都会执行一些工作,并将控制权返回给客户端。 我认为,DI是IOC的观点意味着对象的依赖关系被颠倒了:与其控制自己的依赖关系,不如生命周期……还有其他事情为您服务。但是,正如您手动告诉我的那样,DI不一定是IOC。我们仍然可以拥有DI而没有IOC。 但是,在本文中(来自pococapsule,这是另一个C / C ++的IOC框架),它表明,由于IOC和DI,IOC容器和DI框架要优于J2EE,因为J2EE将框架代码混合到了组件中,因此不会使其成为普通的Java / C ++对象(PO​​JO / POCO)。 除依赖注入模式以外的控制容器的反转(归档链接) 进一步阅读以了解旧的基于组件的开发框架有什么问题,这导致了上面的第二篇论文:控制反转的原因和内容(归档链接) 我的问题:什么是IOC和DI?我很困惑。基于pococapsule,IOC不仅仅是对象或程序员与框架之间的控制反转。

30
计算Java字符串中字符出现的次数
我需要计算一个字符在一个字符串中出现的次数。 例如,假设我的字符串包含: var mainStr = "str1,str2,str3,str4"; 我想找到逗号,字符的数量,即3。以及沿逗号分割后的各个字符串的数量,即4。 我还需要验证每个字符串,即str1或str2或str3或str4不应超过15个字符。
525 javascript  string 


22
复制C#中目录的全部内容
我想在C#中将目录的全部内容从一个位置复制到另一个位置。 似乎没有一种方法可以在System.IO没有大量递归的情况下使用类。 如果添加对以下内容的引用,则VB中可以使用一种方法Microsoft.VisualBasic: new Microsoft.VisualBasic.Devices.Computer(). FileSystem.CopyDirectory( sourceFolder, outputFolder ); 这似乎是一个非常丑陋的hack。有没有更好的办法?
524 c#  .net  directory  copy 

10
Polymer元素和AngularJS指令之间有什么区别?
在“聚合物入门”页面上,我们看到了一个正在使用的聚合物示例: <html> <head> <!-- 1. Shim missing platform features --> <script src="polymer-all/platform/platform.js"></script> <!-- 2. Load a component --> <link rel="import" href="x-foo.html"> </head> <body> <!-- 3. Declare the component by its tag. --> <x-foo></x-foo> </body> </html> 您会注意到<x-foo></x-foo>,由platform.js和定义x-foo.html。 看起来这等效于AngularJS中的指令模块: angular.module('xfoo', []) .controller('X-Foo', ['$scope',function($scope) { $scope.text = 'hey hey!'; }) .directive('x-foo', function() { …


28
“ ld:警告:找不到选项的目录”
在构建Xcode 4应用程序时,出现以下警告: ld: warning: directory not found for option '-L/Users/frenck/Downloads/apz/../../../Downloads/Google Analytics SDK/Library' ld: warning: directory not found for option '-L/Users/frenck/Downloads/apz/../Google Analytics SDK/Library' 但是我的应用程序中没有Google Analytics(分析),我将其全部删除了,如何删除该错误?存档应用程序会给我错误: clang: error: no such file or directory: 'armv6' Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang failed with exit code 1 我已经尝试了很多事情,但是在尝试制作.IPA文件时仍然遇到此错误
524 xcode 


10
MongoDB关系:嵌入还是引用?
我是MongoDB的新手-来自关系数据库背景。我想设计一个带有一些注释的问题结构,但是我不知道该使用哪种关系进行注释:embed或者reference? 一个带有一些注释的问题,例如stackoverflow,将具有以下结构: Question title = 'aaa' content = bbb' comments = ??? 首先,我想使用嵌入的注释(我认为embed在MongoDB中建议这样做),如下所示: Question title = 'aaa' content = 'bbb' comments = [ { content = 'xxx', createdAt = 'yyy'}, { content = 'xxx', createdAt = 'yyy'}, { content = 'xxx', createdAt = 'yyy'} ] 显而易见,但是我担心这种情况:如果要编辑指定的注释,如何获取其内容和问题?没有_id让我找到一个问题,也没有question_ref让我找到它的问题。(我真是个新手,如果不使用_idand 我不知道有没有办法做到这一点question_ref。) 我必须ref不用embed吗?然后,我必须创建一个新的评论集吗?
524 mongodb  reference  embed 


21
如何从Bash脚本检测操作系统?
我想将我的文件.bashrc和.bash_login文件保留在版本控制中,以便可以在所有使用的计算机之间使用它们。问题是我有一些特定于OS的别名,因此我正在寻找一种确定脚本是否在Mac OS X,Linux或Cygwin上运行的方法。 在Bash脚本中检测操作系统的正确方法是什么?
524 bash  os-detection 

28
当进度对话框和后台线程处于活动状态时,如何处理屏幕方向变化?
我的程序在后台线程中执行一些网络活动。在开始之前,它会弹出一个进度对话框。该对话框在处理程序上关闭。这一切都很好,除非对话框打开(并且背景线程正在运行)时屏幕方向改变。此时,该应用程序要么崩溃,死锁,要么进入怪异的阶段,直到所有线程被杀死,该应用程序才完全无法运行。 如何优雅地处理屏幕方向变化? 下面的示例代码与我的真实程序大致匹配: public class MyAct extends Activity implements Runnable { public ProgressDialog mProgress; // UI has a button that when pressed calls send public void send() { mProgress = ProgressDialog.show(this, "Please wait", "Please wait", true, true); Thread thread = new Thread(this); thread.start(); } public void run() { Thread.sleep(10000); Message …

30
进行浮动和双重比较的最有效方法是什么?
比较两个double或两个float值的最有效方法是什么? 简单地这样做是不正确的: bool CompareDoubles1 (double A, double B) { return A == B; } 但是类似: bool CompareDoubles2 (double A, double B) { diff = A - B; return (diff < EPSILON) && (-diff < EPSILON); } 似乎是废物处理。 有人知道更聪明的浮点比较器吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.