1.适用什么样的通讯协议来和硬件通讯?我们组使用的是MQTT协议,这个等做完展开说
2.昨天做app时需要一个预约功能,从主界面进入预约界面,从预约界面开启预约,会有一个倒计时,启动后进入主界面,我们是需要这个预约界面继续计时不停止的。但这个时候就会存在一个问题,就是当我从预约界面返回主界面时,预约界面的activity会被销毁,这样再次从主界面进入预约界面时app会start一个新的activity。在网上查了2个小时资料,最后解决了这个问题。
我们需要做的动作有2个:
1.是将预约界面的activity启动模式变为singleInstance启动模式,这样预约界面就会存在于一个单独的任务栈中。
<activity android:name=".appointment" android:launchMode="singleInstance">
2.单单改变启动模式是没有用的,我们还需要重写返回时触发的方法onKeyDown
//通过重写onKeyDown,配合singleInstance启动模式来实现返回时活动依然运行
//其中,moveTaskToBack(true);这一项挺重要的,当输入false时,只对MainActivity生效,true则对所有的活动生效。
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if (keyCode== KeyEvent.KEYCODE_BACK)
{
moveTaskToBack(true);
return true;
}
return super.onKeyDown(keyCode,event);
}
其中,moveTaskToBack(true);这一项挺重要的,当输入false时,只对MainActivity生效,true则对所有的活动生效。
这样,通过将A和B分在两个任务栈,在预约界面中按下返回时就能不被销毁,重新进入数据依然保留着。
3.我们经常还需要版本控制的内容,其一我们可以通过右键APP-local history-show history来查看12小时内项目改动的历史
但这种方式局限性大,只能查看12小时内的版本变动,所以我们有必要学习别的方式。