libgdx使用android控件,在Android上使用libGDX中的SQLite

Dominik Buch..

13

一种方法是始终在主项目中创建一个接口,让我们调用它NativeFunctions.然后,您的桌面和Android应用程序/活动都会实现此界面.在创建主项目时,您将传递应用程序/活动.在您的主应用程序中,您保留对传递的接口的引用,并使用它来调用本机函数,您可以单独为桌面和Android实现(不会让您的游戏在桌面上无法使用,您也可以在那里使用SQLite;).

好的,这很复杂,所以让我们看看它的实际效果(定义一个打开URL的函数):

界面:

public interface NativeFunctions {

public void openURL(String url);

}

主要课程:

public class MyGame extends Game/ApplicationListener {

public NativeFunctions mNativeFunctions;

public MyGame(NativeFunctions nativeFunctions) {

mNativeFunctions = nativeFunctions;

}

// Exemplary function call, of course this doesn't make sense in render() ;)

public void render() {

mNativeFunctions.openURL("http://www.example.com");

}

}

Android实现:

public class MyGameActivity extends AndroidApplication implements NativeFunctions {

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

initialize(new MyGame(this), false);

}

public void openURL(String url) {

Intent viewIntent = new Intent("android.intent.action.VIEW",

Uri.parse(url));

startActivity(viewIntent);

}

}

桌面实施:

public class MyGameDesktop implements NativeFunctions {

public static void main(String[] args) {

MyGameDesktop game = new MyGameDesktop();

new LwjglApplication(new MyGame(game), "MyGame", 800,

480, false);

}

public void openURL(String url) {

// Your implementation to open URL on dekstop

}

}

就是这样,使用SQLite的实现可能应该是一样的.顺便说一句.我认为这也是整合广告盒和与系统交谈的方式.

真棒!工作得很完美!这对很多情况都是很好的知识.谢谢您的帮助.你似乎最近在回答我的所有问题哈哈. (2认同)

别客气!实际上,我经常使用LibGDX,因为stackoverflow已经回答了很多我的问题,我很乐意回馈一些东西;). (2认同)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值