2013年8月19日星期一

Ubuntu Server °×°Domino server 9

本邮件内容由第三方提供,如果您不想继续收到该邮件,可 点此退订
Ubuntu Server °×°Domino server 9  阅读原文»

Ubuntu Server 安装Domino server 9

前言

在Linux系统上安装Domino Server是一个小小的挑战,其实并没有大家想想的复杂,既然是商业性的软件,OEM早就为我们解决了安装的难度,还有就是选择自己熟悉的Linux发行版,各个发行版操作上还是有一定的区别的,这里选择最新的Ubuntu Server 13.04,尽量在Server版本的Ubuntu上安装,虽然说Desktop版本也可以。

image

安装 Unbuntu server 13.4

下载Ubuntu server镜像

http://releases.ubuntu.mirrors.uk2.net//raring/ubuntu-13.04-server-amd64.iso 选择国内的镜像源

接下来就是安装了,安装也就是step by step,接下来用简单的文字和截图说明

选择语言

image

选择安装的类型

MAAS Metal as a Service:他大概的功能是进行大规模服务和服务器部署,使得服务部署极具扩展性,在这里不需要它,就安装Ubuntu服务器版

image°×#2--AsyncTaskí×÷  阅读原文»

安卓多线程#2--如何使用类AsyncTask实现异步耗时操作

上一篇博文讲述了ANR异常以及使用handler类解决异常。这次我将给大家介绍另外一种处理耗时操作的方法。异步处理耗时操作是当时比较流行的方法,所以能完全掌握此类的使用是非常重要。至于为什么会流行,下面我就先给大家介绍使用AsyncTask的好处

1:使用AsyncTask的好处

当我们处理耗时操作时候,比如下载这时候我们就要启动一个线程,假设我们有几百条线程要启动。我给大家举个例子。线程启动就像扫把,启动一个就等于一把新扫把,当我们用完的时候就丢掉,等到下次再用的时候就在买一把新扫把,如此循环。这样就等于浪费资源而使用AsyncTask就想一个放10几个扫把的地方。每次我们用了扫把后就放回去,等下次某个人需要用的时候继续循环使用这个扫把,这样以来就节省了系统资源。现在大家知道AsyncTask类的好处了吧,能节省系统资源对我们做好一个大项目来说是至关重要的。

(1):我给大家做个例子,有一个进度条,一个文本,一个按钮启动下载,当点击下载时候文本就会根本当前进度条进度显示百分比的进度,如下图

(2):写一个内部类继承AsyncTask,其实第一个方法是必须实现的,后面2个是我手动调用的,具体代码如下

  class MyTask extends AsyncTask<String, Integer, String>  {      @Override      protected String doInString...  params) {          publishProgress(values);          return null;      }      @Override      protected void onProgressUpdate(Integer... values) {          super.onProgressUpdate(values);      }      @Override      protected void onPostExecute(String result) {          super.onPostExecute(result);      }  }  

首先这个类需要有3个类型,第一个params类型就是等会我们启动线程池需要传入的参数类型,一般都是传入网址,所以我定义它为String类型,当此类型定义完成后,doInBackgroud方法中的参数类型就是同样是String类型(doInBackground方法想当于线程的run方法,是在子线程处理的)。它会获得我们传入的网址参数。第二个Progress类型就是我们在处理耗时操作过程中如果需要处理主线程的东西时候,就可以在doInBackground方法中调用publishProgress(values)方法激活第二个重写的方法onProgressUpdate()方法(这个方法是在main线程中的执行的因此可以操作UI对象.values一般都是传入进度参数。第三个参数就是当我们处理好了doInBackgroud的方法,他会返回一个结果,这个结果的类型,这里我给它定义为String,这时候doInBackgroud方法返回值自动变为String类型

然后第三个方法onPostExecute就会接受到doInBackgroud返回的结果值

(3):在鉴定匿名类里面我们就启动这个线程池,由于之前我定义了启动线程池传入的参数为String类型,所以现在我就传入了一个String,代码如下:(这里这个参数目前没用只是为了说明前面的问题

  new MyTask().execute("www.baidu.com");  

(4):然后在doInBackgroud方法处理进度(这里设定每100毫秒增加一个进度然后调用publishProgress()方法来在主线程增加进度条进度和更新文本百分比进度),代码如下

  @Override  protected String doInString...  params) {      //没100毫秒进度+1,总共执行100次      for (int i = 0; i < 100; i++) {          try {              Thread.sleep(100);          } catch (InterruptedException e) {              e.printStackTrace();          }          //激活onProgressUpdate并将进度i传入              publishProgress(i);          }      return "下载完成";  }  @Override  protected void onProgressUpdate(Integer... values) {      super.onProgressUpdate(values);      //更新进度条进度      mProgressBar.setProgress(values[0]);      //更新百分比进度      mTextView.setText(values[0]+"%");  }  

(4):当下载完成以后我们在onPostExecute()方法中将文本内容更新为下载完成

  @Override  protected void onPostExecute(String result) {      super.onPostExecute(result);      mTextView.setText(result);  }  

大功告成。这就是使用AsyncTask类实现异步耗时操作的用法,我会吧这次程序的完整代码上传到我的上传,大家如果有需要的话可以去下载,下一次我会结合ListView和AsyncTask做一个下载歌曲的小项目

本文出自 "" 博客,请务必保留此出处http://7735447.blog.51cto.com/7725447/1275818

阅读更多内容

没有评论:

发表评论