使用这个例子会遇到一个问题:R.layout.list_items cannot be resolved or is not a field 不被识别。
原来是需要新建一个文件,内容就是文中第二段代码,取名为list_items.xml,并且加入到工种的res/layout目录中去。(可以直接拖进去)
写出来运行之后,发现结果基本可以实现,但是点击通知栏进入的Activity是一个新创建的Activity,而不是原先正在运行的Activity,这和我的想法是背道而驰的。当你点击返回按键退出这个Activity之后,发现,原先正在运行的Activity终于出现了。明显这样是不符合条理的。
如果要实现点击通知图标返回已经运行的程序,贴出关键的部分代码。
public void shownotification(String msg)
{
NotificationManager barmanager=(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
Notification notice = new Notification(android.R.drawable.stat_notify_chat,"服务器发来信息了",System.currentTimeMillis());
notice.flags=Notification.FLAG_AUTO_CANCEL;
Intent appIntent = new Intent(Intent.ACTION_MAIN);
//appIntent.setAction(Intent.ACTION_MAIN);
appIntent.addCategory(Intent.CATEGORY_LAUNCHER);
appIntent.setComponent(new ComponentName(this.getPackageName(), this.getPackageName() + "." + this.getLocalClassName()));
appIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK| Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);//关键的一步,设置启动模式
PendingIntent contentIntent =PendingIntent.getActivity(this, 0,appIntent,0);
notice.setLatestEventInfo(this,"通知","信息:"+msg, contentIntent);
barmanager.notify(STATUS_BAR_ID,notice);
}
需要导入包
import android.os.Handler;
re: 如何快速更改IP 游子 2011-12-12 21:53
@111
不就是个纯文本吗?
@rpual
不明白你说的,是没有CRC吗?哪一层的CRC没有?
re: 防贼:用电脑+普通摄像头视频监控 游子 2011-04-30 22:37
@sky_wu
@Machen
@Machen
@沉伟
@韩先生
@tongyongwei
@陈振
@沉默味道
@郝雷
@peterwu
@peterwu
@sjc
@larryptboat
@Charles
@张伟
@yang50619
@赌东道
@pureflame
@陈先生
@张
@gcy
@龙
@KF
@Jason
@fancy
@杜先生
@seven
@#
@黄生
@自由飛翔
@gg
@guofangwu
@ccc
你好,軟件下載地址已經發送到您的郵箱。請查收。处理太晚,深感歉意。
re: 挺进前三甲 游子 2011-02-23 09:33
@CoffeeCat
恭喜你超越我,成第二了!
2. CoffeeCat (rss)
(74,10-26 09:17,227086)
3. 游子 (rss)
(308,02-23 09:30,213056)
re: 我最喜欢的花 游子 2010-05-05 12:41
穷穷穷开心,哈哈。
re: 分享一首诗--转 游子 2010-05-05 12:36
那条街有没有那么一个洞?
re: 梦,北京,老爸 游子 2010-05-05 12:32
路过......
re: 飞信接口 游子 2009-12-02 12:19
另一个网页版本飞信
http://sms.api.bz/
不过只支持发送,不能加好友。
re: 乡下人 游子 2009-11-16 13:01
又做了一回‘乡下人’。
re: 我和同居女友不得不说的故事 游子 2009-07-03 16:55
人气不如想象中那么旺
re: 端午节 游子 2009-06-01 14:35
人善我,我亦善之;人不善我,我亦善之! ------不容易啊
除了优先级,也有一种情况会有不同结果吧?
char i = 255;
i + i ;得到0
i | 1; 得到255
re: 关于缩进与高亮 游子 2009-06-01 14:12
呵呵,看不懂。
是写什么编辑器吧。
虽然结束了,还是把过程补上:
第三场 5月9日 周六 结束 休斯顿 火箭94-108湖人
第四场 5月11日 周一 结束 休斯顿 火箭99-87湖人
第五场 5月13日 周三 结束 洛杉矶 火箭78-118湖人
第六场 5月15日 周五 结束 休斯顿 火箭95-80湖人
第七场 5月18日 周一 待定 洛杉矶 火箭70-89湖人
输得很不甘。
re: 防贼:用电脑+普通摄像头视频监控 游子 2009-05-26 23:08
@kidfang
@网乐动力
你好,軟件下載地址已經發送到您的郵箱。請查收。
re: 与异性同居的日子 游子 2009-05-21 23:52
@陌生人
re: 与异性同居的日子 游子 2009-05-21 23:21
我就奇了怪了,到现在还有人打电话来问房子,女生也有。怎么去年也登记了就没有人问呢?
re: 五二-动物园 游子 2009-05-21 23:17
@陌生人
补上照片了。不是我约的,也不好玩。
VC2005的可以兼容VC6.0的吧,但反过来肯定不行
当地时间4日洛杉矶报道)今晚,火箭队客场100-92客场击败湖人,赢得季后赛次轮第一场比赛的胜利,姚明28分10个篮板,科比32分。
太意外了,太兴奋了!
re: 五二-动物园 游子 2009-05-05 14:14
@陌生人
谢谢你,最熟悉的陌生人!
最新战报:北京时间5月1日,火箭在主场迎战开拓者队,这是双方首轮的第六场比赛。最终火箭在主场92-76大胜开拓者,以4-2的大比分淘汰对手,自从1997年之后,12年来首次晋级西部半决赛。
背水一战的开拓者队回到波特兰主场后顿时变得生龙活虎。28日,他们以88∶77战胜火箭队,逼得火箭队只好再回休斯敦进行双方七战四胜的季后赛系列赛第六场比赛。
北京时间4月27日,火箭主场以89-88险胜开拓者,赢下双方的首轮第四场对决,从而总比分上以3-1拿下赛点。
晉級有望!
当地时间24日休斯顿火箭队主场86-83险胜开拓者,季后赛首轮总比分2-1领先对手。姚明7投2中拿到7分13个篮板,斯科拉19分9个篮板。
第二場,火箭整場領先,但开拓者队打好了末节的关键几个球,最终以107-103获胜. 該死的四節崩盤的火箭。
re: 浅谈网页游戏[未登录] 游子 2009-04-21 17:55
你还在读书啊,不错不错。
3.19 在双方的首场比赛中,火箭以108-81大胜开拓者,从而取得了系列赛总比分1-0的领先。
这只是个说明,你不按说明来办事也不会怎么样,svn照样工作得很好。
branches:分枝
当多个人合作(Sally和John)时,可能有这样的情况出现:John突然有个想法,跟原先的设计不太一致,可能是功能的添加或者日志格式的改进等等,总而言之,这个想法可能需要花一段时间来完成,而这个过程中,John的一些操作可能会影响Sally的工作,John从现有的状态单独出一个project的话,又不能及时得到Sally对已有代码做的修正,而且独立出来的话,John的尝试成功时,跟原来的合并也存在困难。这时最好的实践方法是使用branches。John建立一个自己的branch,然后在里面实验,必要的时候从Sally的trunk里取得更新,或者将自己的阶段成果汇集到trunk中。(svn copy SourceURL/trunk \ DestinationURL/branchName \ -m "Creating a private branch of xxxx/trunk." )
trunk:主干
主干,一般来说就是开发的主要呆的地方,
tag:
在经过了一段时间的开发后,项目到达了一个里程碑阶段,你可能想记录这一阶段的代码的状态,那么你就需要给代码打上标签。(svn cp file:///svnroot/mojavescripts/trunk \ file:///svnroot/mojavescripts/tags/mirrorutils_rel_0_0_1 \
-m "taged mirrorutils_rel_0_0_1")
另有一说,无所谓谁对谁错。
trunk:表示开发时版本存放的目录,即在开发阶段的代码都提交到该目录上。
branches:表示发布的版本存放的目录,即项目上线时发布的稳定版本存放在该目录中。
tags:表示标签存放的目录。
在这需要说明下分三个目录的原因,如果项目分为一期、二期、三期等,那么一期上线时的稳定版本就应该在一期完成时将代码copy到branches上,这样二期开发的代码就对一期的代码没有影响,如新增的模块就不会部署到生产环境上。而branches上的稳定的版本就是发布到生产环境上的代码,如果用户使用的过程中发现有bug,则只要在branches上修改该bug,修改完bug后再编译branches上最新的代码发布到生产环境即可。tags的作用是将在branches上修改的bug的代码合并到trank上时创建个版本标识,以后branches上修改的bug代码再合并到trunk上时就从tags的version到
re: 防贼:用电脑+普通摄像头视频监控 游子 2009-04-19 19:38
@lanse
@安仔
@freecode
@carin chen
好,軟件下載地址已經發送到您的郵箱。請查收。
re: 农民房的价格出租小区房子 游子 2009-04-19 18:53
由於出差一個多月,房子沒有租出去,繼續出租。
re: 防贼:用电脑+普通摄像头视频监控 游子 2009-02-23 21:48
@say
@linlone
@lpj
三位好。
软件下载地址已经发送到您的邮箱,请查收。
@cc
您的郵箱沒有留下,發哪裡?
在WINDOWS平台上开发多语言界面一般有三种方法。
1. 为每种语言发布单独的版本(如Microsoft Windows)
2. 包括不只一种语言资源的可执行文件,或者独立的DLL文件。(如IsoBuster)这也是我们使用最多的方法。
3. 外部语言包的可执行文件。象Netants, FlashGet, Tweak-XP, PatchWise Free等等软件在支持多语言时已经越来越多的使用外部语言包(*.ini或者*.lng)来替代DLL文件。由于语言包可以动态地修改,所以软件的重新编译就没有必要了。而且,这很容易改变语言和保持外部语言包的独立性。
在这里,我们来看一看第三种方法。因为它是最容易,最简单的解决方法。
1。第一步是最重要的。你必须在你的工程里面添加文件LangIni.h和LangIni.cpp。
2.然后,在你的C****App类中添加变量。
3.在你的C****Dlg:: ()函数中,初始化你的按钮/文本。添加下列代码:
void C****Dlg:: OnInitDialog (void)
{
SetDlgItemText(IDOK,
theApp.m_langINI.GetValue("Button",
"OK"));
SetDlgItemText(IDCANCEL,
theApp.m_langINI.GetValue("Button",
"Cancel"));
SetDlgItemText(IDC_PROMPT,
theApp.m_langINI.GetValue("Prompt",
"Prompt"));
SetDlgItemText(IDC_PROMPT_ENGLISH,
theApp.m_langINI.GetValue("Prompt",
"Lang1"));
SetDlgItemText(IDC_PROMPT_CHINESE,
theApp.m_langINI.GetValue("Prompt",
"Lang2"));
}
4.然后,为单选按钮的ON_BN_CLICKED事件添加句柄:
void CUILangDlg::OnBnClickedPromptEnglish()
{
// TODO: Add your control notification handler
// code here
theApp.m_langINI.LoadFile("english.ini");
InitControls();
}
void CUILangDlg::OnBnClickedPromptChinese()
{
// TODO: Add your control notification handler
//code here
theApp.m_langINI.LoadFile("chinese.ini");
InitControls();
}
这就完成了基本的工作。那么。INI中的文件到底要包括哪些内容呢?
在INI文件中,你只需根据你的菜单需要输入要改变的内容即可。如在示例中,程序需要从BUTTON中取值,那我们就在BUTTON一项中输入内容即可。示例中的CHINESE.INI文件内容如下:
[Button]
OK=确定
Cancel=取消
[Prompt]
Prompt=选择语言
Lang1=英语
Lang2=中文
这只是一个对话框的例子。对一个软件来说的话,INI文件也不会很复杂。你需要在记事本文件中输入相应菜单即可。一般一个应用程序包含有菜单,和标题,状态栏等。那就需要象下面一样:
[Application]
Title=示例
[Dialog] ;对话框
About Title=关于示例
Lang Title=选择语言
Lang Prompt=请选择语言
OK=确定
Cancel=取消
[File Menu]
1000=&File
1001=&New ;改变后菜单上的内容
……
1001=”打开文件%New” ;改变语言后状态栏的内容,%New表示映射工具条
……
怎样,是不是比较简单。而且这种方法已经被越来越多的软件所采用,我们也不妨试试看!
re: 关于‘软件开发者面试百问’ 游子 2009-02-06 11:32
哪里有答案 ?
re: 关于‘软件开发者面试百问’ 游子 2009-02-06 11:31
好东东,我收藏了
re: 防贼:用电脑+普通摄像头视频监控 游子 2009-02-03 15:25
@pet
@YZ
两位好,
软件下载地址已经发送到您的邮箱,请查收。
re: 2008-2009 NBA全明星 游子 2009-02-01 17:01
北京时间:
2月16号
5:00am-1:00pm:球迷嘉年华
8:00am-10:00am:名人赛
10:00am-12:00am:新秀赛
12:00am:NBDL梦工厂
2月17号
1:00am-1:00pm:球迷嘉年华
9:00am-12:00am:投篮之星赛
9:00am-12:00am:技巧挑战赛
9:00am-12:00am:三分球大赛
10:00am-1:00pm:扣篮大赛
2月18号
1:00am-9:00am:球迷嘉年华
9:00am:全明星象征性跳球
9:00am:全明星赛正式开始
re: 2008-2009 NBA全明星 游子 2009-02-01 17:00
东部全明星首发阵容名单:
德怀特-霍华德,勒布朗-詹姆斯,凯文-加内特,德维恩-韦德,阿伦-艾弗森;
西部全明星首发阵容名单:
科比-布莱恩特,姚明,蒂姆-邓肯,克里斯-保罗,阿玛雷-斯塔德迈尔。