iApp实例教程大全


【数组排序】

//首先arr为数组对象
sl("4;5;7;8;6;3",";",arr)
//调用java api
java(null, null, "java.util.Arrays.sort", "Object[]", arr)
//遍历
for(va;arr)
{
//打印
syso(va)
}


//运行结果3,4,5,6,7,8
【设置状态栏文本为深色】

// 代码
java(cs, activity, "android.app.Activity.getWindow")
java(cs2, cs, "android.view.Window.getDecorView")
java(null, cs2, "android.view.View.setSystemUiVisibility", "int", "8192")
【获取QQ昵称】
新建 module.mjava 界面:
/*
* 获取QQ昵称
* @Param qq QQ号码
*/
String getNick(String qq){
    // 获取QQ昵称
    if(sss("NickData") != null){
        String nick = i.json(sss("NickData"), "get", qq);
        if(nick != null) return nick;
    }
    String url = "http://users.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg";
    String data = "uins="+qq;
    String webdata = post(url, data, "gbk");
    webdata = i.sj(webdata, "(", ")");
    Object j = i.json(webdata);
    j = i.json(j, "get", qq);
    String nick = i.json(j, "get", "6");
    // 添加缓存
    if(sss("NickData") == null){
        sss("NickData", i.json("{}"));
        i.json(sss("NickData"), "set", qq, nick);
    }
    return nick;
}
/*
* post提交
* @Param url 链接
* @Param data POST数据
* @Param encode 编码方式
*/
String post(String url, String data, String encode){
    Boolean end = false;
    String webdata = null;
    i.t(
    new com.iapp.interfaces.OnThread(){
        public void run(){
            webdata = i.hs(url, data, encode);
        }
    });
    while(end != true){
        if(webdata != null){
            return webdata;
        }
    }
}
iyu调用:

// 建议调用时加t线程操作,访问接口会有1-3秒延迟
call(nick, "mjava", "module.getNick", "2811187643")
tw(nick)


【打开微信扫一扫】
sit(a,"action", "android.intent.action.VIEW")
sit(a, "classname", "com.tencent.mm", "com.tencent.mm.ui.LauncherUI")
sit(a,"extra","LauncherUI.From.Scaner.Shortcut", true)
sit(a, "flags", "335544320") 
uit(a, "chooser", "微信扫一扫")
【修改图片透明度】
sbp("@b.png",图片)
//载入图片
tcc(图片,"w",宽)
tcc(图片,"h",高)
//获取宽高
javags(ARGB_8888,null,"android.graphics.Bitmap$Config","ARGB_8888")
java(空白图片,null,"android.graphics.Bitmap.createBitmap","int",宽,"int",高,"android.graphics.Bitmap$Config",ARGB_8888)
//创建新图片
javanew(画布,"android.graphics.Canvas","android.graphics.Bitmap",空白图片)
javanew(画笔,"android.graphics.Paint")
javags(STROKE,null,"android.graphics.Paint$Style","STROKE")
//空心
java(null,画笔,"android.graphics.Paint.setStyle","android.graphics.Paint$Style",STROKE)
//透明度0-100
java(null,画笔,"android.graphics.Paint.setAlpha","int",33)
java(null,画布,"android.graphics.Canvas.drawBitmap","android.graphics.Bitmap",图片,"float",0,"float",0,"android.graphics.Paint",画笔)
//us(id,"src",空白图片)
【修改当前Activity的背景暗度】

java(窗口,activity,"android.app.Activity.getWindow")
java(参数,窗口,"android.view.Window.getAttributes")
//0.00-1.00
javass(null,参数,"android.view.WindowManager$LayoutParams","alpha",0.55)

【调用快手打开视频】
/.
这是一个快手视频链接快手视频
点击进去,复制
"http://yongzhou.m.kspkg.com/fw/photo/"
后面的那一节
作为id
然后改下面代码中的id
没了
代码如下:
./
s id=""
sit(意图,"action","android.intent.action.VIEW")
sit(意图,"data","kwai://work/"+id)
uit(意图,"chooser","快手")

【调用图库图片设置显示】


//下方点击事件
sit(a, "action", "android.intent.action.GET_CONTENT")
sit(a, "type", "image/")
uit(a, "result",1)

//界面回调事件
sj(st_iT,"file:"," typ",tp)
f(tp==null)
{
}
else
{
fc(tp,"mhiappsc/bjt/bj.jpg",true,ok)
sbp(tp,zp)
us(1,"background",zp)
//线控件ID,设置背景
}




【微信分享】
说明:此代码可以直接调用微信分享内容到指定好友

s message="分享内容"

//以上为需要分享的内容
sit(a, "action", "android.intent.action.SEND")
sit(a,"classname","com.tencent.mm","com.tencent.mm.ui.tools.ShareImgUI")
sit(a, "extra", "android.intent.extra.TEXT", message)
uit(a, "chooser", "分享朋友")


【支付宝支付】


说明:需要已安装支付宝,此代码将打开支付宝指定转账界面,没有回调结果

s url=""
//以上链接改为你的支付宝二维码链接
s pay="alipayqr://platformapi/startapp?saId=10000007&clientVersion=3.7.0.0718&qrcode="
ss(pay+url,pay)
sit(a,"action", "android.intent.action.VIEW")
sit(a,"data",pay)
uit(a, "chooser", "支付宝捐款")
//以上代码可放在 载入事件或单机触屏事件 随自己变化。

【利用文件信息获取已在本机登录过的QQ】
//初始化QQ集合
s qqsum="本机登录过的QQ号:"

t()
{
  //读取QQ号
  fl("%tencent/MobileQQ/WebViewCheck/",lb)
  for(cn;lb)
  {
    ss("G"+cn,sg)
    sj(sg,"G","config.json",qq)
    ss(qqsum+"\n"+qq,qqsum)
  }
syso(qqsum)
}
【支付宝扫一扫】
说明:需要已安装支付宝才能起效,此代码可以跳转到支付宝扫一扫界面,没有回调结果

s zfb="alipayqr://platformapi/startapp?saId=10000007"
sit(a,"action", "android.intent.action.VIEW")
sit(a,"data",zfb)
uit(a, "chooser", "支付宝扫一扫")
【跳转列表到指定位置】
//列表定位到顶部
us(列表id,"selection","top")

//列表定位到底部
us(列表id,"selection","bottom")

//列表定位到第6个数据
us(列表id,"selection",6)

【获取手机壁纸】

cls("android.app.WallpaperManager", 壁纸类)
javax(壁纸管理器, null, 壁纸类, "getInstance", "android.content.Context", activity)
javax(a, 壁纸管理器, 壁纸类, "getDrawable")
us(1, "background", a)
.显示图片线控件


【判断上下午】
time("H",a)
f(a<=01||a<=11)
{
s a="上午"
}
f(a==12)
{
s a="中午"
}
f(a<=13||a<=24)
{
s a="下午"
}
s b="好"
ss(a+b,c)
us(显示id,"text",c)
tw(c)


【简单替换代码】
//自己改一下ID
ug(11,"text",a)
//获取替换内容
ug(12,"text",b)
//要替换的
ug(13,"text",c)
//替换后的
sr(a,b,c,d)
us(15,"text",d)
//替换结果


【获取浏览器控件链接调用系统打开】

//这个是浏览器ID改一下即可
ug(12,"url",lj)
sit(a, "action", "android.intent.action.SEND")
sit(a, "type", "text/plain")
sit(a, "extra", "android.intent.extra.SUBJECT", "新手册")
sit(a, "extra", "android.intent.extra.TEXT", lj)
sit(a, "flags", 268435456)
uit(a, "chooser", "选择打开方式")





【浏览器自定义进度条】

先添加一个线控件
属性
width=0
height=4dp
orientation=vertical
gravity=center
ut_alignparentbottom=true
backgroundcolor=#ff00a4ff

然后添加一个浏览器控件
浏览器控件浏览器事件进度改变放入代码
swh("w",w)
s2(w/100,ww)
s(st_nS*ww,ww)
ss(ww+"dp",jd)
us(13,"width",jd)
//线控件ID

这段代码新手册也在用超级实用
进度条颜色自己更改线控件颜色即可

【文本控件显示链接可点击】

linksClickable=true
autoLink=web
//代码放入文本控件属性里面

【浏览器隐藏放大缩小按钮】


gvs(5,wv)
//5是浏览器控件ID
java(ws,wv,"android.webkit.WebView.getSettings")
java(null,ws,"android.webkit.WebSettings.setBuiltInZoomControls","boolean",true)
java(null,ws,"android.webkit.WebSettings.setDisplayZoomControls","boolean",false)

//代码放在载入事件
【文本字体无限变色】
t()
{
s xh=100
w(xh>0)

{
s(xh-1,xh)
s a="0123456789ABCDEF"
s b="#FF"
for(1;6)
{
  sran(0,15,i)
  s(i+1,j)
  ssg(a,i,j,c)
  ss(b+c,b)
}
ufnsui()
{
us(4,"textcolor",b)
//4是文本控件ID,自行更改
}
stop(200)
}

}


【获取QQ头像】

s qq=QQ账号
//可以ug(编辑框ID,"text",qq)这段代码是获取编辑框QQ号加载
t()
{
ss("$tx/"+qq+".png",tx)
ss("http://q.qlogo.cn/g?b=qq&s=100&nk="+qq,txlj)
hd(txlj,tx,true,xz)
f(xz=="0")
{
ufnsui()
{
us(显示图像的ID,"src",tx)
}
}

【添加启动图】
//先添加一个线性布局
width=-1
height=-1
orientation=vertical
background=@bj.jpg
//这个是背景图
//把上面这个代码放入线性布局属性里
s jm="这个是跳转界面名称"
t()
{
stop(3000)
//跳转时间
uigo(jm)
end()
}


【有米广告】
//--介绍说明
用于控制有米广告组件,使用前需认真看完本篇。
注意事项:
1. 如需有米广告组件,首先下载有米的组件,并且设置好组件。
2. 此组件需打包后才有效果。

有米官网:https://www.youmi.net/

//--初始化SDK
注意:需放入第一个界面载入事件里。
//初始化有米SDK,放在第一个界面的载入事件里
//此处为测试渠道信息,发布 ID:85aa56a59eac8b3d, 密钥:a14006f66f58d5d7
//输入赋值变量,标识,发布 ID,密钥,是否开启有米的Log输出(一定要换成自己的发布 ID,密钥)
zj(a, "init", "String", "85aa56a59eac8b3d", "String", "a14006f66f58d5d7", "boolean", true)

//初始化积分墙,不使用则不必初始化
//输入赋值变量,标识
zj(a, "initjfq")

//初始化视频广告,不使用则不必初始化
//输入赋值变量,标识
zj(a, "initsp")


//--积分墙广告
//展示全屏积分墙
//输入赋值变量,标识
zj(a, "jfqgo")


//展示悬浮半屏积分墙
//输入赋值变量,标识
zj(a, "jfqbpgo")


//增加积分余额
//输入赋值变量,标识,增加数值
zj(a, "jfqjia", "int", 10)


//扣除积分余额
//输入赋值变量,标识,扣除数值
zj(a, "jfqjian", "int", 10)


//查询积分余额
//输入赋值变量,标识
zj(a, "jfqcha")


//--开屏广告
//输入赋值变量,标识,一个线性布局,跳转的界面
zj(a, "kpgo", "android.view.ViewGroup", v, "String", "b.iyu")


//--插屏广告
//输入赋值变量,标识,是否横屏(1,2),动画数值(1,2,3)
zj(a, "cpgo", "int", 1, "int", 3)


//关闭插屏广告
//输入赋值变量,标识
zj(a, "cphide")


//--视频广告
//输入赋值变量,标识,关闭提示语句
zj(a, "sp", "String", "你要关闭视频吗?")


//--广告条
//输入赋值变量,标识,显示位置(1上2下)
zj(a, "ggt", "int", 1)

//此广告条会返回一个控件,可以使用nvw代码将控件添加至你的指定线性布局进行显示
//输入赋值变量,标识
zj(a, "ggt")

//--其他语言
ilua语言中使用,将zj(a, 替换成 i:zj( 如查询积分余额,local a = i:zj("jfqcha")

ijs语言中使用,将zj(a, 替换成 i.zj( 如查询积分余额,var a = i.zj("jfqcha")


【百度语音SDK+】
//--介绍说明
用于语音识别,语音合成与播放,语音唤醒应用等等。
注意事项:
1. 如需百度语音组件,首先下载组件,并且设置好组件。
2. 此组件需打包后才有效果。
3. 此组件需要申请百度语音api,并获得你的App ID、API Key、Secret Key
4. 此组件必须自己配置 application标签, 如(需要修改成自己的App ID、API Key、Secret Key):
        <meta-data android:name="com.baidu.speech.APP_ID" android:value="8321404"/>
        <meta-data android:name="com.baidu.speech.API_KEY" android:value="TU7ZcnqgsFzldFhMYvLBgQnjDTdGXPAs"/>
        <meta-data android:name="com.baidu.speech.SECRET_KEY" android:value="yIT4CpMmmKU3KsEXyTEGSGZeMZrNVsrs"/>
//--唤醒应用
开启唤醒功能后,可对手机说出唤醒词:我跟你讲、听我命令、我有点想
手机识别到唤醒词后,将执行你的代码功能。或自定义唤醒词 http://yuyin.baidu.com/wake#m4
//初始化
zj(a, "yyhx")
//监听唤醒
t()
{
w(true)
{
stop(500)
zj(a, "yyhxst")
f(a != null)
{
syso(a)
}
}
}
//开启语音唤醒
zj(a, "yyhxgo")
//关闭语音唤醒
//zj(a, "yyhxre")
//--语音识别
//初始化
zj(a, "yysb")
//监听识别结果
t()
{
w(true)
{
stop(500)
zj(a, "yysbst")
f(a != null)
{
syso(a)
}
}
}
//开始识别语音
zj(a, "yysbgo")
//--语音合成
//初始化
zj(a, "yyhc")
//合成语音播放
zj(a, "yyhcgo"

【双击事件】
f(sss.a==null)
{
tw("再点一次")
s a="呵呵"
sss a=a
}
else
{
//双击执行代码放入处
}


t()
{
stop(200)
sss a=null
}

【直接打开QQ分享】
s nr="分享内容"
sit(a, "action", "android.intent.action.SEND")
sit(a, "type", "text/plain")
sit(a,"classname","com.tencent.mobileqq", "com.tencent.mobileqq.activity.JumpActivity")
sit(a, "extra", "android.intent.extra.TEXT",nr)
uit(a, "chooser", "分享")


【直接用QQ发文件】
s wb="文件路径"
.建议添加/sdcard不要删
sit(a, "action", "android.intent.action.SEND")
sit(a, "type", "*/*")
sit(a,"classname","com.tencent.mobileqq", "com.tencent.mobileqq.activity.JumpActivity")
sit(a, "extra", "android.intent.extra.STREAM",wb)
uit(a, "chooser", "分享文件")

【倒计时】
s id=这里是本文控件id
t()
{
ss("正在倒计时60秒",b)
ufnsui()
{
us(id,"text",b)
}
s a=60
for(1;60)
{
f(a==1)
{
.这里还可以加其代码
ufnsui()
{
us(id,"text","倒计时完成")
}
endcode
}
s(a-1,a)
ss("正在倒计时"+a+"秒",c)
ufnsui()
{
us(id,"text",c)
}
stop(1000)
}
}

【控件错乱讲解】
很多人2.0不知道怎么让控件不错乱,今天我就来教大家如何让控件不错乱!
比如:
添加了个按钮控件,控件属性
width=-2
height=-2
text=按钮

或者这样
width=-2
height=40
text=按钮

像这样的属性导致控件错乱可能性80%,那么我们该如何改属性呢?
首先按钮高度尽量不要设置为-2,还有设置控件高度为50...其他什么数字的时候(-1,-2不包括),后面一定要加单位dp,如果不加单位一般控件都会错乱!(-1,-2不要加dp)
下面来个查考:
width=-2
(宽度尽量设置-1,或者-2)
height=50dp
text=按钮


像这样做,一般情况控件不会错乱!
还有呢,建议大家不要移动控件,一般移动控件很容易让控件错乱的!
还有要好好利用布局,只要会使用布局控件,根本不用移动控件!
教程来自iApp新手册讲解!
重要事情再说一遍:后面一定加dp
【注册机】


//注册机,可以利用来赚钱
//首先我们必须要有一个后台来管理
//可以去我的磨或者iApp新手册社区
//发帖内容如下:

激活用户☆这里写imei号,用符号,隔开☆激活用户
//发帖好了,把网址复制到下面的s wz=""的""符号里面!

//然后把这段代码放入载入
//--------------------
s id=编辑框或者文本id
simei(imei)
us(id,"text",imei)

//---------------------



//然后把下面这段判断代码放入激活按钮

s wz="网址"
t()
{
hs(wz,aa)
sj(aa,"激活用户☆","☆激活用户",cc)
simei(zh)
f(cc?zh)
{
ufnsui()
{
tw("已注册!")
}
.还可以添加其他代码,例如uigo
}
else
{
ufnsui()
{
tw("未注册,请联系作者注册!")
}
}
}
【分享图片】
sit(a, "action", "android.intent.action.SEND")

sit(a, "type", "*/*")

sit(a, "extra", "android.intent.extra.STREAM","/sdcard/iApp/Userimg/icon_iapp.png")

.这是图片路径
uit(a, "chooser", "分享") 

//作者:iApp新手册

【本文转语音】
ug(id,"text",a)

//输入编辑框id
f(a=="")
{
tw("请输入文字")
}
else
{
stobm(a,"utf-8",a)
sr(a," ","",a)
t()
{
ss("http://tts.baidu.com/text2audio?ie=UTF-8&lan=zh&text="+a,a)
ufnsui()
{
tw("下载中...",0)
}
hd(a,"%iappsj/转语音/转换后.mp3",true,b)
f(b==0)
{
ufnsui()
{
tw("已保存到根目录的%iappsj/转换后目录里面",0)
}
bfm("%iappsj/转语音/转换后.mp3",c)
bfms(c,"st")
}
}
}
//新手册
【进度条参考】
s jd="progress"
//这是进度的参数
s id=
//这里是进度条ID
t()
{
us(id,jd,1)
s a=1
s b=100
w(100>0)
{
ug(id,jd,pp)
s+(pp,1,ppk)
f(pp==99)
{
uigo("a1.iyu")

//跳转界面
end()
}
us(id,jd,ppk)
stop(20)

}
}

【图片按钮比例相同】

很多朋友打包自己软件发给别人,然后别人因为手机不同而是图标比例相差太大!

今天我来教大家一个小秘诀!
就是如何让不同分辨率的手机,图标不会比例相差过大!

其实很简单的!
只要添加一个线性布局,然后设置控件适合的宽度和高度,接着再使用 background=添加图标即可!

【随机验证码】
s a=2
//这里是显示验证码文本的id
t()
{
sran(111111,99999,yz)
ufnsui()
{
us(a,"text",yz)
}
}


//以上代码放入载入界面事件
//下面这个代码放入按钮点击事件
s yzm=2
//显示验证码的文本id
s bjk=3
//输入验证码的编辑框
ug(yzm,"text",nr)
ug(bjk,"text",nrnr)
f(nr==nrnr)
{
ufnsui()
{
tw("验证码正确!")
}
}
else
{
ufnsui()
{
tw("验证码错误!")
}
sran(111111,99999,yz)
ufnsui()
{
us(yzm,"text",yz)
}
}

【载入百分比启动界面】

s a=0
//jg这是你的间隔
s jg=30
t()
{
//循环100次
for(1;101)
{
ss("正在启动程序"+a+"%",b)
ufnsui()
{
us(id控件, "text", b)
}
s(a+1,a)
stop(jg)
f(a=="100")
{
uigo("跳转界面名称")
end()
}
}
}


//iApp新手册-群号:438802386


【软件背景图】
直接在第一个线性布局的控件属性里输入background图片即可
例:
width=-1
height=-1
orientation=vertical
background=@bj.jpg

【清空输入框】


s id=这里填输入框或输出框ID

ug(id,"text",a)
f(a=="")
{
ufnsui()
{
tw("数据己清除!")
}
}
else
{
ufnsui()
{
us(id,"text","")
}
}
//用来清空输入框里面的内容

【分享代码实例】
sit(a, "action", "android.intent.action.SEND")
sit(a, "type", "text/plain")
sit(a, "extra", "android.intent.extra.SUBJECT", "分享软件")
sit(a, "extra", "android.intent.extra.TEXT", "芯iApp手册给你一个全新的生活,下载链接:加群即可下载,群号:438802386")
sit(a, "flags", 268435456)
uit(a, "chooser", "分享")



【隐式QQ临时会话】
s qq=1244945200
ss("mqqwpa://im/chat?chat_type=wpa&uin="+qq+"&version=1",urlqq)
sit(a,"action", "android.intent.action.VIEW")
sit(a,"data",urlqq)
uit(a, "chooser", "QQ聊天窗口")


【隐式加QQ群】
s qun=438802386
ss("mqqapi://card/show_pslcard?src_type=internal&version=1&uin="+qun+"&card_type=group&source=qrcode",joinqq)
sit(a,"action", "android.intent.action.VIEW")
sit(a,"data",joinqq)
uit(a, "chooser", "QQ群窗口")

【使用密码进入软件】

s id=4
//id是编辑框id,也就是密码输入框id
ug(id,"text",mm)
s zq="这里是密码内容"
f(mm==zq)
{
ufnsui()
{
tw("密码正确")
//这里还可以添加其他代码
}
}
else
{
ufnsui()
{
tw("密码错误")
//这里还可以添加其他代码
}
}


//作者:iApp新手册

【判断是否拥有网络】
t()
{
s gh="http://www.linyw.cc"
hs(gh,jg)
f(jg==null)
{
ufnsui()
{
tw("没有网络")
//这里还可以添加其他代码
}
}
else
{
ufnsui()
{
tw("网络可用")
//这里还可以添加其他代码
}
}
}

【防止打开软件启动键盘】
在编辑框的父控件属性里添加:
focusable=true
focusableintouchmode=true
即可

【简单公告(可以显示图片)】
//很多新手都不会弄公告
//现在我给大家分享一个最简单做公告方式
//首先去我的收藏添加一个收藏,接着转发收藏、然后点击转发的收藏、然后点击右上角的按钮、接着选择复制链接!
//然后返回添加一个浏览器控件
//设置浏览器控件的链接为那个浏览器的链接即可
//最后改公告去我的收藏更改即可
//如果要加图,自己弄上收藏那里即可


【悬浮触屏滑动代码】
.在屏幕上滑动时候
f(st_eA == 2)
{
.计算当前滑动的距离,如果滑动距离短就不移动了
s-(st_rX, sss.rX, x)
s-(st_rY, sss.rY, y)

.判断是否够格移动悬浮
f(sss.rXY == true || x>80 || x<-80 || y>80 || y<-80)
{
.记录本次直到结束释放触屏都可移动悬浮
sss rXY = true
.悬浮拖动的位置偏移
s-(40, st_rX)
s-(80, st_rY)
.设置悬浮位置
us(sss.v, "x", st_rX)
us(sss.v, "y", st_rY)
.刷新悬浮
uxf(sss.v)
}
}
else f(st_eA == 0)
{
.当按下屏幕时候记录开始的坐标
sss rX = st_rX
sss rY = st_rY
.初始化
sss rXY = false
}

//把上面代码写入悬浮界面要滑动的控件的触屏监听事件里面
//悬浮返回赋值改成sss.v
//如果代码不会使用请加群求助


【软件更新实例】
t()
{
hs("这里是更新链接",gx)
//更新链接可以去我的磨弄
sj(gx,"更新版本《","》更新版本",gxbb)
sj(gx,"更新内容《","》更新内容",gxnr)
sj(gx,"更新链接《","》更新链接",gxlj)
f(gxbb!=null)
{
f(gxbb>1.1)
//1.1为当前应用版本,注意要修改
{
ss("最新版本:"+gxbb,gxbb)
ufnsui()
{
utw(null, gxbb, gxnr, "下载", false, v)
{
ufnsui()
{
hw(gxlj)
}
}
}

}
}
}
//iApp新手册-群号:438802386





【在编辑框光标处插入内容】
s nr="print"
.nr是插入的内容
s id=5
.id为编辑框id
ug(id,"*ionstart",start)
ug(id,"*ionend",end)
ug(id,"text",text)
slg(text,slte)
s(start-slte,start)
ssg(text,start,end,boo)
ss(boo nr,poo)
sr(text,boo,poo,textt)
us(id,"text",textt)
//插入内容的代码事例,by可怕的僵王博士



【一键删除文件夹】
fn del(path)
t()
{
f(ss.path0==null)
{
fi(path,f)
f(f==false)
{
ufnsui()
{
tw("文件夹路径错误!")
}
ss path0=null
endcode
//判断是否为文件夹,否就停止运行
}
ss path0=path
//把实时要删的文件夹存到变量path0中
}

f(path?ss.path0)
{
//判断原要删的文件夹路径中是否包含有实时要删的文件夹路径,如果包含则执行下面的代码,否就表示原要删的文件夹已删除
fd(path,f)
//尝试删除该文件夹,返值到f
f(f==true)
{
//如果删除path文件夹成功则
ss("删除:"+path+" 成功1!",k)
syso(k)
//打印删除的文件(夹)路径详情
slg(path,l)
slof(path,"/",l,l1)
//取路径path的倒数第一个字符"/"的位置
ssg(path,0,l1,path1)
//截取路径path的父目录
fn a.del(path1)
//开始新一轮的删除,以path1为叁数
endcode
}
//如果删除文件夹path失败,则表示path是一个非空文件夹,执行下面的循环删除里面的文件(夹)
fl(path,a)
for(b;a)
{
ss(path+"/"+b,path2)
fd(path2,f)
f(f==false)
{
fn a.del(path2)
//如果删除文件夹path2失败则重新以path2为叁数重新删除
endcode
}
ss("删除:"+path2+" 成功!",k)
.syso(k)
//打印删除成功的文件(夹)路径
}
fn a.del(path)
endcode
//文件夹path里面的所有文件(夹)全删完后重新开始删除,传入叁数path
}
ss path0=null
ufnsui()
{
tw("删除完毕!")
}
}
end fn

//以上代码请放到模块a.myu里,如果你要改模块名称,请将上面代码里的3个a.del改一下

//以下代码放到按钮点击事件中,传入要删的文件夹调用上面的模块一键删除
s lj="/sdcard/abc"
.模块会自动判断路径的正确性以及是否是文件夹
fn a.del(lj)
.调用模块开始删除,原创



【远程弹窗公告】

t()
{
hs("这里是网址",a)
sj(a,"获取符","获取符",b)
ufnsui()
{
utw(null,"公告",b,"知道了",true,sb)
{
}
}


}

【编辑框字数显示】
//编辑框的文本更新之后事件

s bjk=1
//反馈编辑框ID
s wb=2
//显示字数的文本ID
s sx=150
//反馈内容字数大于150变成蓝色 (字数上限)
s sx1=15
//反馈内容字数大于15显示的颜色变成蓝色 (因为我反馈设置的是反馈内容不得少于15个字)
ug(bjk,"text",fankui)
slg(fankui,zfcd)

f(zfcd<=sx)
{
s(sx-zfcd,zs)
ss(zfcd+" / "+zs,zzs)
us(wb,"text",zzs)
us(wb, "textcolor", "#cacacaca")
f(zfcd>=sx1)
{
us(wb, "textcolor", "#ff97c9ff")
}

}
else f(zfcd>=sx)
{
s(sx-zfcd,zs1)
ss(zfcd+" / "+zs1,zzs1)
us(wb,"text",zzs1)
us(wb, "textcolor", "#ffff1700")
//设置字数显示颜色
}

// 作者:唯梦倾城


【反馈字数显示例子】
//反馈编辑框字数显示
//编辑框的文本更新之后事件

s bjk=1
//反馈编辑框ID
s wb=2
//显示字数的文本ID
s sx=150
//反馈内容字数大于150变成蓝色 (字数上限)
s sx1=15
//反馈内容字数大于15显示的颜色变成蓝色 (因为我反馈设置的是反馈内容不得少于15个字)
ug(bjk,"text",fankui)
slg(fankui,zfcd)

f(zfcd<=sx)
{
s(sx-zfcd,zs)
ss(zfcd+" / "+zs,zzs)
us(wb,"text",zzs)
us(wb, "textcolor", "#cacacaca")
f(zfcd>=sx1)
{
us(wb, "textcolor", "#ff97c9ff")
}

}
else f(zfcd>=sx)
{
s(sx-zfcd,zs1)
ss(zfcd+" / "+zs1,zzs1)
us(wb,"text",zzs1)
us(wb, "textcolor", "#ffff1700")
//设置字数显示颜色
}

【文本跑马灯例子】
//文本跑马灯显示
//设置在文本属性里面

width=-1
height=-2
//文本控件宽高
text=手机瞬间就三四节咳嗽咳嗽介绍介绍几款试卷是技术手机几十家睡觉死而殴斗搜儿忙你电脑疯闹吃你家饭可瑞康大家解放进房
//显示文本
textsize=15sp
//字体大小
singleline=true
//内容显示在同一行
ellipsize=marquee
//文本超长显示方式 跑马灯
marqueerepeatlimit=marquee_forever
//跑马灯显示次数 无限∞重复
focusableintouchmode=true
//获取焦点

【文字逐渐缩小】
t()
{
s id=文本控件ID
s t=150
.设置文本字体初始大小
w(t>15)
.启用循环,当字体大小小于5时停止循环
{
s(t-2,t)
ufnsui()
{
us(id,"textsize",t)
}
stop(20)
.设置停顿间隔
}
}


【文字逐渐向右移动】
t()
{
s id=文本控件ID
s x=0
.设置文本的左边距离
ufnsui()
{
us(id,"layout_marginleft",x)
}
swh("pxw",w)
.获取屏幕宽
w(x<w)
{
stop(10)
.设置循环间隔
s(x+5,x)
ufnsui()
{
us(id,"layout_marginleft",x)
.设置文本控件方位
}
}
}


【文字逐渐向左移动】
t()
{
s id=控件id
s st=10
.这是停顿的间隔
swh("pxw",s)
ufnsui()
{
us(id,"layout_marginleft",s)
}
w(s>0)
{
s(s-5,s)
ufnsui()
{
us(id,"layout_marginleft",s)
}
stop(st)
}
}



【文字逐渐向左移动(无限循环)】
t()
{
s id=控件id
swh("pxw",w)
s s=w
ufnsui()
{
us(id,"layout_marginleft",s)
}
w(1==1)
{
f(s>0)
{
s(s-5,s)
ufnsui()
{
us(id,"layout_marginleft",s)
}
stop(10)
.循环间隔
}
else
{
s s=w
}
}
}
【判断文件是否存在】
s a="%xinl/gg.xinl"
//a是文件路径
fe(a,b)
f(b=="true")
{
ufnsui()
{
tw("文件存在")
//这里还可以添加其他代码
}
}
else
{
ufnsui()
{
tw("文件不存在")
//这里还可以添加其他代码
}
}


//作者:iApp新手册
【时长转时间】
fn time(a)
s/(1000,a)
s(a/60/60,h)
s(a/60%60,m)
f(m<10)
{
  ss("0"+m,m)
}
s(a%60,s)
f(s<10)
{
  ss("0"+s,s)
}
ss(h+":"+m+":"+s,ss.time)
end fn
//以上代码放到模块中

调用方法:
s a=4567
fn 模块名.time(a)
tw(ss.time)
【判断手机系统版本】
sjxx(c)
sgsz(c,2,d)
sj(d,"\n",null,h)
sj(h,"\n",null,bb)
f(bb>=19)
{
//这里是系统高于或者等于安卓4.4执行事件
}
else
{
//这里是低于4.4执行事件,可以留空
}