第一部分 程序启动时会执行的事件
--程序启动时会执行的事件
--清除缓存
function clr()
--导入File类
import "java.io.File"
--显示多选框
items={"浏览记录","缓存文件"}
多选对话框=AlertDialog.Builder(this)
.setTitle("清除记录")
--勾选后执行
.setPositiveButton("确定",function()
if clearhistory==1 and clearall==1 then
File(lstads).delete()
File(lstwebads).delete()
lst={}
lstweb={}
os.execute("pm clear "..activity.getPackageName())
elseif clearhistory==0 and clearall==1 then
os.execute("pm clear "..activity.getPackageName())
elseif clearhistory==1 and clearall==0 then
File(lstads).delete()
File(lstwebads).delete()
lst={}
lstweb={}
else return nil
end
end)
--选择事件
.setMultiChoiceItems(items, nil,{ onClick=function(v,p)
--清除历史
if p==0 then clearhistory=1
end
--清除缓存
if p==1 then clearall=1
end
end})
多选对话框.show();
clearhistory=0
clearall=0
end
--1.地址
favads="/data/data/"..activity.getPackageName().."/fav.lua"
favwebads="/data/data/"..activity.getPackageName().."/favweb.lua"
--2.序列化
function slz(obj)
local lua = ""
local t = type(obj)
if t == "number" then
lua = lua .. obj
elseif t == "boolean" then
lua = lua .. tostring(obj)
elseif t == "string" then
lua = lua .. string.format("%q", obj)
elseif t == "table" then
lua = lua .. "{\n"
for k, v in pairs(obj) do
lua = lua .. "[" .. slz(k) .. "]=" .. slz(v) .. ",\n"
end
local metatable = getmetatable(obj)
if metatable ~= nil and type(metatable.__index) == "table" then
for k, v in pairs(metatable.__index) do
lua = lua .. "[" .. slz(k) .. "]=" .. slz(v) .. ",\n"
end
end
lua = lua .. "}"
elseif t == "nil" then
return nil
else
error("can not serialize a " .. t .. " type.")
end
return lua
end
function rslz(lua)
local t = type(lua)
if t == "nil" or lua == "" then
return {}
elseif t == "number" or t == "string" or t == "boolean" then
lua = tostring(lua)
else
error("can not unserialize a " .. t .. " type.")
end
lua = "return " .. lua
local func = loadstring(lua)
if func == nil then
return nil
end
return func()
end
--3.读取收藏文件
function read_fav()
import "java.io.File"
File(favads).createNewFile()
sfav=io.open(favads):read("*a")
File(favwebads).createNewFile()
sfavweb=io.open(favwebads):read("*a")
--转换成table
fav=rslz(sfav)
favweb=rslz(sfavweb)
end
--4.存储收藏文件
function save_fav()
--转换成string
sfav=slz(fav)
sfavweb=slz(favweb)
--保存
file=io.open(favads,"w+")
io.output(file)
io.write(sfav)
io.flush()
io.close(file)
file=io.open(favwebads,"w+")
io.output(file)
io.write(sfavweb)
io.flush()
io.close(file)
end
--5.收藏夹布局
function favshow()
favlayout={
LinearLayout,
orientation="1",
gravity="center",
layout_width="wrap_content",
layout_height="wrap_content",
{
TextView,
text="",
gravity="center",
layout_width="wrap_content",
textSize="0sp",
background="#000000",
layout_height