2011-05-23 45 views
1

我一直在玩android和上周的一些phonegap代码,并通过磕磕绊绊,已经在我的应用程序创建中相当成功。Android启动画面 - 来自SD卡的图像?

我的应用程序使用默认启动屏幕加载,然后调出各种JSON订阅源以下载所需的所有数据的本地副本。在此过程中,它还会检查是否存在启动屏幕图像的更新版本(可从CMS网站进行编辑)。如果有,则将其下载并存储到SD卡上。这工作完美。

然后我遇到的问题是下次应用程序加载我想显示新的启动画面。我下面的代码检查,看是否较新的一个存在,但我不知道该代码,然后替换为新一个:(默认

到目前为止我的代码是:

package com.interdirect.Harlequin; 

import java.io.File; 

import android.app.Activity; 
import android.os.Bundle; 
import android.os.Environment; 

import com.phonegap.*; 

public class App extends DroidGap { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    String newFolder = "/Harlequin"; 
    String extStorageDirectory = Environment.getExternalStorageDirectory().toString(); 
    File appDirectory = new File(extStorageDirectory + newFolder); 
    appDirectory.mkdirs();   
    File f = new File(extStorageDirectory + newFolder + "/Images/splash.jpg"); 
    if (f.exists()){  
     //USE THE FILE ABOVE AS THE SPLASH 
    }else{  
     super.setIntegerProperty("splashscreen", R.drawable.splash);  
    }   
    super.loadUrl("file:///android_asset/www/index.html",2000);  


}; 
}; 

如果任何人都可以帮助在它上面会真棒,因为我拉我的头发上的东西,我甚至不知道如果可能的话:(

回答

1

当我用你的代码,我可以尝试这样的事情

Bitmap image = BitmapFactory.decodeFile(f); 
ImageView splashScreen = (ImageView)findViewById(R.id.splashscreen); 
splashScreen.setImageBitmap(image); 
+0

嗯得到一些错误: ** BitmapFactory类型中的decodeFile(String)方法不适用于参数(File)**,也不适用于参数(File)**,也不适用于此参数**无法解析id或不是字段(在R.id.splashscreen下)* * 有没有其他想法? – 2011-05-23 14:46:16

+0

尝试使用路径而不是decodeFile()的文件。 R.id.splashscreen只是您用作splashscreen的imageview资源的一个示例。 – tsmith 2011-05-23 15:01:53

+0

@Ty Smith:请让我知道在哪里可以使用这个imageview,因为我猜想,不能在super.setIntegerProperty()中使用; – NarendraJi 2013-05-02 08:37:59