2012-03-22 96 views
-1

我正在处理数据库项目。实际上包含闪存卡结构。所以对于我来说,我想在sdcard中加载一些示例图片,同时在设备上安装.apk文件。存储图像,同时在SD卡下载.apk?

我试图把它绘制的,但它不会允许我使用在数据库中的这些图像路径,而使用通过数据库表中的应用程序,以显示...

回答

0

我亲爱的朋友,你似乎误会如何安卓作品..

阅读this在你问任何其他奇怪的问题之前,请明白,你试图达到什么是不可能的。

之前,除非你的应用程序安装在设备上, 你的应用程序启动后,你可以写一个下载你的图片在后台,而用户与应用程序交互的服务,则无法下载任何东西。

+0

我想你永远不会得到我的问题....我得到了解决方案,并将其添加到我的应用程序中。其实我想把一些图像放在资产文件夹中,并在用户第一次下载应用程序时在SD卡上写下这些图像。没有警惕的感谢回复我.... – Pranav 2012-03-26 04:58:04

0

我不确定我完全理解你想要什么,但是你可以在你的项目中使用/assets目录,试着看看这个this

+0

嘿感谢伙计.....我得到了解决方案....对于..但谢谢你回复我....我尝试把这个逻辑放在这个下面如果有任何好友需要此评论,请使用... R – Pranav 2012-03-26 05:00:03

0
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+");"); 
     }