无意中翻到的 1年前写的坚持天数的Android APP

今天上天地会看到一个小朋友有问到为什么自己开发的安卓应用在点击返回键的时候 程序还在后台没有退出。
嘛~我正好想到一年前写过安卓APP的时候也遇到过这个问题的说,不过我倒是解决了。
于是翻出来看看~嘛嘛~话说一年前虽然我代码还写在时间轴上,不过代码书写的还挺整齐的嘛。
下面是裁图和源码

源码
[cc lang=”actionscript3″ nowrap=”false”]

import flash.filesystem.File;
import flash.filesystem.FileStream;
import flash.events.TouchEvent;
import flash.text.TextField;
import flash.events.MouseEvent;
import flash.filesystem.FileMode;
import flash.events.Event;

var day:int = 0;
var myText:String;
var Cd:Number = 0;
var myArray:Array = [];
var myDate:Date = new Date ;
var myDay:uint = myDate.getDay();

stage.addEventListener(Event.RESIZE,onSize);
myBtn.addEventListener(MouseEvent.CLICK,onCon);
myBtn.buttonMode = true;
myBtn1.addEventListener(MouseEvent.CLICK,onCan);
myBtn1.buttonMode = true;

myDg.myBtn.addEventListener(MouseEvent.CLICK,conDg);
myDg.myBtn.buttonMode=true;
myDg.myBtn1.addEventListener(MouseEvent.CLICK,canDg);
myDg.myBtn1.buttonMode=true;

init();

function init()
{
getInfo();
myDg.visible=false;
myDayText.text = Cd.toString() + “天”;
if (Capabilities.cpuArchitecture == “ARM”) //如果运行的芯片是ARM构建,则返回按钮直接退出
{
NativeApplication.nativeApplication.addEventListener(Event.DEACTIVATE, handleDeactivate, false, 0, true);
}
}

function onSize(e:Event)
{
myBg.width=stage.stageWidth;
myBg.height=stage.stageHeight;
}
function onCon(e:MouseEvent)
{
if (myDay – 1 == day) //连续2天
{
Cd++;
}
else if (myDay==1) //如果为周一,判断昨天是否为周日
{
if (day == 7)
{
Cd++;
}
}
else if (myDay==day) //如果同是今天
{

}
else //如果不连续则复位
{
Cd = 1;
}
day = myDay;
setInfo();
getInfo();
}

function onCan(e:MouseEvent)
{
myDg.visible=true;
}

function conDg(e:Event)
{
day = myDay;
Cd = 1;
setInfo();
getInfo();
myDg.visible=false;
}

function canDg(e:MouseEvent)
{
myDg.visible=false;
}
function handleDeactivate(event:Event):void
{
NativeApplication.nativeApplication.exit();
}

function getInfo()
{
var date:Date = new Date ;
//从用户SD卡中的目录读取文件
var myFile:File = File.documentsDirectory.resolvePath(“Aoicocoon/log.txt”);
var fs:FileStream=new FileStream();
try
{
if (! myFile.exists)
{
fs.open(myFile,FileMode.WRITE);
fs.writeUTFBytes(date.getDay()+”/1″);
}
else
{
fs.open(myFile,FileMode.READ);
}
myText=(fs.readUTFBytes(fs.bytesAvailable)).toString();
myArray = myText.split(“/”);
day = myArray[0];
Cd = Number(myArray[1]);
myDayText.text = Cd.toString() + “天”;
//trace(“read”);
}
catch (e: * )
{
getInfo();
}
finally
{
fs.close();

}
}
//文本文件内容为 天/坚持/次数 1/true/10;
function setInfo()
{
var myFile:File = File.documentsDirectory.resolvePath(“Aoicocoon/log.txt”);
var fs:FileStream=new FileStream();
//保存数据,如果文件存在就续写,不存在就创建。
if (! myFile.exists)
{
fs.open(myFile,FileMode.WRITE);
fs.writeUTFBytes(day+”/”+Cd);
}
else
{
//trace(“save”);
fs.open(myFile,FileMode.WRITE);
fs.writeUTFBytes(day+”/”+Cd);
}
fs.close();
}
//文本文件内容为 天/坚持/次数 1/true/10;
[/cc]

发表评论

电子邮件地址不会被公开。 必填项已用*标注