Skip to content

Latest commit

 

History

History
109 lines (77 loc) · 3.9 KB

README.md

File metadata and controls

109 lines (77 loc) · 3.9 KB

##框架开发文档

###一、Http请求Bitmap本地缓存/内存缓存
采用Lru缓存策略,可以轻松实现对本地/内存缓存管理,灵活控制缓存大小。
使用说明:

BitmapManager bitmapManager = new BitmapManager(mContext,BitmapFactory.decodeResource(mContext.getResources(),R.drawable.ic_launcher)); bitmapManager.loadBitmap(imageurl,imageview);

直接给定图片网络地址,自动将图片缓存到本地/内存,如果图片已经存在将直接取本地/内存

###二、Http请求xml/json数据
同样采用LRU缓存策略,灵活控制缓存大小、缓存有效期、清理缓存等
使用说明:
你将需要一个类来继承HttpConnectPools(网络连接池),然后去实现里面的方法:
getMethod(请求方法DoGet/DoPost)
getHttpUrl(请求url)
getRequestParams(获取请求参数)
parseReponseData(解析响应数据)
如果是DoPost请求还需要实现:
getPostTextContentMap(Post文本内容)
getPostAudioPathMap(Post音频)
getPostImagePathMap(Post图片)
当然你还需要一个方法将外面的参数给传进来:
setRequestParams(设置请求参数)
当一切准备就绪,我们就可以发起一个网络请求:



Handler mHandler = new HttpHandler(this) {
@Override
protected void httpSucced(Serializable serObject) {
	// TODO Auto-generated method stub
	super.httpSucced(serObject);
	rssList = (List)serObject;
	if(rssList != null && rssList.size() > 0){
		newsAdapter.setRSSList(rssList);
		newsAdapter.notifyDataSetChanged();
	}
}

@Override
protected void httpFailed(Exception exception) {
	// TODO Auto-generated method stub
	super.httpFailed(exception);
	AppLog.e(tag, exception.getMessage());
}
};
TestItemRequest rssaaRequest = new TestItemRequest(this, mHandler);
rssaaRequest.setCacheEnable(true);
rssaaRequest.create();
			

请求成功后,自动将数据缓存本地/内存,下次请求将直接读取内存/本地,当然你也可以setCacheEnable(false);控制不取缓存,每个请求对应一个Handler,他将为我们处理更新UI

###三、SQLite数据库存储
SQLite封装将为我们很轻松的建表建库,尽量节省一些臃肿的代码。
使用说明:
所有的数据库表统一要继承BaseTableColumns类,在这里帮我们很轻松构建表结构直接生成数据表
所有的数据库操作统一要继承BaseDao,在这里为我们封装了所有DAO方法


UserDao userDao = new UserDao(this);
//ContentValues cvalues = new ContentValues();
//cvalues.put(UserColumns.USER_URL, "0987654321");
//cvalues.put(UserColumns.USER_CONTENT, "0987654321");
//cvalues.put(UserColumns.USER_TIME, "07654321");
//boolean isuccess = userDao.insert(cvalues);   
//boolean isuccess = userDao.update(cvalues, UserColumns._ID + "=?", new String[]{"1"});
//boolean isuccess = userDao.delete(UserColumns._ID + "=?", new String[]{"1"});

以上的简单的测试案例仅供参考。

###四、ContentProvider数据共享


ContentValues values = new ContentValues();
//values.put("url", "3478");
//values.put("content", "56789");
//values.put("update_time", "123456789");
//getContentResolver().insert(Uri.parse("content://com.gyz.myandroidframe.dao/plugins"),values);
//getContentResolver().update(Uri.parse("content://com.gyz.myandroidframe.dao/plugins"), values, BaseColumns._ID + "=?", new String[]{"3"});
//getContentResolver().delete(Uri.parse("content://com.gyz.myandroidframe.dao/plugins"), BaseColumns._ID + "=?", new String[]{"1"});
//Cursor mCursor = getContentResolver().query(Uri.parse("content://com.gyz.myandroidframe.dao/plugins"), null, null, null, null);

以上是简单的测试案例仅供参考。

###五、一些工具类