gpt4 book ai didi

android - 索尼小应用程序 SDK

转载 作者:太空狗 更新时间:2023-10-29 13:33:37 25 4
gpt4 key购买 nike

所以我刚刚开始使用新的 Sony Xperia Tablet S Small App SDK。我不是真正的菜鸟,之前开发过很多个人应用程序,但这让我很困惑。

我已经在 Eclipse 中加载了示例项目(全部正确配置),排除了一些错误,编译到我的设备上,当我从设备底部的启动器启动小应用程序时,它强制关闭- 我尝试使用 SDK 制作的每个示例/应用程序都是一样的。

我附在我的 MainApplication.java 和 AndroidManifest.xml 下面,希望有人能够看到问题出在哪里。不理解,因为它是按照书本创建的。非常感谢任何帮助。

主应用程序.java:

package com.sony.thirdtest;

import android.content.pm.ActivityInfo;
import android.content.res.Configuration;
import android.view.View;
import android.widget.Toast;
import com.small.sonyapptest.R;
import com.sony.smallapp.SmallAppWindow;
import com.sony.smallapp.SmallApplication;

public class MainApplication extends SmallApplication {
private Configuration mConfig;

@Override
public void onCreate() {
super.onCreate();
mConfig = new Configuration(getResources().getConfiguration());

setContentView(R.layout.activity_main);
setTitle(R.string.app_name);

SmallAppWindow.Attributes attr = getWindow().getAttributes();
attr.minWidth = 200;
attr.minHeight = 200;
attr.width = 400;
attr.height = 300;
attr.flags |= SmallAppWindow.Attributes.FLAG_RESIZABLE;
getWindow().setAttributes(attr);

findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainApplication.this, R.string.hello, Toast.LENGTH_SHORT).show();
}
});
}

@Override
public void onDestroy() {
super.onDestroy();
}

@Override
public void onStart() {
super.onStart();
}

@Override
public void onStop() {
super.onStop();
}

@Override
protected boolean onSmallAppConfigurationChanged(Configuration newConfig) {
int diff = newConfig.diff(mConfig);
mConfig = new Configuration(getResources().getConfiguration());
// Avoid application from restarting when orientation changed
if ((diff & ActivityInfo.CONFIG_ORIENTATION) != 0) {
return true;
}
return super.onSmallAppConfigurationChanged(newConfig);
}
}

AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.small.sonyapptest"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="15" />


<uses-permission android:name="com.sony.smallapp.permission.SMALLAPP" />

<application android:icon="@drawable/ic_launcher" android:label="@string/app_name">


<uses-library android:name="com.sony.smallapp.framework" />

<service
android:name="com.small.sonyapptest.MainApplication"
android:exported="true" >

<intent-filter>

<action android:name="com.sony.smallapp.intent.action.MAIN" />

<category

android:name="com.sony.smallapp.intent.category.LAUNCHER" />

</intent-filter>

</service>

</application>
</manifest>

最佳答案

看来你的代码没有问题。所以我认为问题在于您如何构建项目。更确切地说,小应用程序框架是如何包含的:它不应该是!

如果您只是通过“Java 构建路径”->“添加外部 Jar”添加 jar(来自 Sony SDK),那么 api jar 的类将包含在应用程序中。问题是那些只是 stub 类,因此您可以得到两个可能的异常之一。

一个简单快捷的方法来解决这个问题(并且仍然使用标准的 android sdk,而不是切换到 Sony SDK)如下:

  • 创建一个java项目,例如命名为“SmallAppApi”
  • 在 java 项目中通过“添加外部 jar”添加小应用程序 jar
  • 在“Java 构建路径”屏幕的最后一个选项卡中,称为“订购和导出”,确保导出小应用程序 jar。
  • 在 android 项目中,在“Java 构建路径”屏幕的“项目”选项卡中,只需添加 java 项目 SmallAppApi(并删除小型应用程序 jar)。

使用此设置,小型应用程序 jar 将仅在构建时使用。这对我来说效果很好。

关于android - 索尼小应用程序 SDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13014207/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com