我正在处理数据库项目。实际上包含闪存卡结构。所以对于我来说,我想在sdcard中加载一些示例图片,同时在设备上安装.apk文件。存储图像,同时在SD卡下载.apk?
我试图把它绘制的,但它不会允许我使用在数据库中的这些图像路径,而使用通过数据库表中的应用程序,以显示...
我正在处理数据库项目。实际上包含闪存卡结构。所以对于我来说,我想在sdcard中加载一些示例图片,同时在设备上安装.apk文件。存储图像,同时在SD卡下载.apk?
我试图把它绘制的,但它不会允许我使用在数据库中的这些图像路径,而使用通过数据库表中的应用程序,以显示...
我亲爱的朋友,你似乎误会如何安卓作品..
阅读this在你问任何其他奇怪的问题之前,请明白,你试图达到什么是不可能的。
之前,除非你的应用程序安装在设备上, 你的应用程序启动后,你可以写一个下载你的图片在后台,而用户与应用程序交互的服务,则无法下载任何东西。
Cursor cursor;
InputStream IS;
private static int k=0;
private String []dirname ={"Flowers","Animals"};
private String []country={"Australia","Brazil","Iran","Japan","India"};
private String []captial={"Canberra","Brasilia","Tehran","Tokyo","New Delhi"};
private String []names={"Lotus","Mogra","Morning glory","Rose","Aster","Dog","Lion","Squirrel","Tiger","Wolf"};
private File sdcard=Environment.getExternalStorageDirectory();
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sample_category);
Toast.makeText(getApplicationContext(), "Application Preparing For First Time", 5000).show();
//这里的变量声明是java类,我把数据库对象作为静态// //整个应用程序。
VariableDeclaration.db.execSQL("CREATE TABLE IF NOT EXISTS Animals " +
"(id INTEGER PRIMARY KEY AUTOINCREMENT,path varchar,caption varchar,type int(1));");
VariableDeclaration.db.execSQL("CREATE TABLE IF NOT EXISTS Flowers " +
"(id INTEGER PRIMARY KEY AUTOINCREMENT,path varchar,caption varchar,type int(1));");
VariableDeclaration.db.execSQL("CREATE TABLE IF NOT EXISTS Capitals " +
"(id INTEGER PRIMARY KEY AUTOINCREMENT,path varchar,caption varchar,type int(1));");
AssetManager asset_items=this.getAssets();
//这是assetmanager谁将图像从资产目录存储到此容器。
String []items=new String[10];
try{
items=asset_items.list("");
for(int i=0;i<dirname.length;i++){
// FlashFlicker是我的应用程序目录名称,它是在.apk第一次加载时创建的。
File file=new File(sdcard.getAbsolutePath()+File.separator+"FlashFlicker"+File.separator+dirname[i]);
file.mkdir();
//这里,在本for循环我创建一些DIR和样本图像复制到它5中的每个目录。
for(int j=0;j<5;j++){
IS=asset_items.open(items[k]);
File file1=new File(sdcard.getAbsolutePath()+File.separator+"FlashFlicker"+File.separator+dirname[i]+File.separator+items[k]);
VariableDeclaration.db.execSQL("INSERT INTO "+dirname[i]+" VALUES (null,'"+file1.getAbsolutePath().toString()+"','"+names[k].toString()+"',"+i+");");
FileOutputStream out=new FileOutputStream(file1);
byte[] buff=new byte[1024];
while(IS.read(buff)!=-1){
out.write(buff);
}
out.close();
k++;
}
}
}catch(Exception e){}
int j=2;
for(int i=0;i<country.length;i++){
VariableDeclaration.db.execSQL("INSERT INTO Capitals VALUES (null,'"+country[i].toString()+"','"+captial[i].toString()+"',"+j+");");
}
我想你永远不会得到我的问题....我得到了解决方案,并将其添加到我的应用程序中。其实我想把一些图像放在资产文件夹中,并在用户第一次下载应用程序时在SD卡上写下这些图像。没有警惕的感谢回复我.... – Pranav 2012-03-26 04:58:04