这里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?这真的让我的代码更难阅读....
此外,遵循这些准则,方法中使用的局部临时变量没有限制,因此很容易被误认为是公共全局字段(也没有限制)......这也是我发现错误,因为它可能是错误的来源...我理解有一种区别于字段的方法,但私有/受保护的成员字段是应用程序中使用最多的字段,它们应该不那么"可读".
你怎么看?我应该遵循指南吗?
根据Gameboy编程手册,
HALT模式被以下事件取消,这些事件具有指示的起始地址.
到/ RESET端子的低电平信号起始地址:0x0000
中断使能标志及其对应的中断请求标志置位
IME = 0(禁止中断主器件使能标志)起始地址:低于HALT指令的地址
IME = 1(允许中断主控使能标志)起始地址:每个中断起始地址
假设一个程序进入HALT模式,中断主器件使能标志被使能IME = 1,中断使能被禁止任何中断0xFF0F = 0,会发生什么?实际的Gameboy设备的预期行为是什么?
我有一个包含大量软件包的庞大Java应用程序.这些包中的某些类依赖于其他包中的类.给定一个类,我想知道它上面的所有依赖类,反之亦然.GUI工具应该非常有用.
我在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
如果我创建一个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内部创建一个类,这也不是我的问题.
我希望启动图像开始并保持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 Studio编写的应用程序,但我似乎无法从Android Studio的"调试"视图中获取任何有用的调试信息.我正在使用看起来很糟糕的"Debug"图标启动我的应用程序,但是"Debug"视图没有任何有用的东西(例如,我的应用程序没有堆栈帧):

即使我的应用程序崩溃,我也没有得到任何有用的信息.我记得,ADT插件会自动让你掉线导致崩溃.
我是否需要做任何其他事情才能使我的应用程序在Android Studio中"可调试"?我也试过强迫android:debuggable="true"我的AndroidManifest.xml,但无济于事.Android Studio似乎附加到正在运行的进程(应用程序在首次启动时显示"附加到调试器"消息几秒钟).
根据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
我想在我的服务器上运行外部PHP文件我发现我可以使用exec或者popen.
我读过popen用于Windows的exec用途,用于Linux.
另一方面,我看到了popen可以用于Linux的示例.我还是个新手.可能吗?如果两者兼而有之exec,你推荐哪种Linux popen?
请问有什么好处,因为我仍然感到困惑.
从下面的代码引用,我加入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)
任何想法,帮助?