小编Gab*_*iro的帖子

Android私有字段命名指南可以吗?

这里http://source.android.com/source/code-style.html#follow-field-naming-conventions声明:

字段名称

  • 非公开的非静态字段名称以m开头.
  • 静态字段名称以s开头.
  • 其他字段以小写字母开头.
  • 公共静态最终字段(常量)是ALL_CAPS_WITH_UNDERSCORES.

它还指出:

以下规则不是指南或建议,而是严格的规则.除非在需要使用的基础上批准,否则您不得忽视我们在下面列出的规则.

我不喜欢类中私有或包字段之前的"m"约定.我真的觉得这个没有灵感...我的意思是,如果我们尝试应用好的设计,类的低耦合意味着几乎没有公共字段.实际上,在我的程序中,我通常没有公共字段,即使我需要一些我使用getter和setter ......

那么,为什么我要被迫在程序中几乎所有的字段都在它们前面有一个"m"?拥有少数公共领域,如果有的话,在前面有一些"g"或其他东西,会不会更容易?或者只是像豆子建议的那样使用setter和getters?这真的让我的代码更难阅读....

此外,遵循这些准则,方法中使用的局部临时变量没有限制,因此很容易被误认为是公共全局字段(也没有限制)......这也是我发现错误,因为它可能是错误的来源...我理解有一种区别于字段的方法,但私有/受保护的成员字段是应用程序中使用最多的字段,它们应该不那么"可读".

你怎么看?我应该遵循指南吗?

android coding-style field private

10
推荐指数
1
解决办法
5097
查看次数

在主中断使能但没有中断使能(0xFF0F = 0)的情况下进入HALT模式?

根据Gameboy编程手册,

HALT模式被以下事件取消,这些事件具有指示的起始地址.

  1. 到/ RESET端子的低电平信号起始地址:0x0000

  2. 中断使能标志及其对应的中断请求标志置位

    • IME = 0(禁止中断主器件使能标志)起始地址:低于HALT指令的地址

    • IME = 1(允许中断主控使能标志)起始地址:每个中断起始地址

假设一个程序进入HALT模式,中断主器件使能标志被使能IME = 1,中断使能被禁止任何中断0xFF0F = 0,会发生什么?实际的Gameboy设备的预期行为是什么?

interrupt emulation halt device-emulation gameboy

10
推荐指数
1
解决办法
397
查看次数

包依赖

我有一个包含大量软件包的庞大Java应用程序.这些包中的某些类依赖于其他包中的类.给定一个类,我想知道它上面的所有依赖类,反之亦然.GUI工具应该非常有用.

java dependency-analysis

9
推荐指数
2
解决办法
5837
查看次数

使用aar库时的依赖性错误

我在libs文件夹中有一个带有.aar文件的模块.我使用此处发布的解决方案[1]:http: //kevinpelgrims.com/blog/2014/05/18/reference-a-local-aar-in-your-android-project/将.aar文件添加为依赖项并能够正确编译模块.

现在我想将此模块用作项目中主模块的依赖项并进行编译.但是,当我尝试编译时,我确实看到一个错误,表示gradle无法找到特定的.aar文件.为什么我的主模块找不到我子模块的libs文件夹中的文件.想知道是否有人遇到过这个问题.

我的项目结构是这样的

--mainmodule
  --build.gradle (submodule as a dependency)
--submodule
   --libs
      -- abc.aar
Run Code Online (Sandbox Code Playgroud)

这是错误gradle抛出: When unzipping library ':abc:, either group, name or version is empty

android gradle android-studio aar

9
推荐指数
1
解决办法
2845
查看次数

我可以将从Kotlin文件生成的类的默认构造函数设为私有吗?

如果我创建一个Kotlin文件 MyTest.kt

package my.test
fun sayHello(): String = "Hello"
Run Code Online (Sandbox Code Playgroud)

MyTestKt将生成一个类,可以从java访问它,如下所示:

MyTestKt.sayHello() // Returns "Hello"
MyTestKt myTestKt = new MyTestKt() // Instantiate
Run Code Online (Sandbox Code Playgroud)

我想将该构造函数设为私有.那可能吗?如果是这样,怎么样?


我知道我可以用一个object来创建一个单身,这不是我的问题.我知道我可以用companion object内部创建一个类,这也不是我的问题.

kotlin

9
推荐指数
1
解决办法
435
查看次数

如何在Android上显示启动画面3秒?

我希望启动图像开始并保持3秒钟,然后消失并继续或替换为main.xml中的其余布局.

这是我的代码:

Main.java

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.main);

    ImageView splash = (ImageView) this.findViewById(R.id.splash);
Run Code Online (Sandbox Code Playgroud)

main.xml中

<?xml version="1.0" encoding="utf-8"?>
<!-- margin=0px, padding=20px -->
<!--textview padding=10dp, textSize=16sp-->
<!--px=pixel, dp=density indepen sp=scale indepen fontsize preference -->
<RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">

   <ImageView
    android:id="@+id/splash"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:src="@drawable/splash2"/> 

  <ImageView
    android:id="@+id/myImageView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/bg_main"/> 

  <ImageView
    android:id="@+id/myImageView0"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/bar_top"/> 

<!-- 
  <TextView android:id="@+id/textItem"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:paddingTop="10dp"
    android:paddingLeft="110dp"
    android:background="#00000000"
    android:textColor="#ffffffff"
    android:textSize="22sp" 
    android:text="Find Car"
    android:enabled="false"  
  >
-->

<TabHost android:id="@android:id/tabhost"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
<RelativeLayout
   android:orientation="vertical"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:padding="3dp">
   <FrameLayout …
Run Code Online (Sandbox Code Playgroud)

android

8
推荐指数
4
解决办法
3万
查看次数

Android应用程序缺少Android Studio中的调试信息

我正在尝试调试我正在使用Android Studio编写的应用程序,但我似乎无法从Android Studio的"调试"视图中获取任何有用的调试信息.我正在使用看起来很糟糕的"Debug"图标启动我的应用程序,但是"Debug"视图没有任何有用的东西(例如,我的应用程序没有堆栈帧):

截图

即使我的应用程序崩溃,我也没有得到任何有用的信息.我记得,ADT插件会自动让你掉线导致崩溃.

我是否需要做任何其他事情才能使我的应用程序在Android Studio中"可调试"?我也试过强迫android:debuggable="true"我的AndroidManifest.xml,但无济于事.Android Studio似乎附加到正在运行的进程(应用程序在首次启动时显示"附加到调试器"消息几秒钟).

debugging android android-studio

7
推荐指数
2
解决办法
4470
查看次数

将Android Studio 2.0模拟器与Google服务配合使用

根据Android开发者博客中的一篇文章,关于Android Studio 2.0发布:

Android模拟器 - 新模拟器的运行速度比Android之前的模拟器快3倍,而且通过ADB增强功能,您现在可以将应用程序和数据推送到模拟器的速度比物理设备快10倍.与物理设备一样,官方Android模拟器也包含内置的Google Play服务,因此您可以测试更多API功能.最后,新的模拟器具有丰富的新功能来管理呼叫,电池,网络,GPS等.

大!这正是我们所需要的.在文章的后面,他们解释了我们如何在我们的模拟器中获得Google Play服务.

尝试使用新的模拟器就像将SDK工具更新到25.1.1或更高版本一样简单,使用推荐的x86系统映像之一创建一个全新的Android虚拟设备,您就可以开始了.查看文档,了解有关Android模拟器的更多信息.

我安装了SDK Tools 25.1.1.我有一个运行x86系统映像的全新Android虚拟设备.

没有谷歌游戏服务:-(

我错过了什么?

android android-emulator google-play-services android-studio

6
推荐指数
1
解决办法
5488
查看次数

exec和popen之间的区别

我想在我的服务器上运行外部PHP文件我发现我可以使用exec或者popen.

我读过popen用于Windows的exec用途,用于Linux.

另一方面,我看到了popen可以用于Linux的示例.我还是个新手.可能吗?如果两者兼而有之exec,你推荐哪种Linux popen

请问有什么好处,因为我仍然感到困惑.

php linux

5
推荐指数
1
解决办法
3542
查看次数

在非对象Laravel 5.0上调用成员函数toJson()

从下面的代码引用,我加入users表,user_details表和user_config表与每个记录相似的键,没有问题(它工作),但当我试图将结果记录转换为json数组时,它给了我这个错误

在非对象上调用成员函数toJson()

public function get_users_table(){
       $users = DB::table('users')
        ->join('user_details', 'users.id', '=', 'user_details.id')
        ->join('user_config', 'users.id', '=', 'user_config.id')
        //->select('users.*', 'contacts.phone', 'orders.price')
        ->get()->toJson();

       return response()->json(['success' => true, 'users' => $users]);
    }
Run Code Online (Sandbox Code Playgroud)

任何想法,帮助?

php laravel laravel-5

5
推荐指数
1
解决办法
6071
查看次数