我正在處理數據庫項目。實際上包含閃存卡結構。所以對於我來說,我想在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