源碼眾享最新教程 - 草稿

¥開啟¥

【iAPP實現進入界面執(zhí)行逐一顯】

〖2017-08-25 15:22:14〗

《//首先開一個線程,因為你有這么多的stop要執(zhí)行,其次必須使用ufusui(),否則可能不會顯示你的字體。切記:文字必須設置“text=”,否則很尷尬,還有我這里的8,14是兩個文本id辰妙,一個是標題里面的,另外一個是標題下面的文字甫窟,這些你們都不用管密浑,你們只用看代碼就行。€t()€{€stop(500)€ufnsui()€{€us(8,"text","B")€us(14,"text","反")€}€stop(500)€ufnsui()€{€us(8,"text","Bu")€us(14,"text","反饋")€}€stop(500)€ufnsui()€{€us(8,"text","Bug")€us(14,"text","反饋標")€}€stop(500)€ufnsui()€{€us(8,"text","Bug反")€us(14,"text","反饋標題")€}€stop(500)€ufnsui()€{€us(8,"text","Bug反饋")€us(14,"text","反饋標題:")€}€}€€此教程由iCode提供粗井!》

『胡稻』

〔iAPP功能實現〕

【加群QQ聊天源碼】

〖2017-08-25 15:24:36〗

《import "android.net.Uri"€import "android.content.Intent"€--加群€url="mqqapi://card/show_pslcard?src_type=internal&version=1&uin=383792635&card_type=group&source=qrcode"€activity.startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(url)))€€--QQ聊天€url="mqqwpa://im/chat?chat_type=wpa&uin=2113075983"€activity.startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(url)))€€此教程由iCode提供尔破!》

『胡稻』

〔Lua功能實現〕

【自定義消息,按鈕浇衬,標題的顏色】

〖2017-08-25 15:27:08〗

《dialog=AlertDialog.Builder(this)€.setTitle("標題")€.setMessage("消息")€.setPositiveButton("積極",{onClick=function(v) print"點擊了積極按鈕"end})€.setNeutralButton("中立",nil)€.setNegativeButton("否認",nil)€.show()€dialog.create()€€€--更改消息顏色€message=dialog.findViewById(android.R.id.message)€message.setTextColor(0xff1DA6DD)€€--更改Button顏色€import "android.graphics.Color"€dialog.getButton(dialog.BUTTON_POSITIVE).setTextColor(0xff1DA6DD)€dialog.getButton(dialog.BUTTON_NEGATIVE).setTextColor(0xff1DA6DD)€dialog.getButton(dialog.BUTTON_NEUTRAL).setTextColor(0xff1DA6DD)€€--更改Title顏色€import "android.text.SpannableString"€import "android.text.style.ForegroundColorSpan"€import "android.text.Spannable"€sp = SpannableString("標題")€sp.setSpan(ForegroundColorSpan(0xff1DA6DD),0,#sp,Spannable.SPAN_EXCLUSIVE_INCLUSIVE)€dialog.setTitle(sp)€€此教程由iCode提供懒构!》

『胡稻』

〔Lua功能實現〕

【lua功能實現發(fā)送郵件】

〖2017-08-25 15:28:59〗

《Lua實現發(fā)送郵件就是下面€€import "android.content.Intent"€i = Intent(Intent.ACTION_SEND)€i.setType("message/rfc822") €i.putExtra(Intent.EXTRA_EMAIL, {"181748731@XX.com"})€i.putExtra(Intent.EXTRA_SUBJECT,"Feedback")€i.putExtra(Intent.EXTRA_TEXT,"Content")€activity.startActivity(Intent.createChooser(i, "Choice"))€€€就這么簡單€€此教程由iCode提供!》

『胡稻』

〔Lua功能實現〕

【iApp官方教程視頻】

〖2017-08-21 18:51:48〗

《下載地址:http://pan.baidu.com/share/link?shareid=2189756878&uk=445928965 €€如果沒有你想要的耘擂,可以用1.x版本的iapp看視頻胆剧,學代碼 €》

『小菜』

〔iApp理論知識〕

【打印的用法!】

〖2017-08-21 18:33:21〗

《€syso("打印")€€這是打印代碼醉冤,常用于調試代碼時查看數據€€測試后點擊調試秩霍,上面就是你打印的內容,打包后蚁阳,不會有調試這個按鈕€€點擊暫停滾動铃绒,就可以編輯他了€€再點擊繼續(xù)滾動,就不可以編輯了€》

『小菜』

〔iApp理論知識〕

【2.0參考講解】

〖2017-08-21 18:35:06〗

《€null螺捐,true颠悬,false€@矮燎,$,%€s赔癌,ss诞外,sss€ufnsui€€null就是一個空值和沒有的意思€true就是有和成功的意思€flase就是沒有和失敗的意思€€“@”應用安裝包中assets文件夾€“$”應用私有文件數據目錄€“%”SD卡文件目錄,如果不指定符號灾票,默認為SD卡文件目錄浅乔。€€//申明一個變量,如果不賦值铝条,系統(tǒng)將默認賦值 null €s a €申明事件變量,只能在一個事件里操作變量,意思就是只能在一個事件里執(zhí)行 例如按鈕席噩,載入事件€//可以賦數值 €s a = 123 €tw(a)€申明界面變量班缰,只能在一個界面里操作變量,意思就是在這一個界面里都可以操作他€//可以賦字符串 €ss a = "123" €tw(ss.a)€申明全局變量悼枢,一個應用里操作變量埠忘,意思就是全部界面里,都可以操作他€//可以賦其他變量 €sss b = a €tw(sss.b) €€線程中是不允許直接對應用界面進行更新設置數據馒索,包括提示語句莹妒。需要使用 ufnsui語句 進行線程更新界面。€例如€這會提示錯誤绰上,怎么解決呢旨怠,用ufnsui€t()€{€tw("測試")€}€€這樣就不會錯誤了↓€t()€{€ufnsui€{€tw("測試")€}€}》『小菜』

〔iApp理論知識〕

【t線程的用法】

〖2017-08-21 18:37:41〗

《€用法: €t() €{ € syso("新線程里執(zhí)行代碼") €} €線程中是不允許直接對應用界面進行更新設置數據,包括提示語句蜈块。需要使用 ufnsui語句 進行線程更新界面鉴腻。€€這會提示錯誤,怎么解決呢百揭,用ufnsui€t()€{€tw("測試")€}€€這樣就不會錯誤了↓€t()€{€ufnsui€{€tw("測試")€}€}€€說明: €啟用新線程爽哎,去執(zhí)行一些需要執(zhí)行很久的代碼。比如把下載文件器一,獲取網頁源碼课锌,大量的文件操作,可以放入新線里執(zhí)行祈秕。這里線程的概念渺贤,啟用新的線程幫你處理代碼,這樣不會影響到主線程请毛。 €》

『小菜』

〔iApp理論知識〕

【tw提示的用法】

〖2017-08-21 18:38:36〗

《€用法: €tw("你好") €記得加上""€€在線程中執(zhí)行會出錯癣亚,用ufnsui包括他就不會出錯了€ufnsui€{€tw("你好")€}€€//設置參數1:顯示的時間長久;0:顯示的時間短暫获印;\n為換行的意思述雾,其他地方通用 €tw("你好\n嗎街州?", 1) €€說明: €用于提醒用戶,界面顯示時長大約為 2秒鐘玻孟。彈出代碼中的文字唆缴,來提醒用戶。€ 》

『小菜』

〔iApp理論知識〕

【fd刪除文件的用法】

〖2017-08-21 18:38:45〗

《€用法:(將刪除SD卡根目錄的abc.zip文件) €s a = "%abc.zip" €fd(a, b) €tw(b) €€b是true黍翎,就說明刪除成功了€b如果是false面徽,就說明刪除失敗,或者文件不存在€€s a = "%abc.zip" €fd(a, b)€.或者fd("%abc.zip", b)€f(b==true)€{€tw("刪除成功")€}€else€{€tw("刪除失敗匣掸,或文件不存在")€}€€說明: €用于刪除指定的文件趟紊,是否成功返回數據:true或 false €€提示:同時將創(chuàng)建變量“b”,作為記錄返回的值碰酝。(通用于下咧) €》

『小菜』

〔iApp理論知識〕

【fe文件是否存在用法】

〖2017-08-21 18:40:15〗

《€用法:(將判斷SD卡根目錄的abc.zip文件是否存在) €s a = "%abc.zip" €fe(a, b) €.或者fe("%abc.zip", b)€tw(b) €€b是true霎匈,就說明文件存在€b如果是false,就說明文件不存在€€s a = "%abc.zip" €fe(a, b)€.或者fe("%abc.zip", b)€f(b==true)€{€tw("文件存在")€}€else€{€tw("文件不存在")€}€€說明: €用于判斷指定的文件存在送爸,是否存在返回數據:true或 false €》

『小菜』

〔iApp理論知識〕

【判斷語句f】

〖2017-08-21 18:41:25〗

《€ f 是 if簡化而來,其中文意思為:如果铛嘱、若€s a=1€f(a==1)€{€tw("變量a等于1了")€}€//上面這段可以讀作:如果變量a中的數據等于1,就彈出提示€€s a=1€f(a==1)€{€tw("變量a等于1了")€}€else //反之€{€tw("變量a不等于1")€}€//上面這段可以讀作:如果變量a中的數據等于1,就彈出提示,反之,則彈出"不等于1"€€f(a>0&&a<2)€{€tw("a等于1")€}€else€{€tw("a不等于1)€}€//上面這段可以讀作:如果a大于0 并且 小于2則彈出提示 反之 則彈出另一提示€//邏輯運算符 &&(并且) ||(或者) !(反意)€€f(a!=1)€{€tw("a不等于1")€}€//其中 != 讀作 不等于€€s a="你好"€f(a ? "你")€{€tw("a中包含字符"你"")€}€//其中 ? 用于判斷是否包含,讀作:若a中包含"你" 則 彈出提示€》

『小菜』

〔iApp理論知識〕

【循環(huán)語句w】

〖2017-08-21 18:42:14〗

《€w 條件循環(huán)語句 €顧名思義,滿足條件就繼續(xù)循環(huán)執(zhí)行€和f判斷相比 f 條件滿足就執(zhí)行一段代碼,不滿足條件就執(zhí)行另一段代碼,? 而 w 是如果滿足條件就執(zhí)行大括號內的一段代碼,執(zhí)行完成后再判斷是否滿足條件,如此循環(huán),一旦不滿足,就結束循環(huán),執(zhí)行后面的代碼€s a==1€w(a<20)€{€s+(1,a)€}€tw("循環(huán)已結束")€//當運行到 w 時,判斷a是否小于20,小于20就進入循環(huán),循環(huán)內的代碼是每執(zhí)行一次a的值加1,直到a加到20時,條件就不滿足了,這時循環(huán)結束,執(zhí)行后面的代碼,會彈出提示"循環(huán)已結束"€€//w和f一樣,同樣支持邏輯運算符€》

『小菜』

〔iApp理論知識〕

【for循環(huán)】

〖2017-08-21 18:43:25〗

《€for循環(huán),可以直接設置循環(huán)次數,也可以用于輸出數組的數據€for(1;20)€{€tw("你好")€}€//這樣大括號內的代碼就會執(zhí)行20次€//需要注意的是數字不要前面填大的后面填小的€€for(20;1)€{€tw("你好")€}€//這樣是不被允許的€€€下面用for循環(huán)將數組的數據輸出€得到數組的方法有幾種€可以用sl函數得到數組€可以用fl得到文件列表數組€可以用sjxx得到手機信息的數組€€先用sl舉例:€s a = "1:2:3:4:5:6:7:8:9"€sl(a,":",b)€for(c;b)€{€tw(c)€}€//上面這段意思是:將a用":"分割為數組,用for循環(huán)依次輸出€//這段代碼執(zhí)行后,可以看到1到9依次顯示到屏幕€//需要注意的是,for循環(huán)中間使用的分號而不是逗號,數組變量放后面,用于輸出的變量放前面€》

『小菜』

〔iApp理論知識〕

【計算函數s】

〖2017-08-21 18:45:12〗

《€s a=1€s(a+1,b)€//s2可以保留兩位小數€€s a=1€s((a+1)/2,b)€//支持帶括號的運算€€s a=-3€s(a-1,b)€//這樣運行會出錯,s不支持負數運算€€所以需要用sb函數€s a=-3€sb(a-1,b)€//用sb2函數可以保留小數€或使用s-函數€s a=-3€s-(1,a)€//s-(1,a)讀作將a的值減1后重新賦值到變量a,等同于sb(a-1,a)€€其他計算函數€法:€s a = 2€€//加法例子賦值a=4€s+(2, a)€//減法例子賦值a=3€s-(5, a)€//乘法例子賦值a=6€s*(3, a)€//除法例子賦值a=4€s/(8, a)€//求余例子賦值a=2€s%(5, a)€€》

『小菜』

〔iApp理論知識〕

【文本帶光標打印】

〖2017-08-21 18:47:14〗

《€uycl("true") €s a=0 €s id=文本控件id€s id1=顯示打印控件id €us(id1, "textcolor", -62464) €.設置打印字體顏色€t()€{€s r="true"€s go=1€s k=0€w(r=="true")€{€ug(id,"text",dd)€//獲取文本或者輸入框需要打印的字€stop(150)€//停就300毫秒€ssg(dd,k,go,h)€//截取打印數據€ug(id1,"text",tt)€//獲取輸出的打印數據€s(k+1,k)€//k值加1€s(go+1,go)€//go值加1€ss(tt+h+"|",h)€//前面打印的字加上現在打印的字€us(id1,"text",h)€//打字帶圖標€sr(h,"|","",h)€//去除圖標€us(id1,"text",h)€//打字不帶圖標€}€}€》

『小菜』

〔iApp理論知識〕

【十進制轉換十六進制】

〖2017-08-21 18:48:49〗

《€s id=十進制輸入框id€s id1=輸出框或文本id€ug(id,"text",t)€supper(t,t)€s csl=1€s jie=0€slg(t,lt)€s(lt-1,ltt)€s xun=lt€for(1;xun)€{€ssg(t,ltt,lt,ti)€f(ti=="A")€{€s ti=10€}€f(ti=="B")€{€s ti=11€}€f(ti=="C")€{€s ti=12€}€f(ti=="D")€{€s ti=13€}€f(ti=="E")€{€s ti=14€}€f(ti=="F")€{€s ti=15€}€f(ti<=15)€{€s(ti*csl,ti)€s(jie+ti,jie)€s(csl*16,csl)€s(lt-1,lt)€s(lt-1,ltt)€}€}€us(id1,"text",jie)€》

『小菜』

〔iApp理論知識〕

【一些編程需要的工具】

〖2017-08-21 18:50:59〗

《€mt文件管理器€€取色器€€圖標包制作器€€Picsatt€€安卓教程手冊€€qq瀏覽器搜索應該有€€》

『小菜』

〔iApp理論知識〕

【簡單的網站后臺】

〖2017-08-21 18:51:17〗

《一個自助建站,和八億的差不多

http://waphx.com€€一個簡單的博客

http://www.lofter.com/》

『小菜』

〔iApp理論知識〕

【布局講解袭厂!】

〖2017-08-21 11:34:25〗

《首先墨吓,如果你是新手。請先學習布局再學習其他功能纹磺,不然就算你做出來軟件帖烘,到了別人的手機上可能界面會一團亂!€注意:€? 布局界面的控件不可以用拖動來移動控件的位置橄杨!€ 想要移動控件位置就用代碼€ €每個界面最高添加一個寬和高都為-1的 線性布局或者相對布局劫侧!作為整個界面的根控件? 其他控件都添加在根控件內排吴,方便用代碼移動位置? €width=-2€//↑這個是寬度,-2是自適應,-1是最大€height=-2€//↑這個是高度丢胚,-2是自適應坦敌,-1是最大€? ? €? ? 如果你想要修改他們的高度或寬度 可以直接輸入大小? 比如:€ width=50dp€ //↑設置它的寬度為50dp欺冀,后面一定要加dp 不管你設置多大都要加贮庞!€ height=50dp€ //↑設置它的高度為50dp,后面一定要加dp 不管你設置多大都要加氏义!€線性布局里移動控件位置可以用layout開頭或者gravity開頭的一些代碼锄列,移動位置的代碼在每個控件的屬性里面寫 ,相對布局的話移動位置就用ut開頭的一些代碼惯悠,下面都有中文提示邻邮!€? ? //↑這些代碼都要放在你需要移動位置的控件的屬性里!€€我們先看線性布局的自身屬性代碼€? orientation=vertical€? //↑上面這代碼就是控件使該線性布局的布局為垂直的克婶,向下的筒严!€? 什么意思呢丹泉?意思就是 :如果你在一個線性布局的屬性加了這個代碼,然后再在這個線性布局里添加其他控件鸭蛙,那么該線性布局里面的其他控件默認的對齊方式就是從上到下€? ? ? € 比如我們在該線性布局內添加了1摹恨,2,3控件€? 那么這3個控件的對齊方式就1€ 2€3€ //因為線性布局屬性是從上到下的垂直娶视,所以控件會從上往下排列€€還有就是線性布局里的控件大小 -1是最大的-2就是你控的內容有多大 控件就有多大自適應的€€ 需要注意:如果你線性布局里面有個控件的高寬大小都是-1的話晒哄,因為-1是最大,所以這個高寬都為-1的控件會占有屏幕的全部面積肪获,那么其他控件就會被擠出屏幕 從而導致看不見有些控件寝凌,€ 這個時候你可以設置他的屬性為按比例劃分空間€ layout_weight=1€ //↑這代碼是放在最大的控件的屬性里的€? 這樣設置后如果還是看不見其他控件,那么就在該線性布局里的每個控件的屬性里面都設置一下按比例劃分空間layout_weight=1€? --------------------------------------€相對布局的話就不需要設置他的屬性了€? ? ? €? 直接在相對布局里添加控件孝赫,然后直接在控件的屬性里設置ut? 輸入ut會有提示=夏尽!€? € 相對布局里的控件移動位置都用 ut開頭的寒锚。而且相對布局里的控件必須用ut€ € 如果相對布局里的控件。你不去設置它的屬性ut的話违孝,那么它就會停留在原地刹前,不管你在相對布局里添加多少個控件 他們都會在原地!€ €? 比如添加4雌桑,5喇喉,6控件€? 你不去設置他們的屬性位置,那么這3個控件的位置就會在同一個位置校坑!》

『小菜』

〔iApp理論知識〕

【直接撥打指定電話】

〖2017-08-21 11:28:06〗

《sit(a, "action","android.intent.action.CALL") €€sit(a, "data", "tel:10086")€//10086為需要撥打的電話€€uit(a, "chooser", "直接撥號")€€//以上代碼將直接啟動撥號程序進行撥號》

『小菜』

〔iApp功能實現〕

【分享文字給微信好友】

〖2017-08-21 11:29:23〗

《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", "測試")€€uit(a, "chooser", "分享朋友")€€//以上代碼將會直接調用微信分享指定內容到指定好友》

『小菜』

〔iApp功能實現〕

【判斷列表是否滾蛋到底部】

〖2017-08-21 11:31:41〗

《f(st_vT==0)€€{€€endcode€€}€€//列表可見項目為0時停止執(zhí)行€€f(ss.gd=="true")€€{€€endcode€€}€€//判斷是否以提醒過€€s(st_bT-st_vT,kj)€€f(st_fM==kj)€€{€€//以滾動到底部執(zhí)行的事件€€ss gd="true"€€tw("已經到底了拣技,沒有更多啦!",0)€€}€€€€//以上代碼放到列表的 控件事件→觸屏滾動事件→滾動€》

『小菜』

〔iApp功能實現〕

【瀏覽器進度條】

〖2017-08-21 11:32:14〗

《.放到瀏覽器事件的加載過程進度改變中€f(st_nS == 100)€{€ug(10,"title",a)€//10為瀏覽器id€us(7,"text",a)€//7為文本id€}€else€{€ss("正在加載網頁..("+ st_nS +")",a)€us(7,"text",a)€}€》

『小菜』

〔iApp功能實現〕

【使用按鈕打開側滑】

〖2017-08-21 11:38〗

《us(2,"opendrawer","start") €//↑2是側滑欄窗體的id耍目,代碼放在按鈕的點擊事件膏斤,記得修改id》

『小菜』

〔iApp功能實現〕

【直接撥打指定電話】

〖2017-08-21 11:28:06〗

《sit(a, "action","android.intent.action.CALL") €€sit(a, "data", "tel:10086")€//10086為需要撥打的電話€€uit(a, "chooser", "直接撥號")€€//以上代碼將直接啟動撥號程序進行撥號》

『小菜』

〔iApp實例代碼〕

【分享文字給微信好友】

〖2017-08-21 11:29:23〗

《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", "測試")€€uit(a, "chooser", "分享朋友")€€//以上代碼將會直接調用微信分享指定內容到指定好友》

『小菜』

〔iApp實例代碼〕

【判斷列表是否滾蛋到底部】

〖2017-08-21 11:31:41〗

《f(st_vT==0)€€{€€endcode€€}€€//列表可見項目為0時停止執(zhí)行€€f(ss.gd=="true")€€{€€endcode€€}€€//判斷是否以提醒過€€s(st_bT-st_vT,kj)€€f(st_fM==kj)€€{€€//以滾動到底部執(zhí)行的事件€€ss gd="true"€€tw("已經到底了,沒有更多啦邪驮!",0)€€}€€€€//以上代碼放到列表的 控件事件→觸屏滾動事件→滾動€》

『小菜』

〔iApp實例代碼〕

【瀏覽器進度條】

〖2017-08-21 11:32:14〗

《.放到瀏覽器事件的加載過程進度改變中€f(st_nS == 100)€{€ug(10,"title",a)€//10為瀏覽器id€us(7,"text",a)€//7為文本id€}€else€{€ss("正在加載網頁..("+ st_nS +")",a)€us(7,"text",a)€}€》

『小菜』

〔iApp實例代碼〕

【使用按鈕打開側滑】

〖2017-08-21 11:38〗

《us(2,"opendrawer","start")

€//↑2是側滑欄窗體的id莫辨,代碼放在按鈕的點擊事件,記得修改id》

『小菜』

〔iApp實例代碼〕

【使用jni實現Tost】

〖2017-08-20 22:15:04〗

《在xx.cpp中寫入以下代碼€ void Java_com_jni_test_MainActivity_showToast(JNIEnv *env, jobject thiz,jobject context, jstring str){€? ? jclass tclss = env->FindClass("android/widget/Toast");€? ? jmethodID mid = env->GetStaticMethodID(tclss,"makeText","(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;");€? ? jobject job = env->CallStaticObjectMethod(tclss,mid,context,str);€? ? jmethodID showId = env->GetMethodID(tclss,"show","()V");€? ? env->CallVoidMethod(job,showId,context,str);€ }€€在MainActivity聲明€public static native void showToast(Context context,String msg)€€//然后調用€showToast(this,"你好")》

『小菜』

〔Android功能實現〕

【iApp基礎視頻教程】

〖2017-08-20 19:52〗

《鏈接:http://pan.baidu.com/s/1sl2Usg9€€后期會有第二期毅访【诎瘢》

『安檸』

〔iAPP視頻教程〕

【添加DrawerLayout】

〖2017-08-20 11:56:25〗

《添加v7,v4庫€€首先在main.xml里面寫入代碼€€€ € € € € € € €€ €€新建drawer.xml? DrawerLayout布局€main_layout.xml? 主頁面布局€然后在MainActivity.java里面寫入代碼€聲明一個DrawerLayout變量€private DrawerLayout drawer;€€在onCreate方法下面寫入代碼€Toolbar drawer_toolbar = (Toolbar) findViewById(R.id.drawer_toolbar);€drawer=(DrawerLayout) findViewById(R.id.drawerlayout);€ ActionBarDrawerToggle toggle=new ActionBarDrawerToggle(this,drawer,toolbar,R.string.open,R.string.close){};€ toggle.syncState();€ drawer.setDrawerListener(toggle);€當你看到這里喻粹,就說明完成了€軟件風格請自行配置!€》

『小菜』

〔Android用戶界面〕

【Dialog和Popupmenu】

〖2017-08-20 11:59:31〗

《一蟆融、對話框Dialog:€€//得到構建對象€AlertDialog.Builder builder = new AlertDialog.Builder(this);€builder.setTitle("標題");€builder.setMessage("提示內容");€€//添加按鈕,參數二為點擊事件可以為null€builder.setPositiveButton("確定", new OnClickListener());€builder.setNegativeButton("取消", new OnClickListener());€builder.setNeutralButton("確定", new OnClickListener());€€//加入一個列表守呜,參數二為點擊事件監(jiān)聽€String[] listArray = new String[]{"第一個","第二個","第三個"};€builder.setItems(listArray,new OnItemClickListener());€€//與上一個類似型酥,每項后面多一個單選按鈕山憨,0代表默認選中項的行號€builder.setSingleChoiceItems(listArray,0,new OnCheckedChangeListener());€€//添加一個布局到對話框中€ViewGroup viewGroup = (ViewGroup) this.getLayoutInflater().inflate(R.layout.activity_main,null);€builder.setView(viewGroup);€€//創(chuàng)建并顯示對話框€AlertDialog alertDialog = builder.create();€alertDialog.show();€€€二、PopupWindow:€€// 構建泡泡窗口:€ViewGroup pop = (ViewGroup)getLayoutInflater().inflate(R.layout.popupwindows_pro,null);€PopupWindow popupWindow = new PopupWindow(pop, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);€€//獲取焦點€popupWindow.setFocusable(true);€€//設置空白背景冕末,這樣點空白部分就會關閉€popupWindow.setBackgroundDrawable(new BitmapDrawable());€//設置進出動畫:€popupWindow.setAnimationStyle(R.style.anim);€//在styles.xml中定義動畫樣式€€€//根據父元素位置顯示萍歉,x,y是偏移距離€View pView = (View) button.getParent();€popupWindow.showAtLocation(pView, Gravity.CENTER, x, y);€//在view組件下方顯示,不夠會顯示在上方€popupWindow.showAsDropDown(view, x, y);€//關閉泡泡窗口:€popupWindow.dismiss();€//設置鍵盤事件可控制按back鍵關閉€pop.setOnKeyListener();€》

『小菜』

〔Android功能實現〕

【Sharedprefence用法】

〖2017-08-20 12:04:05〗

《shared_prefs是軟件常用的保存用戶一些設置的€數據文件档桃,它位于data/data/包名/shared_prefs目錄下枪孩。€String fileName = "login";€ //要操作的文件名€SharedPreferences preferences = getSharedPreferences(fileName,MODE_PRIVATE);€€//根據鍵取得一個值,未找到則值為第二個參數€String str = preferences.getString("key","no");€//如果取int值就用getInt藻肄,布爾值就用getBoolean€€//拿到編輯對象€SharedPreferences.Editor editor = preferences.edit();€€//存入一個鍵值對蔑舞,第一個鍵,第二個值嘹屯,放int就putInt€editor.putString("key","value");€€//根據鍵移除一對鍵值對€editor.remove("key");€€//提交以上操作€editor.commit();》

『小菜』

〔Android功能實現〕

【輸入九九乘法表】

〖2017-08-18 10:50:13〗

《s a=1€s b=1€s sum=0€s c="\n"€for(1;1)€{€s a=1€w(a<=9)€{€s b=1€w(b<=a)€{€s(b*a,sum)€//前一個c是換行攻询,后一個c是變量標識€ss(c+" "+b+"×"+a+"="+sum,c)€//b值增1€s(b+1,b)€}€//每一行后換行€ss(c+"\n",c)€//a值增1€s(a+1,a)€}€}€//輸出乘法表€syso(c)€€//--作者:楠少》

『小菜』

〔iApp功能實現〕

【判斷數是偶數或奇數】

〖2017-08-18 10:52:03〗

《€s a=6€//假設這個數為6,將提示為偶數州弟。€€sn(a/2,jg)€sj(jg,".",null,xs)€//判斷是否能被2整除€f(xs==0)€{€tw("為偶數")€}€else€{€tw("為奇數")€}€€說明:像2,4,6,8,10...這樣的數為偶數钧栖,1,3,5,7,9...這樣的數為奇數。€》

『小菜』

〔iApp實例代碼〕

【調用瀏覽器打開網站(非hws)】

〖2017-08-18 16:12:53〗

《sit(a,"ACTION", "android.intent.action.VIEW")€sit(a,"data","http://appv.pw/s/婆翔?u=2441807818&m=Dr.anybaby.xkgzs")€uit(a, "chooser", "選擇瀏覽器")€€調用瀏覽器打開網頁(支持自帶瀏覽器拯杠,支持所有瀏覽器),比hws好用多了€》

『小菜』

〔iAPP實例代碼〕

【調用應用市場給本軟件評分】

〖2017-08-18 16:13:06〗

《sit(a,"ACTION", "Intent.ACTION_VIEW")

sit(a,"data","market://details?id=Dr.ibook.xkgzs")€uit(a, "chooser", "選擇操作方式")€€必須在應用市場有你的軟件啃奴,否則會提示沒有該應用潭陪。€》

『小菜』

〔iAPP實例代碼〕

【圖片無限旋轉動畫】

〖2017-08-18 16:17:52〗

《dhr(dh, 0, 720, 1, 0.5, 1, 0.5)€dh(dh, "duration", 3000)€us(圖片id, "dh", dh)€dhon(dh)€{€us(圖片id, "dh", dh)€}€》

『小菜』

〔iAPP實例代碼〕

【hs獲取網頁的新功能-代理IP】

〖2017-08-18 16:18:05〗

《//帶自動設置cookie方式獲取網頁,并記錄當前網頁的Cookie最蕾,并設置Header頭:(可設置多條依溯,以“||”隔開)文件頭包括了€Cookie,User-Agent設備型號瘟则,設置連接超時黎炉,設置接收超時,設置代理IP醋拧。€//傳遞cookie項值拜隧,當自定義為null 系統(tǒng)將自動設置已記錄的cookie€t()€{€s a = "http://wap.baidu.com/"€hs(a, "title=你好&text=你好嗎?", "utf-8", null, true, "User-Agent=Mozilla/5.0 (iPad; U; CPU OS 6_0 like Mac OS X; zh-CN; iPad2)€||accept=*/*||accept-language=zh-CN",€20000, 20000, "10.0.0.172:80", b)€syso(b)€}€€效果不明覺厲趁仙。簡單點說就是洪添。如果你有很多代理IP,你就能做一個cc攻擊(效率低下)雀费,但做一個網頁刷訪問還是不錯的干奢,都是模擬真實用戶訪問的。€€比如這樣的盏袄,20000是訪問超時時間也就是20秒忿峻,最好設置10000-20000左右最好薄啥,怎么無限更換代理IP呢?你只需要把很多IP分割為數組逛尚,如:€€sl("109.22.33.58:80#36.69.52.33:80","#",ok)€然后for循環(huán)讀取ok垄惧,再循環(huán)hs訪問即可(不要做壞事哈)€€t()€{€hs("網址",null, "utf-8", null, true, null, 20000, 20000, "10.0.0.172:80", b)€syso(b)€}€》

『小菜』

〔iAPP實例代碼〕

【給按鈕加觸摸時的深色 方法】

〖2017-08-18 16:20:04〗

《按鈕控件又或者是文本控件,線性布局等绰寞,只要設置了背景顏色不是白色透明到逊,比如綠色,€》

『小菜』

〔iAPP實例代碼〕

【獲取imei進行計算密碼】

〖2017-08-18 16:21:35〗

《通常如果獲取imei來計算一些密碼滤钱,直接simei(imei)即可觉壶,但如果出現因為字母,那么計算就會出問題了件缸。(有部分手機imei是有英文字符的)€€比如€simei(imei)€s(imei/2,ok)€tw(ok)€€如果imei有英文字母铜靶,這個計算就不成立了,也就出錯他炊!怎么辦呢争剿?很簡單,用正則表達式替換下字符即可痊末,示例:€€simei(imei)€sr(imei,"[a-z]","9",imei)€s(imei/2,ok)€tw(ok)€》

『小菜』

〔iAPP實例代碼〕

【搜索列表關鍵字的實現方法】

〖2017-08-18 16:23:14〗

《sl("蛋疼;雞肋;雞蛋;雞皮疙瘩;蛋糕",";",so)€//分割一段內容為數組€for(k;so)€{€//循環(huán)判斷是否包含需要搜索的內容€f(k?"蛋")€{€//打印包含蛋字的內容會打印蛋疼蚕苇、雞蛋、蛋糕€syso(k)€}€}€€那怎么顯示到列表呢舌胶?只需要把syso換成ula即可捆蜀!€》

『小菜』

〔iAPP實例代碼〕

【調用其他程序分享文件代碼】

〖2017-08-18 16:26:26〗

《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實例代碼〕

【us設置滑動側滑窗體里控件屬性】

〖2017-08-18 16:26:05〗

《在有滑動窗體或者側滑窗體的時候需要加個判斷什么的疮丛,比如判斷網絡是否連接幔嫂,需要通過us設置文字來顯示,但是直接在mian界面載入事件誊薄,比如這樣:€€us(a.2,"text","有網絡")€€你會發(fā)現沒有任何效果履恩,因為界面無法交互,但你只需要把代碼放在 “界面載入完畢事件” 就行了呢蔫。因為這個事件界面可以交互切心。€》

『小菜』

〔iAPP實例代碼〕

【點擊取消編輯框獲得焦點】

〖2017-08-18 16:27:05〗

《編輯框獲得焦點就是編輯框點擊后的光標效果,默認只要點擊了編輯框片吊,除非退出再進绽昏,否則是無法取消掉光標的,這時候就需要代碼來設置一下俏脊。€€us(2,"focusable",false)€//設置id為2編輯框不獲得焦點€€可以放在返回事件等等全谤,按一次返回取消掉獲得焦點,不過這樣后編輯框就無法點擊了爷贫,怎么辦呢认然?很簡單补憾,讓編輯框再可以獲得焦點即可。代碼如下€€us(2,"focusable",true)€us(2,"focusableintouchmode",true)€€注意的是卷员;必須放在編輯框的觸屏監(jiān)聽事件盈匾!€》

『小菜』

〔iAPP實例代碼〕

【添加點擊菜單時的選項】

〖2017-08-18 16:28:34〗

《代碼如下:€€case 選擇A:€tw("A")€break€case 選擇B:€tw("B")€break€case 選擇C:€tw("C")€break€default:€tw("載入成功")€break€€中,選擇A等是標題毕骡,tw是點擊后的事件削饵。€》

『小菜』

〔iAPP實例代碼〕

【列表里設置背景圓角】

〖2017-08-18 16:30:39〗

《作用:可以設置每個列表的圓角或者背景顏色,又或者設置邊框挺峡,其他一切等等€€比如兩個界面:mian.iyu主界面和list.iyu列表界面€首先在列表設計界面list.iyu的載入事件寫代碼€€gvs(st_vW,list.1,ok)€us(ok,"background","#336699")€€通過gvs獲取id為1的對象并設置背景顏色為#336699€€如何圓角或者邊框呢葵孤?可以搜索ngde屬性。

設置圓角例子:€gvs(st_vW,list.1,ok)€ngde(5,"#336699",yes)€us(ok,"background",yes)€》

『小菜』

〔iAPP實例代碼〕

【下載文件簡單代碼】

〖2017-08-18 16:31:25〗

《t()€{€hd("http://flmle.com/ok.apk","iApp/ok.apk",true,ok)€//iApp/ok是保存路徑橱赠,true是如果存在則覆蓋€€f(ok=="0")€{€ufnsui()€{€tw("下載成功")€}€}€else€{€ufnsui()€{€tw("下載失敗")€}€}€}€》

『小菜』

〔iAPP實例代碼〕

【深度解析sss全局變量】

〖2017-08-18 16:33:56〗

《iAPP2.0最棒的改變莫過于全局變量了€因為全局變量的存在我們可以把很多原來需要寫很多都東西最簡化尤仍。但很多小白并不懂全局變量的使用。全局變量能做什么呢狭姨?比如視頻播放器宰啦,點擊一個視頻就跳轉到界面播放該視頻!在很多方面都必須用的到的東西饼拍。€€首先來看看s變量:€s ok="小白"€再看看全局變量:€sss ok="小白"€€全局變量的作用是傳遞數據赡模,比如有些小白不會使用的。點擊一個列表跳轉一個界面他可能會 新建若干個界面师抄,然后跳轉到指定的界面漓柑,非常麻煩雞肋。€€首先新建一個按鈕叨吮,按鈕點擊事件如下:€sss ok="小白"€uigo("m.iyu")€€再新建一個界面m.iyu排吴,該界面載入事件如下:€tw(sss.ok)€€當點擊按鈕后矮瘟,全局變量ok就變成小白了攒磨。m.iyu界面載入事件就是提示這個全局變量灭返,也就成小白了!也就說點擊按鈕后sss.ok這個變量就變成“小白”涵叮,所以m.iyu這個界面也會提示小白惭蹂!》

【隨機啟動語錄】

〖2017-08-18 16:38:29〗

《sl("你爹|你大爺|你二爺|你大舅|你二舅|你大侄子","|",ok)€//分割為數組€€sran(0,5,sj)€//生產1-6的隨機數€€sgsz(ok,sj,yes)€//隨機訪問語錄€tw(yes)》

『小菜』

〔iAPP實例代碼〕

【$私有文件夾的使用】

〖2017-08-18 16:39:59〗

《iAPP2.0中,有一個私有文件夾割粮,但很多人都不知道有什么用盾碗。其實這個私有文件夾特別實用的,比如你要保存一些東西舀瓢,但又不想讓用戶看到廷雅,可以保存到私有文件夾下哦。€€私有文件夾的路徑是:/data/data/安裝包名/files€€路徑不用管,直接在保存文件加個$符號就行了榜轿。私有文件夾的好處是幽歼,用戶沒有Root權限是無法修改你保存的內容的。比如一些txt文件等谬盐,若你保存在%手機內存里甸私,那么很可能被人修改或者看到哦!€》

『小菜』

〔iAPP實例代碼〕

【給編輯框添加滾動條方法】

〖2017-08-18 16:40:13〗

《在使用編輯框的時候難免會遇到一個有點蛋疼的問題飞傀,編輯框沒有滾動條而且主要的是編輯框下滑速度不忍直視皇型,但一個方法即可解決。€首先添加一個滾動控件砸烦,在滾動控件里添加編輯框就行了弃鸦。具體效果可參考iApc的內容預覽。非常好用哦幢痘!》

『小菜』

〔iAPP實例代碼〕

【去除編輯框點擊后有背景顏色】

〖2017-08-18 16:41:41〗

《默認編輯框只要設置顏色就會出現一個點擊輸入后顏色 淺藍色的背景€€比如設置編輯框白色唬格,輸入內容時編輯框背景顏色就會變成淺藍色,非常影響美觀颜说。€解決辦法非常簡單购岗,在編輯框的獲得焦點事件寫下代碼:€us(編輯框id,"background","")€即可去除默認的顏色當然也可以設置其他顏色。在后面的""里輸入顏色代碼即可门粪。€》

『小菜』

〔iAPP實例代碼〕

【編輯框的內容不垂直居中】

〖2017-08-18 16:44:41〗

《當你設置編輯框高度后喊积,默認的編輯框里的文字是垂直居中的,可在屬性里設置:€€gravity=top€€即可玄妈。€》

『小菜』

〔iAPP實例代碼〕

【給編輯框的文字設置顏色乾吻,語法高亮】

〖2017-08-18 16:45:32〗

《可參考iAPP的編輯代碼時語法高亮。具體過程就不說了€€編輯框屬性里內容:€text=(html)我是綠色我不是綠色€》

『小菜』

〔iAPP實例代碼〕

【點擊發(fā)送QQ臨時對話接口代碼】

〖2017-08-18 16:46:32〗

《s qq=2089973664€//你的QQ號€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")€》

『小菜』

〔iAPP實例代碼〕

【點擊添加QQ群接口代碼】

〖2017-08-18 16:47:12〗

《s qun=242783956€//群號€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")€》

『小菜』

〔iAPP實例代碼〕

【進度條的使用方法】

〖2017-08-18 16:48:23〗

《進度條拟蜻,也可以是拖動條绎签,這兩個都是差不多的,以進度條為例子就行了辜御。€€首頁我們做一個倒計時,代碼如下:€t()€{€s a=120€for(1;120)€{€stop(1000)€s(a-1,a)€ufnsui()€{€us(進度條id,"progress",a)€}€}€}€€到這里基本就好了阁谆,但是細心一點你會發(fā)現场绿,進度條只到100就完了璧尸,沒錯澎粟!進度條默認最大值是100徐裸,也就是他只跑到100就完了,怎么設置呢檬姥?€€只需要在屬性里加:€max=120€也就是最大值是120就可以了€》

『小菜』

〔iAPP實例代碼〕

【給控件加圓角的方法】

〖2017-08-18 16:50:14〗

《需要在載入事件先賦值贫贝,代碼如下€ngde(5,"#ffffff",ok)€us(1,"background",ok)€€設置id為1的控件圓角的角度是5,背景顏色是#ffffff鸳劳,通過ok調用傍妒,可以多個控件一起調用,還有其他更多屬性跃脊,可搜索 ngde 查看又谋。€》

『小菜』

〔iAPP實例代碼〕

【列表點擊顏色的設置】

〖2017-08-18 16:51:45〗

《列表點擊顏色有兩種咧七,一種是項目點擊事件废酷。€€還有一種我比較推薦瘟檩,就是在列表界面睹簇,給線性布局加點擊事件疲憋,把背景設置為透明就》

『小菜』

〔iAPP實例代碼〕

【二維碼生成】

〖2017-08-18 16:54:12〗

《.......將以下代碼放到按鈕控件的點擊事件中€s bi=3€.這個是編輯框ID喂击,用于輸入內容€s ti=2€.這個是圖像控件ID,用于顯示二維碼€us(ti,"height","125dp")€us(ti,"width","125dp")€ug(bi,"text",ug)€f(ug!="")€{€us(ti,"visibility","0")€uqr(ug,400,ss.uqr)€us(ti,"src",ss.uqr)€.生成二維碼€tw("點擊二維碼可保存")€}€else€{€tw("請不要留空")€us(ti,"visibility","8")€}€€€將以下代碼放到二維碼圖像的點擊事件中€f(ss.uqr==null)€{€tw("親裁奇,你還沒有生成二維碼哦~")€}€else€{€time(4,tm)€ss("yingzi"+tm+".png",jg)€ss("圖像已保存至根目錄音五!\n\n名稱:"+jg,utw)€bfs(ss.uqr,jg)€utw("","保存成功",utw,"知道了",false,v)€{€}€}€》

『小菜』

〔iAPP實例代碼〕

【隨機語錄】

〖2017-08-18 16:58:32〗

《.把代碼放到載入事件中€€s nr="昨天永遠是歷史坚嗜,明天永遠是未知,今天就在腳下|影子是最忠誠的陪伴蜈敢,沒有背叛否过,沒有謊言|趁年輕煤伟,做自己想做的事|愛笑的人我碟,運氣不會太差"€.隨機語錄內容€sl(nr,"|",sl)€.分割語錄€sran(0,3,sran)€sgsz(sl,sran,sgsz)€.隨機訪問0~3的語錄內容€us(3,"text",sgsz)€.寫入文本控件€》

『小菜』

〔iAPP實例代碼〕

【早晚自動換圖片】

〖2017-08-18 16:59:56〗

《將代碼放到載入事件中€€s id=1€.線性布局ID€s a="白天的圖片"€s b="晚上的圖片"€us(id,"width","-1")€us(id,"height","-1")€.設置全局背景厘托,當然可以直接在屬性里設置伊群。€time(3,time)€ssg(time,0,2,ssg)€.截取時間€f(ssg>=7&&ssg<=18)€{€.判斷小時是否大于7且小于18€us(id,"background",a)€}€else€{€.反向執(zhí)行€us(id,"background",b)€}€》

『小菜』

〔iAPP實例代碼〕

【首次使用提示】

〖2017-08-18 17:01:04〗

《.請將代碼放到載入事件里丸卷。€€s ts="你這是第一次使用本軟件哦……\n\n跟隨我沐兰,就請點擊下面的"征戰(zhàn)網絡"吧比原!"€.這個是首次使用提示內容蚌铜,測試完就到根目錄刪除"firstuseapp.xml"文件造壮,以便下一次測試旨枯。€€fe("%firstuseapp.xml",fe)€.判斷文件是否存在€f(fe!=true)€{€utw(null,"溫馨提示",ts,"征戰(zhàn)網絡","不了",false,v)€{€.同意則繼續(xù)使用軟件€fw("%firstuseapp.xml","true")€}€else€{€end()€.不同意則退出軟件€}€}€》

『小菜』

〔iAPP實例代碼〕

【退出軟件隨機動畫】

〖2017-08-18 17:08:45〗

《€.把代碼放到『按鍵按下事件』或者『按鍵釋放事件』里€€f(st_kC==4)€{€sran(0,11,sran)€.生產隨機范圍數€utw(null,"注意","是否退出軟件?","退出","不",false,v)€{€end()€lan(sran)€endcode€.結束執(zhí)行€}€else€{€}€}€€》

『小菜』

〔iAPP實例代碼〕

【表白打字特效】

〖2017-08-18 17:10:02〗

《€s q2="可能遇見你,對我來說是最大的幸福轰枝。有了你贤旷,我的生涯變的無窮廣闊盅藻,有了你假残,世界變得如斯迷人眶俩。你是世界止潮,世界是你仅偎。我樂意用本人的心座咆,好好的陪著你,愛著你国撵。陪你到你想去的處所,居心走完咱們人生的余下的旅程裸扶。在將來的日子里摸屠,興許什么都無奈斷定,但獨一能夠肯定的是躬充,我愛的冫人是你伴找,無論當初仍是未來寸五,我想我這里都會是你最暖和的港灣叛溢,都是為你遮風避雨的城墻烹植。"€€s id=這里填寫編輯框或者文本控件的ID€slg(q2,q3)€s+(1,q3)€€t()€{€s q=1€s q1=w€s q4=1€s q6=0€w(q==1)€{€ssg(q2,q6,q4,q5)€ufnsui()€{€ss(q5+"_",q5)€€us(id,"text",q5)€}€s(q4+1,q4)€f(q4==q3)€€{€€s q=0€€ufnsui()€€{€€.這里寫打完后的執(zhí)行代碼€€}€€}€€stop(200)€.調整打印速度€}€}€》

『小菜』

〔iAPP實例代碼〕

【列表利用for循環(huán)顯示內容】

〖2017-08-18 17:11:23〗

《€€s a="小白;小黑栽渴;小龍;哈笆洹纯路;是是是寞忿;嘻嘻嘻"€€//a是要循環(huán)的內容用特殊符號"驰唬;"隔開€€s b=";"€sl(a,b,c)€for(cc;c)€{€ula(v,1=null,2=c)€€}€uls(1,v,"l.iyu",-2,-2)€// 1是列表的ID€》

『小菜』

〔iAPP實例代碼〕

【倒計時】

〖2017-08-18 17:11:23〗

《€s id=2€t()€{€ss("正在倒計時60秒",b)€us(id,"text",b)€s a=60€.60秒€for(1;60)€{€f(a==1)€.a倒計時到1時執(zhí)行的代碼€{€.這里還可以加其代碼€.可以加倒計時完執(zhí)行的代碼€ufnsui()€{€us(id,"text","倒計時完成")€}€endcode€}€s(a-1,a)€.每循環(huán)一次a減1€ss("正在倒計時"+a+"秒",c)€ufnsui()€{€us(id,"text",c)€}€stop(1000)€}€}€》

『小菜』

〔iAPP實例代碼〕

【遠程更新實例】

〖2017-08-18 17:12:36〗

《€t()€{€hs("http://網站",a)€syso(a)€sj(a,"@","@",b)€.截取版本號€sj(a,"!","!",nr)€.截取更新內容€sj(a,"下載地址¥","¥",xz)€.截取下載地址(直鏈)€sj(xz,"htt","apk",xz)€.防止截取出錯,€ss("htt"+xz+"apk",xz)€syso(xz)€€f(b!=1.0)€.判斷版本是否有更新€(比如:網站上是1.1叫编,提示有更新)€{€ufnsui()€{€utw("@iapp6673.png","更新內容",nr,"下載更新","取消",true,f)€{€t()€{€hd(xz,"%文件夾/asb.apk",true,b)€.下載到指定文件夾并重名€f(b==0)€{€ufnsui()€{€tw("下載完成")€fo("%文件夾/asb.apk")€.下載完成后打開安裝€}€}€€}€}€else€{€€}€}€}€else€{€€}€}€》

『小菜』

〔iAPP實例代碼〕

【簡單閃動圖】

〖2017-08-18 17:14:45〗

《€dha(dh, true, false)€dh(dh, "duration", 50)€.每次執(zhí)行的時間間隔€dh(dh, "repeat", 2000000000)€.重復的次數€us(1, "dh", dh)€.圖片控件的ID€€》

『小菜』

〔iAPP實例代碼〕

【模仿打字和跑馬燈特效】

〖2017-08-18 17:15:41〗

《€s q2="這里輸入文字東方vv高給個紅包v該好好v剛剛好v哈哈哈該sgggh風風光光滾滾滾還好還好哈哈哈哈哈哈喝喝"€s id=這里輸入文本ID€€us(id,"singleline","true")€swh("w",w)€slg(q2,q3)€t()€{€s q=1€s q1=w€s q4=1€s q6=0€ufnsui()€{€us(id,"x",w)€}€w(q==1)€{€ssg(q2,q6,q4,q5)€ufnsui()€{€us(id,"text",q5)€us(id,"x",q1)€}€€f(q4==q3)€{€s q4=q3€}€else€{€s(q4+1,q4)€}€€€s(q1-15,q1)€.15是調跳出速度辖佣,使用全中文數值調大,全英文調小€€€stop(200)€f(q1<10)€{€s q=0€w(q==0)€{€ssg(q2,q6,q3,q7)€ufnsui()€{€us(id,"text",q7)€}€€s(q6+1,q6)€f(q6==q3)€{€ufnsui()€{€us(id,"text","")€s q1=w€s q4=1€s q6=0€us(id,"x",w)€s q=1€}€}€stop(200)€}€}€}€}€》

『小菜』

〔iAPP實例代碼〕

【判斷是否有網絡】

〖2017-08-18 17:16:23〗

《€t()€{€hs("http://m.baidu.com",a)€f(a==null)€{€ufnsui()€{€tw("無網絡或網絡不穩(wěn)")€}€}€else€{€.這里寫有網時執(zhí)行的代碼€}€€}€€》

『小菜』

〔iAPP實例代碼〕

【QQ獲取頭像搓逾、名稱等接口】

〖2017-08-18 17:17:04〗

《€獲取QQ頭像的地址:€http://q2.qlogo.cn/headimg_dl?bs=qq&dst_uin=474581976&spec=100€€例如QQ號474581976的空間頭像的地址是:€http://qlogo1.store.qq.com/qzone/474581976/474581976/100€€獲取QQ秀圖片地址:€http://qqshow-user.tencent.com/474581976/22/00/1.gif?fr=mobileqq€€強制聊天鏈接:€http://wpa.qq.com/msgrd?v=3&uin=474581976&site=qq&menu=yes€€獲取QQ網名和QQ空間頭像的接口€http://users.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg?uins=474581976€€獲取QQ昵稱€http://r.pengyou.com/fcg-bin/cgi_get_portrait.fcg?uins=834897931€》

『小菜』

〔iAPP實例代碼〕

【按鈕點擊調用側滑】

〖2017-08-18 17:18:20〗

《€ug(2,"isdraweropen",b)€.2是側滑的ID€f(b==true)€{€us(2,"closedrawer","start")€€}€else€{€us(2,"opendrawer","start")€}€€€》

『小菜』

〔iAPP實例代碼〕

【圖片全屏實例】

〖2017-08-18 17:20:06〗

《€width=-1€height=-1€src=@2016211.png€.這是圖片路徑€scaletype=fitxy€.以上放到圖片控件屬性里€》

『小菜』

〔iAPP實例代碼〕

【sit跳轉淘寶搜索】

〖2017-08-18 17:20:09〗

《€s pay="taobao://s.taobao.com/search?"€sit(a,"action", "android.intent.action.VIEW")€sit(a,"data",pay)€uit(a, "chooser", "跳轉淘寶搜索")€》

『小菜』

〔iAPP實例代碼〕

【sit調用發(fā)短信】

〖2017-08-18 17:21:36〗

《€sit(a, "action","android.intent.action.SENDTO") €€€sit(a,"type","vnd.android-dir/mms-sms")€€€sit(a, "data", "smsto:10086") €€€sit(a,"extra","sms_body","短信內容")€€€uit(a, "chooser", "發(fā)短信")€直接發(fā)短信<由于防止惡意發(fā)短信不提供直接發(fā)短信方法>€》

『小菜』

〔iAPP實例代碼〕

【sit直接調用QQ分享圖片】

〖2017-08-18 17:22:07〗

《€€sit(a, "action", "android.intent.action.SEND")€€sit(a, "type", "image/jpeg")€€sit(a,"classname","com.tencent.mobileqq", "com.tencent.mobileqq.activity.JumpActivity")€€sit(a, "extra", "android.intent.extra.STREAM","/sdcard/lunbo.png")€€uit(a, "chooser", "分享圖片")€》

『小菜』

〔iAPP實例代碼〕

【sit保存圖片到QQ收藏】

〖2017-08-18 17:23:04〗

《€€sit(a, "action", "android.intent.action.SEND")€€sit(a, "type", "image/jpeg")€€sit(a,"classname","com.tencent.mobileqq", "cooperation.qqfav.widget.QfavJumpActivity")€€sit(a, "extra", "android.intent.extra.STREAM","/sdcard/lunbo.png")€€uit(a, "chooser", "收藏圖片")€》

『小菜』

〔iAPP實例代碼〕

【sit調用支付寶】

〖2017-08-18 17:21:05〗

《€€s zfb="alipayqr://platformapi/startapp?saId=10000007&clientVersion=3.7.0.0718&qrcode="€€ss(zfb+"https://qr.alipay.com/fkx08372xrgzmjxuveshx6f",bao)€€sit(a,"action", "android.intent.action.VIEW")€€sit(a,"data",bao)€uit(a, "chooser", "支付寶捐款")€€》

『小菜』

〔iAPP實例代碼〕

【sit調用系統(tǒng)軟件分享圖片實例】

〖2017-08-18 17:25:15〗

《€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實例代碼〕

【sit調用系統(tǒng)軟件分享軟件實例】

〖2017-08-18 17:26:29〗

《€sit(a, "action", "android.intent.action.SEND")€sit(a, "type", "application/vnd.android.package-archive")€€sit(a, "extra", "android.intent.extra.STREAM","/sdcard/iapp.apk")€€.這個是軟件路徑"/sdcard/iapp.apk"卷谈,€uit(a, "chooser", "分享軟件")€》

『小菜』

〔iAPP實例代碼〕

【字體無限變色】

〖2017-08-18 17:26:06〗

《€€€s id=這里是文本控件id€€t()€{€s a=1€.變色暫停的時間€s sj=100€.w無限循環(huán)€w(a==1)€{€.隨機字體顏色數值€sran(100000,800000,sjs)€ss("-"+sjs,sjs)€ufnsui()€{€us(id, "textcolor", sjs)€}€stop(sj)€}€}€€€€》

『小菜』

〔iAPP實例代碼〕

【彈窗示例】

〖2017-08-18 17:27:56〗

《€€s a="@icon.png"€.這里是彈窗圖片€s b="登陸"€.這里是彈窗標題€s nr="mian.iyu"€.這里是彈窗的內容,可以輸入界面名直接彈出界面€s button="取消"€utw(a,b,nr,button,false,v)€{€}€》

『小菜』

〔iAPP實例代碼〕

【文本跑馬燈的實例】

〖2017-08-18 17:29:46〗

《€把以下代碼放到文本控件屬性里€scrollhorizontally=true€ellipsize=marquee€focusable=true€marqueerepeatlimit=marquee_forever€focusableintouchmode=true€scrollhorizontally=true€€€》

『小菜』

〔iAPP實例代碼〕

【密碼登錄實例】

〖2017-08-18 17:30:19〗

《€ug(1,"text",u)€€f(u=="")€{€tw("密碼不能為空")€}€else f(u=="123456")€€.這是密碼€{€€tw("登錄成功")€€uigo("a")€€.這是密碼正確后登錄的頁面€}€€else€€{€€tw("密碼錯了")€€}€》

『小菜』

〔iAPP實例代碼〕

【下拉菜單的實例】

〖2017-08-18 17:31:41〗

《€.以本軟件為例霞篡,字體顏色更換€s wa="黑;紅;綠;藍"€sl(wa,";",c)€uls(30,c)€.注:30是下拉菜單ID世蔗,以上放載入事件。€€€ug(30,"*editem",b)€.獲取下拉框參數€€f(b=="紅")€.判斷是否紅色執(zhí)行以下代碼€{€us(15,"textcolor","#ffff0a00")€}€else f(b=="藍")€.判斷是否藍色執(zhí)行以下代碼€{€us(15,"textcolor","#ff001eff")€}€else f(b=="黑")€.判斷是否黑色執(zhí)行以下代碼€{€us(15,"textcolor","#f8000000")€}€else f(b=="綠")€.判斷是否綠色執(zhí)行以下代碼€{€us(15,"textcolor","#ff00cc22")€}€.注:15是編輯框ID朗兵,以上放到下拉菜單事件選擇項目事件污淋。€€》

『小菜』

〔iAPP實例代碼〕

【列表的寫法】

〖2017-08-18 17:33:29〗

《€ula(a, 10="@1.png",5="你好",6="個人簽名",-1="1",8=null)€ula(a, 10="@1.png",5="你好",6="個人簽名",-1="1",8=null)€ula(a, 10="@1.png",5="你好",6="個人簽名",-1="1",8=null)€ula(a, 10="@1.png",5="你好",6="個人簽名",-1="1",8=null)€uls(1,a,"a.iyu",-1,-2)€注:以上在載入事件€ulag(st_vW, -1, h)€注:以上是在列表點擊按鈕里寫€€€€》

『小菜』

〔iAPP實例代碼〕

【獲取SD卡根目錄并顯示在列表中】

〖2017-08-18 17:34:45〗

《€s ss=""€.這是根目錄€fl(ss,true,b)€for(c;b)€{€ula(a,2="@60a85caf970cd853ebf9529f4a46f42c.png",3=c)€}€fl(ss,false,b)€for(c;b)€{€ula(a,2="@79.png",3=c)€}€uls(8,a,"a.iyu","100dp",-2)€€€€€》

『小菜』

〔iAPP實例代碼〕

【隨機字體顏色】

〖2017-08-18 17:35:33〗

《s id=這里是文本控件id€€t()€{€s a=1€.變色暫停的時間€s sj=100€.w無限循環(huán)€w(a==1)€{€.隨機字體顏色數值€sran(100000,800000,sjs)€ss("-"+sjs,sjs)€us(id, "textcolor", sjs)€stop(sj)€}€}€€€€€€》

『小菜』

〔iAPP實例代碼〕

【進度的參數】

〖2017-08-18 17:36:19〗

《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)€€}€}€€€€€》

『小菜』

〔iAPP實例代碼〕

【按返回鍵帶彈窗實例】

〖2017-08-18 17:36:03〗

《.放在按鍵按下事件€f(st_kC==4)€{€ufnsui()€{€s a="17301646"€€.這里是彈窗圖片€€s b="提示"€€.這里是彈窗標題€€s nr="是否確認退出?"€€.這里是彈窗的內容余掖,可以輸入界面名直接彈出界面€€s button="取消"€€s c="確認退出"€utw(a,b,nr,c,button,false,a)€€{€€end()€}€else€{€}€}€}€else€{€}€€》

『小菜』

〔iAPP實例代碼〕

【按兩次返回鍵退出】

〖2017-08-18 17:37:45〗

《f(st_kC==4)€{€f(sss.exit==null)€{€sss exit=0€tw("再按一次返回鍵退出",0)€t()€{€stop(600)€sss exit=null€}€}€else€{€end()€}€}€//以上代碼請放入:界面事件→按鍵按下事€€€€》

『小菜』

〔iAPP實例代碼〕

【字體轉換語音實例代碼】

〖2017-08-18 17:38:05〗

《€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")€€}€€€€}€€€€}€€€€€€》

『小菜』

〔iAPP實例代碼〕

【瀏覽器進度】

〖2017-08-18 17:43:26〗

《€.放到瀏覽器事件的加載過程進度改變中€f(st_nS == 100)€{€ug(10,"title",a)€//10為瀏覽器id€us(7,"text",a)€//7為文本id€}€else€{€ss("正在加載網頁..("+ st_nS +")",a)€us(7,"text",a)€}€》

『小菜』

〔iAPP實例代碼〕

【判斷列表是否滑動到底部】

〖2017-08-18 17:44:23〗

《€f(st_vT==0)€€{€€endcode€€}€€//列表可見項目為0時停止執(zhí)行€€f(ss.gd=="true")€€{€€endcode€€}€€//判斷是否以提醒過€€s(st_bT-st_vT,kj)€€f(st_fM==kj)€€{€€//以滾動到底部執(zhí)行的事件€€ss gd="true"€€tw("已經到底了寸爆,沒有更多啦!",0)€€}€€€€//以上代碼放到列表的 控件事件→觸屏滾動事件→滾動€》

『小菜』

〔iAPP實例代碼〕

【控件對象】

〖2017-08-18 17:58:36〗

《st_vW€控件對象》

『小菜』

〔iAPP理論知識〕

【執(zhí)行的動作】

〖2017-08-18 17:59:06〗

《st_eA€執(zhí)行的動作》

『小菜』

〔iAPP理論知識〕

【圖片下載項的狀態(tài)】

〖2017-08-18 18:00:00〗

《st_drI€圖片下載項的狀態(tài)》

『小菜』

〔iAPP理論知識〕

【開始的位置數值】

〖2017-08-18 18:00:00〗

《st_sT€開始的位置數值》

『小菜』

〔iAPP理論知識〕

【是否獲得焦點】

〖2017-08-18 18:01:05〗

《st_hF€是否獲得焦點》

『小菜』

〔iAPP理論知識〕

【控件Id】

〖2017-08-18 18:01:23〗

《st_vId€控件Id》

『小菜』

〔iAPP理論知識〕

【結果狀態(tài)數值】

〖2017-08-18 18:01:59〗

《st_lC€結果狀態(tài)數值》

『小菜』

〔iAPP理論知識〕

【被載入的網址】

〖2017-08-18 18:02:06〗

《st_url€被載入的網址》

『小菜』

〔iAPP理論知識〕

【觸屏位置Y坐標】

〖2017-08-18 18:02:59〗

《st_eY€觸屏位置Y坐標》

『小菜』

〔iAPP理論知識〕

【觸屏位置X坐標】

〖2017-08-18 18:03:02〗

《st_eX€觸屏位置X坐標》

『小菜』

〔iAPP理論知識〕

【結果目標對象】

〖2017-08-18 18:03:59〗

《st_iT€結果目標對象》

『小菜』

〔iAPP理論知識〕

【被改變的舊內容數量】

〖2017-08-18 18:04:12〗

《st_cT€被改變的舊內容數量》

『小菜』

〔iAPP理論知識〕

【適配器的視圖中的位置】

〖2017-08-18 18:04:13〗

《st_pN€適配器的視圖中的位置》

『小菜』

〔iAPP理論知識〕

【當前界面滑動像素】

〖2017-08-18 18:05:06〗

《st_pS€當前界面滑動像素》

『小菜』

〔iAPP理論知識〕

【第一個可見單元的索引】

〖2017-08-18 18:06:06〗

《st_fM€第一個可見單元的索引》

『小菜』

〔iAPP理論知識〕

【改變后的內容數量】

〖2017-08-18 18:06:12〗

《st_aR€改變后的內容數量》

『小菜』

〔iAPP理論知識〕

【加載中進度數值】

〖2017-08-18 18:06:20〗

《st_nS€加載中進度數值》

『小菜』

〔iAPP理論知識〕

【圖片下載項的序號】

〖2017-08-18 18:07:23〗

《st_drD€圖片下載項的序號》

『小菜』

〔iAPP理論知識〕

【改變前的內容數量】

〖2017-08-18 18:07:45〗

《st_bE€改變前的內容數量》

『小菜』

〔iAPP理論知識〕

【新增數】

〖2017-08-18 18:08:23〗

《st_cT€新增數》

『小菜』

〔iAPP理論知識〕

【被點擊的項目】

〖2017-08-18 18:08:13〗

《st_iD€被點擊的項目》

『小菜』

〔iAPP理論知識〕

【可見項目的數量】

〖2017-08-18 18:09:05〗

《st_vT€可見項目的數量》

『小菜』

〔iAPP理論知識〕

【滑動項目控件對象】

〖2017-08-18 18:09:12〗

《st_dW€滑動項目控件對象》

『小菜』

〔iAPP理論知識〕

【檢索事件的重復計數】

〖2017-08-18 18:09:28〗

《st_eR€檢索事件的重復計數》

『小菜』

〔iAPP理論知識〕

【動作的標識數值】

〖2017-08-18 18:10:04〗

《st_aI€動作的標識數值》

『小菜』

〔iAPP理論知識〕

【滑動操作狀態(tài)】

〖2017-08-18 18:24〗

《st_sE€滑動操作狀態(tài)》

『小菜』

〔iAPP理論知識〕

【目前的滾動狀態(tài)】

〖2017-08-18 18:11:12〗

《st_sE€目前的滾動狀態(tài)》

『小菜』

〔iAPP理論知識〕

【請求標識數值】

〖2017-08-18 18:11:23〗

《st_sC€請求標識數值》

『小菜』

〔iAPP理論知識〕

【文本內容】

〖2017-08-18 18:12:35〗

《st_sS€文本內容》

『小菜』

〔iAPP理論知識〕

【列表中的適配器的數量】

〖2017-08-18 18:12:45〗

《st_bT€列表中的適配器的數量》

『小菜』

〔iAPP理論知識〕

【本次圖片下載完成總數】

〖2017-08-18 18:13:56〗

《st_drJ€本次圖片下載完成總數》

『小菜』

〔iAPP理論知識〕

【重力感應】

〖2017-08-18 18:13:46〗

《st_x:X軸€st_y:Y軸€st_z:Z軸》

『小菜』

〔iAPP理論知識〕

【指定控件資源】

〖2017-08-18 18:14:26〗

《src€指定控件資源€控件設定資源浊吏,如res/abc.png》

『小菜』

〔iAPP理論知識〕

【分享】

〖2017-08-18 18:25:36〗

《分享€€--分享文件€function Sharing(path)€import "android.webkit.MimeTypeMap"€import "android.content.Intent"€import "android.net.Uri"€import "java.io.File"€FileName=tostring(File(path).Name)€ExtensionName=FileName:match("%.(.+)")€Mime=MimeTypeMap.getSingleton().getMimeTypeFromExtension(ExtensionName)€intent = Intent();€intent.setAction(Intent.ACTION_SEND);€intent.setType(Mime);€file = File(path);€uri = Uri.fromFile(file);€intent.putExtra(Intent.EXTRA_STREAM,uri);€intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);€activity.startActivity(Intent.createChooser(intent, "分享到:"));€end€€--分享文字€text="分享的內容" €intent=Intent(Intent.ACTION_SEND); €intent.setType("text/plain"); €intent.putExtra(Intent.EXTRA_SUBJECT, "分享"); €intent.putExtra(Intent.EXTRA_TEXT, text);€intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); €activity.startActivity(Intent.createChooser(intent,"分享到:")); €》

『小菜』

〔Lua功能實現〕

【調用其他程序打開文件】

〖2017-08-18 18:28:36〗

《調用其它程序打開文件€€function OpenFile(path)€import "android.webkit.MimeTypeMap"€import "android.content.Intent"€import "android.net.Uri"€import "java.io.File"€FileName=tostring(File(path).Name)€ExtensionName=FileName:match("%.(.+)")€Mime=MimeTypeMap.getSingleton().getMimeTypeFromExtension(ExtensionName)€if Mime then intent = Intent(); €intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); €intent.setAction(Intent.ACTION_VIEW);€intent.setDataAndType(Uri.fromFile(File(path)), Mime); €activity.startActivity(intent);€else€Toastc("找不到可以用來打開此文件的程序")€end€end》

『小菜』

〔Lua功能實現〕

【圖片圓角】

〖2017-08-18 18:30:41〗

《圖片圓角€€function GetRoundedCornerBitmap(bitmap,roundPx) €import "android.graphics.PorterDuffXfermode"€import "android.graphics.Paint"€import "android.graphics.RectF"€import "android.graphics.Bitmap"€import "android.graphics.PorterDuff$Mode"€import "android.graphics.Rect"€import "android.graphics.Canvas"€import "android.util.Config"€width = bitmap.getWidth()€output = Bitmap.createBitmap(width, width,Bitmap.Config.ARGB_8888)€canvas = Canvas(output); €color = 0xff424242; €paint = Paint()€rect = Rect(0, 0, bitmap.getWidth(), bitmap.getHeight()); €rectF = RectF(rect); €paint.setAntiAlias(true);€canvas.drawARGB(0, 0, 0, 0); €paint.setColor(color); €canvas.drawRoundRect(rectF, roundPx, roundPx, paint); €paint.setXfermode(PorterDuffXfermode(Mode.SRC_IN)); €canvas.drawBitmap(bitmap, rect, rect, paint); €return output; €end€import "android.graphics.drawable.BitmapDrawable"€圓角弧度=50€bitmap=loadbitmap(picturePath)€RoundPic=GetRoundedCornerBitmap(bitmap)》

『小菜』

〔Lua功能實現〕

【發(fā)送短信】

〖2017-08-18 18:33:36〗

《發(fā)送短信€€--后臺發(fā)送短信€require "import"€import "android.telephony.*"€SmsManager.getDefault().sendTextMessage(tostring(號碼), nil, tostring(內容), nil, nil)€€--調用系統(tǒng)發(fā)送短信€import "android.content.Intent" €import "android.net.Uri" €uri = Uri.parse("smsto:"..號碼)€intent = Intent(Intent.ACTION_SENDTO, uri)€intent.putExtra("sms_body",內容) €intent.setAction("android.intent.action.VIEW")€activity.startActivity(intent)》

『小菜』

〔Lua功能實現〕

【判斷數組中是否存在某個值】

〖2017-08-18 18:35:23〗

《判斷數組中是否存在某個值€€function Table_exists(tables,value)€for index,content in pairs(tables) do€if content:find(value) then€return true€end€end€end》

『小菜』

〔Lua功能實現〕

【各種事件】

〖2017-08-18 18:37:56〗

《各種事件€€function main(...)€? --...是newActivity傳遞過來的參數而昨。€? print("入口函數",...)€end€function onCreate()€? print("窗口創(chuàng)建")€end€function onStart()€? print("活動開始")€end€function onResume()€? print("返回程序")€end€function onPause()€? print("活動暫停")€end€function onStop()€? print("活動停止")€end€function onDestroy()€? print("程序已退出")€end€function onResult(name,...)€? --name:返回的活動名稱€? --...:返回的參數€? print("返回活動",name,...)€end€function onCreateOptionsMenu(menu)€? --menu:選項菜單救氯。€? menu.add("菜單")€end€function onOptionsItemSelected(item)€? --item:選中的菜單項€? print(item.Title)€end€function onConfigurationChanged(config)€? --config:配置信息€? print("屏幕方向關閉")€end€function onKeyDown(keycode,event)€? --keycode:鍵值€? --event:事件€? print("按鍵按下",keycode)€end€function onKeyUp(keycode,event)€? --keycode:鍵值€? --event:事件€? print("按鍵抬起",keycode)€end€function onKeyLongPress(keycode,event)€? --keycode:鍵值€? --event:事件€? print("按鍵長按",keycode)€end€function onTouchEvent(event)€? --event:事件€? print("觸摸事件",event)€end€function onKeyDown(c,e)€? if c==4 then€--返回鍵事件€end€end€€id.onClick=function()€--控件被單擊€end€id.onLongClick=function()€--控件被長按€end€€id.onItemClick=function(p,v,i,s)€--列表項目被單擊€項目=v.Text€return true€end€id.onItemLongClick=function(p,v,i,s)€--列表項目被長按€項目=v.Text€return true€end€€id.onItemLongClick=function(p,v,i,s)€--列表項目被長按€項目=v.Text€return true€end€--Spinner的項目單擊事件€id.onItemSelected=function(l,v,p,i) €項目=v.Text€end€--ExpandableListView的父項目與子項目單擊事件€id.onGroupClick=function(l,v,p,s)€? print(v.Text..":GroupClick")€end€id.onChildClick=function(l,v,g,c)€? print(v.Text..":ChildClick")€end》

『小菜』

〔Lua功能實現〕

【Shell執(zhí)行】

〖2017-08-17 09:13:12〗

《function exec(cmd)€local p=io.popen(string.format('%s',cmd))€local s=p:read("*a")€p:close()€return s€end€€print(exec("echo? ...."))€€部分常用命令:€--刪除文件或文件夾€rm -r /路徑€€--復制文件或文件夾€cp -r inpath outpath€€--移動文件或文件夾€mv -r inpath outpath€€--掛載系統(tǒng)目錄€mount -o remount,rw path€€--修改系統(tǒng)文件權限€chmod 755 /system/build.prop€€--重啟€reboot €€--關機€reboot -p€--重啟至recovery€reboot recovery》

『小菜』

〔Lua功能實現〕

【各種事件】

〖2017-08-17 09:15:26〗

《各種事件€function main(...)€--...是newActivity傳遞過來的參數找田。€print("入口函數",...)€end€€function onCreate()€print("窗口創(chuàng)建")€end€€function onStart()€ print("活動開始")€end€€function onResume()€€ print("返回程序")€end€€function onPause()€print("活動暫停")€end€€function onStop()€print("活動停止")€end€€function onDestroy()€print("程序已退出")€end€€function onResult(name,...)€--name:返回的活動名稱 -€-...:返回的數€print("返回活動",name,...)€end€€function onCreateOptionsMenu(menu)€--menu:選項菜單。€menu.add("菜單")€end€€function onOptionsItemSelected(item)€ --item:選中的菜單項€print(item.Title)€end€€function onConfigurationChanged(config)€ --config:配置信息€print("屏幕方向關閉")€end€€function onKeyDown(keycode,event)€--keycode:鍵值€--event:事件€print("按鍵按下",keycode)€end€€function onKeyUp(keycode,event)€--keycode:鍵值€--event:事件€print("按鍵抬起",keycode)€end€€function onKeyLongPress(keycode,event)€ --keycode:鍵值€--event:事件€print("按鍵長按",keycode)€end€function onTouchEvent(event)€--event:事件€print("觸摸事件",event)€end€€function onKeyDown(c,e)€if c==4 then€--返回鍵事件€end€end€€id.onClick=function()€--控件被單擊€€end€€id.onLongClick=function()€--控件被長按€end€€€id.onItemClick=function(p,v,i,s)€--列表項目被單擊€項目=v.Text€return true€end€€id.onItemLongClick=function(p,v,i,s)€--列表項目被長按€項目=v.Text€return true€end€€€id.onItemLongClick=function(p,v,i,s)€--列表項目被長按€項目=v.Text€return true€end€€--Spinner的項目單擊事件€id.onItemSelected=function(l,v,p,i) €項目=v.Text€end€€--ExpandableListView的父項目與子項目單擊事件€id.onGroupClick=function(l,v,p,s)€print(v.Text..":GroupClick")€end€€id.onChildClick=function(l,v,g,c)€print(v.Text..":ChildClick")€end€》

『小菜』

〔Lua功能實現〕

【剪切板操作】

〖2017-08-17 09:22:36〗

《剪切板操作€import "android.content.Context" €--導入類€€a=activity.getSystemService(Context.CLIPBOARD_SERVICE).getText() €--獲取剪貼板 €€activity.getSystemService(Context.CLIPBOARD_SERVICE).setText(edit.Text) €--寫入剪貼板€》

『小菜』

〔Lua功能實現〕

【一鍵加群與QQ聊天】

〖2017-08-17 09:23:56〗

《一鍵加群與QQ聊天€import "android.net.Uri"€import "android.content.Intent"€--加群€url="mqqapi://card/show_pslcard着憨?src_type=internal&version=1&uin=383792635&card_type=group&source=qrcode"€activity.startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(url)))€€--QQ聊天€url="mqqwpa://im/chat墩衙?chat_type=wpa&uin=2113075983"€activity.startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(url)))€》

『小菜』

〔Lua功能實現〕

【獲取視角中的所有文本】

〖2017-08-17 09:25:06〗

《獲取視圖中的所有文本€function GetAllText(view)€textTable={}€function GetText(Parent)€local number=Parent.getChildCount()€for i=0,number do€local view=Parent.getChildAt(i)€if pcall(function()view.addView(TextView(activity))end) then GetText(view)€elseif pcall(function()view.getText()end) then

table.insert(textTable,tostring(view.Text))€end€end€end€GetText(view)€return textTable€end€€print(table.unpack(GetAllText(Parent)))》

『小菜』

〔Lua功能實現〕

【匹配漢字】

〖2017-08-17 09:27:46〗

《匹配漢字€function filter_spec_chars(s)€local ss = {}€for k = 1, #s do€local c = string.byte(s,k)€if not c then break end€if (c>=48 and c<=57) or (c>= 65 and c<=90) or (c>=97 and c<=122) then€if not string.char(c):find("%w") then€table.insert(ss, string.char(c))€end€elseif c>=228 and c<=233 then€local c1 = string.byte(s,k+1)€local c2 = string.byte(s,k+2)€if c1 and c2 then€local a1,a2,a3,a4 = 128,191,128,191€if c == 228 then a1 = 184€elseif c == 233 then a2,a4 = 190,c1 ~= 190 and 191 or 165€end€if c1>=a1 and c1<=a2 and c2>=a3 and c2<=a4 then€k = k + 2€table.insert(ss, string.char(c,c1,c2))€end€end€end€end€return table.concat(ss)€end€print(filter_spec_chars("A1B2漢C3D4字E5F6,,,"))€-來源網絡,加了個if過濾掉英文與數字,使其只捕獲中文€》

『小菜』

〔Lua功能實現〕

【播放音樂與視頻】

〖2017-08-17 09:30:15〗

《播放音樂與視頻€import "android.media.MediaPlayer"€mediaPlayer =? MediaPlayer()€€--初始化參數 €mediaPlayer.reset()€--設置播放資源 €mediaPlayer.setDataSource("storage/sdcard0/a.mp3")€€--開始緩沖資源 €mediaPlayer.prepare()€--是否循環(huán)播放該資源 €mediaPlayer.setLooping(true)€€--緩沖完成的監(jiān)聽 €mediaPlayer.setOnPreparedListener(MediaPlayer.OnPreparedListener() { €onPrepared=function(mediaPlayer€mediaPlayer.start()€end}); €--是否在播放 €mediaPlayer.isPlaying()€--暫停播放€mediaPlayer.pause()€--從30位置開始播放 €mediaPlayer.seekTo(30)€€--停止播放 €mediaPlayer.stop()€€--播放視頻€--視頻的播放與音樂播放過程一樣: €--先創(chuàng)建一個媒體對象 €import "android.media.MediaPlayer"€mediaPlayer =? MediaPlayer()€--初始化參數 €mediaPlayer.reset()€€--設置播放資源 €mediaPlayer.setDataSource("storage/sdcard0/a.mp4")€€--拿到顯示的SurfaceView €sh = surfaceView.getHolder()€sh.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS)€--設置顯示SurfaceView

mediaPlayer.setDisplay(sh)€€--設置音頻流格式 €mediaPlayer.setAudioStreamType(AudioManager.Stream_Music)€€--開始緩沖資源 €mediaPlayer.prepare()€--緩沖完成的監(jiān)聽 €mediaPlayer.setOnPreparedListener(MediaPlayer.OnPreparedListener{ €onPrepared=function(mediaPlayer)€--開始播放 €mediaPlayer.start()€end€}); €--釋放播放器 €mediaPlayer.release()€€--非原創(chuàng)€》

『小菜』

〔Lua功能實現〕

【獲取系統(tǒng)SDK,Android版本及設備型號】

〖2017-08-17 09:35:25〗

《device_model = Build.MODEL --設備型號€€version_sdk = Build.VERSION.SDK --設備SDK版本 €€version_release = Build.VERSION.RELEASE --設備的系統(tǒng)版本》

『小菜』

〔Lua功能實現〕

【控件顏色修改】

〖2017-08-17 09:36:14〗

《控件顏色修改€import "android.graphics.PorterDuffColorFilter"€import "android.graphics.PorterDuff"€€--修改按鈕顏色€button.getBackground().setColorFilter(PorterDuffColorFilter(0xFFFB7299,PorterDuff.Mode.SRC_ATOP))€€--修改編輯框顏色€edittext.getBackground().setColorFilter(PorterDuffColorFilter(0xFFFB7299,PorterDuff.Mode.SRC_ATOP));€--修改Switch顏色€switch.ThumbDrawable.setColorFilter(PorterDuffColorFilter(0xFFFB7299,PorterDuff.Mode.SRC_ATOP));€switch.TrackDrawable.setColorFilter(PorterDuffColorFilter(0xFFFB7299,PorterDuff.Mode.SRC_ATOP))€€--修改ProgressBar顏色€progressbar.IndeterminateDrawable.setColorFilter(PorterDuffColorFilter(0xFFFB7299,PorterDuff.Mode.SRC_ATOP))€€--修改SeekBar滑條顏色€seekbar.ProgressDrawable.setColorFilter(PorterDuffColorFilter(0xFFFB7299,PorterDuff.Mode.SRC_ATOP))€--修改SeekBar滑塊顏色€seekbar.Thumb.setColorFilter(PorterDuffColorFilter(0xFFFB7299,PorterDuff.Mode.SRC_ATOP))€》

『小菜』

〔Lua功能實現〕

【修改對話框按鈕顏色】

〖2017-08-17 09:38:38〗

《修改對話框按鈕顏色

function DialogButtonFilter(dialog,button,WidgetColor)€if Build.VERSION.SDK_INT >= 21 then€import "android.graphics.PorterDuffColorFilter"€import "android.graphics.PorterDuff"€if button==1 then€dialog.getButton(dialog.BUTTON_POSITIVE).setTextColor(WidgetColor)€elseif button==2 then€dialog.getButton(dialog.BUTTON_NEGATIVE).setTextColor(WidgetColor)€elseif button==3 then€dialog.getButton(dialog.BUTTON_NEUTRAL).setTextColor(WidgetColor)€end€end€end€--第一個參數為對話框的變量€--第二個參數為1時甲抖,則修改POSITIVE按鈕顏色,為二則修改NEGATIVE按鈕顏色,為三則修改NEUTRAL按鈕顏色€--第三個參數為要修改成的顏色€》

『小菜』

〔Lua功能實現〕

【查詢本地所有視頻】

〖2017-08-17 09:40:43〗

《查詢本地所有視頻€function QueryAllVideo()€import "android.provider.MediaStore"€cursor = activity.ContentResolver€mImageUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;€mCursor = cursor.query(mImageUri,nil,nil,nil,MediaStore.Video.Media.DATE_TAKEN)€mCursor.moveToLast()€VideoTable={}€while mCursor.moveToPrevious() do€path = mCursor.getString(mCursor.getColumnIndex(MediaStore.Video.Media.DATA))€table.insert(VideoTable,tostring(path))€end€mCursor.close()€return VideoTable€end€--返回一個表》

『小菜』

〔Lua功能實現〕

【查詢本地所有圖片】

〖2017-08-17 09:43:16〗

《查詢本地所有圖片€function QueryAllImage()€import "android.provider.MediaStore"€cursor = activity.ContentResolver€mImageUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;€mCursor = cursor.query(mImageUri,nil,nil,nil,MediaStore.Images.Media.DATE_TAKEN)€mCursor.moveToLast()€imageTable={}€while mCursor.moveToPrevious() do€path = mCursor.getString(mCursor.getColumnIndex(MediaStore.Images.Media.DATA))€table.insert(imageTable,tostring(path))€end€mCursor.close()€return image€Tableend€--返回一個表€》

『小菜』

〔Lua功能實現〕

【遞歸查找文件】

〖2017-08-17 09:45:46〗

《遞歸查找文件€function outPath(ret) €for i,p in pairs(luajava.astable(ret))do€print(p)€end€end€function find(catalog,name)€local n=0€ local t=os.clock()€local ret={}€require "import"€ import "java.io.File"€ import "java.lang.String"€function FindFile(catalog,name)€local name=tostring(name)€ local ls=catalog.listFiles() or File{}€for 次數=0,#ls-1 do€ --local 目錄=tostring(ls[次數])€local f=ls[次數]€if f.isDirectory() then--如果是文件夾則繼續(xù)匹配€FindFile(f,name)€else--如果是文件則€n=n+1€if n%1000==0 then€print(n,os.clock()-t)€end€ local nm=f.Name€ if string.find(nm,name) then€--thread(insert,目錄)€table.insert(ret,tostring(f))€end€ end€luajava.clear(f)€end€end€FindFile(catalog,name)€call("outPath",ret)€end€import "java.io.File"€€catalog=File("/sdcard/AndroLua")€name=".j?pn?g"€thread(find,catalog,name)€》

『小菜』

〔Lua功能實現〕

【獲取手機內置存儲路徑】

〖2017-08-17 09:50:13〗

《獲取手機內置存儲路徑€Environment.getExternalStorageDirectory().toString()》

『小菜』

〔Lua功能實現〕

【獲取已安裝程序的包名漆改、版本號、最后更新時間准谚、圖標挫剑、應用名稱】

〖2017-08-17 09:51:34〗

《獲取已安裝程序的包名、版本號柱衔、最后更新時間樊破、圖標、應用名稱€function GetAppInfo(包名)€import "android.content.pm.PackageManager"€ local pm = activity.getPackageManager();€local 圖標 = pm.getApplicationInfo(tostring(包名),0)€local 圖標 = 圖標.loadIcon(pm);€local pkg = activity.getPackageManager().getPackageInfo(包名, 0); € local 應用名稱 = pkg.applicationInfo.loadLabel(activity.getPackageManager())€local 版本號 = activity.getPackageManager().getPackageInfo(包名, 0).versionName€local 最后更新時間 = activity.getPackageManager().getPackageInfo(包名, 0).lastUpdateTime€local cal = Calendar.getInstance();€ cal.setTimeInMillis(最后更新時間); € local 最后更新時間 = cal.getTime().toLocaleString()€return 包名,版本號,最后更新時間,圖標,應用名稱€end€》

『小菜』

〔Lua功能實現〕

【獲取指定安裝包的包名,圖標,應用名】

〖2017-08-17 09:53:45〗

《獲取指定安裝包的包名,圖標,應用名€import "android.content.pm.PackageManager"€import "android.content.pm.ApplicationInfo"€function GetApkInfo(archiveFilePath)€pm = activity.getPackageManager()€info = pm.getPackageArchiveInfo(archiveFilePath, PackageManager.GET_ACTIVITIES); €if info ~= nil then€appInfo = info.applicationInfo;€appName = tostring(pm.getApplicationLabel(appInfo))€packageName = appInfo.packageName; --安裝包名稱€ version=info.versionName; --版本信息€icon = pm.getApplicationIcon(appInfo);--圖標€end€return packageName,version,icon€end€》

『小菜』

〔Lua功能實現〕

【獲取某程序是否安裝】

〖2017-08-17 09:55:27〗

《獲取某程序是否安裝€if pcall(function() activity.getPackageManager().getPackageInfo("包名",0) end) then€print("安裝了")€else€print("沒安裝")€end€》

『小菜』

〔Lua功能實現〕

【設置TextView字體風格】

〖2017-08-17 09:57:06〗

《設置TextView字體風格€import "android.graphics.Paint"€--設置中劃線€id.getPaint().setFlags(Paint. STRIKE_THRU_TEXT_FLAG)€--設置下劃線€id.getPaint().setFlags(Paint. UNDERLINE_TEXT_FLAG )€--設置加粗€id.getPaint().setFakeBoldText(true)€--設置斜體€id.getPaint().setTextSkewX(0.2)€€--設置TypeFace€import "android.graphics.Typeface"€id.getPaint().setTypeface()€--參數列表€Typeface.DEFAULT 默認字體€Typeface.DEFAULT_BOLD 加粗字體€Typeface.MONOSPACE monospace字體€Typeface.SANS_SERIF sans字體€Typeface.SERIF serif字體》

『小菜』

〔Lua功能實現〕

【縮放圖片】

〖2017-08-17 09:59:03〗

《縮放圖片€function rotateToFit(bm,degrees)€import "android.graphics.Matrix"€import "android.graphics.Bitmap"€width = bm.getWidth()€height = bm.getHeight()€matrix =? Matrix()€matrix.postRotate(degrees)€bmResult = Bitmap.createBitmap(bm, 0, 0, width, height, matrix, true)€returnbmResult€end€bm=loadbitmap(圖片路徑)€縮放級別=2€rotateToFit(bm,degrees)€--非原創(chuàng)》

『小菜』

〔Lua功能實現〕

【獲取運營商名稱】

〖2017-08-17 10:01:25〗

《獲取運營商名稱€import "android.content.Context" €運營商名稱 = this.getSystemService(Context.TELEPHONY_SERVICE).getNetworkOperatorName()€print(運營商名稱)€--添加權限? READ_PHONE_STATE》

『小菜』

〔Lua功能實現〕

【Drawable著色】

〖2017-08-17 10:02:04〗

《Drawable著色€function ToColor(path,color)€ local? aa=BitmapDrawable(loadbitmap(tostring(path)))€aa.setColorFilter(PorterDuffColorFilter(color,PorterDuff.Mode.SRC_ATOP))€return aa€end》

『小菜』

〔Lua功能實現〕

【保存圖片到本地】

〖2017-08-17 10:03:15〗

《保存圖片到本地€function€SavePicture(name,bm)

if? bm then€import "java.io.FileOutputStream"€import "java.io.File"€import "android.graphics.Bitmap"€name=tostring(name)€f = File(name)€out = FileOutputStream(f)€bm.compress(Bitmap.CompressFormat.PNG,90, out)€out.flush()€out.close()€return true

else€return false€end€end》

『小菜』

〔Lua功能實現〕

【調用應用商店搜索應用】

〖2017-08-17 10:05:20〗

《調用應用商店搜索應用€import "android.content.Intent"€import "android.net.Uri"€intent = Intent("android.intent.action.VIEW")€intent .setData(Uri.parse( "market://details?id="..activity.getPackageName()))€this.startActivity(intent)》

『小菜』

〔Lua功能實現〕

【TextView顯示圖片】

〖2017-08-16 17:06:52〗

《/** €*HashMap存放圖片的文字代碼和圖片的路徑 €*/ €HashMap keyImage = new HashMap(); €keyImage.put("[image01]", R.drawable.img1);€keyImage.put("[image02]", R.drawable.img2);€TextView textView = (TextView)€findViewById(R.id.content_editText1); €//為TextView添加文本改變監(jiān)聽 €textView.addTextChangedListener(new MarkImageWatcher(keyImage,MainActivity.this)); €textView.setText("[image01]"); €/** €*自定義TextWatcher類 €*/ €public class MarkImageWatcher implements TextWatcher { €HashMap key = new HashMap(); €Context context; €//構造方法唆铐,€€public€MarkImageWatcher(HashMap key, Context context) { €super(); €this.key = key; €this.context = context; €} €@Override €public void afterTextChanged(Editable arg0) { €String text = arg0.toString();€Iterator iterator = key.keySet().iterator(); €while (iterator.hasNext()) { €String k = iterator.next(); €if (text.contains(k)) { €int index = 0;€while ((index = text.indexOf(k, index)) != -1) { €Drawable drawable = context.getResources().getDrawable(key.get(k));€drawable.setBounds(0, 0, 300,500); €//將代表圖片的文本標記為圖片 €arg0.setSpan(new ImageSpan(drawable,ImageSpan.ALIGN_BASELINE), index,index + k.length(),Spannable.SPAN_INCLUSIVE_EXCLUSIVE);€index += k.length(); €}€} €} €} €}》

『小菜』

〔Android功能實現〕

【Activity跳轉+動畫】

〖2017-08-16 17:14:25〗

《1.普通跳轉: €Intent intent = new Intent(); €intent.setClass(this,NextActivity.class); €//往下一個界面?zhèn)髦嫡芷荩墒÷?€intent.putExtra("key",value);€startActivity(intent); €€//下一個界面接收值: €Intent intent = this.getIntent(); €String value = intent.getStringExtra("key"); €//如果是int型就getIntgerExtra€€2.帶返回值的跳轉:€startActivityForResult(intent,requestcode); €//在本類中監(jiān)聽返回結果€@Override €protected void onActivityResult(intrequestCode, int resultCode, Intent data){ €//得到返回值 €String result = data.getStringExtra("key"); €} €//下一個界面寫: €Intent intent = this.getIntent(); €intent.putExtra("key",value);€setResult(resultCode,intent); €€3.銷毀activity :finish(); €4.activity的重繪: €//重新加載一個布局 €this.setContentView(R.layout.new_main); €€5.activity切換動畫: €//在startActivity之后添加€this.overridePendingTransition(R.anim.enterAnim, R.anim.exitAnim); €》

『小菜』

〔Android功能實現〕

【開機自啟程序】

〖2017-08-16 17:18:28〗

《€€1.新建一個類繼承廣播類: €public class BootBroadcastReceiver extends BroadcastReceiver { €static final String action_boot = "android.intent.action.BOOT_COMPLETED";€@Override €public void onReceive(Context context, Intent intent) { €if (intent.getAction().equals(action_boot)) { €//接受到開機廣播后打開MainActivity界面 €Intent ootStartIntent = new Intent(context, MainActivity.class);€ootStartIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); €context.startActivity(ootStartIntent); €} €} €} €2.在配置清單中配置這個廣播: €€ € €€ € € €€2.添加開機自啟權限: €€》

『小菜』

〔Android功能實現〕

【瀏覽器WebView】

〖2017-08-16 10:13:15〗

《1.設置支持JavaScript: €webView.getSettings().setJavaScriptEnabled(true); €2.加載網頁: €webView.loadUrl("http://www.baidu.com"); €//加載本地文件: €webView.loadUrl("file:///storage/sdcard0/index.html"); €webView.loadUrl("content://com.android.htmlfileprovider/sdcard/index.html"); €//加載assets中文件: €webView.loadUrl("file:///android_asset/index.html"); €3.獲取原始URL:webView.getOriginalUrl(); €4.獲取當前URL:webView.getUrl(); €5.瀏覽器加載網頁的監(jiān)聽 €webView.setWebViewClient(new WebViewClient() { €@Override €public void onPageFinished(WebView view,String url) { €//加載完成 €} €@Override €public€boolean€shouldOverrideUrlLoading(WebView view, String url) { €//設置在本瀏覽器打開新網頁 €view.loadUrl(url); €return true;€} €}); €€7.設置webview背景透明:€webView.setBackgroundColor(0); €//4.0上在xml中關閉硬件加速€android:layerType="software" €€8.后退網頁:€if (webView.canGoBack()) { €webView.goBack(); €} €€9.下載鏈接單擊監(jiān)聽事件 :€webView.setDownloadListener(new DownloadListener{€@Override€public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype,long contentLength) {€€Uri uri = Uri.parse(url);? //調用本地瀏覽器打開€Intent intent = new Intent(Intent.ACTION_VIEW, uri);€startActivity(intent);€}? €} );€€10.保存瀏覽器網頁截圖:€Picture pic = webView.capturePicture(); €int width = pic.getWidth(); €int height = pic.getHeight(); €if (width > 0 && height > 0) { €Bitmap bmp=Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); €Canvas canvas=new Canvas(bmp); €pic.draw(canvas);€try { €String filename="sdcard0/"+System.currentTimeMillis()+".jpg"; €FileOutputStream fos=newFileOutputStream(filename); €if(fos!=null){€bmp.compress(Bitmap.CompressFormat.JPEG, 90, fos); €fos.close(); €} €} catch (Exception e) { €e.printStackTrace(); €} €} €》

『小菜』

〔Android控件知識〕

【日期和時間選擇控件】

〖2017-08-16 10:17:56〗

《一、日期控件 DatePicker :€€//設置右邊日歷不顯示 €android:calendarViewShown="false" €//設置默認時間和改變后的監(jiān)聽事件 €datePicker.init(2015,05,10,new DatePicker.OnDateChangedListener()€{ €€@Override €public void onDateChanged(DatePicker datePicker, int i, int i2, int i3) { €€ //后三個參數是改變后的年月里艾岂,月是0開始的 €} €}); €€二顺少、時間控件 TimePicker :€€//設置為24小時制 €timePicker.setIs24HourView(true); €//時間改變后的監(jiān)聽 €timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() { €@Override €public void onTimeChanged(TimePicker timePicker, int i, int i2) { €€//后兩個參數是控件選擇的時,分 €} €}); €€三、時間和日期選擇對話框:€//日期選擇對話框: €DatePickerDialog datePickerDialog = new DatePickerDialog(this,CallBack,2015,05,10); €//時間選擇對話框: €TimePickerDialog timePickerDialog = new TimePickerDialog(this, CallBack,12,12,true); € //后三個參數默認時間脆炎,時間最后參數是否24小時制€€2.CallBack選擇完成后的事件:€€//日期事件 €DatePickerDialog.OnDateSetListener CallBack = new DatePickerDialog.OnDateSetListener() {€ @Override €public void onDateSet(DatePicker datePicker, int i, int i2, int i3) { €//后三個參數年梅猿,月,日 € } €}; €€//時間事件 €TimePickerDialog.OnTimeSetListener CallBack = new TimePickerDialog.OnTimeSetListener() { €@Override €public void onTimeSet(TimePicker timePicker, int i, int i2) { €//后兩個參數秒裕,時粒没,分 €} €}; €》

『小菜』

〔Android控件知識〕

【EditText編輯框】

〖2017-08-16 13:57〗

《一、xml文件中屬性: €1.最大長度:android:maxLength="10"€ 2.默認內容:android:hint="請輸入內容" €android€textColorHint="#000000" €3.限制輸入:android:digits="123+" €4.單行顯示:android:singleLine="true" €5.每行長度:android:ems="5" €6.最多幾行:android:Lines="4" €€二簇爆、java判斷編輯框是否為空: €//去空格 €String serch_text = editText.getText().toString().trim(); €if(serch_text.isEmpty()){? ? } €€三癞松、編輯框內容改變時監(jiān)聽: €editText.addTextChangedListener(new TextWatcher() { €@Override €public void€beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) { € //正在修改 €} €@Override €public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) { €//修改之前€} €@Override €public void afterTextChanged(Editable editable) { €//修改之后的內容 String str = editable.toString(); €//清除輸入內容 editable.clear();€} €}); €€四、添加過濾器: €€editText.setFilters(new InputFilter[]{null,null}); €//過濾器示例: €1.小寫轉換成大寫 €new InputFilter.AllCaps()€€2.自定義過濾器 €new InputFilter()€{ €@Override €public CharSequence filter(CharSequence charSequence, int i, int i2, Spanned spanned, int i3, int i4) { €//charSequence正在輸入的字符入蛆,spanned上次輸入的字符 €//過濾非法字符替換成*返回就可以了€return charSequence ; €}€}€€五土全、設置editText能否編輯:€€1.不可編輯: €editText.setFocusable(false); €contentEdit.setFocusableInTouchMode(false);€€2.可編輯: €editText.setFocusableInTouchMode(true);€editText.setFocusable(true); €editText.requestFocus(); €》

『小菜』

〔Android控件知識〕

【EditText文本高亮】

〖2017-08-16 14:01〗

《/** € *HashMap存放圖片的文字代碼和圖片的路徑 €*/ €HashMap€keyImage = new HashMap(); €key.put("public",MainActivity.this.getResources().getColor(R.color.red)); €key.put("void",MainActivity.this.getResources().getColor(R.color.red)); €€TextView textView = (TextView) findViewById(R.id.content_editText1); €//為TextView添加文本改變監(jiān)聽 €textView.addTextChangedListener(new MarkImageWatcher(keyImage,MainActivity.this)); €textView.setText("[image01]"); €/** € *自定義TextWatcher類 € */ €public class MarkImageWatcher€implements€TextWatcher { €HashMap key = new HashMap();€Context context; €//構造方法€public€MarkImageWatcher(HashMap key, Context context) { €super();€this.key = key; €this.context = context; €}€@Override €public void€afterTextChanged(Editable arg0) { €String text = arg0.toString();€Iterator iterator = key.keySet().iterator(); €while (iterator.hasNext()) { €String k = iterator.next();€if (text.contains(k)) { €int index = 0; €while ((index = text.indexOf(k, index)) != -1) {€arg0.setSpan(new ForegroundColorSpan(key.get(k)), index,index + k.length(),Spanned SPAN_EXCLUSIVE_EXCLUSIVE); €index += k.length(); €} €}€}€} €} €與標記圖片類似,TextView和EditText可以 €互換撬腾,EditText本身也是從TextView繼承過來的椅亚。所

以EditText也可以標記圖片,Textview也可以標記顏色》

『小菜』

〔Android控件知識〕

【菜單選項操作】

〖2017-08-16 17:21:10〗

《java代碼寫在Activity類體中 €€// 加載菜單布局 €@Override €public boolean onCreateOptionsMenu(Menu menu) { €getMenuInflater().inflate(R.menu.main, menu); €return true; €} €// 菜單點擊事件€public€boolean€onOptionsItemSelected(MenuItem item) { €switch (item.getItemId()) { €case R.id.exit: €finish(); €break; €case R.id.about: €Toast.makeText(MainActivity.this, "你好",Toast.LENGTH_SHORT).show(); €break; €} €return super.onOptionsItemSelected(item);€} €//菜單布局文件目錄位于res/menu下 €€》

『小菜』

〔Android控件知識〕

【自定義View】

〖2017-08-16 17:25:26〗

《1.寫一個類繼承自View扼褪,添加構造方法想幻,重寫 €onDraw方法,所有的繪制過程都是在這個方法中 €執(zhí)行话浇,canvas就是畫布脏毯。 €public class MyView extends View{ €public MySurfaceView(Context context)€{ €super(context); €} €@Override €protected void onDraw(Canvas canvas) { €/** €*所有繪畫代碼寫在這里 €*canvas就是這個畫布 € */ €super.onDraw(canvas); €} €} €2.有畫布了還要有畫筆才能開始畫畫,所以先制 €作畫筆: €Paint paint = new Paint(); €//設置畫筆屬性幔崖,更多設置看API文檔 €paint.setColor(Color.RED); €paint.setTextSize(20); €3.用畫筆繪畫: €//畫文字食店,xy是坐標 €canvas.drawText("你好啊", x, y, paint); €//畫矩形前四個屬性對應四條邊坐標 €canvas.drawRect(left, top, right, bottom, paint); €//畫圖片 €canvas.drawBitmap(bitmap, x, y, paint); €/**在IO流中有關于bitmap圖片的操作*/ €4.用戶操作的事件處理: €//重寫觸屏事件,至于獲取坐標參照基礎部分的觸摸事件 €@Override €public boolean €onTouchEvent(MotionEvent event) { €return super.onTouchEvent(event); €} €//重寫鍵盤事件赏寇,至于獲取鍵碼參照基礎部分重寫各種鍵 €@Override €public boolean onKeyDown(int keyCode, KeyEvent event) { €//此方法告訴畫布重新繪制 €invalidate(); €return super.onKeyDown(keyCode, event); €} €這些事件處理是寫在類體中吉嫩,要想動態(tài)繪制內容 €繪圖時哪些坐標就不能直接寫了,要定義成全局變量 €然后改變坐標后可以調用invalidate方法來重新繪制嗅定。 €5.以上這些都是在畫布上畫自娩,要顯示在屏幕上寫一個 €界面Activity,加載布局的那個方法這樣寫:€setContentView(new MyView(this)); €也可以直接寫在xml中: € €這就是自定義控件渠退,快去打造超炫的組件吧忙迁!€》

『小菜』

〔Android用戶界面〕

【初識AndLua】

〖2017-08-16 17:33:45〗

《初識AndroLua

AndroLua可以在安卓平臺上的用 Lua 開發(fā)安卓程序,不僅支持調用Java API智什,而且支持編寫安卓界面程序动漾,還可以將自己寫的 Lua 程序打包成apk安裝文件安裝。Lua 語言的簡單使沒有任何編程經驗的用戶也能在短時間內開發(fā)出安卓程序荠锭,因此旱眯,在學習AndroLua之前我們需要先學習 Lua 語言。》

『小菜』

〔Lua理論知識〕

【第一個Lua程序】

〖2017-08-16 17:35:29〗

《第一個 Lua 程序€€接下來我們使用 Lua 來輸出"Hello World" €€print("Hello World") €€運行后删豺,會在屏幕上顯示 Hello world》

『小菜』

〔Lua理論知識〕

【標示符】

〖2017-08-16 17:36:45〗

《標示符€Lua 表示符用于定義一個變量共虑,函數獲取其他用戶定義的項。標示符以一個字母 A 到 Z 或 a 到 z 或下劃線 _ 開頭后加上0個或多個字母呀页,下劃線妈拌,數字(0到9)。 €最好不要使用下劃線加大寫字母的標示符蓬蝶,因為Lua的保留字也是這樣的尘分。 €Lua 不允許使用特殊字符如 @, $, 和 % 來定義標示符。 Lua 是一個區(qū)分大小寫的編程語言丸氛。因此在 Lua 中 W3c 與 w3c 是兩個不同的標示符培愁。以下列出了一些正確的標示符:€€mohd? ? ? ? zara? ? ? abc? ? move_name€€myname50? ? _temp? ? j? ? ? a23b9? €》

『小菜』

〔Lua理論知識〕

初識AndLua】

〖2017-08-16 17:33:45〗

《初識AndroLua

AndroLua可以在安卓平臺上的用 Lua 開發(fā)安卓程序,不僅支持調用Java API缓窜,而且支持編寫安卓界面程序定续,還可以將自己寫的 Lua 程序打包成apk安裝文件安裝。Lua 語言的簡單使沒有任何編程經驗的用戶也能在短時間內開發(fā)出安卓程序禾锤,因此私股,在學習AndroLua之前我們需要先學習 Lua 語言《髦溃》

『小菜』

〔Lua理論知識〕

【第一個Lua程序】

〖2017-08-16 17:35:29〗

《第一個 Lua 程序€€接下來我們使用 Lua 來輸出"Hello World" €€print("Hello World") €€運行后倡鲸,會在屏幕上顯示 Hello world》

『小菜』

〔Lua理論知識〕

【標示符】

〖2017-08-16 17:36:45〗

《標示符€Lua 表示符用于定義一個變量,函數獲取其他用戶定義的項螃成。標示符以一個字母 A 到 Z 或 a 到 z 或下劃線 _ 開頭后加上0個或多個字母旦签,下劃線,數字(0到9)寸宏。 €最好不要使用下劃線加大寫字母的標示符,因為Lua的保留字也是這樣的偿曙。 €Lua 不允許使用特殊字符如 @, $, 和 % 來定義標示符氮凝。 Lua 是一個區(qū)分大小寫的編程語言。因此在 Lua 中 W3c 與 w3c 是兩個不同的標示符望忆。以下列出了一些正確的標示符:€€mohd? ? ? ? zara? ? ? abc? ? move_name€€myname50? ? _temp? ? j? ? ? a23b9? €》

『小菜』

〔Lua理論知識〕

【打印】

〖2017-08-16 17:37:56〗

《打印€print"Hello World罩阵!"€print("Hello World")》

『小菜』

〔Lua基礎知識〕

【注釋】

〖2017-08-16 17:38:12〗

《注釋€單行注釋? --€多行注釋? --[[]]》

『小菜』

〔Lua基礎知識〕

【字符串】

〖2017-08-16 17:37:43〗

《字符串€a="String"€a=[[String]]€a=[===[String]===]》

『小菜』

〔Lua基礎知識〕

【賦值】

〖2017-08-16 17:40:50〗

《賦值€a="Hello World"€€--lua支持多重賦值€a,b="String a","String b"€€--交換值€a,b="String a","String b"€a,b=b,a》

『小菜』

〔Lua基礎知識〕

【類型簡介】

〖2017-08-16 17:41:38〗

《類型簡介€Lua 存在的數據類型包括:€1.nil€此類型只有一個值 nil。用于表示“空”值启摄。全局變量默認為 nil稿壁,刪除一個已經賦值的全局變量只需要將其賦值為 nil(對比JavaScript,賦值 null 并不能完全刪除對象的屬性歉备,屬性還存在傅是,值為 null)€€2.boolean€此類型有兩個值 true 和 false。在 Lua 中,false 和 nil 都表示條件假喧笔,其他值都表示條件真(區(qū)別于 C/C++ 等語言的是帽驯,0 是真)€€3.number€雙精浮點數(IEEE 754 標準),Lua 沒有整數類型€€4.string€你可以保存任意的二進制數據到字符串中(包括 0)书闸。字符串中的字符是不可以改變的(需要改變時尼变,你只能創(chuàng)建一個新的字符串)。獲取字符串的長度浆劲,可以使用 # 操作符(長度操作符)嫌术。例如:print(#”hello”)。字符串可以使用單引號牌借,也可以使用雙引號包裹蛉威,對于多行的字符串還可以使用 [[ 和 ]] 包裹。字符串中可以使用轉義字符走哺,例如 \n \r 等蚯嫌。使用 [[ 和 ]] 包裹的字符串中的轉義字符不會被轉義€€5.userdata€用于保存任意的 C 數據。userdata 只能支持賦值操作和比較測試€€6.function€函數是第一類值(first-class value)丙躏,我們能夠像使用其他變量一樣的使用函數(函數能夠保存在變量中择示,可以作為參數傳遞給函數)€€7.thread€區(qū)別于我們常常說的系統(tǒng)級線程€€8.table€被實現為關聯(lián)數組(associative arrays),可以通過任何值來進行索引(nil 除外)晒旅。和全局變量一樣栅盲,table 中未賦值的域為 nil,刪除一個域只需要將其賦值為 nil(實際上废恋,全局變量就是被放置在一個 table 中)€€type 函數用于返回值的類型:€print(type("Hello World")) --> string€print(type(10.4*3)) -->number€print(type(print))? ->function€print(type(type(X)))? --> string€》

『小菜』

〔Lua基礎知識〕

【if(判斷語句)】

〖2017-08-16 17:44:52〗

《if(判斷語句)€--判斷值是否為真€a=true€if a then€print("真")€else€print("假")€end€--比較值是否相同€a=true€b=false€if a==b then€print("真")€else€print("假")€end》

『小菜』

〔Lua基礎知識〕

【function(函數)】

〖2017-08-16 17:46:16〗

《function(函數)€函數有兩個用途€1.完成指定功能谈秫,函數作為調用語句使用€2.計算并返回值,函數作為賦值語句的表達式使用€€€實例1:€function 讀取文件(路徑)€文件內容=io.open(路徑):read("*a")€return 文件內容--return用來返回值€end€€€€實例2:€require "import"€import "android.widget.EditText"€import "android.widget.LinearLayout"€function 編輯框()€return EditText(activity)€end€layout={€LinearLayout;€id="父布局",€{編輯框,€id="edit",€text="文本",€},€};€activity.setContentView(loadlayout(layout))€--把這段代碼放到調試里面去測試€》

『小菜』

〔Lua基礎知識〕

【 基礎代碼】

〖2017-08-16 17:49:32〗

《基礎代碼€activity.setTitle('Title')--設置窗口標題€activity.setContentView(loadlayout(layout))--設置窗口視圖€activity.setTheme(android.R.style.Theme_DeviceDefault_Light)--設置主題€activity.getWidth()--獲取屏幕寬€activity.getHeight()--獲取屏幕高€activity.newActivity("main")--跳轉頁面€activity.finish()--關閉當前頁面€activity.recreate()--重構activity€os.exit()--結束程序€tostring()--轉換字符串€tonumber()--轉換數字€tointeger()--轉換整數€--線程€--thread€thread(function()print"線程"end)€--task€task(function()print"線程"end)€》

『小菜』

〔Lua基礎知識〕

【While循環(huán)】

〖2017-08-16 17:51:49〗

《While循環(huán)€--只要條件為真便會一直循環(huán)下去€€--輸出1到10€a=0€while a~=10 do€a=a+1€print(a)€end€€--輸出10到1€a=11€while a~=1 do€a=a-1€print(a)€end€€--打印數組a中的所有值€shuzu={"a","b","c","d"}€a=0€while a~=#shuzu do€a=a+1€print(shuzu[a])€end€》

『小菜』

〔Lua基礎知識〕

【for循環(huán)】

〖2017-08-16 17:53:24〗

《For循環(huán)€--給定條件進行循環(huán)€€--輸出從1到10€for i=1,10 do€print(i)€end€€--輸出從10到1€for i=10,1,-1 do€print(i)€end€€--打印數組a中所有的值€a={"a","b","c","d"}€for index,content in pairs(a) do€print(content)€end€》

『小菜』

〔Lua基礎知識〕

【比較操作符】

〖2017-08-16 17:54:10〗

《比較操作符€--Lua 支持下列比較操作符:€€==: 等于€~=: 不等于€<: 小于€>: 大于€<=: 小于等于€>=: 大于等于€這些操作的結果不是 false就是 true鱼鼓。€》

『小菜』

〔Lua基礎知識〕

【Table(數組)】

〖2017-08-16 17:55:23〗

《Table(數組)€table是lua唯一的數據結構拟烫。€table是lua中最重要的數據類型。 €table類似于 python 中的字典迄本。€table只能通過構造式來創(chuàng)建硕淑。其他語言提供的其他數據結構如array、list等等嘉赎,lua都是通過table來實現的置媳。€table非常實用,可以用在不同的情景下公条。最常用的方式就是把table當成其他語言的數組拇囊。€€實例1:€mytable = {}€for index = 1, 100 do€mytable[index] = math.random(1,1000)€end€€說明:€1.數組不必事先定義大小,可動態(tài)增長靶橱。€2.創(chuàng)建包含100個元素的table寥袭,每個元素隨機賦1-1000之間的值路捧。€3.可以通過mytable[x]訪問任意元素,x表示索引纠永。€4.索引從1開始鬓长。€€實例2:€tab = { a = 10, b = 20, c = 30, d = 'www.jb51.net' }€print(tab["a"]) €€說明:€1.table 中的每項要求是 key = value 的形式。€2.key 只能是字符串尝江, 這里的 a, b, c, d 都是字符串涉波,但是不能加上引號。€3.通過 key 來訪問 table 的值炭序,這時候啤覆, a 必須加上引號。€€實例3:€tab = { 10, s = 'abc', 11, 12, 13 } €print(tab[1]) = 10€print(tab[2]) = 11€print(tab[3]) = 12€print(tab[4]) = 13€說明:€1.數標從1開始惭聂。€2.省略key窗声,會自動以1開始編號,并跳過設置過的key辜纲。€》

『小菜』

〔Lua基礎知識〕

【基礎-循環(huán)之while循環(huán)】

〖2017-08-15 23:22:33〗

《當天條件為真時(true)時€while(true) do€print("將會永遠循環(huán)下去")€end€a=100€while(a=100) do€print("將會永遠循環(huán)下去")€end€€就是這么簡單€》

『小菜』

〔Lua基礎知識〕

【基礎-循環(huán)之for循環(huán)】

〖2017-08-15 23:23:09〗

《lua有兩種循環(huán)(在我的認知里)

這篇講for循環(huán)笨觅,我們常用的€看個例子€for n=1,100 do€print(1)€end€他將會打印100遍1€€就是這么簡單€》

『小菜』

〔Lua基礎知識〕

【基礎-賦值語句】

〖2017-08-15 23:25:12〗

《a="我是".."帥哥"€這句等于€a="我是帥哥"€€也可以同時對多個賦值例如€a,b="這是a","這是b"€這句等于€a="這是a"€b="這是b"€這不是全部,但都是我們會經常用到的€》

『小菜』

〔Lua基礎知識〕

【基礎-變量】

〖2017-08-15 23:26:47〗

《lua的變量默認全局變量€例如 a=5€這就是一個全局變量耕腾,哪怕是在函數封裝等€申明一個局部變量见剩,加個local€€例如在一個函數封裝里(這里你不需要懂,以后會講)€€局部變量=function()€local a=5€print(a)€end€print(a)€€這就是一個局部變量扫俺,第一個會打印出5€第二個就是nil€因為局部變量苍苞,以一個代碼塊的end為結束》

『小菜』

〔Lua基礎知識〕

【基礎-布爾值數據類型詳解】

〖2017-08-15 23:29:25〗

《這個東西只有兩種€true真 這里指,某種條件成立€false假? 這里指狼纬,某種條件不成立€就像做算式一樣€5不可能等于3€我們用lua的語法來打印一下€€print(5=3)€屏幕會返回false€因為5根本不可能會等于38恰!疗琉!€€反之我們來打印一下print(3=3)€返回什么冈欢,不用說了吧€》

『小菜』

〔Lua基礎知識〕

【基礎-nill數據類型詳解】

〖2017-08-15 23:30:10〗

《nil就是空€空就是沒有€例如我們憑空打印一個a? €print(a)€屏幕會提示nil€因為這里的a根本不存在€nil還可以銷毀一個變量€例如 €a=5€a=nil€print(a)屏幕會提示nil€因為a已經被銷毀了,已經沒有了》

『小菜』

〔Lua基礎知識〕

【基礎-number數據類型詳解】

〖2017-08-15 23:51:02〗

《lua里面只有一種number類型€并沒有java中的float的類型€€例如€€a=5€這就是一個number賦值€基礎-常用數據類型€布爾值? 只有兩種€true? ? false€€數值? number€print(5)--提示? 5€字符串 string

print("5")--提示 5? 這里的5跟上面的5不一樣没炒,字符串不能跟數值比較L伟!送火!(具體下節(jié)講)€€空值 nil€€print(a)--打印一個沒有任何值的賦值,會提示nil€€這就是lua幾種常見的數據類型€》

『小菜』

〔Lua基礎知識〕

【基礎-關鍵詞】

〖2017-08-15:23:33〗

《關鍵詞的意思就是€你不能用這些詞語來賦值變量了€以下是lua所有關鍵詞€€and? ? ? break ? ? do? ? ? else? ? elseif? end? ? ? false€for? ? ? function? if? ? ? in? ? ? local? ? nil ? ? ? not

or ? ? ? repeat? ? return then? ? true? ? until? ? while €》

『小菜』

〔Lua基礎知識〕

【基礎-代碼注釋】

〖2017-08-15 23:34:45〗

《id.onClick=function()€€end€––以end結束》

『小菜』

〔Lua基礎知識〕

【基礎-點擊事件】

〖2017:23:56:59〗

《id.onClick=function()€––事件

end€––以end結束》

『小菜』

〔Lua基礎知識〕

【 基礎-print打印】

〖201-08-15 23:37〗

《pprint("hello word")––完整版€print"hello word"––簡化版€a="hello word"––一個變量€print(a)––打印€》

『小菜』

〔Lua基礎知識〕

【復制安裝包中的數據庫】

〖2017-08-16 06:53:23〗

《1.方法調用示例: €€//得到數據庫文件路徑 €Filedatabase1=getDatabasePath("res_download.db"); €//調用方法€copyDatabaseFile(IndexActivity.this, false, database1,R.raw.res_download); €2.復制安裝包中數據庫方法:€€//最后一個參數是res/raw/中的資源id €public static€void€copyDatabaseFile(Context context, boolean isfored,File databaseName,int rawId) {€File dir = databaseName.getParentFile();€if (!dir.exists()) {€try {€dir.mkdir();€} catch (Exception e) {€e.printStackTrace();€}€}€if(databaseName.exists() && !isfored){€//如果isfored=false不會刪除以前的數據庫€return ;€}€try {€if(databaseName.exists()){€//如果isfored=true而且存在刪除以前的數據庫€databaseName.delete();€}€databaseName.createNewFile():€InputStream in = context.getResources().openRawResource(rawId);€int size = in.available(); €byte buf[] = new byte[size];€in.read(buf); €in.close();€FileOutputStream out =new€FileOutputStream(databaseName);€out.write(buf);€out.close();€} catch (Exception e) {€e.printStackTrace();€}€}》

『小菜』

〔Android功能實現〕

【復制assets文件夾到SD卡】

〖2017-08-16 07:01:12〗

《€//第一個參數assets中文件夾先匪,第二個復制的新路徑 €€private void CopyAssets(String assetDir, String dir) { €String[] files;€try { €files = this.getResources().getAssets().list(assetDir); €} catch (IOException e1){ €return; €} €File mWorkingPath = new File(dir); € //如果文件夾不存在种吸,創(chuàng)建 €if (!mWorkingPath.exists()) {€if (!mWorkingPath.mkdirs()) { €Log.e("--CopyAssets--", "創(chuàng)建目錄失敗"); €} €} €for (int i = 0; i < files.length; i++) { €try { €String fileName = files[i]; €//如果名字不包含點,就是文件夾 €if (!fileName.contains(".")) { €if (0 == assetDir.length()){ €CopyAssets(fileName, dir + fileName + "/"); €} else {€CopyAssets(assetDir + "/" + fileName, dir + fileName + "/"); €} €continue; €}€File outFile = new File(mWorkingPath, fileName); €if (outFile.exists()) €outFile.delete(); €InputStream in = null; €if (0 != assetDir.length())€in = getAssets().open(assetDir + "/" + fileName); €else€in = getAssets().open(fileName);€OutputStream out =newFileOutputStream(outFile); €//用一個byte組從輸入流讀取寫到輸出流中€byte[] buf = new byte[1024];€int len; €while ((len = in.read(buf)) > 0) {€out.write(buf, 0, len); €}€in.close(); €out.close();€} catch (FileNotFoundException e) { €e.printStackTrace();€} catch (IOException e) {€e.printStackTrace(); €} €} €} €》

『小菜』

〔Android功能實現〕

【讀取assets和rae文件】

〖2017-08-16 07:07:3〗

《一呀非、讀取assets中文件:€//拿到輸入流坚俗,參數為assets中文件名€InputStream in = getAssets().open("aa.txt"); €//然后就可以像平常的IO一樣操作了,例如復制到SD卡中:€try { €InputStream in = getAssets().open("a.txt");€File file = new File("storage/sdcard0/a.txt");€FileOutputStream out =new€FileOutputStream(file); €int len = -1 ; €byte[] bytes = new byte[1024]; €while( (len=in.read(bytes) ) != -1){ €out.write(bytes,0,len); € } €out.close(); €in.close(); €} catch (IOException e) { €e.printStackTrace(); €} €€二镜盯、讀取res/raw中的文件:€//拿到輸入流,context是上下文猖败,rawId是文件資源如R.raw.aa€InputStream in = context.getResources().openRawResource(rawId); €》

『小菜』

〔Android功能實現〕

【解壓assets壓縮包到SD卡】

〖2016-08-16 07:10:56〗

《/**context上下文對象 €*assetName壓縮包名字 €*outputDirectory輸出目錄 € *isReWrite如果存在是否覆蓋 € */ €public static void unZip(Context context, String assetName,String outputDirectory,boolean isReWrite) throws IOException {€//創(chuàng)建解壓目標目錄€File file = new File(outputDirectory);€//如果目標目錄不存在速缆,則創(chuàng)建€if (!file.exists()) {€file.mkdirs();€} €//打開壓縮文件€InputStream inputStream = context.getAssets().open(assetName);€ZipInputStream zipInputStream = new ZipInputStream(inputStream);€//讀取一個進入點€ZipEntry zipEntry = zipInputStream.getNextEntry();€//使用1Mbuffer€byte[] buffer = new byte[1024 * 1024]; €//解壓時字節(jié)計數€int count = 0;€//如果進入點為空說明已經遍歷完所有壓縮包中文件和目錄€while (zipEntry != null) {€//如果是一個目錄€if (zipEntry.isDirectory()) {€file = new File(outputDirectory + File.separator + zipEntry.getName());€//文件需要覆蓋或者是文件不存在 €if(isReWrite || !file.exists()){€file.mkdir();€}€} else {€//如果是文件€file = new File(outputDirectory + File.separator + zipEntry.getName()); €//文件需要覆蓋或者文件不存在,則解壓文件 €if(isReWrite || !file.exists()){€file.createNewFile(); €FileOutputStream fileOutputStream = newFileOutputStream(file);€while ((count = zipInputStream.read(buffer)) > 0)€{€fileOutputStream.write(buffer, 0, count);€}€fileOutputStream.close(); €} €}€//定位到下一個文件入口€zipEntry = zipInputStream.getNextEntry();€€} €zipInputStream.close(); €} 》

『小菜』

〔Android功能實現〕

【使用Mediaplarl播放視頻】

〖2017-08-16 07:15:23〗

《import android.app.Activity;€import android.os.Bundle;€import android.widget.Button;€import android.widget.VideoView;€import android.view.View.OnClickListener;€import android.view.View;€import android.net.Uri;€import android.widget.MediaController;€€public class MainActivity extends Activity €}€private Button bn1,bn2,bn3;€private VideoView Video;€@Override€protected void onCreate(Bundle savedInstanceState)€ {€super.onCreate(savedInstanceState);€setContentView(R.layout.main);€//獲取main布局文件里的控件對象€bn1=(Button)findViewById(R.id.mainButton1);€bn2=(Button)findViewById(R.id.mainButton2);€bn3=(Button)findViewById(R.id.mainButton3);€€Video=(VideoView)findViewById(R.id.mainVideoView1);€€Video.setVideoURI(Uri.parse("file://路徑"));€//這里只需要把“路徑”換成你視屏文件所在的目錄路徑就行了€Video.setMediaController(new€MediaController(this));€€bn1.setOnClickListener(new OnClickListener(){€@Override€public void onClick(View p1){€//調用start播放視屏方法€Video.start();€}€});€bn2.setOnClickListener(new OnClickListener(){€@Override€public void onClick(View p1){€//調用pause暫停播放方法€Video.pause();€}€});€bn3.setOnClickListener(new OnClickListener(){€@Override€public void onClick(View p1){€//調用結束方法€Video.stopPlayback();€}€});€}€}€//剩下的不多說€》

『小菜』

〔Android功能實現〕

【播放SD卡視頻】

〖2017-08-16 07:21:47〗

《import android.app.Activity;€import android.os.Bundle;€import android.widget.Button;€import android.widget.VideoView;€import android.view.View.OnClickListener;

import android.view.View;€import android.net.Uri;€import android.widget.MediaController;€€public class MainActivity extends Activity €{€private Button bn1,bn2,bn3;€private VideoView Video;€@Override€protected void onCreate(Bundle savedInstanceState)€{€super.onCreate(savedInstanceState);€setContentView(R.layout.main);€bn1=(Button)findViewById(R.id.mainButton1);€bn2=(Button)findViewById(R.id.mainButton2);€bn3=(Button)findViewById(R.id.mainButton3);€Video=(VideoView)findViewById(R.id.mainVideoView1);€€Video.setVideoURI(Uri.parse("file://"));€/*€這里是填視屏文件的路徑file://然后就是你的視屏路徑€*/€Video.setMediaController(new MediaController(this));€bn1.setOnClickListener(new OnClickListener(){€@Override€public void onClick(View p1){€Video.start();€}€});€bn2.setOnClickListener(new OnClickListener(){€@Override€public void onClick(View p1){€Video.pause();€}€});€bn3.setOnClickListener(new OnClickListener(){€@Override€public void onClick(View p1){€Video.stopPlayback();€}€});€}€}€€//剩下的不多說恩闻,入門小白都會的€》

『小菜』

〔Android功能實現〕

【TextView顯示圖片】

〖2017-08-16 07:26:33〗

《/** €*HashMap存放圖片的文字代碼和圖片的路徑 € */ €HashMap keyImage = new HashMap(); €keyImage.put("[image01]", R.drawable.img1);€ keyImage.put("[image02]", R.drawable.img2); €TextView textView = (TextView)€findViewById(R.id.content_editText1); €//為TextView添加文本改變監(jiān)聽 €textView.addTextChangedListener(newMarkImageWatcher(keyImage,MainActivity.this)); €textView.setText("[image01]"); €/** €*自定義TextWatcher類 €*/ €public class MarkImageWatcher implements TextWatcher { €HashMap key = new HashMap(); €Context context;€//構造方法€public€MarkImageWatcher(HashMap key, Context context) { €super(); €this.key = key; €this.context = context; €} €@Override €public void afterTextChanged(Editable arg0) { €String text = arg0.toString():€Iterator iterator = key.keySet().iterator(); €while (iterator.hasNext()) { €String k = iterator.next(); €if (text.contains(k)) { €int index = 0; €while ((index = text.indexOf(k, index)) != -1) { €Drawable drawable = context.getResources().getDrawable(key.get(k));€drawable.setBounds(0, 0, 300,500); €//將代表圖片的文本標記為圖片 €arg0.setSpan(new ImageSpan(drawable,ImageSpan.ALIGN_BASELINE), index,index + k.length(),Spannable.SPAN_INCLUSIVE_EXCLUSIVE);€index += k.length(); €} €} €} €} €}€》

『小菜』

〔Android功能實現〕

【接收其他應用分享的數據】

〖2017-08-16 07:31:23〗

《public class ShareActivity extends€Activity{€ @Override€ protected void€onCreate(Bundle savedInstanceState) {€? ? // TODO Auto-generated method stub€? super.onCreate(savedInstanceState);? €? // 得到intent對象, 判斷類型是 action 或者 MIME €? ? Intent intent = getIntent();€? ? String action = intent.getAction();€? ? String type = intent.getType();€? ? if (Intent.ACTION_SEND.equals(action) && type != null) {€? ? ? ? if ("text/plain".equals(type)) {€? ? handleSendText(intent);€/ 調用處理文本的方法€? ? ? ? } else if (type.startsWith("image/")) {€? ? ? ? ? ? handleSendImage(intent); €// 調用處理圖片的方法€? ? ? ? }€? ? } else if (Intent.ACTION_SEND_MULTIPLE.equals(action) && type != null) {€? ? ? ? if (type.startsWith("image/")) {€ handleSendMultipleImages(intent); €// 調用處理多個圖片的方法€? ? ? ? }€? ? } else {€? ? ? ? //其他的分享類型€? ? }€ }€ void€handleSendText(Intent intent) {€? ? String sharedText = intent.getStringExtra(Intent.EXTRA_TEXT);€? ? String sharedTitle = intent.getStringExtra(Intent.EXTRA_TITLE);€? ? if (sharedText != null) {€? ? ? ? // 得到分享的文本sharedText€? ? }€ }€ void€handleSendImage(Intent intent) {€? ? Uri imageUri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM);€? ? if (imageUri != null) {€? ? ? ? // 得到分享的圖片imageUri€? ? }€ } € void€handleSendMultipleImages(Intent intent) {€? ? ArrayList imageUris = intent.getParcelableArrayListExtra(Intent.EXTRA_STREAM);€? ? if (imageUris != null) {€// 得到分享的圖片集合imageUris€? ? }€ }

} 》

『小菜』

〔Android功能實現〕

【調用分享功能】

〖2017-08-16 07:33:26〗

《 €//分享文本內容 €public static void shareText(Context context,String text) { €Intent sendIntent = new Intent();€sendIntent.setAction(Intent.ACTION_SEND); €sendIntent.putExtra(Intent.EXTRA_TEXT,text); €sendIntent.setType("text/plain"); €context.startActivity(Intent.createChooser(sendIntent, "分享文本")); €} €//分享圖片 €public static void shareText(Context context,Uri uriToImage) { €Intent shareIntent = new Intent();€shareIntent.setAction(Intent.ACTION_SEND); €shareIntent.putExtra(Intent.EXTRA_STREAM, uriToImage);€shareIntent.setType("image/jpeg"); €context.startActivity(Intent.createChooser(shareIntent, "分享圖片")); €} €//分享多張圖片 €public static void shareText(Context context,ArrayList imageUris) { €Intent shareIntent = new Intent();€shareIntent.setAction(Intent.ACTION_SEND_MULTIPLE); €shareIntent.putParcelableArrayListExtra(Intent.EXTRA_STREAM, imageUris); €shareIntent.setType("image/*");€startActivity(Intent€createChooser(shareIntent, "分享圖片")); €} €》

『小菜』

〔Android功能實現〕

【調用系統(tǒng)應用】

〖2017-08-16 07:36:41〗

《一艺糜、調用圖庫選擇圖片:€€Intent intent=new Intent(); €intent.setType("image/*"); €intent.setAction(Intent.ACTION_GET_CONTENT);€startActivityForResult(intent,requestCode); €//監(jiān)聽返回結果 €@Override €public void onActivityResult(int requestCode,int resultCode,Intent data) {€if(resultCode==RESULT_OK) { €Uri uri=data.getData(); €ContentResolver cr=this.getContentResolver(); € //得到選擇圖片的Bitmap €Bitmap bitmap=BitmapFactory.decodeStream(cr.openInputStream(uri));€} €super.onActivityResult(requestCode, resultCode, data); €} €€二、調用相機拍照:€€//跳轉到android自帶的照相機 €Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); €photoUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;€startActivityForResult(intent, 1);? €//監(jiān)聽拍照完成后的處理€@Override€protected€voide€onActivityResult(intrequestCode, int resultCode, Intent data) {€super.onActivityResult(requestCode, resultCode, data); €if(resultCode==Activity.RESULT_OK){€// 獲取相機返回的數據幢尚,并轉換為Bitmap圖片格式 €Bundle bundle = data.getExtras(); €Bitmap bitmap = (Bitmap) bundle.get("data"); €} €} €€三破停、調用瀏覽器打開鏈接:€€Intent intent_d= new Intent(); €intent_d.setAction("android.intent.action.VIEW");? ? €Uri content_url = Uri.parse("http://www.aa.com");? €intent_d.setData(content_url);

startActivity(intent_d); €》

『小菜』

〔Android功能實現〕

【Android中的權限】

〖2017-08-16 07:40:14〗

《寫入外部存儲: android.permission.WRITE_EXTERNAL_STORAGE, €訪問網絡? ? : android.permission.INTERNET尉剩, €獲取網絡狀態(tài): android.permission.ACCESS_NETWORK_STATE真慢, €獲取WiFi狀態(tài): android.permission.ACCESS_WIFI_STATE, €改變WiFi狀態(tài): android.permission.CHANGE_WIFI_STATE理茎, €允許振動? ? : android.permission.VIBRATE黑界, €使用藍牙? ? : android.permission.BLUETOOTH, €撥打電話? ? : android.permission.CALL_PHONE皂林, €通話權限? ? : android.permission.CALL_PRIVILEGED朗鸠, €發(fā)送短信? ? : android.permission.SEND_SMS, €拍照權限? ? : android.permission.CAMERA式撼, €使用閃光燈? : android.permission.FLASHLIGHT童社, €錄音? ? ? ? : android.permission.RECORD_AUDIO, €讀取聯(lián)系人? : android.permission.READ_CONTACTS著隆, €處理撥出電話: android.permission.PROCESS_OUTGOING_CALLS扰楼, €讀取電話狀態(tài): android.permission.READ_PHONE_STATE, €讀取短信內容: android.permission.READ_SMS美浦, €屏幕截圖? ? : android.permission.READ_FRAME_BUFFER弦赖, €設置壁紙? ? : android.permission.SET_WALLPAPER, €設置系統(tǒng)時間: android.permission.SET_TIME浦辨, €應用刪除時廣播 android.permission.BROADCAST_PACKAGE_REMOVED蹬竖, €收到短信時廣播 android.permission.BROADCAST_SMS, €連續(xù)廣播? ? : android.permission.BROADCAST_STICKY 流酬, €獲取應用大斜也蕖: android.permission.GET_PACKAGE_SIZE, €獲取任務信息: android.permission.GET_TASKS芽腾, €安裝應用程序: android.permission.INSTALL_PACKAGES旦装, €結束后臺進程: android.permission.KILL_BACKGROUND_PROCESSES, €排序系統(tǒng)任務: android.permission.REORDER_TASKS摊滔, €結束系統(tǒng)任務: android.permission.RESTART_PACKAGES阴绢, €重啟設備? ? : android.permission.REBOOT店乐, €開機自動運行: android.permission.RECEIVE_BOOT_COMPLETED, €修改狀態(tài)欄? : android.permission.STATUS_BAR呻袭, €訪問SurfaceFlinger: android.permission.ACCESS_SURFACE_FLINGER》

『小菜』

〔Android基礎知識〕

【瀏覽器WebView】

〖2017-08-16 10:13:15〗

《1.設置支持JavaScript: €webView.getSettings().setJavaScriptEnabled(true); €2.加載網頁: €webView.loadUrl("http://www.baidu.com"); €//加載本地文件: €webView.loadUrl("file:///storage/sdcard0/index.html"); €webView.loadUrl("content://com.android.htmlfileprovider/sdcard/index.html"); €//加載assets中文件: €webView.loadUrl("file:///android_asset/index.html"); €3.獲取原始URL:webView.getOriginalUrl(); €4.獲取當前URL:webView.getUrl(); €5.瀏覽器加載網頁的監(jiān)聽 €webView.setWebViewClient(new WebViewClient() { €@Override €public void onPageFinished(WebView view,String url) { €//加載完成 €} €@Override €public€boolean€shouldOverrideUrlLoading(WebView view, String url) { €//設置在本瀏覽器打開新網頁 €view.loadUrl(url); €return true;€} €}); €€7.設置webview背景透明:€webView.setBackgroundColor(0); €//4.0上在xml中關閉硬件加速€android:layerType="software" €€8.后退網頁:€if (webView.canGoBack()) { €webView.goBack(); €} €€9.下載鏈接單擊監(jiān)聽事件 :€webView.setDownloadListener(new DownloadListener{€@Override€public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype,long contentLength) {€€Uri uri = Uri.parse(url);? //調用本地瀏覽器打開€Intent intent = new Intent(Intent.ACTION_VIEW, uri);€startActivity(intent);€}? €} );€€10.保存瀏覽器網頁截圖:€Picture pic = webView.capturePicture(); €int width = pic.getWidth(); €int height = pic.getHeight(); €if (width > 0 && height > 0) { €Bitmap bmp=Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); €Canvas canvas=new Canvas(bmp); €pic.draw(canvas);€try { €String filename="sdcard0/"+System.currentTimeMillis()+".jpg"; €FileOutputStream fos=newFileOutputStream(filename); €if(fos!=null){€bmp.compress(Bitmap.CompressFormat.JPEG, 90, fos); €fos.close(); €} €} catch (Exception e) { €e.printStackTrace(); €} €} €》

『小菜』

〔Android控件知識〕

【日期和時間選擇控件】

〖2017-08-16 10:17:56〗

《一眨八、日期控件 DatePicker :€€//設置右邊日歷不顯示 €android:calendarViewShown="false" €//設置默認時間和改變后的監(jiān)聽事件 €datePicker.init(2015,05,10,new DatePicker.OnDateChangedListener()€{ €€@Override €public void onDateChanged(DatePicker datePicker, int i, int i2, int i3) { €€ //后三個參數是改變后的年月里,月是0開始的 €} €}); €€二左电、時間控件 TimePicker :€€//設置為24小時制 €timePicker.setIs24HourView(true); €//時間改變后的監(jiān)聽 €timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() { €@Override €public void onTimeChanged(TimePicker timePicker, int i, int i2) { €€//后兩個參數是控件選擇的時廉侧,分 €} €}); €€三、時間和日期選擇對話框:€//日期選擇對話框: €DatePickerDialog datePickerDialog = new DatePickerDialog(this,CallBack,2015,05,10); €//時間選擇對話框: €TimePickerDialog timePickerDialog = new TimePickerDialog(this, CallBack,12,12,true); € //后三個參數默認時間券腔,時間最后參數是否24小時制€€2.CallBack選擇完成后的事件:€€//日期事件 €DatePickerDialog.OnDateSetListener CallBack = new DatePickerDialog.OnDateSetListener() {€ @Override €public void onDateSet(DatePicker datePicker, int i, int i2, int i3) { €//后三個參數年伏穆,月宇植,日 € } €}; €€//時間事件 €TimePickerDialog.OnTimeSetListener CallBack = new TimePickerDialog.OnTimeSetListener() { €@Override €public void onTimeSet(TimePicker timePicker, int i, int i2) { €//后兩個參數娜睛,時净薛,分 €} €}; €》

『小菜』

〔Android控件知識〕

【 控件圓角】

〖2017-08-12 08:16:33〗

《控件圓角€€function CircleButton(view,InsideColor,radiu)€ import€"android.graphics.drawable.GradientDrawable"€ drawable = GradientDrawable() €? drawable.setShape(GradientDrawable.RECTANGLE) €drawable.setColor(InsideColor)€? drawable.setCornerRadii({radiu,radiu,radiu,radiu,radiu,radiu,radiu,radiu});€ view.setBackgroundDrawable(drawable)€end€角度=50€控件id=ed€控件顏色=0xFF09639C€CircleButton(控件id,控件顏色,角度)€》

『小菜』

〔Lua功能實現〕

【選擇路徑模塊】

〖2017-08-12 08:09:23〗

《選擇路徑模塊€€require "import"€import "android.widget.ArrayAdapter"€import "android.widget.LinearLayout"€import "android.widget.TextView"€import "java.io.File"€import "android.widget.ListView"€import "android.app.AlertDialog"€function ChoicePath(StartPath,callback)€ --創(chuàng)建ListView作為文件列表€ lv=ListView(activity)€setFastScrollEnabled(true)€? --創(chuàng)建路徑標簽€? cp=TextView(activity)€ lay=LinearLayout(activity).setOrientation(1).addView(cp).addView(lv€ChoiceFile_dialog=AlertDialog.Builder(activity)--創(chuàng)建對話框€ .setTitle("選擇路徑")€.setPositiveButton("OK",{€onClick=function()€callback(tostring(cp.Text))€end})€.setNegativeButton("Canel",nil)€? .setView(lay)€? .show()€? adp=ArrayAdapter(activity,android.R.layout.simple_list_item_1)€? lv.setAdapter(adp)€? function SetItem(path) €? path=tostring(path)€? ? adp.clear()--清空適配器€? ? cp.Text=tostring(path)--設置當前路徑? ? if path~="/"€ then--不是根目錄則加上../? €? ? adp.add("../")€? ? end€? ? ls=File(path).listFiles()€? ? if ls~=nil then€? ? ? ls=luajava.astable(File(path).listFiles()) --全局文件列表變量€? ? ? table.sort(ls,function(a,b)€? ? ? ? return (a.isDirectory()~=b.isDirectory() and a.isDirectory()) or ((a.isDirectory()==b.isDirectory()) and a.Name

function(path)€print(path)€end)€€--第一個參數為初始化路徑,第二個為回調函數€--原創(chuàng)》

『小菜』

〔Lua功能實現〕

【控件背景漸變動畫】

〖2017-08-10 20:36:10〗

《控件背景漸變動畫€view=控件id€color1 = 0xffFF8080;€color2 = 0xff8080FF;€color3 = 0xff80ffff;€color4 = 0xff80ff80;€import "android.animation.ObjectAnimator"€import "android.animation.ArgbEvaluator"€import "android.animation.ValueAnimator"€import "android.graphics.Color"€colorAnim = ObjectAnimator.ofInt(view,"backgroundColor",{color1, color2, color3,color4})€colorAnim.setDuration(3000)€colorAnim.setEvaluator(ArgbEvaluator())€colorAnim.setRepeatCount(ValueAnimator.INFINITE)€colorAnim.setRepeatMode(ValueAnimator.REVERSE)€colorAnim.start()》

『小菜』

〔Lua功能實現〕

【精準獲取屏幕尺寸】

〖2017-08-10 20:39:30〗

《精準獲取屏幕尺寸€function? getScreenPhysicalSize(ctx) €? import "android.util.DisplayMetrics"€? dm = DisplayMetrics();€? ctx.getWindowManager().getDefaultDisplay().getMetrics(dm);€? diagonalPixels = Math.sqrt(Math.pow(dm.widthPixels, 2) + Math.pow(dm.heightPixels, 2));€? return diagonalPixels / (160 * dm.density);€end€print(getScreenPhysicalSize(activity))》

『小菜』

〔Lua功能實現〕

【自定義默認彈窗標題,消息,按鈕的顏色】

〖2017-08-10 20:41:15〗

《dialog=AlertDialog.Builder(this)€.setTitle("標題")€.setMessage("消息")€.setPositiveButton("積極",{onClick=function(v) print"點擊了積極按鈕"end})€.setNeutralButton("中立",nil)€.setNegativeButton("否認",nil)€.show()€dialog.create()€€€--更改消息顏色€message=dialog.findViewById(android.R.id.message)€message.setTextColor(0xff1DA6DD)€€--更改Button顏色€import "android.graphics.Color"€dialog.getButton(dialog.BUTTON_POSITIVE).€setTextColor(0xff1DA6DD)€dialo.€getButton(dialog.BUTTON_NEGATIVE).€setTextColor(0xff1DA6DD)€dialog.getButton(dialog.BUTTON_NEUTRAL).setTextColor(0xff1DA6DD)€€--更改Title顏色€import "android.text.SpannbleString"€import "android.text.style.ForegroundColorSpan"€import "android.text.Spannable"€sp = SpannableString("標題")

sp.€setSpan(ForegroundColorSpan(0xff1DA6DD),0,#sp,Spannable€SPAN_EXCLUSIVE_INCLUSIVE)€ dialog.setTitle(sp)》

『小菜』

〔Lua功能實現〕

【獲取手機存儲空間】

〖2017-08-10 20:46:6〗

《獲取手機存儲空間€--獲取手機內置剩余存儲空間€function GetSurplusSpace()€ fs =? StatFs(Environment.getDataDirectory().getPath())€ return Formatter.formatFileSize(activity, (fs.getAvailableBytes()))€end€ --獲取手機內置存儲總空間€ function GetTotalSpace()€ path = Environment.€getExternalStorageDirectory()€stat = StatFs(path.getPath())€ blockSize = stat.getBlockSize()€totalBlocks = stat.getBlockCount()€return Formatter.formatFileSize(activity, blockSize * totalBlocks)€end€》

『小菜』

〔Lua功能實現〕

【獲取視頻第一幀】

〖2017-08-10 20:47:50〗

《獲取視頻第一幀€function? GetVideoFrame(path)€? import "android.media.MediaMetadataRetriever"€ media = MediaMetadataRetriever()€ media.setDataSource(tostring(path))€? return media.getFrameAtTime()€end》

『小菜』

〔Lua功能實現〕

【選擇文件模塊】

〖2017-08-10 20:50:13〗

《選擇文件模塊€ import "android.widget.ArrayAdapter"€import "android.widget.LinearLayout"€import "android.widget.TextView"€import "java.io.File"€import "android.widget.ListView"€import "android.app.AlertDialog"€function ChoiceFile(StartPath,callback)€ --創(chuàng)建ListView作為文件列表€ lv=ListView(activity).setFastScrollEnabled(true)€ --創(chuàng)建路徑標簽€ cp=TextView(activity)€ lay=LinearLayout(activity).setOrientation(1).addView(cp).addView(lv)€? ChoiceFile_dialog=AlertDialog.Builder(activity)--創(chuàng)建對話框€ .setTitle("選擇文件")€ .setView(lay)€? .show()€? adp=ArrayAdapter(activity,android.R.layout.simple_list_item_1)€? lv.setAdapter(adp)€? function SetItem(path)€? ? path=tostring(path)€? ? adp.clear()--清空適配器€? ? cp.Text=tostring(path)--設置當前路徑€? ? if path~="/" then--不是根目錄則加上../? ? €adp.add("../")€? ? end€? ? ls=File(path).listFiles()€? ? if ls~=nil then€? ? ? ls=luajava.astable(File(path).listFiles()) --全局文件列表變量€? ? ? table.sort(ls,function(a,b)€? ? ? ? return (a.isDirectory()~=b.isDirectory() and a.isDirectory()) or ((a.isDirectory()==b.isDirectory()) and a.Name》

『小菜』

〔Lua功能實現〕

【源碼縮寫】

〖2017-08-09 20:25:36〗

《ug(5,"text",a) f(a=="") { utw("提示","請輸入內容肘交!","確定","") { } } else { utw("提示","請選擇操作","縮短","還原") { ss("\"+"n",r)€sr(a,"\n",r,a) s w="ufnsui(SVIPXO)" ss("s SVIPXO=""+a+""\n"+w,u) us(5,"text",u) } else { ss("\"+"n",r) sr(a,r,"\n",a) sr(a,"s SVIPXO="","",a) €s w="ufnsui(SVIPXO)"€ss(""\n"+w,u) sr(a,u,"",a) us(5,"text",a) } 》

『小熙』

〔iAPP其他教程〕

【五大布局】

〖2017-08-07 01:14:26〗

《五大布局€€--Android中常用的5大布局方式有以下幾種:€--線性布局(LinearLayout):按照垂直或者水平方向布局的組件衩藤。€--幀布局 €(FrameLayout):組件從屏幕左上方布局組件谤碳。€--表格布局(TableLayout):按照行列方式布局組件材泄。€--相對布局€(RelativeLayout):相對其它組件的布局方式悠鞍。€--絕對布局 €(AbsoluteLayout):按照絕對坐標來布局組件染簇。€€€1.線性布局(LinearLayout)€線性布局是Android開發(fā)中最常見的一種布局方式参滴,它是按照垂直或者水平方向來布局,通過orientation屬性可以設置線性布局的方向锻弓。屬性值有垂直(vertical)和水平€(horizontal)兩種砾赔。€常用的屬性:€orientation:可以設置布局的方向€gravity:用來控制組件的對齊方式€layout_weight控制各個控件在布局中的相對大小,layout_weight的屬性是一個非負整數值。? €線性布局會根據該控件layout_weight值與其所處布局中所有控件layout_weight值之和的比值為該控件分配占用的區(qū)域€--[[例如青灼,在水平布局的LinearLayout中有兩個Button暴心,這兩個Button的layout_weight屬性值都為1,那么這兩個按鈕都會被拉伸到整個屏幕寬度的一半。如果layout_weight指為0杂拨,控件會按原大小顯示专普,不會被拉伸.€對于其佘layout_weight屬性值大于0的控件,系統(tǒng)將會減去layout_weight屬性值為0的控件的寬度或者高度,再用剩余的寬度或高度按相應的比例來分配每一個控件顯示的寬度或高度]]€€€2.幀布局(FrameLayout)€幀布局是從屏幕的左上角(0,0)坐標開始布局弹沽,多個組件層疊排列檀夹,第一個添加的組件放到最底層,最后添加到框架中的視圖顯示在最上面策橘。上一層的會覆蓋下一層的控件炸渡。€€€3.表格布局(TableLayout)€表格布局是一個ViewGroup以表格顯示它的子視圖(view)元素,即行和列標識一個視圖的位置丽已。€表格布局常用的屬性如下:€collapseColumns:隱藏指定的列€shrinkColumns:收縮指定的列以適合屏幕偶摔,不會擠出屏幕€stretchColumns:盡量把指定的列填充空白部分€layout_column:控件放在指定的列€layout_span:該控件所跨越的列數€€€4.相對布局(RelativeLayout)€相對布局是按照組件之間的相對位置來布局,比如在某個組件的左邊促脉,右邊辰斋,上面和下面等。€€€€5.絕對布局(AbsoluteLayout)€采用坐標軸的方式定位組件瘸味,左上角是(0宫仗,0)點,往右x軸遞增旁仿,往下Y軸遞增,組件定位屬性為layout_x 和layout_y來確定坐標藕夫。€》

『小菜』

〔Lua理論知識〕

【獲取手機存儲空間】

〖2017-08-07 01:11:23〗

《獲取手機存儲空間€€--獲取手機內置剩余存儲空間€€ function GetSurplusSpace()€€fs =? StatFs(Environment.getDataDirectory().getPath())€€return Formatter.formatFileSize(activity, (fs.getAvailableBytes()))€€ end€€€--獲取手機內置存儲總空間€ function GetTotalSpace()€ path = Environment.getExternalStorageDirectory()€ stat = StatFs(path.getPath())€ blockSize = stat.getBlockSize()€ totalBlocks = stat.getBlockCount()€return Formatter.formatFileSize(activity, blockSize * totalBlocks)€ end€》

『小菜』

〔Lua理論知識〕

【標題欄(ActionBar)】

〖2017-08-06 00:50:39〗

《標題欄(ActionBar)€--部分常用API€show:顯示€hide:隱藏€Elevation:設置陰影€BgroundDrawable:設置背景€DisplayHomeAsUpEnabled(boolean):設置是否顯示返回圖標€€--設置標題€activity.ActionBar.setTitle('大標題')€activity.ActionBar.setSubTitle("小標題")€€--設置ActionBar背景顏色€.import "android.graphics.drawable€ColorDrawable€"activity.ActionBar.setBackgroundDrawable(ColorDrawable(Color))€€--自定義ActionBar標題顏色€import "android.text.SpannableString"import "android.text.style.ForegroundColorSpan"€import "android.text.Spannable"€sp =€SpannableString("標題")€sp.setSpan(ForegroundColorSpan(0xff1DA6DD),0,#sp,Spannable.SPAN_EXCLUSIVE_INCLUSIVE)€activity.ActionBar.setTitle(sp)€€--自定義ActionBar布

DisplayShowCustomEnabled(true)€CustomView(loadlayout(layout))€--ActionBar返回按鈕€activity.ActionBar€setDisplayHomeAsUpEnabled(true)€--自定義返回按鈕圖標€activity.ActionBar€setHomeAsUpIndicator(drawable)€€€€--菜單€function onCreateOptionsMenu(menu)€? menu.add("菜單1")€? menu.add("菜單2")€? menu.add("菜單3")€end€function onOptionsItemSelected(item)€? print("你選擇了:"..item.Title)

end€--Tab導航使用€import "android.app.ActionBar$TabListener"

actionBar=activity.ActionBar€actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);€tab = actionBar.newTab().setText("Tab1").setTabListener(TabListener({€? onTabSelected=function()€? ? print"Tab1"€? end}))€tab2=actionBar.newTab().setText("Tab2").setTabListener(TabListener({€onTabSelected=function()€? ? print"Tab2"€? end}))€actionBar.addTab(tab)€actionBar.addTab(tab2)€》

『小菜』

〔Lua功能實現〕

【for循環(huán)】

〖2017-08-06 00:46:12〗

《For循環(huán)€--給定條件進行循環(huán)€€--輸出從1到10€for i=1,10 do€print(i)€end€€€€--輸出從10到1€for i=10,1,-1 do€print(i)€end€€--打印數組a中所有的值€a={"a","b","c","d"}€for index,content in pairs(a) do€print(content)€end》

『小菜』

〔Lua基礎知識〕

【if判斷語句】

〖2017-08-06 00:43:56〗

《if(判斷語句)€--判斷值是否為真€a=true€if a then€print("真")€else€print("假")€end€€--比較值是否相同€a=true€b=false€if a==b then€print("真")€else€print("假")€end》

『小菜』

〔Lua基礎知識〕

【打印】

〖2017-08-06 00:41:59〗

《打印€print"Hello World!"€print("Hello World")》

『小菜』

〔Lua基礎知識〕

【Android自定義彈窗】

〖2017-08-03 16:56:48〗

《dialog = new Dialog(this);€dialog.setCancelable(false);€dialog.setCanceledOnTouchOutside(false);€dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);€final View view = LayoutInflater.from(this).inflate(R.layout.dialoglayout, null);€dialog.setContentView(view);€dialog.show();€//dialoglayout是布局文件的名稱枯冈,其它就不用我多講了吧毅贮?》

『小菜』

〔Android功能實現〕

【第一個java程序講解】

〖2017-08-03 16:41:39〗

《€public class HelloMain€{€public static void main(String[] args)€{€System.out.printIn("Hello Java")€}€}€€€//public 是一個Java的關鍵詞,用來說明類使用的權限范圍尘奏,表明這是一個公有類滩褥,即為 公有訪問類型 ,其它任何類都可以直接訪問到它炫加。€€€//class 也是一個Java的關鍵詞瑰煎,用于類的聲明,然后就是類名HelloMain€€€€//public static void main (String[] args) 是一個main方法俗孝,這是整個程序的入口酒甸,所有程序都是從這里開始運行的,這行的代碼格式是固定的赋铝,String[] args 可以寫成 String args[] 表示為字符串類型插勤,args是arguments的縮寫,翻譯為 參數 革骨,void 也是Java的關鍵詞农尖,表明該方法沒有返回值,整段代碼表明main是公有的靜態(tài)方法苛蒲。€》

『小菜』

〔java基礎知識〕

【iApp彈窗】

〖2017-08-03 16:43:49〗

《€//無按鈕彈窗€utw(null,"標題","內容",false,a)€{€€}€€//有按鈕彈窗€utw(null,"標題","內容","確定",false,a)€{€€}€》

『小菜』

〔iApp實例代碼〕

【文本跑馬燈示例】

〖2017-08-03 16:46:20〗

《把以下代碼放到文本控件屬性里

scrollhorizontally=true

ellipsize=marquee

focusable=true

marqueerepeatlimit=marquee_forever

focusableintouchmode=true

scrollhorizontally=true€》

【iApp$私文件夾的用處】

〖2017-08-03 16:53:19〗

《iAPP2.0中卤橄,有一個私有文件夾,但很多人都不知道有什么用臂外。其實這個私有文件夾特別實用的窟扑,比如你要保存一些東西,但又不想讓用戶看到漏健,可以保存到私有文件夾下哦嚎货。€€私有文件夾的路徑是:/data/data/安裝包名/files€路徑不用管,直接在保存文件加個$符號就行了蔫浆。私有文件夾的好處是殖属,用戶沒有Root權限是無法修改你保存的內容的。比如一些txt文件等瓦盛,若你保存在%手機內存里洗显,那么很可能被人修改或者看到哦外潜!€》

〖小菜〗

〔iApp實例代碼〕

【隨機啟動語錄】

〖2017-08-03 16:54:39〗

《sl("你爹="#6c6c6c">|你大爺="#6c6c6c">|你二爺="#6c6c6c">|你大舅="#6c6c6c">|你二舅="#6c6c6c">|你大侄子","="#6c6c6c">|",ok)

//分割為數組€€sran(0,5,sj)

//生產1-6的隨機數€€sgsz(ok,sj,yes)

//隨機訪問語錄€€tw(yes)€》

『小菜』

〔iApp實例代碼〕

【post深度解析】

〖2017-08-03 16:56:00〗

《€€€€post在下面的內容我們就講過,現在更徹底了講一遍挠唆,保證你學會post提交數據处窥!€€post的是什么呢?post就是提交數據玄组,提交內容給網站處理滔驾,然后獲取返回的結果。類似登錄功能俄讹,同理哆致!€€一般我們需要從網站獲取源代碼后才能知道該提交什么,接口是什么患膛。€舉個例子:我從某網站源代碼中得出下列代碼:€€="http://flmle.com/so.php"">€="hidden" name="siteid" value="1000">€="text" name="key" placeholder="輸入關鍵字">€="submit" value="搜索">€€€這是一個搜索表單(表單從form開頭form結尾)€€第一行:="http://flmle.com/so.php">

其中action的這個地址就是提交的接口€€第二行:="hidden" name="id" value="1000">

表示這是一個隱藏的輸入框 為什么要隱藏呢摊阀?因為不需要用戶輸入,但必須要提交剩瓶。他的屬性是id=1000€€那就得出一個提交的內容€€第三行: ="text" name="key" placeholder="輸入關鍵字">€這是一個需要輸入內容的輸入框驹溃,他的屬性是key,得出一個提交的內容:key=搜索關鍵字€第四行: ="submit" value="搜索">€這個完全不用管他延曙,他是一個提交按鈕豌鹤,我們post的時候本身就是一個提交了,所以不需要他枝缔!€€就這樣得出post內容€€hs("http://flmle.com/so.php","id=1000&key=搜索關鍵字","utf-8",ok)€€提交的內容是通過&符號串聯(lián)到一起的布疙,不要寫錯!€€ok就是返回的結果愿卸,你可以syso(ok)打印出來查看是否已經提交成功從而截取你需要的結果灵临!€€》

『小菜』

〔iApp實例代碼〕

【下載文件簡單示例】

〖2017-08-03 16:59:45〗

《t()€{€hd("http://flmle.com/ok.apk","iApp/ok.apk",true,ok)€//iApp/ok是保存路徑,true是如果存在則覆蓋€€f(ok=="0")€{€ufnsui()€{€tw("下載成功")€}€}€else€{€ufnsui()€{€tw("下載失敗")€}€}€}€》

『小菜』

〔iApp實例代碼〕

【列表里設置圓角】

〖2017-08-03 17:02:59〗

《作用:可以設置每個列表的圓角或者背景顏色趴荸,又或者設置邊框儒溉,其他一切等等€€比如兩個界面:mian.iyu主界面和list.iyu列表界面€首先在列表設計界面list.iyu的載入事件寫代碼€€gvs(st_vW,list.1,ok)€us(ok,"background","#336699")€通過gvs獲取id為1的對象并設置背景顏色為#336699€如何圓角或者邊框呢?可以搜索ngde屬性发钝。€設置圓角例子:€gvs(st_vW,list.1,ok)€ngde(5,"#336699",yes)€us(ok,"background",yes)€》

『小菜』

〔iApp實例代碼〕

【判斷列表是否已經滑動到低部】

〖2017-08-03 17:05:45〗

《f(st_vT==0)€€{€€endcode€€}€€//列表可見項目為0時停止執(zhí)行€€f(ss.gd=="true")€€{€€endcode€€}€€//判斷是否以提醒過€€s(st_bT-st_vT,kj)€€f(st_fM==kj)€€{€€//以滾動到底部執(zhí)行的事件€€ss gd="true"€€tw("已經到底了顿涣,沒有更多啦!",0)€€}€//以上代碼放到列表的 控件事件→觸屏滾動事件→滾動€》

『小菜』

〔iApp實例代碼〕

【瀏覽器進度條】

〖2017-08-03 17:07:20〗

《.放到瀏覽器事件的加載過程進度改變中€f(st_nS == 100)

{€ug(10,"title",a)€//10為瀏覽器id€us(7,"text",a)€//7為文本id€}€else€{€ss("正在加載網頁..("+ st_nS +")",a)€us(7,"text",a)€}€》

『小菜』

〔iApp實例代碼〕

【文本轉語音實例】

〖2017-08-03 17:09:10〗

《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")€€}€}€}€》

『小菜』

〔iApp實例代碼〕

【按兩次退出軟件】

〖2017-08-03 17:12:05〗

《f(st_kC==4)€{€f(sss.exit==null)€{€sss exit=0€tw("再按一次退出程序",0)€t()€{€stop(600)€sss exit=null€}€}€else€{€end()€}€}€//以上代碼請放入:界面事件→按鍵按下事€》

『小菜』

〔iApp實例代碼〕

【按返回鍵彈窗示例】

〖2017-08-03 17:14:03〗

《.放在按鍵按下事件€f(st_kC==4)€{€ufnsui()€{€€s a="17301646"€€.這里是彈窗圖片€€s b="提示"€€.這里是彈窗標題€s nr="是否確認退出酝豪?"€€.這里是彈窗的內容涛碑,可以輸入界面名直接彈出界面€€s button="取消"€s c="確認退出"€utw(a,b,nr,c,button,false,a)€{€end()€}€else€{€}€}€}€else€{€}€》

『小菜』

〔iApp實例代碼〕

【進度條參數】

〖2017-08-03 17:18:50〗

《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)€€}€}€》

『小菜』

〔iApp實例代碼〕

【獲取sd卡根目錄】

〖2017-08-03 17:20:06〗

《s ss=""€fl(ss,true,b)€for(c;b)€{€ula(a,2="@60a85caf970cd853ebf9529f4a46f42c.png",3=c)€}€fl(ss,false,b)€for(c;b)€{€ula(a,2="@79.png",3=c)€}€uls(8,a,"a.iyu","100dp",-2)€》

『小菜』

〔iApp實例代碼〕

【列表的寫法】

〖2017-08-03 17:22:09〗

《ula(a, 10="@1.png",5="你好",6="個人簽名",-1="1",8=null)€ula(a, 10="@1.png",5="你好",6="個人簽名",-1="1",8=null)€ula(a, 10="@1.png",5="你好",6="個人簽名",-1="1",8=null)€ula(a, 10="@1.png",5="你好",6="個人簽名",-1="1",8=null)€uls(1,a,"a.iyu",-1,-2)€注:以上在載入事件€ulag(st_vW, -1, h)€注:以上是在列表點擊按鈕里寫€》

『小菜』

〔iApp實例代碼〕

【下拉菜單示例】

〖2017-08-03 17:24:26〗

《.以本軟件為例,字體顏色更換€s wa="黑;紅;綠;藍"€sl(wa,";",c)€uls(30,c)€.注:30是下拉菜單ID孵淘,以上放載入事件€€ug(30,"*editem",b)€.獲取下拉框參數€€f(b=="紅")€.判斷是否紅色執(zhí)行以下代碼€{€us(15,"textcolor","#ffff0a00")€}€else f(b=="藍")€.判斷是否藍色執(zhí)行以下代碼€{€us(15,"textcolor","#ff001eff")€}€else f(b=="黑")€.判斷是否黑色執(zhí)行以下代碼€{€us(15,"textcolor","#f8000000")€}€else f(b=="綠")€.判斷是否綠色執(zhí)行以下代碼{€us(15,"textcolor","#ff00cc22")€}€.注:15是編輯框ID蒲障,以上放到下拉菜單事件選擇項目事件。€》

『小菜』

〔iApp實例代碼〕

【密碼登錄軟件】

〖2017-08-03 17:27:15〗

《ug(1,"text",u)€f(u=="")€{€tw("密碼不能為空")€}€else f(u=="123456")€.這是密碼€{€tw("登錄成功")€uigo("a")€.這是密碼正確后登錄的頁面€}€else€{€tw("密碼錯了")€}€》

『小菜』

〔iApp實例代碼〕

【跳到QQ聊天】

〖2017-08-03 17:29:08〗

《s url = "mqqwpa://im/chat?€chat_type=wpa&version=1&uin="€ss(url+"834897931",url)€.改成聊天QQ號€sit(a, "action", "android.intent.action.VIEW)"€sit(a, "data", url)€uit(a, "chooser", "跳轉到聊天")€》

『小菜』

〔iApp實例代碼〕

【字體無限變色】

〖2017-08-03 17:31:37〗

《s id=這里是文本控件id€t()€{€s a=1€.變色暫停的時間€s sj=100€.w無限循環(huán)€w(a==1)€{€.隨機字體顏色數值€sran(100000,800000,sjs)€ss("-"+sjs,sjs)€ufnsui()€{€us(id, "textcolor", sjs)€}€stop(sj)€}€}€》

『小菜』

〔iApp實例代碼〕

【sit調用系統(tǒng)分享軟件】

〖2017-08-03 17:33:20〗

《sit(a, "action", "android.intent.action.SEND")€sit(a, "type", "application/vnd.android.package-archive")€€sit(a, "extra", "android.intent.extra.STREAM","/€sdcard/iapp.apk")€€.這個是軟件路徑"/sdcard/iapp.apk"揉阎,€uit(a, "chooser", "分享軟件")€》

『小菜』

〔iApp實例代碼〕

【sit調用系統(tǒng)分享圖片】

〖2017-08-03 17:34:10〗

《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實例代碼〕

【sit調用支付寶】

〖2017-08-03 17:36:56〗

《s zfb="alipayqr://platformapi/startapp?saId=10000007&clientVersion=3.7.0.0718&qrcode="€€ss(zfb+"https://qr.alipay.com€fkx08372xrgzmjxuveshx6f",bao)€€sit(a,"action", "android.intent.action.VIEW")€sit(a,"data",bao)€uit(a, "chooser", "支付寶捐款")€》

『小菜』

〔iApp實例代碼〕

【sit保存圖片到QQ收藏】

〖2017-08-03 17:37:04〗

《sit(a, "action", "android.intent.action.SEND")€sit(a, "type", "image/jpeg")€sit(a,"classname","com.tencent.mobileqq", "cooperation.qqfav.widget.QfavJumpActivity")€€sit(a, "extra", "android.intent.extra.STREAM","/sdcard/lunbo.png")€uit(a, "chooser", "收藏圖片")€》

『小菜』

〔iApp實例代碼〕

【sit直接調用QQ分享圖片】

〖2017-08-03-17:39:59〗

《sit(a, "action", "android.intent.action.SEND")€€sit(a, "type", "image/jpeg")€€sit(a,"classname","com.tencent.mobileqq", "com.tencent.mobileqq.activity.JumpActivity")€€sit(a, "extra", "android.intent.extra.STREAM","/sdcard/lunbo.png")€€uit(a, "chooser", "分享圖片")€》

『小菜』

〔iApp實例代碼〕

【sit調用發(fā)短信】

〖2017-08-03 17:40:49〗

《sit(a, "action","android.intent.action.SENDTO") €€€sit(a,"type","vnd.android-dir/mms-sms")€€€sit(a, "data", "smsto:10086") €€€sit(a,"extra","sms_body","短信內容")€€€uit(a, "chooser", "發(fā)短信")€》

『小菜』

〔iApp實例代碼〕

€開啟€

【€開啟€

【五大布局】

〖2017-08-07 01:14:26〗

《五大布局€€--Android中常用的5大布局方式有以下幾種:€--線性布局(LinearLayout):按照垂直或者水平方向布局的組件庄撮。€--幀布局 €(FrameLayout):組件從屏幕左上方布局組件。€--表格布局(TableLayout):按照行列方式布局組件余黎。€--相對布局€(RelativeLayout):相對其它組件的布局方式重窟。€--絕對布局 €(AbsoluteLayout):按照絕對坐標來布局組件。€€€1.線性布局(LinearLayout)€線性布局是Android開發(fā)中最常見的一種布局方式惧财,它是按照垂直或者水平方向來布局,通過orientation屬性可以設置線性布局的方向扭仁。屬性值有垂直(vertical)和水平€(horizontal)兩種垮衷。€常用的屬性:€orientation:可以設置布局的方向€gravity:用來控制組件的對齊方式€layout_weight控制各個控件在布局中的相對大小,layout_weight的屬性是一個非負整數值。? €線性布局會根據該控件layout_weight值與其所處布局中所有控件layout_weight值之和的比值為該控件分配占用的區(qū)域€--[[例如乖坠,在水平布局的LinearLayout中有兩個Button搀突,這兩個Button的layout_weight屬性值都為1,那么這兩個按鈕都會被拉伸到整個屏幕寬度的一半。如果layout_weight指為0熊泵,控件會按原大小顯示仰迁,不會被拉伸.€對于其佘layout_weight屬性值大于0的控件,系統(tǒng)將會減去layout_weight屬性值為0的控件的寬度或者高度,再用剩余的寬度或高度按相應的比例來分配每一個控件顯示的寬度或高度]]€€€2.幀布局(FrameLayout)€幀布局是從屏幕的左上角(0,0)坐標開始布局顽分,多個組件層疊排列徐许,第一個添加的組件放到最底層,最后添加到框架中的視圖顯示在最上面卒蘸。上一層的會覆蓋下一層的控件雌隅。€€€3.表格布局(TableLayout)€表格布局是一個ViewGroup以表格顯示它的子視圖(view)元素,即行和列標識一個視圖的位置缸沃。€表格布局常用的屬性如下:€collapseColumns:隱藏指定的列€shrinkColumns:收縮指定的列以適合屏幕恰起,不會擠出屏幕€stretchColumns:盡量把指定的列填充空白部分€layout_column:控件放在指定的列€layout_span:該控件所跨越的列數€€€4.相對布局(RelativeLayout)€相對布局是按照組件之間的相對位置來布局,比如在某個組件的左邊趾牧,右邊检盼,上面和下面等。€€€€5.絕對布局(AbsoluteLayout)€采用坐標軸的方式定位組件翘单,左上角是(0吨枉,0)點,往右x軸遞增县恕,往下Y軸遞增,組件定位屬性為layout_x 和layout_y來確定坐標东羹。€》

『小菜』

〔Lua理論知識〕

【獲取手機存儲空間】

〖2017-08-07 01:11:23〗

《獲取手機存儲空間€€--獲取手機內置剩余存儲空間€€ function GetSurplusSpace()€€fs =? StatFs(Environment.getDataDirectory().getPath())€€return Formatter.formatFileSize(activity, (fs.getAvailableBytes()))€€ end€€€--獲取手機內置存儲總空間€ function GetTotalSpace()€ path = Environment.getExternalStorageDirectory()€ stat = StatFs(path.getPath())€ blockSize = stat.getBlockSize()€ totalBlocks = stat.getBlockCount()€return Formatter.formatFileSize(activity, blockSize * totalBlocks)€ end€》

『小菜』

〔Lua理論知識〕

【標題欄(ActionBar)】

〖2017-08-06 00:50:39〗

《標題欄(ActionBar)€--部分常用API€show:顯示€hide:隱藏€Elevation:設置陰影€BgroundDrawable:設置背景€DisplayHomeAsUpEnabled(boolean):設置是否顯示返回圖標€€--設置標題€activity.ActionBar.setTitle('大標題')€activity.ActionBar.setSubTitle("小標題")€€--設置ActionBar背景顏色€.import "android.graphics.drawable€ColorDrawable€"activity.ActionBar.setBackgroundDrawable(ColorDrawable(Color))€€--自定義ActionBar標題顏色€import "android.text.SpannableString"import "android.text.style.ForegroundColorSpan"€import "android.text.Spannable"€sp =€SpannableString("標題")€sp.setSpan(ForegroundColorSpan(0xff1DA6DD),0,#sp,Spannable.SPAN_EXCLUSIVE_INCLUSIVE)€activity.ActionBar.setTitle(sp)€€--自定義ActionBar布

DisplayShowCustomEnabled(true)€CustomView(loadlayout(layout))€--ActionBar返回按鈕€activity.ActionBar€setDisplayHomeAsUpEnabled(true)€--自定義返回按鈕圖標€activity.ActionBar€setHomeAsUpIndicator(drawable)€€€€--菜單€function onCreateOptionsMenu(menu)€? menu.add("菜單1")€? menu.add("菜單2")€? menu.add("菜單3")€end€function onOptionsItemSelected(item)€? print("你選擇了:"..item.Title)

end€--Tab導航使用€import "android.app.ActionBar$TabListener"

actionBar=activity.ActionBar€actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);€tab = actionBar.newTab().setText("Tab1").setTabListener(TabListener({€? onTabSelected=function()€? ? print"Tab1"€? end}))€tab2=actionBar.newTab().setText("Tab2").setTabListener(TabListener({€onTabSelected=function()€? ? print"Tab2"€? end}))€actionBar.addTab(tab)€actionBar.addTab(tab2)€》

『小菜』

〔Lua功能實現〕

【for循環(huán)】

〖2017-08-06 00:46:12〗

《For循環(huán)€--給定條件進行循環(huán)€€--輸出從1到10€for i=1,10 do€print(i)€end€€€€--輸出從10到1€for i=10,1,-1 do€print(i)€end€€--打印數組a中所有的值€a={"a","b","c","d"}€for index,content in pairs(a) do€print(content)€end》

『小菜』

〔Lua基礎知識〕

【if判斷語句】

〖2017-08-06 00:43:56〗

《if(判斷語句)€--判斷值是否為真€a=true€if a then€print("真")€else€print("假")€end€€--比較值是否相同€a=true€b=false€if a==b then€print("真")€else€print("假")€end》

『小菜』

〔Lua基礎知識〕

【打印】

〖2017-08-06 00:41:59〗

《打印€print"Hello World!"€print("Hello World")》

『小菜』

〔Lua基礎知識〕

【Android自定義彈窗】

〖2017-08-03 16:56:48〗

《dialog = new Dialog(this);€dialog.setCancelable(false);€dialog.setCanceledOnTouchOutside(false);€dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);€final View view = LayoutInflater.from(this).inflate(R.layout.dialoglayout, null);€dialog.setContentView(view);€dialog.show();€//dialoglayout是布局文件的名稱忠烛,其它就不用我多講了吧属提?》

『小菜』

〔Android功能實現〕

【第一個java程序講解】

〖2017-08-03 16:41:39〗

《€public class HelloMain€{€public static void main(String[] args)€{€System.out.printIn("Hello Java")€}€}€€€//public 是一個Java的關鍵詞,用來說明類使用的權限范圍,表明這是一個公有類冤议,即為 公有訪問類型 斟薇,其它任何類都可以直接訪問到它。€€€//class 也是一個Java的關鍵詞恕酸,用于類的聲明堪滨,然后就是類名HelloMain€€€€//public static void main (String[] args) 是一個main方法,這是整個程序的入口蕊温,所有程序都是從這里開始運行的袱箱,這行的代碼格式是固定的,String[] args 可以寫成 String args[] 表示為字符串類型义矛,args是arguments的縮寫发笔,翻譯為 參數 ,void 也是Java的關鍵詞凉翻,表明該方法沒有返回值了讨,整段代碼表明main是公有的靜態(tài)方法。€》

『小菜』

〔java基礎知識〕

【iApp彈窗】

〖2017-08-03 16:43:49〗

《€//無按鈕彈窗€utw(null,"標題","內容",false,a)€{€€}€€//有按鈕彈窗€utw(null,"標題","內容","確定",false,a)€{€€}€》

『小菜』

〔iApp實例代碼〕

【文本跑馬燈示例】

〖2017-08-03 16:46:20〗

《把以下代碼放到文本控件屬性里

scrollhorizontally=true

ellipsize=marquee

focusable=true

marqueerepeatlimit=marquee_forever

focusableintouchmode=true

scrollhorizontally=true€》

【iApp$私文件夾的用處】

〖2017-08-03 16:53:19〗

《iAPP2.0中制轰,有一個私有文件夾前计,但很多人都不知道有什么用。其實這個私有文件夾特別實用的垃杖,比如你要保存一些東西男杈,但又不想讓用戶看到,可以保存到私有文件夾下哦缩滨。€€私有文件夾的路徑是:/data/data/安裝包名/files€路徑不用管势就,直接在保存文件加個$符號就行了。私有文件夾的好處是脉漏,用戶沒有Root權限是無法修改你保存的內容的苞冯。比如一些txt文件等,若你保存在%手機內存里侧巨,那么很可能被人修改或者看到哦舅锄!€》

〖小菜〗

〔iApp實例代碼〕

【隨機啟動語錄】

〖2017-08-03 16:54:39〗

《sl("你爹="#6c6c6c">|你大爺="#6c6c6c">|你二爺="#6c6c6c">|你大舅="#6c6c6c">|你二舅="#6c6c6c">|你大侄子","="#6c6c6c">|",ok)

//分割為數組€€sran(0,5,sj)

//生產1-6的隨機數€€sgsz(ok,sj,yes)

//隨機訪問語錄€€tw(yes)€》

『小菜』

〔iApp實例代碼〕

【post深度解析】

〖2017-08-03 16:56:00〗

《€€€€post在下面的內容我們就講過,現在更徹底了講一遍司忱,保證你學會post提交數據皇忿!€€post的是什么呢?post就是提交數據坦仍,提交內容給網站處理鳍烁,然后獲取返回的結果。類似登錄功能繁扎,同理幔荒!€€一般我們需要從網站獲取源代碼后才能知道該提交什么糊闽,接口是什么。€舉個例子:我從某網站源代碼中得出下列代碼:€€="http://flmle.com/so.php"">€="hidden" name="siteid" value="1000">€="text" name="key" placeholder="輸入關鍵字">€="submit" value="搜索">€€€這是一個搜索表單(表單從form開頭form結尾)€€第一行:="http://flmle.com/so.php">

其中action的這個地址就是提交的接口€€第二行:="hidden" name="id" value="1000">

表示這是一個隱藏的輸入框 為什么要隱藏呢爹梁?因為不需要用戶輸入右犹,但必須要提交。他的屬性是id=1000€€那就得出一個提交的內容€€第三行: ="text" name="key" placeholder="輸入關鍵字">€這是一個需要輸入內容的輸入框姚垃,他的屬性是key念链,得出一個提交的內容:key=搜索關鍵字€第四行: ="submit" value="搜索">€這個完全不用管他,他是一個提交按鈕积糯,我們post的時候本身就是一個提交了掂墓,所以不需要他!€€就這樣得出post內容€€hs("http://flmle.com/so.php","id=1000&key=搜索關鍵字","utf-8",ok)€€提交的內容是通過&符號串聯(lián)到一起的絮宁,不要寫錯梆暮!€€ok就是返回的結果,你可以syso(ok)打印出來查看是否已經提交成功從而截取你需要的結果绍昂!€€》

『小菜』

〔iApp實例代碼〕

【下載文件簡單示例】

〖2017-08-03 16:59:45〗

《t()€{€hd("http://flmle.com/ok.apk","iApp/ok.apk",true,ok)€//iApp/ok是保存路徑,true是如果存在則覆蓋€€f(ok=="0")€{€ufnsui()€{€tw("下載成功")€}€}€else€{€ufnsui()€{€tw("下載失敗")€}€}€}€》

『小菜』

〔iApp實例代碼〕

【列表里設置圓角】

〖2017-08-03 17:02:59〗

《作用:可以設置每個列表的圓角或者背景顏色偿荷,又或者設置邊框窘游,其他一切等等€€比如兩個界面:mian.iyu主界面和list.iyu列表界面€首先在列表設計界面list.iyu的載入事件寫代碼€€gvs(st_vW,list.1,ok)€us(ok,"background","#336699")€通過gvs獲取id為1的對象并設置背景顏色為#336699€如何圓角或者邊框呢?可以搜索ngde屬性跳纳。€設置圓角例子:€gvs(st_vW,list.1,ok)€ngde(5,"#336699",yes)€us(ok,"background",yes)€》

『小菜』

〔iApp實例代碼〕

【判斷列表是否已經滑動到低部】

〖2017-08-03 17:05:45〗

《f(st_vT==0)€€{€€endcode€€}€€//列表可見項目為0時停止執(zhí)行€€f(ss.gd=="true")€€{€€endcode€€}€€//判斷是否以提醒過€€s(st_bT-st_vT,kj)€€f(st_fM==kj)€€{€€//以滾動到底部執(zhí)行的事件€€ss gd="true"€€tw("已經到底了忍饰,沒有更多啦!",0)€€}€//以上代碼放到列表的 控件事件→觸屏滾動事件→滾動€》

『小菜』

〔iApp實例代碼〕

【瀏覽器進度條】

〖2017-08-03 17:07:20〗

《.放到瀏覽器事件的加載過程進度改變中€f(st_nS == 100)

{€ug(10,"title",a)€//10為瀏覽器id€us(7,"text",a)€//7為文本id€}€else€{€ss("正在加載網頁..("+ st_nS +")",a)€us(7,"text",a)€}€》

『小菜』

〔iApp實例代碼〕

【文本轉語音實例】

〖2017-08-03 17:09:10〗

《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")€€}€}€}€》

『小菜』

〔iApp實例代碼〕

【按兩次退出軟件】

〖2017-08-03 17:12:05〗

《f(st_kC==4)€{€f(sss.exit==null)€{€sss exit=0€tw("再按一次退出程序",0)€t()€{€stop(600)€sss exit=null€}€}€else€{€end()€}€}€//以上代碼請放入:界面事件→按鍵按下事€》

『小菜』

〔iApp實例代碼〕

【按返回鍵彈窗示例】

〖2017-08-03 17:14:03〗

《.放在按鍵按下事件€f(st_kC==4)€{€ufnsui()€{€€s a="17301646"€€.這里是彈窗圖片€€s b="提示"€€.這里是彈窗標題€s nr="是否確認退出寺庄?"€€.這里是彈窗的內容艾蓝,可以輸入界面名直接彈出界面€€s button="取消"€s c="確認退出"€utw(a,b,nr,c,button,false,a)€{€end()€}€else€{€}€}€}€else€{€}€》

『小菜』

〔iApp實例代碼〕

【進度條參數】

〖2017-08-03 17:18:50〗

《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)€€}€}€》

『小菜』

〔iApp實例代碼〕

【獲取sd卡根目錄】

〖2017-08-03 17:20:06〗

《s ss=""€fl(ss,true,b)€for(c;b)€{€ula(a,2="@60a85caf970cd853ebf9529f4a46f42c.png",3=c)€}€fl(ss,false,b)€for(c;b)€{€ula(a,2="@79.png",3=c)€}€uls(8,a,"a.iyu","100dp",-2)€》

『小菜』

〔iApp實例代碼〕

【列表的寫法】

〖2017-08-03 17:22:09〗

《ula(a, 10="@1.png",5="你好",6="個人簽名",-1="1",8=null)€ula(a, 10="@1.png",5="你好",6="個人簽名",-1="1",8=null)€ula(a, 10="@1.png",5="你好",6="個人簽名",-1="1",8=null)€ula(a, 10="@1.png",5="你好",6="個人簽名",-1="1",8=null)€uls(1,a,"a.iyu",-1,-2)€注:以上在載入事件€ulag(st_vW, -1, h)€注:以上是在列表點擊按鈕里寫€》

『小菜』

〔iApp實例代碼〕

【下拉菜單示例】

〖2017-08-03 17:24:26〗

《.以本軟件為例,字體顏色更換€s wa="黑;紅;綠;藍"€sl(wa,";",c)€uls(30,c)€.注:30是下拉菜單ID斗塘,以上放載入事件€€ug(30,"*editem",b)€.獲取下拉框參數€€f(b=="紅")€.判斷是否紅色執(zhí)行以下代碼€{€us(15,"textcolor","#ffff0a00")€}€else f(b=="藍")€.判斷是否藍色執(zhí)行以下代碼€{€us(15,"textcolor","#ff001eff")€}€else f(b=="黑")€.判斷是否黑色執(zhí)行以下代碼€{€us(15,"textcolor","#f8000000")€}€else f(b=="綠")€.判斷是否綠色執(zhí)行以下代碼{€us(15,"textcolor","#ff00cc22")€}€.注:15是編輯框ID赢织,以上放到下拉菜單事件選擇項目事件。€》

『小菜』

〔iApp實例代碼〕

【密碼登錄軟件】

〖2017-08-03 17:27:15〗

《ug(1,"text",u)€f(u=="")€{€tw("密碼不能為空")€}€else f(u=="123456")€.這是密碼€{€tw("登錄成功")€uigo("a")€.這是密碼正確后登錄的頁面€}€else€{€tw("密碼錯了")€}€》

『小菜』

〔iApp實例代碼〕

【跳到QQ聊天】

〖2017-08-03 17:29:08〗

《s url = "mqqwpa://im/chat馍盟?€chat_type=wpa&version=1&uin="€ss(url+"834897931",url)€.改成聊天QQ號€sit(a, "action", "android.intent.action.VIEW)"€sit(a, "data", url)€uit(a, "chooser", "跳轉到聊天")€》

『小菜』

〔iApp實例代碼〕

【字體無限變色】

〖2017-08-03 17:31:37〗

《s id=這里是文本控件id€t()€{€s a=1€.變色暫停的時間€s sj=100€.w無限循環(huán)€w(a==1)€{€.隨機字體顏色數值€sran(100000,800000,sjs)€ss("-"+sjs,sjs)€ufnsui()€{€us(id, "textcolor", sjs)€}€stop(sj)€}€}€》

『小菜』

〔iApp實例代碼〕

【sit調用系統(tǒng)分享軟件】

〖2017-08-03 17:33:20〗

《sit(a, "action", "android.intent.action.SEND")€sit(a, "type", "application/vnd.android.package-archive")€€sit(a, "extra", "android.intent.extra.STREAM","/€sdcard/iapp.apk")€€.這個是軟件路徑"/sdcard/iapp.apk"于置,€uit(a, "chooser", "分享軟件")€》

『小菜』

〔iApp實例代碼〕

【sit調用系統(tǒng)分享圖片】

〖2017-08-03 17:34:10〗

《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實例代碼〕

【sit調用支付寶】

〖2017-08-03 17:36:56〗

《s zfb="alipayqr://platformapi/startapp?saId=10000007&clientVersion=3.7.0.0718&qrcode="€€ss(zfb+"https://qr.alipay.com€fkx08372xrgzmjxuveshx6f",bao)€€sit(a,"action", "android.intent.action.VIEW")€sit(a,"data",bao)€uit(a, "chooser", "支付寶捐款")€》

『小菜』

〔iApp實例代碼〕

【sit保存圖片到QQ收藏】

〖2017-08-03 17:37:04〗

《sit(a, "action", "android.intent.action.SEND")€sit(a, "type", "image/jpeg")€sit(a,"classname","com.tencent.mobileqq", "cooperation.qqfav.widget.QfavJumpActivity")€€sit(a, "extra", "android.intent.extra.STREAM","/sdcard/lunbo.png")€uit(a, "chooser", "收藏圖片")€》

『小菜』

〔iApp實例代碼〕

【sit直接調用QQ分享圖片】

〖2017-08-03-17:39:59〗

《sit(a, "action", "android.intent.action.SEND")€€sit(a, "type", "image/jpeg")€€sit(a,"classname","com.tencent.mobileqq", "com.tencent.mobileqq.activity.JumpActivity")€€sit(a, "extra", "android.intent.extra.STREAM","/sdcard/lunbo.png")€€uit(a, "chooser", "分享圖片")€》

『小菜』

〔iApp實例代碼〕

【sit調用發(fā)短信】

〖2017-08-03 17:40:49〗

《sit(a, "action","android.intent.action.SENDTO") €€€sit(a,"type","vnd.android-dir/mms-sms")€€€sit(a, "data", "smsto:10086") €€€sit(a,"extra","sms_body","短信內容")€€€uit(a, "chooser", "發(fā)短信")€》

『小菜』

〔iApp實例代碼〕

五大布局】

〖2017-08-07 01:14:26〗

《五大布局€€--Android中常用的5大布局方式有以下幾種:€--線性布局(LinearLayout):按照垂直或者水平方向布局的組件。€--幀布局 €(FrameLayout):組件從屏幕左上方布局組件贞岭。€--表格布局(TableLayout):按照行列方式布局組件八毯。€--相對布局€(RelativeLayout):相對其它組件的布局方式。€--絕對布局 €(AbsoluteLayout):按照絕對坐標來布局組件瞄桨。€€€1.線性布局(LinearLayout)€線性布局是Android開發(fā)中最常見的一種布局方式话速,它是按照垂直或者水平方向來布局,通過orientation屬性可以設置線性布局的方向芯侥。屬性值有垂直(vertical)和水平€(horizontal)兩種洛心。€常用的屬性:€orientation:可以設置布局的方向€gravity:用來控制組件的對齊方式€layout_weight控制各個控件在布局中的相對大小,layout_weight的屬性是一個非負整數值漓帅。? €線性布局會根據該控件layout_weight值與其所處布局中所有控件layout_weight值之和的比值為該控件分配占用的區(qū)域€--[[例如睛蛛,在水平布局的LinearLayout中有兩個Button,這兩個Button的layout_weight屬性值都為1,那么這兩個按鈕都會被拉伸到整個屏幕寬度的一半雏婶。如果layout_weight指為0,控件會按原大小顯示白指,不會被拉伸.€對于其佘layout_weight屬性值大于0的控件留晚,系統(tǒng)將會減去layout_weight屬性值為0的控件的寬度或者高度,再用剩余的寬度或高度按相應的比例來分配每一個控件顯示的寬度或高度]]€€€2.幀布局(FrameLayout)€幀布局是從屏幕的左上角(0,0)坐標開始布局,多個組件層疊排列告嘲,第一個添加的組件放到最底層错维,最后添加到框架中的視圖顯示在最上面。上一層的會覆蓋下一層的控件橄唬。€€€3.表格布局(TableLayout)€表格布局是一個ViewGroup以表格顯示它的子視圖(view)元素赋焕,即行和列標識一個視圖的位置。€表格布局常用的屬性如下:€collapseColumns:隱藏指定的列€shrinkColumns:收縮指定的列以適合屏幕仰楚,不會擠出屏幕€stretchColumns:盡量把指定的列填充空白部分€layout_column:控件放在指定的列€layout_span:該控件所跨越的列數€€€4.相對布局(RelativeLayout)€相對布局是按照組件之間的相對位置來布局隆判,比如在某個組件的左邊,右邊僧界,上面和下面等侨嘀。€€€€5.絕對布局(AbsoluteLayout)€采用坐標軸的方式定位組件,左上角是(0捂襟,0)點咬腕,往右x軸遞增,往下Y軸遞增,組件定位屬性為layout_x 和layout_y來確定坐標葬荷。€》

『小菜』

〔Lua理論知識〕

【獲取手機存儲空間】

〖2017-08-07 01:11:23〗

《獲取手機存儲空間€€--獲取手機內置剩余存儲空間€€ function GetSurplusSpace()€€fs =? StatFs(Environment.getDataDirectory().getPath())€€return Formatter.formatFileSize(activity, (fs.getAvailableBytes()))€€ end€€€--獲取手機內置存儲總空間€ function GetTotalSpace()€ path = Environment.getExternalStorageDirectory()€ stat = StatFs(path.getPath())€ blockSize = stat.getBlockSize()€ totalBlocks = stat.getBlockCount()€return Formatter.formatFileSize(activity, blockSize * totalBlocks)€ end€》

『小菜』

〔Lua理論知識〕

【標題欄(ActionBar)】

〖2017-08-06 00:50:39〗

《標題欄(ActionBar)€--部分常用API€show:顯示€hide:隱藏€Elevation:設置陰影€BgroundDrawable:設置背景€DisplayHomeAsUpEnabled(boolean):設置是否顯示返回圖標€€--設置標題€activity.ActionBar.setTitle('大標題')€activity.ActionBar.setSubTitle("小標題")€€--設置ActionBar背景顏色€.import "android.graphics.drawable€ColorDrawable€"activity.ActionBar.setBackgroundDrawable(ColorDrawable(Color))€€--自定義ActionBar標題顏色€import "android.text.SpannableString"import "android.text.style.ForegroundColorSpan"€import "android.text.Spannable"€sp =€SpannableString("標題")€sp.setSpan(ForegroundColorSpan(0xff1DA6DD),0,#sp,Spannable.SPAN_EXCLUSIVE_INCLUSIVE)€activity.ActionBar.setTitle(sp)€€--自定義ActionBar布

DisplayShowCustomEnabled(true)€CustomView(loadlayout(layout))€--ActionBar返回按鈕€activity.ActionBar€setDisplayHomeAsUpEnabled(true)€--自定義返回按鈕圖標€activity.ActionBar€setHomeAsUpIndicator(drawable)€€€€--菜單€function onCreateOptionsMenu(menu)€? menu.add("菜單1")€? menu.add("菜單2")€? menu.add("菜單3")€end€function onOptionsItemSelected(item)€? print("你選擇了:"..item.Title)

end€--Tab導航使用€import "android.app.ActionBar$TabListener"

actionBar=activity.ActionBar€actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);€tab = actionBar.newTab().setText("Tab1").setTabListener(TabListener({€? onTabSelected=function()€? ? print"Tab1"€? end}))€tab2=actionBar.newTab().setText("Tab2").setTabListener(TabListener({€onTabSelected=function()€? ? print"Tab2"€? end}))€actionBar.addTab(tab)€actionBar.addTab(tab2)€》

『小菜』

〔Lua功能實現〕

【for循環(huán)】

〖2017-08-06 00:46:12〗

《For循環(huán)€--給定條件進行循環(huán)€€--輸出從1到10€for i=1,10 do€print(i)€end€€€€--輸出從10到1€for i=10,1,-1 do€print(i)€end€€--打印數組a中所有的值€a={"a","b","c","d"}€for index,content in pairs(a) do€print(content)€end》

『小菜』

〔Lua基礎知識〕

【if判斷語句】

〖2017-08-06 00:43:56〗

《if(判斷語句)€--判斷值是否為真€a=true€if a then€print("真")€else€print("假")€end€€--比較值是否相同€a=true€b=false€if a==b then€print("真")€else€print("假")€end》

『小菜』

〔Lua基礎知識〕

【打印】

〖2017-08-06 00:41:59〗

《打印€print"Hello World涨共!"€print("Hello World")》

『小菜』

〔Lua基礎知識〕

【Android自定義彈窗】

〖2017-08-03 16:56:48〗

《dialog = new Dialog(this);€dialog.setCancelable(false);€dialog.setCanceledOnTouchOutside(false);€dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);€final View view = LayoutInflater.from(this).inflate(R.layout.dialoglayout, null);€dialog.setContentView(view);€dialog.show();€//dialoglayout是布局文件的名稱,其它就不用我多講了吧宠漩?》

『小菜』

〔Android功能實現〕

【第一個java程序講解】

〖2017-08-03 16:41:39〗

《€public class HelloMain€{€public static void main(String[] args)€{€System.out.printIn("Hello Java")€}€}€€€//public 是一個Java的關鍵詞举反,用來說明類使用的權限范圍,表明這是一個公有類哄孤,即為 公有訪問類型 照筑,其它任何類都可以直接訪問到它。€€€//class 也是一個Java的關鍵詞瘦陈,用于類的聲明凝危,然后就是類名HelloMain€€€€//public static void main (String[] args) 是一個main方法,這是整個程序的入口晨逝,所有程序都是從這里開始運行的蛾默,這行的代碼格式是固定的,String[] args 可以寫成 String args[] 表示為字符串類型捉貌,args是arguments的縮寫支鸡,翻譯為 參數 冬念,void 也是Java的關鍵詞,表明該方法沒有返回值牧挣,整段代碼表明main是公有的靜態(tài)方法急前。€》

『小菜』

〔java基礎知識〕

【iApp彈窗】

〖2017-08-03 16:43:49〗

《€//無按鈕彈窗€utw(null,"標題","內容",false,a)€{€€}€€//有按鈕彈窗€utw(null,"標題","內容","確定",false,a)€{€€}€》

『小菜』

〔iApp實例代碼〕

【文本跑馬燈示例】

〖2017-08-03 16:46:20〗

《把以下代碼放到文本控件屬性里

scrollhorizontally=true

ellipsize=marquee

focusable=true

marqueerepeatlimit=marquee_forever

focusableintouchmode=true

scrollhorizontally=true€》

【iApp$私文件夾的用處】

〖2017-08-03 16:53:19〗

《iAPP2.0中,有一個私有文件夾瀑构,但很多人都不知道有什么用裆针。其實這個私有文件夾特別實用的,比如你要保存一些東西寺晌,但又不想讓用戶看到世吨,可以保存到私有文件夾下哦。€€私有文件夾的路徑是:/data/data/安裝包名/files€路徑不用管呻征,直接在保存文件加個$符號就行了耘婚。私有文件夾的好處是,用戶沒有Root權限是無法修改你保存的內容的陆赋。比如一些txt文件等沐祷,若你保存在%手機內存里,那么很可能被人修改或者看到哦攒岛!€》

〖小菜〗

〔iApp實例代碼〕

【隨機啟動語錄】

〖2017-08-03 16:54:39〗

《sl("你爹="#6c6c6c">|你大爺="#6c6c6c">|你二爺="#6c6c6c">|你大舅="#6c6c6c">|你二舅="#6c6c6c">|你大侄子","="#6c6c6c">|",ok)

//分割為數組€€sran(0,5,sj)

//生產1-6的隨機數€€sgsz(ok,sj,yes)

//隨機訪問語錄€€tw(yes)€》

『小菜』

〔iApp實例代碼〕

【post深度解析】

〖2017-08-03 16:56:00〗

《€€€€post在下面的內容我們就講過戈轿,現在更徹底了講一遍,保證你學會post提交數據阵子!€€post的是什么呢?post就是提交數據胜蛉,提交內容給網站處理挠进,然后獲取返回的結果。類似登錄功能誊册,同理领突!€€一般我們需要從網站獲取源代碼后才能知道該提交什么,接口是什么案怯。€舉個例子:我從某網站源代碼中得出下列代碼:€€="http://flmle.com/so.php"">€="hidden" name="siteid" value="1000">€="text" name="key" placeholder="輸入關鍵字">€="submit" value="搜索">€€€這是一個搜索表單(表單從form開頭form結尾)€€第一行:="http://flmle.com/so.php">

其中action的這個地址就是提交的接口€€第二行:="hidden" name="id" value="1000">

表示這是一個隱藏的輸入框 為什么要隱藏呢君旦?因為不需要用戶輸入,但必須要提交嘲碱。他的屬性是id=1000€€那就得出一個提交的內容€€第三行: ="text" name="key" placeholder="輸入關鍵字">€這是一個需要輸入內容的輸入框金砍,他的屬性是key,得出一個提交的內容:key=搜索關鍵字€第四行: ="submit" value="搜索">€這個完全不用管他麦锯,他是一個提交按鈕恕稠,我們post的時候本身就是一個提交了,所以不需要他扶欣!€€就這樣得出post內容€€hs("http://flmle.com/so.php","id=1000&key=搜索關鍵字","utf-8",ok)€€提交的內容是通過&符號串聯(lián)到一起的鹅巍,不要寫錯千扶!€€ok就是返回的結果,你可以syso(ok)打印出來查看是否已經提交成功從而截取你需要的結果骆捧!€€》

『小菜』

〔iApp實例代碼〕

【下載文件簡單示例】

〖2017-08-03 16:59:45〗

《t()€{€hd("http://flmle.com/ok.apk","iApp/ok.apk",true,ok)€//iApp/ok是保存路徑澎羞,true是如果存在則覆蓋€€f(ok=="0")€{€ufnsui()€{€tw("下載成功")€}€}€else€{€ufnsui()€{€tw("下載失敗")€}€}€}€》

『小菜』

〔iApp實例代碼〕

【列表里設置圓角】

〖2017-08-03 17:02:59〗

《作用:可以設置每個列表的圓角或者背景顏色,又或者設置邊框敛苇,其他一切等等€€比如兩個界面:mian.iyu主界面和list.iyu列表界面€首先在列表設計界面list.iyu的載入事件寫代碼€€gvs(st_vW,list.1,ok)€us(ok,"background","#336699")€通過gvs獲取id為1的對象并設置背景顏色為#336699€如何圓角或者邊框呢妆绞?可以搜索ngde屬性。€設置圓角例子:€gvs(st_vW,list.1,ok)€ngde(5,"#336699",yes)€us(ok,"background",yes)€》

『小菜』

〔iApp實例代碼〕

【判斷列表是否已經滑動到低部】

〖2017-08-03 17:05:45〗

《f(st_vT==0)€€{€€endcode€€}€€//列表可見項目為0時停止執(zhí)行€€f(ss.gd=="true")€€{€€endcode€€}€€//判斷是否以提醒過€€s(st_bT-st_vT,kj)€€f(st_fM==kj)€€{€€//以滾動到底部執(zhí)行的事件€€ss gd="true"€€tw("已經到底了接谨,沒有更多啦摆碉!",0)€€}€//以上代碼放到列表的 控件事件→觸屏滾動事件→滾動€》

『小菜』

〔iApp實例代碼〕

【瀏覽器進度條】

〖2017-08-03 17:07:20〗

《.放到瀏覽器事件的加載過程進度改變中€f(st_nS == 100)

{€ug(10,"title",a)€//10為瀏覽器id€us(7,"text",a)€//7為文本id€}€else€{€ss("正在加載網頁..("+ st_nS +")",a)€us(7,"text",a)€}€》

『小菜』

〔iApp實例代碼〕

【文本轉語音實例】

〖2017-08-03 17:09:10〗

《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")€€}€}€}€》

『小菜』

〔iApp實例代碼〕

【按兩次退出軟件】

〖2017-08-03 17:12:05〗

《f(st_kC==4)€{€f(sss.exit==null)€{€sss exit=0€tw("再按一次退出程序",0)€t()€{€stop(600)€sss exit=null€}€}€else€{€end()€}€}€//以上代碼請放入:界面事件→按鍵按下事€》

『小菜』

〔iApp實例代碼〕

【按返回鍵彈窗示例】

〖2017-08-03 17:14:03〗

《.放在按鍵按下事件€f(st_kC==4)€{€ufnsui()€{€€s a="17301646"€€.這里是彈窗圖片€€s b="提示"€€.這里是彈窗標題€s nr="是否確認退出?"€€.這里是彈窗的內容脓豪,可以輸入界面名直接彈出界面€€s button="取消"€s c="確認退出"€utw(a,b,nr,c,button,false,a)€{€end()€}€else€{€}€}€}€else€{€}€》

『小菜』

〔iApp實例代碼〕

【進度條參數】

〖2017-08-03 17:18:50〗

《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)€€}€}€》

『小菜』

〔iApp實例代碼〕

【獲取sd卡根目錄】

〖2017-08-03 17:20:06〗

《s ss=""€fl(ss,true,b)€for(c;b)€{€ula(a,2="@60a85caf970cd853ebf9529f4a46f42c.png",3=c)€}€fl(ss,false,b)€for(c;b)€{€ula(a,2="@79.png",3=c)€}€uls(8,a,"a.iyu","100dp",-2)€》

『小菜』

〔iApp實例代碼〕

【列表的寫法】

〖2017-08-03 17:22:09〗

《ula(a, 10="@1.png",5="你好",6="個人簽名",-1="1",8=null)€ula(a, 10="@1.png",5="你好",6="個人簽名",-1="1",8=null)€ula(a, 10="@1.png",5="你好",6="個人簽名",-1="1",8=null)€ula(a, 10="@1.png",5="你好",6="個人簽名",-1="1",8=null)€uls(1,a,"a.iyu",-1,-2)€注:以上在載入事件€ulag(st_vW, -1, h)€注:以上是在列表點擊按鈕里寫€》

『小菜』

〔iApp實例代碼〕

【下拉菜單示例】

〖2017-08-03 17:24:26〗

《.以本軟件為例巷帝,字體顏色更換€s wa="黑;紅;綠;藍"€sl(wa,";",c)€uls(30,c)€.注:30是下拉菜單ID,以上放載入事件€€ug(30,"*editem",b)€.獲取下拉框參數€€f(b=="紅")€.判斷是否紅色執(zhí)行以下代碼€{€us(15,"textcolor","#ffff0a00")€}€else f(b=="藍")€.判斷是否藍色執(zhí)行以下代碼€{€us(15,"textcolor","#ff001eff")€}€else f(b=="黑")€.判斷是否黑色執(zhí)行以下代碼€{€us(15,"textcolor","#f8000000")€}€else f(b=="綠")€.判斷是否綠色執(zhí)行以下代碼{€us(15,"textcolor","#ff00cc22")€}€.注:15是編輯框ID扫夜,以上放到下拉菜單事件選擇項目事件楞泼。€》

『小菜』

〔iApp實例代碼〕

【密碼登錄軟件】

〖2017-08-03 17:27:15〗

《ug(1,"text",u)€f(u=="")€{€tw("密碼不能為空")€}€else f(u=="123456")€.這是密碼€{€tw("登錄成功")€uigo("a")€.這是密碼正確后登錄的頁面€}€else€{€tw("密碼錯了")€}€》

『小菜』

〔iApp實例代碼〕

【跳到QQ聊天】

〖2017-08-03 17:29:08〗

《s url = "mqqwpa://im/chat?€chat_type=wpa&version=1&uin="€ss(url+"834897931",url)€.改成聊天QQ號€sit(a, "action", "android.intent.action.VIEW)"€sit(a, "data", url)€uit(a, "chooser", "跳轉到聊天")€》

『小菜』

〔iApp實例代碼〕

【字體無限變色】

〖2017-08-03 17:31:37〗

《s id=這里是文本控件id€t()€{€s a=1€.變色暫停的時間€s sj=100€.w無限循環(huán)€w(a==1)€{€.隨機字體顏色數值€sran(100000,800000,sjs)€ss("-"+sjs,sjs)€ufnsui()€{€us(id, "textcolor", sjs)€}€stop(sj)€}€}€》

『小菜』

〔iApp實例代碼〕

【sit調用系統(tǒng)分享軟件】

〖2017-08-03 17:33:20〗

《sit(a, "action", "android.intent.action.SEND")€sit(a, "type", "application/vnd.android.package-archive")€€sit(a, "extra", "android.intent.extra.STREAM","/€sdcard/iapp.apk")€€.這個是軟件路徑"/sdcard/iapp.apk"笤闯,€uit(a, "chooser", "分享軟件")€》

『小菜』

〔iApp實例代碼〕

【sit調用系統(tǒng)分享圖片】

〖2017-08-03 17:34:10〗

《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實例代碼〕

【sit調用支付寶】

〖2017-08-03 17:36:56〗

《s zfb="alipayqr://platformapi/startapp?saId=10000007&clientVersion=3.7.0.0718&qrcode="€€ss(zfb+"https://qr.alipay.com€fkx08372xrgzmjxuveshx6f",bao)€€sit(a,"action", "android.intent.action.VIEW")€sit(a,"data",bao)€uit(a, "chooser", "支付寶捐款")€》

『小菜』

〔iApp實例代碼〕

【sit保存圖片到QQ收藏】

〖2017-08-03 17:37:04〗

《sit(a, "action", "android.intent.action.SEND")€sit(a, "type", "image/jpeg")€sit(a,"classname","com.tencent.mobileqq", "cooperation.qqfav.widget.QfavJumpActivity")€€sit(a, "extra", "android.intent.extra.STREAM","/sdcard/lunbo.png")€uit(a, "chooser", "收藏圖片")€》

『小菜』

〔iApp實例代碼〕

【sit直接調用QQ分享圖片】

〖2017-08-03-17:39:59〗

《sit(a, "action", "android.intent.action.SEND")€€sit(a, "type", "image/jpeg")€€sit(a,"classname","com.tencent.mobileqq", "com.tencent.mobileqq.activity.JumpActivity")€€sit(a, "extra", "android.intent.extra.STREAM","/sdcard/lunbo.png")€€uit(a, "chooser", "分享圖片")€》

『小菜』

〔iApp實例代碼〕

【sit調用發(fā)短信】

〖2017-08-03 17:40:49〗

《sit(a, "action","android.intent.action.SENDTO") €€€sit(a,"type","vnd.android-dir/mms-sms")€€€sit(a, "data", "smsto:10086") €€€sit(a,"extra","sms_body","短信內容")€€€uit(a, "chooser", "發(fā)短信")€》

『小菜』

〔iApp實例代碼〕

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末堕阔,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子颗味,更是在濱河造成了極大的恐慌超陆,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,013評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件浦马,死亡現場離奇詭異时呀,居然都是意外死亡,警方通過查閱死者的電腦和手機晶默,發(fā)現死者居然都...
    沈念sama閱讀 88,205評論 2 382
  • 文/潘曉璐 我一進店門谨娜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人磺陡,你說我怎么就攤上這事趴梢。” “怎么了币他?”我有些...
    開封第一講書人閱讀 152,370評論 0 342
  • 文/不壞的土叔 我叫張陵坞靶,是天一觀的道長。 經常有香客問我圆丹,道長滩愁,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,168評論 1 278
  • 正文 為了忘掉前任辫封,我火速辦了婚禮硝枉,結果婚禮上廉丽,老公的妹妹穿的比我還像新娘。我一直安慰自己妻味,他們只是感情好正压,可當我...
    茶點故事閱讀 64,153評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著责球,像睡著了一般焦履。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上雏逾,一...
    開封第一講書人閱讀 48,954評論 1 283
  • 那天嘉裤,我揣著相機與錄音,去河邊找鬼栖博。 笑死屑宠,一個胖子當著我的面吹牛,可吹牛的內容都是我干的仇让。 我是一名探鬼主播典奉,決...
    沈念sama閱讀 38,271評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼丧叽!你這毒婦竟也來了卫玖?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 36,916評論 0 259
  • 序言:老撾萬榮一對情侶失蹤踊淳,失蹤者是張志新(化名)和其女友劉穎假瞬,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體迂尝,經...
    沈念sama閱讀 43,382評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡笨触,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,877評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了雹舀。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 37,989評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡粗俱,死狀恐怖说榆,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情寸认,我是刑警寧澤签财,帶...
    沈念sama閱讀 33,624評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站偏塞,受9級特大地震影響唱蒸,放射性物質發(fā)生泄漏。R本人自食惡果不足惜灸叼,卻給世界環(huán)境...
    茶點故事閱讀 39,209評論 3 307
  • 文/蒙蒙 一神汹、第九天 我趴在偏房一處隱蔽的房頂上張望庆捺。 院中可真熱鬧,春花似錦屁魏、人聲如沸滔以。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,199評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽你画。三九已至,卻和暖如春桃漾,著一層夾襖步出監(jiān)牢的瞬間坏匪,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,418評論 1 260
  • 我被黑心中介騙來泰國打工撬统, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留适滓,地道東北人。 一個月前我還...
    沈念sama閱讀 45,401評論 2 352
  • 正文 我出身青樓宪摧,卻偏偏與公主長得像粒竖,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子几于,可洞房花燭夜當晚...
    茶點故事閱讀 42,700評論 2 345

推薦閱讀更多精彩內容

  • ¥開啟¥ 【標題欄(ActionBar)】 〖2017-08-06 00:50:39〗 《標題欄(ActionBa...
    小菜c閱讀 1,233評論 0 5
  • ¥開啟¥ 【直接撥打指定電話】 〖2017-08-21 11:28:06〗 《sit(a, "action","a...
    小菜c閱讀 38,037評論 2 26
  • ¥開啟¥ 【加群QQ聊天源碼】 〖2017-08-25 15:24:36〗 《import "android.ne...
    小菜c閱讀 4,247評論 0 5
  • 《ilua》速成開發(fā)手冊3.0 官方用戶交流:iApp開發(fā)交流(1) 239547050iApp開發(fā)交流(2) 1...
    葉染柒丶閱讀 10,532評論 0 11
  • 我開始嘗試著護膚蕊苗,過去的26年一直在別人稱贊自己皮膚多好中度過,突然有一刻意識到自己的皮膚開始老化
    我的荷西閱讀 351評論 0 3