日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Android開發(fā):利用數(shù)據(jù)庫(kù)存儲(chǔ)和調(diào)用圖片路徑(android數(shù)據(jù)庫(kù)圖片路徑)

隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,越來越多的應(yīng)用開始使用圖片來豐富用戶體驗(yàn)。在Android開發(fā)中,使用SQLite數(shù)據(jù)庫(kù)來存儲(chǔ)和調(diào)用圖片路徑是一種常見的方式。本文將介紹如何在Android開發(fā)中使用SQLite數(shù)據(jù)庫(kù)來存儲(chǔ)和調(diào)用圖片路徑。

創(chuàng)新互聯(lián)公司基于分布式IDC數(shù)據(jù)中心構(gòu)建的平臺(tái)為眾多戶提供四川雅安服務(wù)器托管 四川大帶寬租用 成都機(jī)柜租用 成都服務(wù)器租用。

一、準(zhǔn)備工作

首先需要在AndroidManifest.xml文件中添加讀寫外部存儲(chǔ)的權(quán)限:

“`

“`

然后在build.gradle文件中添加SQLite依賴:

“`implementation ‘a(chǎn)ndroidx.sqlite:sqlite:2.2.0’“`

二、創(chuàng)建數(shù)據(jù)庫(kù)

在Android開發(fā)中,我們需要使用SQLiteOpenHelper來創(chuàng)建和管理數(shù)據(jù)庫(kù)。因此,我們需要?jiǎng)?chuàng)建一個(gè)類來繼承SQLiteOpenHelper。在這個(gè)類中,我們需要重寫onCreate()方法來創(chuàng)建數(shù)據(jù)庫(kù)表格,并重寫onUpgrade()方法來更新數(shù)據(jù)庫(kù)。

“`

public class MyDatabaseHelper extends SQLiteOpenHelper {

private static final String DATABASE_NAME = “my_app.db”;

private static final int DATABASE_VERSION = 1;

private static final String TABLE_NAME = “my_table”;

private static final String COLUMN_ID = “id”;

private static final String COLUMN_PATH = “path”;

public MyDatabaseHelper(Context context) {

super(context, DATABASE_NAME, null, DATABASE_VERSION);

}

@Override

public void onCreate(SQLiteDatabase db) {

String createTableQuery = “CREATE TABLE ” + TABLE_NAME +

“(” + COLUMN_ID + ” INTEGER PRIMARY KEY,” +

COLUMN_PATH + ” TEXT);”;

db.execSQL(createTableQuery);

}

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

String dropTableQuery = “DROP TABLE IF EXISTS ” + TABLE_NAME + “;”;

db.execSQL(dropTableQuery);

onCreate(db);

}

}

“`

在以上示例中,我們創(chuàng)建了一個(gè)包含id和path列的my_table表。id列是整數(shù)類型的主鍵,path列是文本類型的列。

三、插入數(shù)據(jù)

在Android開發(fā)中,將圖片路徑存儲(chǔ)到數(shù)據(jù)庫(kù)中需要注意以下幾個(gè)問題:

– 圖片路徑必須是唯一的

– 為避免路徑中存在特殊字符,可以使用Base64編碼來保存路徑

– 插入數(shù)據(jù)前需要先查詢數(shù)據(jù)庫(kù),以保證圖片路徑唯一

下面是一個(gè)將圖片路徑存儲(chǔ)到數(shù)據(jù)庫(kù)的示例:

“`

public static void saveImagePath(Context context, String imagePath) {

// 將圖片路徑進(jìn)行Base64編碼,避免路徑中存在特殊字符

String encodedPath = Base64.encodeToString(imagePath.getBytes(), Base64.DEFAULT);

MyDatabaseHelper myDatabaseHelper = new MyDatabaseHelper(context);

SQLiteDatabase db = myDatabaseHelper.getWritableDatabase();

// 查詢數(shù)據(jù)庫(kù),如果已經(jīng)存在相同的路徑則不插入

String query = “SELECT * FROM ” + MyDatabaseHelper.TABLE_NAME +

” WHERE ” + MyDatabaseHelper.COLUMN_PATH + “='” + encodedPath + “‘;”;

Cursor cursor = db.rawQuery(query, null);

if (cursor.getCount() == 0) {

ContentValues values = new ContentValues();

values.put(MyDatabaseHelper.COLUMN_PATH, encodedPath);

db.insert(MyDatabaseHelper.TABLE_NAME, null, values);

}

cursor.close();

db.close();

}

“`

在以上示例中,我們首先將圖片路徑進(jìn)行Base64編碼,然后查詢數(shù)據(jù)庫(kù),如果不存在相同的圖片路徑,則將新的路徑存儲(chǔ)到數(shù)據(jù)庫(kù)中。

四、查詢數(shù)據(jù)

從數(shù)據(jù)庫(kù)中檢索圖片路徑有兩種方式。一種是取出所有路徑,一種是根據(jù)特定的id來獲取路徑。以下示例演示兩種方式:

“`

public static ArrayList getImagePaths(Context context) {

ArrayList paths = new ArrayList();

MyDatabaseHelper myDatabaseHelper = new MyDatabaseHelper(context);

SQLiteDatabase db = myDatabaseHelper.getReadableDatabase();

String query = “SELECT * FROM ” + MyDatabaseHelper.TABLE_NAME + “;”;

Cursor cursor = db.rawQuery(query, null);

if (cursor.moveToFirst()) {

do {

String encodedPath = cursor.getString(cursor.getColumnIndex(MyDatabaseHelper.COLUMN_PATH));

String path = new String(Base64.decode(encodedPath.getBytes(), Base64.DEFAULT));

paths.add(path);

} while (cursor.moveToNext());

}

cursor.close();

db.close();

return paths;

}

public static String getImagePathById(Context context, int id) {

MyDatabaseHelper myDatabaseHelper = new MyDatabaseHelper(context);

SQLiteDatabase db = myDatabaseHelper.getReadableDatabase();

String query = “SELECT * FROM ” + MyDatabaseHelper.TABLE_NAME +

” WHERE ” + MyDatabaseHelper.COLUMN_ID + “='” + id + “‘;”;

Cursor cursor = db.rawQuery(query, null);

String path = null;

if (cursor.moveToFirst()) {

String encodedPath = cursor.getString(cursor.getColumnIndex(MyDatabaseHelper.COLUMN_PATH));

path = new String(Base64.decode(encodedPath.getBytes(), Base64.DEFAULT));

}

cursor.close();

db.close();

return path;

}

“`

在以上示例中,我們從數(shù)據(jù)庫(kù)中取出所有路徑或根據(jù)id獲取特定路徑。我們使用了Base64編碼來保存路徑并在檢索時(shí)進(jìn)行解碼。

五、

相關(guān)問題拓展閱讀:

  • android:從數(shù)據(jù)庫(kù)中取得的圖片,無法顯示到模擬器上

android:從數(shù)據(jù)庫(kù)中取得的圖片,無法顯示到模擬器上

應(yīng)該是你在byte【】轉(zhuǎn)換成bitmap 時(shí)候 或者圖片轉(zhuǎn)換成byte【】數(shù)組時(shí)候出現(xiàn)錯(cuò)位等一些問題,導(dǎo)致圖片不能正確顯示, 我的圖片一般都是存儲(chǔ)路徑的(把圖片放在sdcard),然后顯示的時(shí)候直接從路徑讀取,上傳給服務(wù)器時(shí)候用fileInfutstream 讀取指定路徑下的圖片 上傳給服務(wù)器

對(duì)數(shù)據(jù)庫(kù)存取圖片進(jìn)行的操作:

核心思想:通過二進(jìn)制流的形式進(jìn)行存儲(chǔ)和讀取。

具體:存儲(chǔ)圖片:一般是通過文件上傳的方式進(jìn)行存儲(chǔ)的

1.首先通過request獲得表單中圖片的地址

2.然后根據(jù)這個(gè)路徑可以使FileInputStream獲得文件輸入流

3.pstmt.setBinaryStream(i, fis, fis.available())

最后pstmt.executeUpdate();就完成整個(gè)插入語(yǔ)句了。

讀?。?.根據(jù)url的id傳一個(gè)對(duì)應(yīng)數(shù)據(jù)庫(kù)摸個(gè)圖片的id號(hào)

.根據(jù)這個(gè)id執(zhí)行查詢,通過rst.getBinaryStream(1)返回一個(gè)輸入流(里面存的是圖片)

.讀輸入流,放到字節(jié)數(shù)組中,再通過response返回一個(gè)能輸出二進(jìn)制流的ServletOutputStream實(shí)例(ServletOutputStream sos= response.getOutputStream(); ),

.通過這個(gè)輸出流把字節(jié)數(shù)組的字節(jié)流寫出

希望對(duì)你有所幫助哈

圖片存數(shù)據(jù)庫(kù)?你存?zhèn)€路徑把,圖片別存數(shù)據(jù)庫(kù)。

android 數(shù)據(jù)庫(kù) 圖片路徑的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于android 數(shù)據(jù)庫(kù) 圖片路徑,Android開發(fā):利用數(shù)據(jù)庫(kù)存儲(chǔ)和調(diào)用圖片路徑,android:從數(shù)據(jù)庫(kù)中取得的圖片,無法顯示到模擬器上的信息別忘了在本站進(jìn)行查找喔。

香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。


網(wǎng)頁(yè)題目:Android開發(fā):利用數(shù)據(jù)庫(kù)存儲(chǔ)和調(diào)用圖片路徑(android數(shù)據(jù)庫(kù)圖片路徑)
路徑分享:http://www.5511xx.com/article/dpdiscd.html