android浏览器实现收藏功能,Lua布局fusionapp 收藏功能与历史记录实现

第一部分 程序启动时会执行的事件

--程序启动时会执行的事件

--清除缓存

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

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值