我试图在Java中声明一个long值,遗憾的是它不起作用.
这是我的代码.它会导致以下错误消息:"int类型的文字4294967296超出范围".
long bytes = 4294967296;
Run Code Online (Sandbox Code Playgroud)
我需要这个值来制作一个文件过滤器,过滤掉大于4294967296字节(4GB)的文件.反过来工作没有任何问题(long size = file.length())与每个文件大小,这就是为什么我无法弄清楚为什么我的声明不起作用.
我有以下代码,其中有一个父类及其子代.我试图确定代码如何从使用多态性中受益.
class FlyingMachines {
public void fly() {
System.out.println("No implementation");
}
}
class Jet extends FlyingMachines {
public void fly() {
System.out.println("Start, Taxi, Fly");
}
public void bombardment() {
System.out.println("Throw Missile");
}
}
public class PolymorphicTest {
public static void main(String[] args) {
FlyingMachines flm = new Jet();
flm.fly();
Jet j = new Jet();
j.bombardment();
j.fly();
}
}
Run Code Online (Sandbox Code Playgroud)
多态性的优点是什么,flm.fly()并j.fly()给我相同的答案?
我一直在努力解决这个问题.基本上,我希望有两个应用程序(将始终一起安装)共享首选项,其中一个只是一个在后台运行并需要使用首选项的服务(应该拥有首选项但只需要真正需要阅读它们) )另一个应用程序是一个前端UI应用程序,需要能够写入其他应用程序拥有的首选项文件.该服务将在后台执行(可能由首选项确定),UI将允许用户编辑首选项并查看服务中的一些信息.但是,它们将是不同的包/应用程序.
我尝试了这个教程,这让我非常了解如何在一个应用程序中拥有可以被另一个应用程序读取的首选项.本质上,我通过myContext = createPackageContext("com.example.package",Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE);然后调用创建一个新的上下文myContext.getSharedPreferences("pref_name", Context.MODE_WORLD_READABLE + Context.MODE_WORLD_WRITEABLE);然而,我无法从外部应用程序成功写入首选项 - (SharedPreferences.Editor).commit()返回false并且我在logcat中收到有关无法编辑的警告pref_name.xml.bak.
如何成功设置我的应用程序,以便它们都可以读取和写入相同的首选项文件(存储在其中一个的数据文件夹中)?
我在这里看了很多类似的问题,但是他们都有不同的问题(安装.apk实际上失败了)或者为他们工作的解决方案对我没有用,所以如果这个问题看起来像是一个问题我很抱歉重新发布.
我遇到的问题是,当我尝试在eclipse中的模拟器上运行Android应用程序时,apk永远不会被安装.模拟器本身工作正常(所有默认应用程序正常运行,设置正确等),但我试图测试的应用程序从未安装到"手机"上.它永远不会出现在应用程序列表中或启动,我从未得到安装完成的确认.(运行配置设置为启动应用程序)
以下是相关的控制台输出,其中一些名称已更改:
[2011-10-19 10:54:45 - dining-android] Android Launch!
[2011-10-19 10:54:45 - dining-android] adb is running normally.
[2011-10-19 10:54:45 - dining-android] Performing <src path>.Main activity launch
[2011-10-19 10:54:45 - dining-android] Automatic Target Mode: using existing emulator 'emulator-5554' running compatible AVD '1.5test'
[2011-10-19 10:54:45 - dining-android] Uploading <appname>.apk onto device 'emulator-5554'
[2011-10-19 10:54:59 - dining-android] Installing <appname>.apk...
Run Code Online (Sandbox Code Playgroud)
我是否手动启动模拟器然后尝试运行应用程序似乎没有区别,或者如果我运行应用程序并让它自动启动模拟器,它将永远不会超过此步骤.我让它运行了大约8个小时(过夜),一切都没有改变.应用程序被指定为与模拟器运行相同的android版本,并且就我所知,在模拟器和eclipse的设置中一切看起来都是正确的,除非它从未完成应用程序的安装.
有谁知道为什么会这样?我尝试重新启动adb,使用不同版本的模拟器和/或应用程序,更改默认运行配置,以及我在互联网上遇到的各种其他解决方案似乎没有任何影响.如果有人碰到类似的东西,我真的很感激一些帮助.
编辑:我只是尝试在模拟器运行时在应用程序的.apk命令行中使用"adb install"命令,但它也不成功.我不知道这是完全相关还是其他问题.
EDIT2:正确使用"adb install"功能进行命令行安装.但是,eclipse仍然无法安装应用程序.有人知道是什么原因引起的吗?
我想在我的应用程序中实现屏幕锁定功能,但目前我无法让它工作.我有一个alertDialog,它将通过使用几个按钮请求用户输入.如果用户按"否",我想锁定屏幕(无限期,不是一段时间).以编程方式锁定屏幕的最佳方法是什么?我尝试过使用以下内容,但是,虽然我的对话框被取消,但屏幕永远不会锁定.
KeyguardManager keyguardManager = (KeyguardManager)getSystemService(Activity.KEYGUARD_SERVICE);
KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);
lock.reenableKeyguard();
Run Code Online (Sandbox Code Playgroud)
mycode的
import android.app.Activity;
import android.app.AlertDialog;
import android.app.KeyguardManager;
import android.app.KeyguardManager.KeyguardLock;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.Window;
public class MyApp extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
this.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
startDialog();
}
private void startDialog() {
AlertDialog.Builder myAlertDialog = new AlertDialog.Builder(this);
myAlertDialog.setMessage("Do you want to exit the application?");
myAlertDialog.setPositiveButton("Yes",
new DialogInterface.OnClickListener() {
// do something when the button is clicked
public void onClick(DialogInterface arg0, int …Run Code Online (Sandbox Code Playgroud) 我正在使用以下代码显示ProgressDialog:
void showProccess() {
p = new ProgressDialog(this);
p.setTitle("PleaseWait");
p.setMessage("data loading");
p.show();
}
Run Code Online (Sandbox Code Playgroud)
在Android 2.3.1 ProgressDialog中显示a时,我无法点击Activity.但是在Android 4.0.3中,我点击Activity并ProgressDialog退出.我想要ProgressDialog不退出,就像Android 2.3.1一样.你能帮助我吗?谢谢.