期权软件开发学习平台的实现

作者:adminy 发布时间:2019-08-22 浏览量:

  期权软件开发学习平台是提供学习期权软件开发知识的平台,通过期权软件开发学习平台可以学习期权软件开发如何编写期权系统,了解期权软件开发的流程以及期权软件开发方法


  一、期权软件开发系统开发环境


  (1)开发语言:JAVA 操作系统平台,Microsoft Windows 7.


  (2)开发工具:Eclipse 3.7 ,ADT(Android Develop Toolkit)2.1 ,JDK1.6.


  二、期权软件开发环境搭建


  依次进行如下安装:JDK 安装→Eclipse 安装→Android SDK安装→ADT 安装→创建 AVD.


  三、期权软件开发主要技术代码


  (1)对于 C / S(客户端/服务器)应用,从远程获取文件特别是图片、视频等,会消耗较大流量,加载速度慢会验证影响用户体验,解决办法是使用缓存。设计本地缓存管理类 CacheManager 如下:


  //构造方法


  private CacheManager(string dir) {


  this.cacheDir = dir;


  File dirFile = new File(cacheDir);


  if(! dirFile.exists())){


  dirFile.mkdirs();


  }


  //清理过期缓存


  removeExpiredCache();


  //初使比缓存文件列表


  buildCache();


  }


  private CacheManager() {


  this(CACHE_TEMP_DIR);


  }


  //获取缓存管理器实例


  public static CacheManager getInstane(){


  if(instance = = null)


  instance = new CacheManger();


  return instance;


  }


  CacheManager 缓存图片的实现


  public void cacheBitmap(Bitmap bm,string url){


  if(bm = = null | | url = = null) {


  Log.w(TAG,“Trying to save null bitmap”);


  return;


  }


  //获取存储器 SdCard 的剩余存储空间


  int freespaceonsd = FileUtil.freespaceonsd();


  //判断 SdCard 上的剩余空间是否足够


  if(FREE_SD_SPACE_NEEDED_TO_CACHE>freespaceonsd);{


  //当 SdCard 上的剩余空间不足时,根据 LRU 算法,清除过期


  文件


  removeCache<>;


  //当清除过期文件后剩余空间依然不足时,则不再缓存文件


  if(FREE_SD_SPACE_NEEDED_TO_CACHE>freespaceonsd) {


  log.w(TAG,“low free space on sd,do not cache”);


  return;


  }


  }


  //将图片文件加入到绘存文件列表中


  hardBitmapCache.put(filename,bm);


  //下载并保存图片文件至缓存文件夹


  ……


  (2)Database Open Helper 类 , 获取可读写的数据库操作对


  象,实现如下:


  private static final int DB_VERSION = 10;


  //构造方法


  public DatabaseopenHelper(Context context) {


  super(context,DB_NAME,null,DB_VERSION);


  }


  //创建数据库


  @override


  public void onCreate(SQLiteDatabase db) {


  createTables(db);


  }


  //数据库升级


  @override


  public void onUpgrade (SQLiteDatabase db,int oldVersion,int


  newVersion) {


  //依据数据库版本升级


  if(newVersion > oldVersion) {


  upqradeTables(db);


  }


  }