我正在搜索SO和网络,但我找不到足够的答案来解决我的问题.好的,我们走了:
每个用户都可以在android上修改屏幕超时.(当屏幕空闲__秒/分钟时关闭屏幕 - 用户选择).但是用户只能修改屏幕超时,而不能在设备实际进入睡眠状态时修改.我在这里发现当设备进入睡眠状态时会发生什么:( CommonsWare非常好的答案)Android睡眠/待机模式
好的,我的问题很简单.我怎么知道我的手机何时会入睡?关闭屏幕后会立即进入睡眠状态吗?屏幕关闭后它会保持"清醒"一段时间吗?最重要的是:特定设备的睡眠模式是否与品牌设备不同(制造商如何实施)或者取决于ROM版本(例如,所有ICS供电设备将在屏幕关闭后X秒进入睡眠状态)?
我想更深入地了解Android是如何工作的,我需要有人来解释视图是如何实际工作的"幕后".
在正常的过程中,我们将使用方法"setContentView(R.layout.ourlayoutfile)"在我们的扩展Activity的onCreate方法中从XML中扩展(这是正确的单词?)视图.然后我们会从该XML中找到Views.
快速示例:如果我们需要找到一个按钮,我们首先需要调用"setContentVIew()",然后在我们的按钮上调用"findViewById".然后我们可以分别使用这个按钮/视图.
我最近开始使用LayoutInflater,因为我找到了"setContentView"方法无法自拔的地方,令我惊讶的是我发现我的Android知识非常好.我甚至无法管理LayoutInflater.我很尴尬.
一天之后,我设法用LayoutInflater来扩充视图.实际上它并不是很难,我从一开始就非常接近但是有一个参数我不知道要传递什么.请看一下这段代码:(这都发生在onCreate方法的Activity上)
View v = getLayoutInflater().inflate(R.layout.activity_main, (ViewGroup) getWindow().getDecorView());
final Button b = (Button) v.findViewById(R.id.button1);
final TextView tv = (TextView) v.findViewById(R.id.textView1);
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
tv.setText("Just random text");
}
});
}
Run Code Online (Sandbox Code Playgroud)
这段代码工作正常,但我遇到的问题实际上是这行代码:
getLayoutInflater().inflate(R.layout.activity_main, null);
Run Code Online (Sandbox Code Playgroud)
我总是传递"null"参数,当然它没有用.甚至在文档中它说这个参数是可选的!(为什么?,如果需要的话)?
我做了简单的布局.请查看它以及它与HiearchyViewer的外观:
上图中的第二个参数是什么,为什么我们需要它?可能是连接我的布局(R.layout.activity_main),使用Android提供的View(从左到右的第一个视图 - 父视图).如果是这样,为什么Android没有自动连接这两个?!
如果还有一些有用的东西,我需要知道有关视图我会很高兴,如果有人可以告诉我(或发布一个链接).另外如果我能获得一些如何工作的网站的链接,那将是很好的..等有用的东西.
如果有人愿意回答我的问题,请解释一下.非常感谢大家!
我几乎是java初学者,我来问stackoverflow论坛一个简单的问题.我已经在SO上检查了类似的问题,但是我没有找到想要的答案,LINK:实现接口的类和那个接口之间有什么关系吗?
我们知道Cat是否扩展了Animal,这里有一种关系.所以猫是动物(但不一定是动物.动物也是狗......).我们知道这种关系是"是 - " - 继承.
如果我们还有另外两个班级:Girl和Candy,如果班级Girl持有Candy的实例,那么我们将这种关系命名为"has-a" - 组合,因为我们可以说Girls有一个糖果.
如果我上面的例子弄错了,请纠正我.
无论如何,我的问题是它是否在实现相同接口的类的对象之间存在某种关系?让我们说:
public class A implements InterfaceA {}
public class B implements InterfaceA {}
Run Code Online (Sandbox Code Playgroud)
如果有某种关系,我们如何利用这种关系?感谢您提前的答案..
编辑:对于那些认为没有关系的人,我有一本书"java如何编程第九版",并且有一个UML图表显示在"关系"中实现相同界面的类?
图片:
这是我的PreferenceActivity
(我主要活动的内部课程)
public static class TestSettings extends PreferenceActivity implements Preference.OnPreferenceClickListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.pref);
getPreferenceManager().findPreference("key").setOnPreferenceClickListener(this);
}
Run Code Online (Sandbox Code Playgroud)
这是我的onPreferenceClick
:
@Override
public boolean onPreferenceClick(Preference preference) {
FragmentClass fc = new FragmentClass();
fc.show(fm, "TAG");
return false;
}
Run Code Online (Sandbox Code Playgroud)
这是我的FragmentClass
(TimePicker
对话框):
public class FragmentClass extends DialogFragment implements TimePickerDialog.OnTimeSetListener {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
return new TimePickerDialog(getActivity(), this, 15, 00, false);
}
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
Log.i("APP", "hour: "+hourOfDay+", …
Run Code Online (Sandbox Code Playgroud) 我和朋友讨论过,他告诉我一些应用程序可以安装在android上,而菜单中没有显示任何活动或图标.因为我也在研究机器人,所以我很惊讶,因为我从来没有听说过.
应用程序的名称显示在"管理应用程序"部分,并且易于卸载.
所以现在我要问程序员.如何(如果是)安装这种应用程序是可能的?(没有活动或发射器).
我想通过Android应用赚钱,但我面临一个大问题.Google不支持我的国家/地区(适用于商家).所以我不能使用他们的支付系统来销售应用程序或应用内商品.此外,他们还有一项政策,即开发人员不能在Google Play上发布的应用程序中使用第三方支付系统(如PayPal).
但我想知道这样做是否"合法".
来自Google Play政策的报价:
付费和免费应用程序购买:开发人员从Google Play收取应用程序和下载费用必须使用Google Play的付款系统.应用内购买:在从Google Play下载的游戏中提供虚拟商品或货币的开发者必须使用Google Play的应用内结算服务作为付款方式.在从Google Play下载的其他应用类别中提供其他内容,服务或功能的开发者必须使用Google Play的应用内结算服务作为付款方式,但以下情况除外:付款主要用于实体商品或服务(例如购买电影票,或者购买价格还包括硬拷贝订阅的出版物; 或者支付数字内容或可能在应用程序本身之外消费的商品(例如 购买可以在其他音乐播放器上播放的歌曲.开发人员不得误导用户他们销售的应用程序,也不得误导他们销售的任何应用内服务,商品,内容或功能.
请建议我.谢谢!
我不明白.为什么"标题"和"文本"之间有这么大的空间?请看一下这段代码:
<h3 style="background:#000">Title</h3>
<p class="d" style="background:#000">
Text Text Text Text Text Text Text Text Text Text Text
</p>
Run Code Online (Sandbox Code Playgroud)
绝对没有其他样式应用于这两个元素,但仍有很多未使用的空间.有人有想法吗?
我正在做一个游戏,我在一些(奇怪的)低端Android设备(Galaxy S mini,Galaxy ACE)上遇到问题,实际上硬件不好.FPS适用于85+以及其他设备(HTC Desire,Sony Xperia Arc S,Samsung Galaxy S,HTC Wildfire),FPS是"正常"(约60FPS).计算机上也显示了60 FPS.显然85+ FPS太多,因为游戏体验不同,它可能会给那些玩85FPS +的玩家带来不公平的优势.
我想将FPS限制在MAX 60.
我已经搜索了这个论坛,我已经找到了我正在问的确切问题. 使用Thread.sleep()限制Libgdx游戏中的FPS不起作用
用户@daniel的(已接受)解决方案是这样的:
Thread.sleep((long)(1000/30-Gdx.graphics.getDeltaTime()));
Run Code Online (Sandbox Code Playgroud)
但事情是,这对我不起作用.如果我使用那个代码(30代替60),我得到30-33 FPS或者如果我只使用Daniel的代码我得到大约15-17 FPS.为什么这样,为什么不为我工作?如何将所有设备的FPS限制为MAX 60?我在计算机和设备上测试了这段代码.
任何帮助HIGHLY appriciated.谢谢.
我是套接字编程的新手,我需要澄清一些事情。
两个客户端之间是否需要服务器通信?让我解释一下我的意思:
示例 1:
客户端 1 IP 地址。你现在可以在没有我的情况下互相交谈。
示例 2:
所以我的问题是:在你遇到两个客户端之后,你需要一个服务器来在它们之间进行通信吗?还是我完全走错了路?
编辑:
这背后的目的是我想将我非常简单的手机游戏扩展为多人游戏。举个例子,我想在 PACMAN1 手机上显示 PACMAN2,反之亦然。
是否可以在sql列中为未知数字添加数字?例如:
在我的sql数据库中有一个名为"overallRating"的列.我想为该列中存储的任何数字添加+1.因此,如果数字14存储在overallRating列中,则+1将使其成为15.
如果不首先从sql中删除这个数字,这可以做到这一点吗?就像是:
UPDATE MyTable SET overallRating+=1 WHERE url='myurl..'
Run Code Online (Sandbox Code Playgroud)
编辑当已经给出解决方案时:
实际上我没有尝试过上面的代码,但我现在做了,它也有效.我第一次尝试时出现语法错误,这就是为什么我认为它不起作用.
java ×6
android ×5
c# ×1
client ×1
css ×1
google-play ×1
html ×1
libgdx ×1
relationship ×1
server ×1
sleep-mode ×1
sockets ×1
sql ×1
view ×1
xml ×1