草庐IT

Non-declaration

全部标签

java - 为什么我们需要使用 Context.obtainStyledAttributes 和 declare-styleable 来获取 GUI 组件的属性

我刚刚看到一些教程代码示例,它们在XML中使用declare-styleable并在Java代码中使用Context.obtainStyledAttributes。我的理解是,它试图获取GUI组件的属性(如背景颜色)。我在想,为什么我们为了获得一个简单的属性就需要经过这些繁琐的步骤呢?如果我想每次都检索GUI组件属性,我必须创建一个新的XML文件,并将我要检索的属性添加到XML文件本身。我们可以有更简单的东西吗?目前,这是我在尝试获取GUI组件的属性时需要做的事情。http://developer.android.com/resources/tutorials/views/hello-

java - GC 优化 : declaring object as field opposed to declaring it locally

我目前正试图避免GC_CONCURRENT调用,所以我正在运行我的主循环。我注意到我经常创建一个复杂的对象来进行计算。所以我的问题是将该对象声明为类的一个字段而不是在使用它的方法中声明它有助于提高性能吗?或者因为我的英语可能伤害了你的大脑,这里是代码示例作为字段classmyclass{privateMyObjectmyObject;...publicvoidmyLoopedMethod(...){myObject=newMyObject(...);myObject.dostuff;}方法示例classmyclass{...publicvoidmyLoopedMethod(...){M

Android Room 将 Null 作为 Non-Null 类型返回

我有Dao来返回简单的对象。如果对象不存在,Room返回null,但Android应用程序没有崩溃。此外,如果我将该值分配给非空变量,则应用程序不会崩溃。道:@Query("SELECT*FROMusersWHEREidLIKE:idLIMIT1")abstractfungetById(id:Long):User不崩溃的代码:doAsync{valuser:User=userDao.getById(999)//user999notexist,userDaoreturnsnulluiThread{if(user==null){Timber.d("useris$user")//"useri

android 为整个项目禁用 lint "unused declaration"

在一个android库项目中,我有许多未使用的声明,因为它们大多是从项目外部调用的。我通过使用lintAnalyze->InspectCode我不想用@SurpressWarning("unused")在每个文件上。如果我尝试在gradle文件中使用相同的ID禁用它android{lintOptions{disable'unused'}}linter仍然出现“未使用的声明”错误我也尝试过在项目根目录下创建lint.xml文件但是还是不行。有人知道正确的lintID吗? 最佳答案 您可以使用Analyze->InspectCode,然

java - 运行 exec() 时出错。命令 : Working Directory: null Environment: null - how to execute a binary in Android correctly on a non-rooted device?

我想在非root的android设备上运行可执行文件。在java中使用以下命令Runtime.getRuntime().exec("/bin/chmod744/data/data/com.example.myapp/myBin");Runtime.getRuntime().exec("/data/data/com.example.myapp/myBin");结果Errorrunningexec().Command:[/data/data/com.example.myapp/myBin]WorkingDirectory:nullEnvironment:null我发现了很多关于此的问题,但

android - error "Process ' command './node_modules/expokit/detach-scripts/run-exp.sh' ' finished with non-zero exit value 1"whie getting android apk file

我有一个带有expokit工具的reactNative项目。现在我想从androidstudio获取一个apk输出文件。但我收到了这个错误:Process'command'./node_modules/expokit/detach-scripts/run-exp.sh''finishedwithnon-zeroexitvalue1如有任何帮助,我们将不胜感激。 最佳答案 运行“exppublish”并重试。希望这会有所帮助:) 关于android-error"Process'comman

Android Library Declare-Styleable 运行时错误

我在MavenCentral中有一个包含一些小部件的库。当我将该库作为依赖项(从MavenCentral)添加到使用gradle的项目时,我得到:java.lang.NoClassDefFoundError:com.my.pacakge.R$styleable如果我手动下载.aar并将其包含在项目中,一切正常。我尝试使用AndroidStudio的代码完成来查看是否包含库的R。当我使用Maven依赖项时,键入com.my.pacakge.R不会返回任何结果,但是当我使用本地.aar时,它会返回库的R。这是库代码://widgetconstructorpublicForegroundIm

android - Playstore提示到 'Declare sensitive permissions'

我们的AndroidManifest没有任何短信权限。我们做了4次发布。但是Playstore仍然提示我们填写敏感权限的声明,方法如下-Previouslydeclaredpermissions(3permissions)android.permission.RECEIVE_SMSandroid.permission.SEND_SMSandroid.permission.READ_SMS这会不会是因为我们正在使用的库仍然需要这些权限?我们如何避免这种情况?我们的list具有以下权限: 最佳答案 我们是如何解决的:确定我们的合并lis

android - 为什么 AndroidStudio 显示警告 "Namespace declaration is never used"?

这是我的布局:取自androidofficialtraining在第二行,AndroidStudio显示了这个警告:Namespacedeclarationisneverused为什么会这样?谢谢。 最佳答案 这是因为您没有在xml中实际声明的tools命名空间。查看android命名空间,您有3个元素具有该命名空间,但没有用于tools的元素。命名空间tools(http://schemas.android.com/tools)用于GUI设计器,不用于在Android设备上运行应用程序,因此您可以安全地删除它。

Android Span or Non-Breaking Space Causing line break and text duplication (4.0 ICS)

我正在使用多个大量使用span的TextView。问题:有时在我的应用程序中(特别是在IceCreamSandwich上)我会看到文本字符串中没有的换行符以及文本重复。有关示例,请参见下图。请注意第三个句子是如何开始的,然后是换行符,然后文本被复制,句子结束。代码:tv=(TextView)inflater.inflate(R.layout.fragment_reader_list_item,parent,false);SpannableStringBuilderssb=ssbList.get(position);tv.setText(ssb,BufferType.SPANNABLE)