add opencode
This commit is contained in:
parent
b06af213d3
commit
9741d4ed0b
|
@ -0,0 +1 @@
|
|||
lua&java工程
|
|
@ -0,0 +1,299 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest android:versionCode="3" android:versionName="1.0.2" package="com.mythoi.androluaj" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="21"/>
|
||||
|
||||
<!-- 拨打电话 -->
|
||||
<uses-permission android:name="android.permission.CALL_PHONE" />
|
||||
<!-- 发送短信 -->
|
||||
<uses-permission android:name="android.permission.SEND_SMS" />
|
||||
<!-- 读取手机状态和身份 -->
|
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
||||
<!-- 修改您的通讯录 -->
|
||||
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
|
||||
<!-- 读取联系人 -->
|
||||
<uses-permission android:name="android.permission.READ_CONTACTS" />
|
||||
<uses-permission android:name="android.permission.WRITE_SMS" />
|
||||
<!-- 读取短信 -->
|
||||
<uses-permission android:name="android.permission.READ_SMS" />
|
||||
<!-- 查看WLAN连接 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||
<!-- 连接WLAN网络和断开连接 -->
|
||||
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
|
||||
<!-- 访问蓝牙设置 -->
|
||||
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
|
||||
<!-- 修改系统设置 -->
|
||||
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
|
||||
<uses-permission android:name="android.permission.BATTERY_STATS" />
|
||||
<uses-permission android:name="android.permission.CLEAR_APP_CACHE" />
|
||||
<!-- 计算应用存储空间 -->
|
||||
<uses-permission android:name="android.permission.GET_PACKAGE_SIZE" />
|
||||
<!-- 此应用可显示在其他应用上方 -->
|
||||
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
|
||||
<!-- 关闭其他应用 -->
|
||||
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
|
||||
<!-- 查看网络连接 -->
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<!-- 更改网络连接性 -->
|
||||
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
|
||||
<!-- 访问蓝牙设置 -->
|
||||
<uses-permission android:name="android.permission.BLUETOOTH" />
|
||||
<!-- 拥有完全的网络访问权限 -->
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<!-- 修改或删除您的USB存储设备中的内容 -->
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
||||
<!-- 访问大致位置信息(以网络为依据) -->
|
||||
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
|
||||
<!-- 访问确切位置信息(以 GPS 和网络为依据) -->
|
||||
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
|
||||
<!-- 安装快捷方式 -->
|
||||
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
|
||||
<!-- 控制振动 -->
|
||||
<uses-permission android:name="android.permission.VIBRATE" />
|
||||
<uses-permission android:name="android.permission.READ_LOGS" />
|
||||
<!-- 防止手机休眠 -->
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
<!-- 读取通话记录 -->
|
||||
<uses-permission android:name="android.permission.READ_CALL_LOG" />
|
||||
<!-- 新建/修改/删除通话记录 -->
|
||||
<uses-permission android:name="android.permission.WRITE_CALL_LOG" />
|
||||
<!-- 拍摄照片和视频 -->
|
||||
<uses-permission android:name="android.permission.CAMERA" />
|
||||
<uses-permission android:name="android.permission.READ_FRAME_BUFFER" />
|
||||
<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
|
||||
<!-- 设置壁纸 -->
|
||||
<uses-permission android:name="android.permission.SET_WALLPAPER" />
|
||||
<!-- 录音 -->
|
||||
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
||||
|
||||
<application android:icon="@drawable/ic_launcher"
|
||||
android:label="@string/app_name"
|
||||
android:name="com.androlua.LuaApplication"
|
||||
android:persistent="true"
|
||||
android:largeHeap="true"
|
||||
android:allowBackup="false"
|
||||
android:launchMode="singleTask"
|
||||
android:screenOrientation="portrait"
|
||||
android:configChanges="keyboardHidden|orientation|screenSize"
|
||||
android:resizeableActivity="true"
|
||||
android:supportsPictureInPicture="true">
|
||||
<!--适配全面屏手机-->
|
||||
<meta-data android:name="android.max_aspect"
|
||||
android:value="ratio_float"/>
|
||||
|
||||
<activity
|
||||
android:name="com.androlua.Main"
|
||||
android:label="@string/app_name"
|
||||
android:launchMode="singleTask"
|
||||
android:configChanges="orientation|screenSize|keyboardHidden"
|
||||
android:theme="@android:style/Theme.Holo.Light.NoActionBar">
|
||||
|
||||
|
||||
<intent-filter>
|
||||
<action
|
||||
android:name="android.intent.action.VIEW" />
|
||||
<action
|
||||
android:name="android.intent.action.EDIT" />
|
||||
<category
|
||||
android:name="android.intent.category.DEFAULT" />
|
||||
<category
|
||||
android:name="android.intent.category.BROWSABLE" />
|
||||
<data android:scheme="file" />
|
||||
<data android:host="*" />
|
||||
<data android:pathPattern=".*\\.alj" />
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action
|
||||
android:name="android.intent.action.VIEW" />
|
||||
<action
|
||||
android:name="android.intent.action.EDIT" />
|
||||
<category
|
||||
android:name="android.intent.category.DEFAULT" />
|
||||
<category
|
||||
android:name="android.intent.category.BROWSABLE" />
|
||||
<data android:scheme="content" />
|
||||
<data android:host="*" />
|
||||
<data android:pathPattern=".*\\.alj" />
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action
|
||||
android:name="android.intent.action.VIEW" />
|
||||
<action
|
||||
android:name="android.intent.action.EDIT" />
|
||||
<category
|
||||
android:name="android.intent.category.DEFAULT" />
|
||||
<category
|
||||
android:name="android.intent.category.BROWSABLE" />
|
||||
<data android:scheme="file" />
|
||||
<data android:mimeType="application/*" />
|
||||
<data android:mimeType="audio/*" />
|
||||
<data android:mimeType="video/*" />
|
||||
<data android:mimeType="text/*" />
|
||||
<data android:mimeType="*/*" />
|
||||
<data android:host="*" />
|
||||
<data android:pathPattern=".*\\.alj" />
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action
|
||||
android:name="android.intent.action.VIEW" />
|
||||
<action
|
||||
android:name="android.intent.action.EDIT" />
|
||||
<category
|
||||
android:name="android.intent.category.DEFAULT" />
|
||||
<category
|
||||
android:name="android.intent.category.BROWSABLE" />
|
||||
<data android:scheme="content" />
|
||||
<data android:host="*" />
|
||||
<data android:mimeType="application/*" />
|
||||
<data android:mimeType="audio/*" />
|
||||
<data android:mimeType="video/*" />
|
||||
<data android:mimeType="text/*" />
|
||||
<data android:mimeType="*/*" />
|
||||
<data android:pathPattern=".*\\.alj" />
|
||||
</intent-filter>
|
||||
|
||||
|
||||
<intent-filter>
|
||||
<action
|
||||
android:name="android.intent.action.VIEW" />
|
||||
<action
|
||||
android:name="android.intent.action.EDIT" />
|
||||
<category
|
||||
android:name="android.intent.category.DEFAULT" />
|
||||
<category
|
||||
android:name="android.intent.category.BROWSABLE" />
|
||||
<data android:scheme="file" />
|
||||
<data android:host="*" />
|
||||
<data android:pathPattern=".*\\.alp" />
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action
|
||||
android:name="android.intent.action.VIEW" />
|
||||
<action
|
||||
android:name="android.intent.action.EDIT" />
|
||||
<category
|
||||
android:name="android.intent.category.DEFAULT" />
|
||||
<category
|
||||
android:name="android.intent.category.BROWSABLE" />
|
||||
<data android:scheme="content" />
|
||||
<data android:host="*" />
|
||||
<data android:pathPattern=".*\\.alp" />
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action
|
||||
android:name="android.intent.action.VIEW" />
|
||||
<action
|
||||
android:name="android.intent.action.EDIT" />
|
||||
<category
|
||||
android:name="android.intent.category.DEFAULT" />
|
||||
<category
|
||||
android:name="android.intent.category.BROWSABLE" />
|
||||
<data android:scheme="file" />
|
||||
<data android:mimeType="application/*" />
|
||||
<data android:mimeType="audio/*" />
|
||||
<data android:mimeType="video/*" />
|
||||
<data android:mimeType="text/*" />
|
||||
<data android:mimeType="*/*" />
|
||||
<data android:host="*" />
|
||||
<data android:pathPattern=".*\\.alp" />
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action
|
||||
android:name="android.intent.action.VIEW" />
|
||||
<action
|
||||
android:name="android.intent.action.EDIT" />
|
||||
<category
|
||||
android:name="android.intent.category.DEFAULT" />
|
||||
<category
|
||||
android:name="android.intent.category.BROWSABLE" />
|
||||
<data android:scheme="content" />
|
||||
<data android:host="*" />
|
||||
<data android:mimeType="application/*" />
|
||||
<data android:mimeType="audio/*" />
|
||||
<data android:mimeType="video/*" />
|
||||
<data android:mimeType="text/*" />
|
||||
<data android:mimeType="*/*" />
|
||||
<data android:pathPattern=".*\\.alp" />
|
||||
</intent-filter>
|
||||
|
||||
|
||||
</activity>
|
||||
|
||||
<activity
|
||||
android:name="com.androlua.LuaActivity"
|
||||
android:label="@string/app_name"
|
||||
android:theme="@android:style/Theme.Holo.Light.NoActionBar"
|
||||
android:screenOrientation="portrait"
|
||||
android:configChanges='orientation|screenSize|keyboardHidden'
|
||||
android:process=":runALua">
|
||||
</activity>
|
||||
|
||||
|
||||
<activity
|
||||
android:name="com.androlua.LuaActivityXS"
|
||||
android:label="@string/app_name"
|
||||
android:theme="@android:style/Theme.Holo.Light.NoActionBar"
|
||||
android:screenOrientation="portrait"
|
||||
android:configChanges='orientation|screenSize|keyboardHidden'>
|
||||
</activity>
|
||||
|
||||
|
||||
<activity
|
||||
android:label="@string/app_name"
|
||||
android:name="com.androlua.LuaActivityX"
|
||||
android:theme="@android:style/Theme.Holo.Light.NoActionBar"
|
||||
android:screenOrientation="portrait"
|
||||
android:configChanges="keyboardHidden|orientation|screenSize"
|
||||
android:documentLaunchMode="intoExisting"
|
||||
android:excludeFromRecents="false"/>
|
||||
|
||||
|
||||
<activity
|
||||
android:name="com.androlua.Welcome"
|
||||
android:label="@string/app_name"
|
||||
android:theme="@style/welcome_theme"
|
||||
android:screenOrientation="portrait" >
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
|
||||
|
||||
<activity
|
||||
android:label="Runtime error"
|
||||
android:theme="@android:style/Theme.Material.Light"
|
||||
android:name="com.androlua.ShowErrorActivity"/>
|
||||
|
||||
<activity
|
||||
android:name="com.mythoi.androluaj.activity.SettingActivity"
|
||||
android:label="设置"/>
|
||||
|
||||
<activity
|
||||
android:theme="@null"
|
||||
android:name="androidx.pluginmgr.DynamicActivity"/>
|
||||
|
||||
<receiver
|
||||
android:name="com.mythoi.androluaj.util.LogCatReceiver"
|
||||
android:exported="true">
|
||||
<intent-filter>
|
||||
<action
|
||||
android:name="com.adrt.SENDLOG" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
|
||||
<service
|
||||
android:name="com.mythoi.androluaj.service.HideService"
|
||||
android:process=":runALua"/>
|
||||
|
||||
<service
|
||||
android:name="com.androlua.LuaService"
|
||||
android:enabled="true"
|
||||
android:process=":runALua">
|
||||
</service>
|
||||
|
||||
|
||||
|
||||
</application>
|
||||
</manifest>
|
|
@ -0,0 +1,75 @@
|
|||
# ALuaJ
|
||||
该项目是<a href="http://www.occhao.cc/AndroLuaJ/">AndroLuaJ</a>的另一个简洁版,是通过<a href="http://www.occhao.cc/AndroLuaJ/">AndroLuaJ</a>自举构建出来的一个项目,它是移动端IDE,支持lua和java编译运行,支持打包生成apk文件直接在安卓端运行
|
||||
|
||||
### 简介
|
||||
该应用是安卓端目前还算完善的IDE,同时支持多种语言编译与运行, 真正实现了多语言快速封装apk。应用集成了java环境、Lua环境,不管你会哪个都可以快速封装成安卓应用,如果Java和Lua都会那就更好了,java和lua混合开发是该应用的最大特色。其他:齐全的开发教程,详尽的开发文档,代码自动补全,代码高亮,可视化布局.....在手机端轻松设计出属于自己的APP,效果堪比PC端的eclipse,完美兼容eclipse的安卓项目
|
||||
|
||||
### 详细介绍
|
||||
|
||||
ALuaJ集成JAVA环境、Lua环境,支持java、lua编译运行,它可以在手机端快速打包apk。
|
||||
|
||||
使用富有生命力的Lua语言和原生的java语言进行Android编程。
|
||||
|
||||
--如果你会Lua语言,你可在手机上用极为简洁灵活的Lua语言调用AndroidApi与JavaApi编写出轻量的安卓程序。
|
||||
|
||||
##### -[动态·热更新]
|
||||
|
||||
Lua属于脚本语言无需编译,直接运行程序。也就意味着给安卓添加了动态性,热更新更便捷
|
||||
|
||||
##### -[灵活·高效]
|
||||
|
||||
简练自由的语法,你可自由的探索出最适合自己的写代码手法,lua是由纯C实现的一门脚本语言,在提高了开发效率的同时,你也不必担心它的运行效率。
|
||||
|
||||
##### -[扩展]
|
||||
|
||||
它支持导入第三方类库,你甚至可以从宿主层面对它进行定制。
|
||||
|
||||
--如果你会java语言,你可以在手机上用安卓原生支持的java进行打包安卓原生程序。
|
||||
|
||||
##### -[多版本选择]
|
||||
|
||||
支持java1.3,java1.4,java1.5,java6,java7
|
||||
|
||||
##### -[原生·干净·包小]
|
||||
|
||||
因为使用了java,打包生成的apk轻,小,干净。空工程打包仅34KB。
|
||||
|
||||
--如果Lua和Java你都会那就更好了,你照样可以同时使用Lua和JAVA打包安卓程序
|
||||
|
||||
##### -[变态的编程方式]
|
||||
|
||||
lua文件中允许插入java类,java方法,java接口...
|
||||
|
||||
##### -[多种方式布局]
|
||||
|
||||
支持xml布局和nirenr的aly布局
|
||||
|
||||
内含libGDX游戏框架,喜欢开发游戏的也可以尝试一下
|
||||
|
||||
##### -特色:
|
||||
|
||||
可视化布局、代码自动补全、代码高亮、强大的LogCat过滤、自动导包、齐全的开发教程、详尽的开发文档......
|
||||
|
||||
官方交流群551480248
|
||||
|
||||
<a href="http://androluaj.mythoi.cn">AndroLuaJ官方论坛</a>
|
||||
|
||||
### 构建此项目
|
||||
使用<a href="http://www.occhao.cc/AndroLuaJ/">AndroLuaJ</a>构建该项目,有开发经验的也可以用pc端的工具进行构建
|
||||
* 克隆此项目到手机
|
||||
* 手机端安装<a href="http://www.occhao.cc/AndroLuaJ/">AndroLuaJ</a>
|
||||
* 在手机上使用<a href="http://www.occhao.cc/AndroLuaJ/">AndroLuaJ</a>进行构建此项目(ALuaJ)
|
||||
|
||||
### AndroLuaJ和ALuaJ的区别
|
||||
* <a href="http://www.occhao.cc/AndroLuaJ/">AndroLuaJ官网</a>
|
||||
* <a href="https://www.aluaj.tk/">ALuaJ官网</a>
|
||||
* 这两个项目都是安卓端的IDE,可以在手机上编写代码,并编译打包生成apk直接运行,一系列操作均在手机上完成。
|
||||
|
||||
ALuaj是AndroLuaJ(有着更多功能,同时也可能潜在着更多Bug)自举出来的一个稳定版本,默认基于AndroLua+4.1.0(nirenr)。AndroLuaJ支持ndk开发,而ALuaJ不支持。
|
||||
ALuaJ与AndroLuaJ混合工程的不同:
|
||||
1.去除lua文件中插入java代码的功能
|
||||
2.init.lua新增compiles={},使用它来依赖第三方支持包
|
||||
3.androlua默认环境为AndroLua+4.1.0
|
||||
4.android.jar里包含androlua的编译环境
|
||||
5.工程路径改为/storage/emulated/0/ALuaj/
|
||||
6.环境路径改为/storage/emulated/0/.alj/
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
LinearLayout,
|
||||
layout_width="fill",
|
||||
orientation="vertical",
|
||||
{
|
||||
Toolbar;
|
||||
title="ALuaj教程";
|
||||
layout_width="fill";
|
||||
titleTextColor=0xffffffff;
|
||||
subtitleTextColor=0x55ffffff;
|
||||
id="mtoolBar";
|
||||
background=app_theme.colorPrimary;
|
||||
};
|
||||
{
|
||||
ListView,
|
||||
id="listview",
|
||||
layout_width="fill"
|
||||
},
|
||||
}
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,244 @@
|
|||
require "import"
|
||||
import"function.config"
|
||||
updateTheme()
|
||||
import "android.widget.*"
|
||||
import "android.view.*"
|
||||
import "android.app.*"
|
||||
import "android.net.*"
|
||||
import "android.content.*"
|
||||
import "luahelper.help"
|
||||
|
||||
helpStr=[===[
|
||||
|
||||
@关于@
|
||||
@ALuaj是以AndroLua+Java模式开发APP,
|
||||
它允许在AndroLua+工程的基础下插入.java文件,
|
||||
默认把类合并到AndroLua+的.dex文件中
|
||||
|
||||
使用前您需要知道:
|
||||
1.标题栏的第一个图标是"最近"打开的文件(可以容纳10个最近打开的文件)
|
||||
|
||||
2.标题栏的三角图标表示运行,在免安装运行时,如果src目录下没有java文件和没有引用第三方jar,aar,点击它会直接运行。否则将先编译java,打包jar,aar加载后,再运行的。若是安装运行,该安装包会包含调试用的一些代码,所以正式打包,请使用菜单的打包按钮。
|
||||
|
||||
3.工程属性引用第三方,在设置里配置好m2repository,就可以直接使用了
|
||||
|
||||
4.自带android.jar有点特殊,它包含androlua的编译环境。所以请勿使用其他android.jar
|
||||
|
||||
5.去除AndroLuaJ的lua文件中插入Java功能
|
||||
|
||||
6.其他的用法和AndroLuaJ的混合工程一样
|
||||
@
|
||||
|
||||
@使用java文件@
|
||||
@
|
||||
比如有一个java文件com.test.temp.Test.java
|
||||
在Lua使用时
|
||||
import "com.test.temp.Test"
|
||||
后就可以像Lua一样使用了
|
||||
test=Test()
|
||||
@
|
||||
|
||||
@使用xml资源(layout,id,color,style......)@
|
||||
@
|
||||
import "mixtureJava"
|
||||
使用xml布局
|
||||
activity.setContentView(R_layout.activity_main)
|
||||
|
||||
得到view对象
|
||||
activity.findViewById(R_id.textView)
|
||||
...........
|
||||
|
||||
或
|
||||
|
||||
import "包名.R"
|
||||
使用xml布局
|
||||
activity.setContentView(R.layout.activity_main)
|
||||
|
||||
得到view对象
|
||||
activity.findViewById(R.id.textView)
|
||||
...........
|
||||
|
||||
@
|
||||
|
||||
|
||||
@混合布局@
|
||||
@
|
||||
在aly布局
|
||||
{
|
||||
include;
|
||||
layout="layout/main"; --引用layout目录下的main.aly
|
||||
或layout="R.layout.main"; --引用xml布局中的main.xml
|
||||
}
|
||||
{include; layout=""}的功能类似xml布局的 <include layout=""/>标签
|
||||
@
|
||||
|
||||
@Java中使用LuaActivity的方法@
|
||||
@
|
||||
Java中获取LuaActivity对象:LuaActivity luaActivity = Java.getLuaActivity(lua的路径);
|
||||
拿到LuaActivity后,我们就可以使用LuaActivity已经封装好的所有方法,如:
|
||||
|
||||
java跳转到lua:
|
||||
在Java中使用luaActivity.newActivity(路径[,参数..])
|
||||
|
||||
java调用lua函数:
|
||||
在Java中使用luaActivity.runFunc(函数名[,参数...])
|
||||
|
||||
java运行lua代码:
|
||||
在Java中使用luaActivity.doString(lua代码)
|
||||
|
||||
java运行lua文件
|
||||
在Java中使用luaActivity.doFile(lua文件路径)
|
||||
.....
|
||||
|
||||
总之java中的luaActivity就是lua中的activity
|
||||
|
||||
|
||||
例如:该文件是src/activity/main.lua
|
||||
require "import"
|
||||
import "android.app.*"
|
||||
import "android.os.*"
|
||||
import "android.widget.*"
|
||||
import "android.view.*"
|
||||
import "layout"
|
||||
import "mixtureJava"
|
||||
import "com.test.Listener "
|
||||
activity.setTheme(android.R.style.Theme_Material_Light)
|
||||
activity.setContentView(loadlayout(layout))
|
||||
|
||||
btn.setOnClickListener(Listener())
|
||||
|
||||
function run(a)
|
||||
print("来着Java的问候:"..a)
|
||||
end
|
||||
|
||||
|
||||
该文件是src/com/test/Listener.java
|
||||
public class Listener implements View.OnClickListener{
|
||||
|
||||
//androlua的编译环境已包含在android.jar中,所以不用引用第三方jar,就可以直接使用androlua里面的类
|
||||
|
||||
LuaActivity luaActivity=Java.getLuaActivity("activity/main");
|
||||
|
||||
public void onClick(View v){
|
||||
luaActivity.runFunc("run","hello");//调用lua函数
|
||||
luaActivity.doString("print'你好'");//运行lua代码
|
||||
luaActivity.doFile("main2.lua"); //运行lua文件
|
||||
}
|
||||
}
|
||||
|
||||
@
|
||||
|
||||
@ALuaj工程目录介绍@
|
||||
@
|
||||
assets目录:这个目录相当于androlua的工程目录,可以存放任何文件,此目录下源代码不会被编译
|
||||
|
||||
res目录:资源目录
|
||||
|
||||
src目录:也可以当作androlua的工程目录,可以和androlua工程目录一样使用,不过一般存放源代码(java,lua,aly),此目录下所有源代码会被编译
|
||||
|
||||
libs目录:里面又分jar,aar,so,dex子目录。libs/jar目录存放jar包、libs/aar目录存放aar包、libs/so目录存放so文件(注意区分平台,如libs/so/x86/libtest.so)、libs/dex存放dex文件,默认把所有dex合并到classes.dex。
|
||||
|
||||
gen目录:存放R.java文件,无须修改,打包时自动生成
|
||||
|
||||
bin目录:打包时生成的二进制文件,包括.apk .class .dex
|
||||
@
|
||||
|
||||
]===]
|
||||
|
||||
activity.setContentView(loadlayout(help))
|
||||
|
||||
list={}
|
||||
for t,c in helpStr:gmatch("(%b@@)\n*(%b@@)") do
|
||||
--print(t)
|
||||
t=t:sub(2,-2)
|
||||
c=c:sub(2,-2)
|
||||
list[t]=c
|
||||
list[#list+1]=t
|
||||
end
|
||||
|
||||
function show(v)
|
||||
local s=v.getText()
|
||||
local c=list[s]
|
||||
if c then
|
||||
mtoolBar.setTitle(s)
|
||||
help_tv.setText(c)
|
||||
help_dlg.show()
|
||||
-- local adapter=ArrayAdapter(activity,android.R.layout.simple_list_item_1, String({c}))
|
||||
-- listview.setAdapter(adapter)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
--listview=ListView(activity)
|
||||
listview.setOnItemClickListener(AdapterView.OnItemClickListener{
|
||||
onItemClick=function(parent, v, pos,id)
|
||||
show(v)
|
||||
end
|
||||
})
|
||||
local adapter=ArrayAdapter(activity,android.R.layout.simple_list_item_1, String(list))
|
||||
listview.setAdapter(adapter)
|
||||
|
||||
if app_theme.colorPrimary=="#222222" then
|
||||
help_dlg=Dialog(activity,R.style.AppTheme2)
|
||||
else
|
||||
help_dlg=Dialog(activity,R.style.AppTheme)
|
||||
end
|
||||
|
||||
help_dlg.getWindow().setStatusBarColor(Color.parseColor(app_theme.colorPrimary));
|
||||
|
||||
dlg_view={
|
||||
LinearLayout,
|
||||
layout_width="fill",
|
||||
orientation="vertical",
|
||||
{
|
||||
Toolbar;
|
||||
title="AndroLuaJ教程";
|
||||
titleTextColor=0xffffffff;
|
||||
subtitleTextColor=0x55ffffff;
|
||||
id="mtoolBar";
|
||||
layout_width="fill";
|
||||
background=app_theme.colorPrimary;
|
||||
};
|
||||
{
|
||||
ScrollView;
|
||||
layout_width="fill";
|
||||
layout_height="fill";
|
||||
id="help_sv";
|
||||
{
|
||||
TextView,
|
||||
id="help_tv",
|
||||
textSize="18sp";
|
||||
textIsSelectable=true,
|
||||
layout_width="fill";
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
help_dlg.setContentView(loadlayout(dlg_view))
|
||||
|
||||
--[[func={}
|
||||
func["捐赠"]=function()
|
||||
intent = Intent();
|
||||
intent.setAction("android.intent.action.VIEW");
|
||||
content_url = Uri.parse("https://qr.alipay.com/apt7ujjb4jngmu3z9a");
|
||||
intent.setData(content_url);
|
||||
activity.startActivity(intent);
|
||||
end
|
||||
func["返回"]=function()
|
||||
activity.finish()
|
||||
end
|
||||
|
||||
items={"捐赠","返回"}
|
||||
function onCreateOptionsMenu(menu)
|
||||
for k,v in ipairs(items) do
|
||||
m=menu.add(v)
|
||||
m.setShowAsActionFlags(1)
|
||||
end
|
||||
end
|
||||
|
||||
function onMenuItemSelected(id,item)
|
||||
func[item.getTitle()]()
|
||||
end
|
||||
|
||||
]]
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue