我一直在研究Android SDK平台,有点不清楚如何保存应用程序的状态.因此,考虑到'Hello,Android'示例的这种小型重新设计:
package com.android.hello;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class HelloAndroid extends Activity {
private TextView mTextView = null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mTextView = new TextView(this);
if (savedInstanceState == null) {
mTextView.setText("Welcome to HelloAndroid!");
} else {
mTextView.setText("Welcome back.");
}
setContentView(mTextView);
}
}
Run Code Online (Sandbox Code Playgroud)
我认为这对于最简单的情况就足够了,但无论我如何远离应用程序,它总是以第一条消息响应.
我确信解决方案就像覆盖onPause或类似的那样简单,但我已经在文档中捅了大约30分钟左右,并且没有找到任何明显的东西.
我正在为我编写的Java程序制作一个迷你ORM ...我的数据库中的每个表都有一个类,都继承自ModelBase.
ModelBase 是抽象的,提供了一堆静态方法,用于从db中查找和绑定对象,例如:
public static ArrayList findAll(Class cast_to_class) {
//build the sql query & execute it
}
Run Code Online (Sandbox Code Playgroud)
所以你可以做一些事情,比如ModelBase.findAll(Albums.class)获得所有持久专辑的列表.我的问题是,在这个静态上下文中,我需要从具体类Album中获取相应的sql字符串.我不能有像这样的静态方法
public class Album extends ModelBase {
public static String getSelectSQL() { return "select * from albums.....";}
}
Run Code Online (Sandbox Code Playgroud)
因为Java中没有静态方法的多态性.但我不想创建getSelectSQL()一个实例方法,Album因为我需要创建一个实例,只是为了获得一个在行为上非常静态的字符串.
目前,findAll()使用反射来获取相关类的相应sql:
select_sql = (String)cast_to_class.getDeclaredMethod("getSelectSql", new Class[]{} ).invoke(null, null);
Run Code Online (Sandbox Code Playgroud)
但这非常糟糕.
那么任何想法?这是我一次又一次的一般问题 - 无法在类或接口中指定抽象静态方法.我知道为什么静态方法多态不会也无法工作,但这并不能阻止我再次使用它!
是否有任何模式/构造允许我确保具体的子类X和Y实现一个类方法(或者失败,类常量!)?
我正在运行一个旧的小应用程序,它在本地文件的浏览器中运行,我一直得到,"为了保护您的安全,Internet Explorer已限制此网页运行脚本或可以访问您的计算机的Activex控件"消息.
是否有注册表设置或我可以调整以允许它自动运行的东西?
开发人员当前和较新版本的.Net不支持Windows 2000是否重要?
我担心我的几个客户仍然使用Windows 2000,虽然我可能决定有一天停止支持Windows 2000,但我不喜欢微软正在推销人们的产品.
有谁能看到微软在未来用XP做这件事来刺激Vista及以后的销售?
只是为了澄清一下,这不是以任何方式抨击MS,我喜欢MS,但我真的很关心我的意见.
相比之下,我看不到C++ 0x实现者说"它不适用于Windows 2000"
我真的想说服自己,我应该转向.Net,但这是我的担忧之一.
只是好奇知道哪些CPU架构支持比较和交换原子基元?
关于如何在ASP.NET MVC中单元测试视图的任何想法?
当我启动我的MVC项目时,我厌倦了遇到死亡的黄色屏幕,因为当Action我的控制器的一个方法更改名称时,我忘记更新视图.
给定一个名为"widget_ids"的数据库字段,其中包含"67/797/124 /"或"45 /"之类的数据,其中数字是斜杠分隔的widget_ids ...您将如何使用SQL创建更新语句:如果id为X的行的widget_ids包含文本"somenumber /"则不执行任何操作,否则将"somenumber /"附加到其当前值"
你可以用SQL,或者更具体地说,sqlite做类似的事情吗?这是因为某些原因在程序中做得更好还是支持SQL中的"if-then"语法?
我想在网络服务器上观看文件夹树以进行更改.这些文件都有特定的扩展名.树中有大约200个文件夹,大约有1200个文件带有我正在观看的扩展名.
我无法写服务在服务器上运行(禁止!)所以解决方案必须是客户端的本地解决方案.及时性并不是特别重要.我可以在通知中花费一分钟或更长时间.我正在关注创建,删除,重命名和更改.
使用.NET System.IO.fileSystemWatcher会在服务器上创建大量负载吗?
10个单独的观察者如何减少正在观看的文件夹/文件的数量?(从700个文件夹中减去200个,从总共5500个文件减少到1200个)更多网络流量而不是更少?我的想法是在服务器上重新洗牌,将观看的文件放在1棵树下.我可能并不总是有这个选项,因此观察团队.
我认为另一个解决方案是定期检查FSW是否在服务器上造成过度负载,或者它是否适用于一大堆SysAdmin类型的原因.
有一个更好的方法吗?
我想记录哪些高级(即C++非内联汇编程序)函数或宏可用于Compare And Swap(CAS)原子基元......
例如,在x86 WIN32有一个家庭的功能_InterlockedCompareExchange在<_intrin.h>头.
由于Unicode缺少一系列零宽度排序字符,我需要确定允许我强制按列表自动按字符值排序的特定顺序的等效字符.遗憾的是,列表项不是按字母顺序排列,也不能用可见字符作为前缀,以确保排序结果与所需结果匹配.
在普通的拉丁字母文本面前可以抛出哪些Unicode字符,并且不会出现,但仍允许我以我需要的方式"尖峰"排序?
(顺便说一句,这是使用Drupal 5和用户配置文件列表字段完成的.不要打扰建议将其更改为词汇/类别.)
.net ×2
atomic ×2
multicore ×2
android ×1
asp.net-mvc ×1
c++ ×1
database ×1
interface ×1
java ×1
legacy ×1
performance ×1
sorting ×1
sql ×1
sqlite ×1
static ×1
syntax ×1
unicode ×1
unit-testing ×1
windows-xp ×1