AndLua+ English
172 subscribers
6 photos
9 links
➡️Only English💐
AndLua+ Tutorial
AndLua+ Function
AndLua+ Source codes
AndLua+ Videos
AndLua+ App's
keep_support
Download Telegram
Title :- use the thread
Import the import module, see the thread,timer and task function description.
Thread use a separate environment to run, you can't use external variables and functions, you need to use parameters and a callback with the external interaction.
Task

task(str,args,callback)

str for the task execution code, the args as a parameter, the callback for the callback function, the task return value will be passed to the callback method
Thread

t=thread(str,args)

str is the thread code that is executed, args is the initial incoming parameter
The calling thread method
call(t,fn,args)
t for thread, and fn is the method name, args is the parameter
Set the thread variable
set(t,fn,arg)
t is the thread, fn is a variable name, the arg for the value of the variable
Thread call main thread method
call(fn,args)
fn is the method name, args is the parameter
Thread setting main thread variables
set(fn,arg)
fn is the name of the variable arg is a variable value

Note. The parameter type is a string value, Java objects, Boolean values and nil
The thread you want to use the quit the end of the thread.

t=timer(func,delay,period,args)

func timer function to execute, delay for the timer delay period for the timer interval, args for initialization parameters
t. Enable=false to pause the timer
t. Enable=true starts the timer
t. stop() stops the timer

Note: the timer function is defined to run a function when the timer repeat the run of the function, otherwise repeat the build when the func function
Title :- use the layout table
Use the layout tables are required to import android. view with android. the widget package.
require "import"
import "android. widget.*"
import "android. view.*"
The layout of the tabular
layout={
Control class name,
id=the name of the control,
Attribute=value,
{
The sub-control class name,
id=the name of the control,
Attribute=value,
}
}

For example:
layout={
LinearLayout, - the view class name
id="linear", - the view ID, may be in the loadlayout directly after use
orientation="vertical",--attribute with a value
{
TextView,--sub-view class name
text="hello AndLua++",--attribute with a value
layout_width="fill"--layout attributes
},
}
Use the loadlayout function to parse the layout of the table to generate the layout.
activity. setContentView(loadlayout(layout))
Also can be simplified as:
activity. setContentView(layout)
If you use a separate file layout(such a layout. aly layout file)can also be abbreviated as:
activity. setContentView("layout")
This time without the import layout file.

The layout of the table to support the large portion of the Android control properties
With Android XML layout files of the different points:
id is represented in Lua variable name, rather than the Android can findbyid digital id.
The ImageView's src attribute is the current directory the image name or the absolute file path of the image or on the network pictures,
layout_width and layout_height values to support the fill and wrap shorthand,
the onClick value of a lua function or a java onClick interface or their global variable name,
Background in background support background image, background color and LuaDrawable from drawing the background, the background of the picture parameter is the current directory the image name or the absolute file path of the image or on the network pictures, the color with the backgroundColor, since drawing the background parameters for the draw function or the drawing function of the global variable name,
Controls the background color using the backgroundColor is set, the value for"hexadecimal color value."
Size of the unit of support for px, dp, sp, in, mm,%w,%h.
Other reference loadlayout with loadbitmap
Title :- 2D drawing
require "import"
import "android. app.*"
import "android. os.*"
import "android. widget.*"
import "android. view.*"
import "android. graphics.*"
activity. setTitle('AndLua+')

paint=Paint()
paint. setARGB(100,0,250,0)
paint. setStrokeWidth(20)
paint. setTextSize(28)

sureface = SurfaceView(activity);
callback=SurfaceHolder_Callback{
surfaceChanged=function(holder,format,width,height)
end,
surfaceCreated=function(holder)
ca=holder. lockCanvas()
if (ca~=nil) then
ca. drawRGB(0,79,90);
ca. drawRect(0,0,200,300,paint)
end
holder. unlockCanvasAndPost(ca)
end,
surfaceDestroyed=function(holder)
end
}
holder=sureface. getHolder()
holder. addCallback(callback)
activity. setContentView(sureface)
Title :- Lua types and Java types
In most cases AndLua+can handle Lua and Java types automatically convert, but the Java numeric types there are a variety of(double,float,long,int,short,byte), while Lua only number, in case of necessity you can use a type cast.
i=int(10)
i was a Java int data type
d=double(10)
d is a Java double type
When calling a Java method when AndLua+can automatically convert the Lua table is converted into a Java array, Map or interface
Map type can be used like Lua table as simple.
map=HashMap{a=1,b=2}
print(map. a)
map. a=3
Take the length operator#can get the Java array, List,Map,Set, String length.
Title :- The canvas module
require "import"
import "canvas"
import "android. app.*"
import "android. os.*"
import "android. widget.*"
import "android. view.*"
import "android. graphics.*"
activity. setTitle('AndLua+')

paint=Paint()
paint. setARGB(100,0,250,0)
paint. setStrokeWidth(20)
paint. setTextSize(28)

sureface = SurfaceView(activity);
callback=SurfaceHolder_Callback{
surfaceChanged=function(holder,format,width,height)
end,
surfaceCreated=function(holder)
ca=canvas. lockCanvas(holder)
if (ca~=nil) then
ca:drawRGB(0,79,90)
ca:drawRect(0,0,200,300,paint)
end
canvas. unlockCanvasAndPost(holder,ca)
end,
surfaceDestroyed=function(holder)
end
}
holder=sureface. getHolder()
holder. addCallback(callback)
activity. setContentView(sureface)
Title :- OpenGL module
require "import"
import "gl"
import "android. app.*"
import "android. os.*"
import "android. widget.*"
import "android. view.*"
import "android. opengl.*"
activity. setTitle('AndLua+')
--activity. mechanism( android. R. style. Theme_Holo_Light_NoActionBar_Fullscreen)

mTriangleData ={
0.0, 0.6, 0.0,
-0.6, 0.0, 0.0,
0.6, 0.0, 0.0,
};
mTriangleColor = {
1, 0, 0, 0,
0, 1, 0, 0,
0, 0, 1, 0,
};

sr=GLSurfaceView. Renderer{
onSurfaceCreated=function(gl2, config)
gl. glDisable(gl. GL_DITHER);
gl. glHint(gl. GL_PERSPECTIVE_CORRECTION_HINT, gl. GL_FASTEST);
gl. glClearColor(0, 0, 0, 0);
gl. glShadeModel(gl. GL_SMOOTH);
gl. glClearDepth(1.0)
gl. glEnable(gl. GL_DEPTH_TEST);
gl. glDepthFunc(gl. GL_LEQUAL);
end,
onDrawFrame=function(gl2, config)
gl. glClear(gl. GL_COLOR_BUFFER_BIT | gl. GL_DEPTH_BUFFER_BIT);
gl. glMatrixMode(gl. GL_MODELVIEW);
gl. glLoadIdentity();
gl. glRotate(0,1,1,1)
gl. glTranslate(0, 0,0);
gl. glEnableClientState(gl. GL_VERTEX_ARRAY);
gl. glEnableClientState(gl. GL_COLOR_ARRAY);
gl. glVertexPointer( mTriangleData,3);
gl. glColorPointer(mTriangleColor,4);
gl. glDrawArrays( gl. GL_TRIANGLE_STRIP , 0, 3);
gl. glFinish();
gl. glDisableClientState(gl. GL_VERTEX_ARRAY);
gl. glDisableClientState(gl. GL_COLOR_ARRAY);
end,
onSurfaceChanged= function (gl2, w, h)
gl. glViewport(0, 0, w, h);
gl. glLoadIdentity();
ratio = w / h;
gl. glFrustum(-rautio, ratio, -1, 1, 1, 10);
end
}

glSurefaceView = GLSurfaceView(activity);
glSurefaceView. setRenderer(sr);
activity. setContentView(glSurefaceView);
Title :- http sync network module
body,cookie,code,headers=http. get(url [,cookie,ua,header])
body,cookie,code,headers=http. post(url ,postdata [,cookie,ua,header])
code,headers=http. download(url [,cookie,ua,ref,header])
body,cookie,code,headers=http. upload(url ,datas ,files [,cookie,ua,header])
Parameter description
url
postdata post a string or a string Data Group table
datas upload string Data Group table
files the upload the file name of the database table
cookie page requires the cookie
ua browser identification
ref source page URL
header the http Request Header

require "import"
import "http"

--get function to get request to get the page, the parameters for the request URL and the cookie
body,cookie,code,headers=http. get("http://www.AndLua+. com")

--post function to post the request to obtain web pages, typically used for submitting the form, the parameters for the requested URL, The content to be sent with the cookies
body,cookie,code,headers=http. post("http://AndLua+. com/Login. Asp? Login=Login&Url=http://AndLua+. com/bbs/index. asp","name=username&pass=password&ki=1")

--download function and a get function similar to that used to download the file, the parameters for the requested URL, save the file path and cookie
http. download("http://AndLua+. com","/sdcard/a.txt")

--upload is used to upload a file, the parameter is the requested URL, the request contents of the string section, the format is key=value form the table, the request File section, in the format key=file path of the table, the last parameter is the cookie
http. upload("http://AndLua+. com",{title="Title",msg="The content"},{file1="/sdcard/1.txt",file2="/sdcard/2.txt"})
Title :- import module
require "import"
import "android. widget.*"
import "android. view.*"
layout={
LinearLayout,
orientation="vertical",
{
EditText,
id="edit",
layout_width="fill"
},
{
Button,
text="button",
layout_width="fill",
onClick="click"
}
}

function click()
Toast. makeText(activity, edit. getText(). toString(), Toast. LENGTH_SHORT ). show()
end
activity. setContentView(loadlayout(layout))
Title :- The Http Asynchronous Network Module
Get content get function
Http. get(url,cookie,charset,header,callback)
url of the network request to the link URL
cookies the use of cookies, that is, the identity of the server identification information
the charset of the content encoding
header the request header
callback request after the completion of the execution of the function

In addition to the url and the callback of the other parameters are not necessary

The callback function accepts four parameters values are
code the response code of 2xx indicates success, 4xx indicates request error, and 5xx indicates Server Error-1 indicates an error
content content, the If code is -1, then an error message
the cookie returned by the server the user identification information
header the server returns the header information

Send data to server post function
Http. post(url,data,cookie,charset,header,callback)
In addition to increasing a data, other parameters and get exactly the same
data sent to the server data

Download the file download function
Http. download(url,path,cookie,header,callback)
Parameters without encoding parameter, the other with get,
path file path to save

Need of special note that, only support at the same time there are 127 network request or an error occurs


Http is actually Http. HttpTask package, Http. HttpTask use of more generic and flexible form
Parameter format is as follows
Http. HttpTask( url, String method, cookie, charset, header, callback)
All parameters are mandatory, not the incoming nil

url The requested URL
method the request method can be get, post, put, delete, etc.
cookie authentication information
the charset of the content encoding
header the request header
callback the callback function

The function returns a HttpTask object,
Need to call the execute method can only be executed,
t=Http. HttpTask(xxx)
t. execute{data}

Note that calling the brackets are curly braces, the content can be a string or byte array,
Using this form you can your own package asynchronous upload function
Title :- bmob network database
b=bmob(id,key)
id the user id, the key the application key.

b:the insert(key,data,callback)
The new data table, the key table name, data, callback the callback function.

b:update(key,id,data,callback)
Update the data table, the key table name id data-id, data, callback the callback function.

b:query(key,data,callback)
Query the data table, the key table name, data Query rules, callback callback function.

b:increment(key,id,k,v,c)
Atom count, key table name, the id data id, the k data key, v count the amount of increase.

b:delete(key,id,callback)
Delete the data key table name,the id data id, callback callback function.

b:sign(user,pass,mail,callback)
Registered User, user username, pass password, mail, e-mail, callback callback function.

b:the login(user or mail,pass,callback)
Logon USER, user username, pass password, mail, e-mail, callback callback function.

b:upload(path,callback)
Upload file path file path, callback callback function.

b:remove(url,callback)
Delete the file, the url file path, callback callback function.


Note:
1, the query rule Support table or json format, the specific usage refer to the official api
2, the callback function's first parameter is a status code, -1 on error, and other status codes reference http status code, the second parameter is the returned content.
Title :- LuaUtil auxiliary library
copyDir(from,to)
Copy a file or folder from source path to destination path.

zip(from,dir,name)
A compressed file or folder from the source path, dir the destination folder, name the zip file name.

unZip(from,to)
Unzip the files from the zip file path to the target path.

getFileMD5(path)
To get the file MD5 value, path file path.

getFileSha1(path)
Get file Sha1 value, path file path.
Title :- Lua Adaptor
Construction method
adapter=LuaAdapter(activity,data,layout)
Build the adapter, the activity of the current activity, data list, data, layout, list item layout.
the data format is{{id=value},{id=value}}format of the array table.

adapter. add(data)
To add data, the data for the list item data, in the format of{id=value}.

adapter. insert(idx,{id=value})
To insert data, idx from 0 count to the inserted position, the data for the list item data, in the format of{id=value}.

adapter. remove(idx)
Delete data, idx from 0 count to delete the location.

adapter. clear()
Emptied data.

adapter. notifyDataSetChanged()
To update the data.

You can also use the table. insert/table. the remove directly to the data table operation, the table library operating start counting from 1, the modification operation need to manually update the list.

In the use of LuaAdapter the ListView's onItemClick/onItemLongClick callback function, the third parameter for the starting from 0 for the project number, the fourth parameter is a 1 from the beginning of the project number.
Title :- On AndLua+ package
New construction or in the script directory create a new init. the lua file.
Write the following content to the folder all the lua files are packaged, the main. lua for the program population.
appname="demo"
appver="1.0"
packagename="com. AndLua+. demo"
Directory under the icon. png replacement icons, welcome. png replaces the start Fig.
Packaged using the debug signature.
Title :- Part of the function reference
[a]indicates that the parameter is a optional(...)indicates variable parameters. Function call in only one parameter and the parameter is a string or a table can omit the parentheses.
AndLua+library function in the import module, for ease of use are global variables.
s denotes the string type, i represents an integer type, n represents a floating-point number or an integer type, and t represents a table type, b represents a Boolean type, o represents the Java object type, f is a Lua function.
- Indicates a comment.

each(o)
Parameters: o implement Iterable interface Java objects
Returns: for Lua iteration of the closure
Role: Java collection iterator


enum(o)
Parameters: o implement the Enumeration interface of the Java objects
Returns: for Lua iteration of the closure
Role: Java collection iterator

import(s)
Parameters: s to load the package or class name
Returns: the loaded class or module
Role: loading package or class or Lua module
import "http" --load the http module
import "android. widget.*" --Load the android. widget pack
import "android. widget. Button" --load android. widget. Button class
import "android. view. View$OnClickListener" --load android. view. View. OnClickListener inner class

loadlayout(t [,t2])
Parameters: t to load a layout table, t2 to save the view of the table
Returns: the layout of the outermost layer of the view
Role: loading layout table, generating the view
layout={
LinearLayout,
layout_width="fill",
{
TextView,
text="AndLua+",
id="tv"
}
}
main={}
activity. setContentView(loadlayout(layout,main))
print(main. tv. getText())

loadbitmap(s)
Parameters: s to load a picture of the address, to support the relative address, absolute address and the URL
Returns: a bitmap object
Role: loading pictures
Note: loading network images need to be online thread

task(s [,...], f)
Parameters: s the task to run the code or function,... the task of the incoming parameters f callback function
Returns: no return value
Role: in an asynchronous thread running the Lua code that is executed in the main thread call the callback function
Note: the parameter types include Boolean, numerical, string, Java objects, does not allow the Lua object
function func(a,b)
require "import"
print(a,b)
return a+b
end
task(func,1,2,print)

the thread(s[,...])
Parameters: s the thread running the lua code or scripts relative paths(without the extension)or functions,... thread initialization parameter
Returns: returns the thread object
Action: open a thread running the Lua code
Note: threads need to call the quit method ends the thread
func=[[
a,b=...
function add()
call("print",a+b)
end
]]
t=thread(func,1,2)
t. add()

timer(s,i1,i2[,...])
Parameters: s the timer run the code or function, i1 before the delay, the i2 interval timer, and... timer initialization parameters
Returns: timer object
Action: create a timer repeat function
function f(a)
function run()
print(a)
a=a+1
end
end

t=timer(f,0,1000,1)
t. Enabled=false--pause the timer
t. Enabled=true--Re-Timer
t. stop()--stop the timer

luajava. bindClass(s)
Parameters: s the class of full names, supports basic types
Returns: a Java class object
The role: the loaded Java class
Button=luajava. bindClass("android. widget. Button")
int=luajava. bindClass("int")

luajava. createProxy(s,t)
Parameters: s interface-the full name, the t interface function table
Returns: a Java interface object
Role: create a Java interface
onclick=luajava. createProxy("android. view. View$OnClickListener",{onClick=function(v)print(v)end})

luajava. createArray(s,t)
Parameters: s the class of full names, supports basic types, the t to be converted to Java array table
Returns: the created Java array object
Role: create a Java array
arr=luajava. createArray("int",{1,2,3,4})

luajava. newInstance(s [,...])
Parameters: s the class of full name,... method to build the parameters
Role: create a Java instance of the class
b=luajava. newInstance("android. widget. Button",activity)

luajava. new(o[,...])
Parameters: o the Java class object... parameters
Returns: a class instan
ce or an array object, or interface object
Role: create a class instance or an array object, or interface object
Note: when only one parameter of table type, if the class object for the interface create the interface for the class to create an array, the parameters for the other cases to create an instance
b=luajava. new(Button,activity)
onclick=luajava. new(OnClickListener,{onClick=function(v)print(v)end})
arr=luajava. new(int,{1,2,3})
(Example suppose you have loaded the relevant class)

luajava. coding(s [,s2 [, s3]])
Parameters: s you want to convert the encoded Lua string, s2 string in the original encoding, the s3 string to the target encoding
Return: the transcoded Lua string
The role: converting string to encoding
Note: the default GBK transfer UTF8

luajava. clear(o)
Parameters: o-the Java object
Returns: none
Role: destruction of the Java object
Note: only for the destruction of a temporary object

luajava. astable(o)
Parameters: o-the Java object
Returns: Lua table
Role: convert Java Array List or Map as a Lua table

luajava. tostring(o)
Parameters: o-the Java object
Returns: Lua string
Effects: equivalent to o. toString()
Title :- activity part of the API reference
setContentView(layout, env)
Set the layout of the table layout to the current activity's main view, the env is the saved view of the ID table, default is _G
getLuaDir()
Returns the script in the current directory
getLuaDir(name)
Return to the script the current directory is a subdirectory of the
getLuaExtDir()
Return AndLua+in the SD's working directory
getLuaExtDir(name)
Return AndLua+in the SD's working directory to the subdirectory
getWidth()
Returns the width of the screen
getHeight()
Return the screen height, not including the status bar and the navigation bar
loadDex(path)
Load the current directory dex or jar, and returns DexClassLoader
loadLib(path)
Load the current directory for the c module, returns the loaded module returns a value(usually contains the module function of the package)
registerReceiver(filter)
Register a broadcast receiver, when called again this method will remove the last registered filter
newActivity(req, path, enterAnim, exitAnim, arg)
Open a new activity, the operation path is the path of the Lua file, the other parameters are optional, arg is a table, accept the script as a variable-length argument
result{...}
Origin activity to return the data in the source activity for the onResult callback
newTask(func[, update], callback)
Create a new Task asynchronous task threads perform the func function, the other two parameters are optional, the end of the execution of the callback callback in the task calls the update function in the UI thread callback the function
Create a new Task in the calling execute{}by table parameters passed in func to unpack in the form received, to perform the func can return multiple values
newThread(func, arg)
Create a new thread, the thread running func function, can be in the form of a table the incoming arg in func to unpack received in the form
The new thread calls start()method to run, the thread containing the loop of the thread, in the current activity ends automatically after the end of the loop
newTimer(func, arg)
Create a new timer thread is running func function, can be in the form of a table the incoming arg in func to unpack received in the form
Call timer's start(delay, period)start timer, stop()stop the timer, Enabled suspend-resume timer, Period properties change the timer interval
Title :- The layout of the table of string constant
The layout of the table to support the property strings constants
-- android:drawingCacheQuality
auto=0,
low=1,
high=2,

-- android:importantForAccessibility
auto=0,
yes=1,
no=2,

-- android:layerType
none=0,
software=1,
hardware=2,

-- android:layoutDirection
ltr=0,
rtl=1,
inherit=2,
locale=3,

-- android:scrollbarStyle
insideOverlay=0x0,
insideInset=0x01000000,
outsideOverlay=0x02000000,
outsideInset=0x03000000,

-- android:visibility
visible=0,
invisible=1,
gone=2,

wrap_content=-2,
fill_parent=-1,
match_parent=-1,
wrap=-2,
fill=-1,
match=-1,

-- android:orientation
vertical=1,
horizontal= 0,

-- android:gravity
axis_clip = 8,
axis_pull_after = 4,
axis_pull_before = 2,
axis_specified = 1,
axis_x_shift = 0,
axis_y_shift = 4,
bottom = 80,
center = 17,
center_horizontal = 1,
center_vertical = 16,
clip_horizontal = 8,
clip_vertical = 128,
display_clip_horizontal = 16777216,
display_clip_vertical = 268435456,
--fill = 119,
fill_horizontal = 7,
fill_vertical = 112,
horizontal_gravity_mask = 7,
left = 3,
no_gravity = 0,
relative_horizontal_gravity_mask = 8388615,
relative_layout_direction = 8388608,
right = 5,
start = 8388611,
top = 48,
vertical_gravity_mask = 112,
end = 8388613,

-- android:textAlignment
inherit=0,
gravity=1,
textStart=2,
textEnd=3,
textCenter=4,
viewStart=5,
viewEnd=6,

-- android:inputType
none=0x00000000,
text=0x00000001,
textCapCharacters=0x00001001,
textCapWords=0x00002001,
textCapSentences=0x00004001,
textAutoCorrect=0x00008001,
textAutoComplete=0x00010001,
textMultiLine=0x00020001,
textImeMultiLine=0x00040001,
textNoSuggestions=0x00080001,
textUri=0x00000011,
textEmailAddress=0x00000021,
textEmailSubject=0x00000031,
textShortMessage=0x00000041,
textLongMessage=0x00000051,
textPersonName=0x00000061,
textPostalAddress=0x00000071,
textPassword=0x00000081,
textVisiblePassword=0x00000091,
textWebEditText=0x000000a1,
textFilter=0x000000b1,
textPhonetic=0x000000c1,
textWebEmailAddress=0x000000d1,
textWebPassword=0x000000e1,
number=0x00000002,
numberSigned=0x00001002,
numberDecimal=0x00002002,
numberPassword=0x00000012,
phone=0x00000003,
datetime=0x00000004,
date=0x00000014,
time=0x00000024,

--android:ellipsize
end
start
middle
marquee

Relative layout rule
layout_above=2,
layout_alignBaseline=4,
layout_alignBottom=8,
layout_alignEnd=19,
layout_alignLeft=5,
layout_alignParentBottom=12,
layout_alignParentEnd=21,
layout_alignParentLeft=9,
layout_alignParentRight=11,
layout_alignParentStart=20,
layout_alignParentTop=10,
layout_alignRight=7,
layout_alignStart=18,
layout_alignTop=6,
layout_alignWithParentIfMissing=0,
layout_below=3,
layout_centerHorizontal=14,
layout_centerInParent=13,
layout_centerVertical=15,
layout_toEndOf=17,
layout_toLeftOf=0,
layout_toRightOf=1,
layout_toStartOf=16



The size of the unit
px=0,
dp=1,
sp=2,
pt=3,
in=4,
mm=5
Title :- Intent Class description
Intent(intent)is mainly to solve the Android application of the various components between the communications.
Intent responsible for the corresponding use in a operation action, the operation involving the data, additional data will be described.
Android is based on the Intent of the description, responsible for finding the corresponding components will be Intent passed to the calling component, and complete the Assembly of the called.

Thus, the Intent here plays a media intermediary role
Specialized in providing components call each other relevant information
To achieve the caller and callee between the decoupling.

For example, in a contact maintenance applications, when we are in a contact list screen(assuming the corresponding Activity for the listActivity)on
Click on a contact, you want to be able to jump out of the Contact Details screen(assuming the corresponding Activity for the detailActivity)
In order to achieve this goal, listActivity need to construct a Intent
This Intent is used to tell system that we want to do the“view”action, this action corresponds to the view object is“a contact”
And then call startActivity (Intent intent), the structure of the Intent of the incoming

The system will according to the Intent of the description to the ManiFest found to meet the Intent requirements of the Activity, the system will call to find the Activity, shall detailActivity, finally passed Intent, the detailActivity will be according to the Intent of the description, the implementation of the corresponding operation.
Title :- invoke the browser search key
import "android. content. Intent"
import "android. app. SearchManager"
intent = Intent()
intent. setAction(Intent. ACTION_WEB_SEARCH)
intent. putExtra(SearchManager. QUERY,"Alua development manual")
activity. startActivity(intent)
Title :- Call The Browser To Open The Page
import "android. content. Intent"
import "android. net. Uri"
url="http://www.AndLua+. cn"
viewIntent = Intent("android. intent. action. VIEW",Uri. parse(url))
activity. startActivity(viewIntent)