メニュ変更ツールv1.3をリリースしました
先日、日本アンドロイドの会関西支部発表部屋に参加してきました。たいへん楽しかったです。そのときに少しお話したDropboxを使ってLuaridaプログラムを実機で動作させる方法ですが、メニュ変更ツールv1.3に実装しました。
先ず、最初にメニュ変更ツールについて説明したいと思います。
メニュ変更ツール
Luaridaは、インテントで呼ばれない限り、起動すると/luarida/luarida.luaスクリプトを実行します。通常、Luarida実行時に表示されるメニュは、luarida.luaに書かれています。メニュ変更ツールは、このluarida.luaを書き換えるツールです。
メニュ変更ツールのmenuchanege.luaのメイン部分を下記に示します。メニュ変更ツールはmenuchange.iniを読み込んで、そこに書いているURL上にあるcsvファイルを読み込み、メニュを生成します。
iniファイルです。
MyURL=http://dl.dropbox.com/u/14702102/luaridapublic/lua filename.get=menuchange.csv
csvファイルには、タイトルと実際にhttp.getするURLと番号が書かれています。番号は個人でcsvを書くときは0〜2以外にしてください。
csvファイルです。
最新のメニュに更新,http://dl.dropbox.com/u/14702102/luaridapublic/lua/luarida.lua.last,1 メニュの無効化,http://dl.dropbox.com/u/14702102/luaridapublic/lua/luarida.lua.non,1 メニュのバックアップ,http://dl.dropbox.com/u/14702102/luaridapublic/lua/luarida.lua.bkup,2 バックアップの復帰,http://dl.dropbox.com/u/14702102/luaridapublic/lua/luarida.lua.ret,0
最新のメニュに更新
Luaridaに標準で添付されているluarida.luaを最新のものに差し替えます。実際にはhttp://dl.dropbox.com/u/14702102/luaridapublic/lua/luarida.lua.lastをluarida.luaに差し替えます。
メニュの無効化
luaridaのメニュを無効化します。luarida.luaの中身をsystem.exit()にします。
バックアップの復帰
バックアップしたluarida.luaを元に戻します。
以上がメニュ変更の主な機能ですが、場合によって、メニュが追加されることもあります。
以下にmenuchange.luaのメインプログラムを書いておきます。
------------------------------------------ --メインプログラム ------------------------------------------ function main() local ret = 0 --iniファイルを読み込みます if(readini()==-1)then toast("変更しないで終了します") return end --差し替えるメニュデータを取得します if(getHttp( MyURL.."/"..filename.get, LuaridaPath.."/menuchange/"..filename.put )==-1)then toast("変更しないで終了します") return end --csvファイルをMenuData[]に読込みます if(readcsv()==-1)then dialog( "メニュデータの取得エラーです" , "変更しないで終了します", 1 ) return end --変更するメニュを決める ret = selectmenu() if( ret==0 )then toast("変更しないで終了します") return end local a = dialog( "Luaridaメニュの変更" , "「"..MenuData[ret].title.."」を適応してもいいですか?", 2 ) if( a~=1 )then toast("変更しないで終了します") return end --luarida.luaのバックアップ os.execute( "dd if="..LuaridaPath.."/luarida.lua of="..LuaridaPath.."/menuchange/luarida.lua.bak" ) if( ret==#MenuData )then --menuchange.iniを削除します os.execute( "rm "..LuaridaPath.."/menuchange/menuchange.ini" ) dialog( "変更成功" , "menuchange.iniを初期化しました", 1 ) system.setrun( LuaridaPath.."/menuchange/menuchange.lua" ) else --メニュをluarida.luaとしてダウンロード toast("luarida.luaのダウンロード中です") if(getHttp( MenuData[ret].url, LuaridaPath.."/luarida.lua" )==-1)then toast("変更しないで終了します") return end end if( tonumber(MenuData[ret].backup)==1 ) then dialog( "変更成功" , "luarida.luaが書き換わりました", 1 ) elseif( tonumber(MenuData[ret].backup)==2 ) then dialog( "変更成功" , "luarida.luaをバックアップしました", 1 ) elseif( tonumber(MenuData[ret].backup)==0 ) then dialog( "変更成功" , "バックアップから復帰しました", 1 ) end end