Android換膚功能設計與實現(3)

2021-06-07 06:40:04 字數 1715 閱讀 7918

這一節詳細介紹一下model層的設計,本身並無太多難點,採用標準的provider結構訪問底層資料庫。簡單uml圖如下:

通過themeprovider統一訪問資料庫具體實現themedbhelper。通過向themeprovider新增相應的observer來監聽資料庫的變化。這裡屬於標準的provider操作、及sqlite操作,由於不涉及到多個應用資料共享的操作,只是使用provider接管、簡化對資料庫的訪問操作,所以實現相對簡單,唯一需要注意的是由於需要observer來監聽資料庫的變化,所以在provider的相關操作後,需要通過sendnotification來通知相關***。

import android.content.contentprovider;

import android.content.contenturis;

import android.content.contentvalues;

import android.content.context;

import android.database.cursor;

import android.database.sqlite.sqlitedatabase;

import android.database.sqlite.sqlitequerybuilder;

import android.net.uri;

import android.text.textutils;

import android.util.log;

public class themeprovider extends contentprovider

private long checkandinsert(sqlitedatabase db, contentvalues cv,

string table, string nullcolumnhack)

return db.insert(table, nullcolumnhack, cv);

} private void sendnotify(uri uri)

} public static long generatenewid()

@override

public int delete(uri uri, string selection, string selectionargs)

return 0;

} @override

public string gettype(uri uri) else

} @override

public uri insert(uri uri, contentvalues values)

sendnotify(uri);

return uri;

} @override

public int bulkinsert(uri uri, contentvalues values)

return count;

} static class sqlarguments else if (argscount != 2) else if (!textutils.isempty(where)) else

} public sqlarguments(uri uri) else

} }}

Android換膚功能設計與實現(2)

1.訪問網路獲取主題列表。3.在本地管理主題包。4.應用主題包,觸發換膚功能。1.訪問網路主題列表,通過主題型別,獲取主題縮圖,根據 包編號獲取 詳細預覽圖。4.應用主題包,觸發換膚功能。應用主題包,需要觸發相關的系統換膚模組。根據上述實現方案,繪製概要設計對應uml圖,如下 根據實現方案,抽象出各...

軟體功能設計

軟體功能設計 針對軟體中某一具體的功能,所進行的設計。包括 這個功能的實現方式,實現的基本結構,類的組成,職責劃分等,是軟體設計中最最重要的基本功。功能設計在整個軟體設計中的層次 軟體設計的層次很多,不同的軟體設計過程有不同的劃分層次,大致可分為 架構設計,api spi設計,資料庫設計,功能設計,...

產品之功能設計

讓每乙個設計師,產品經理頭痛的是,你精心設計的乙個功能,上線後發現很少人使用然後反饋很差。好吧,雖然可能在思考需要設計這乙個功能的時候,你們可能是經過討論的或者分析吧,但是真的分析到了重點和了解到了使用者的需要了嗎?下面將梳理一下,我關於功能點設計的一些經驗吧。1.需求程度 這個功能被需求的程度大還...