String类型与StringBuffer类型主要性能区别其实在于String是不可变的对象,所以在每次改变String对象的时候其实都等于生成一个新的String对象,而后将新指针指向新的String对象。html
StringBuffer是一个可变对象,但对它进行修改的时候不会像String那样从新创建对象。(线程安全)java
StringBuilder是一个可变对象,它跟StringBuffer相比不是线程安全的,通常在单个线程操做的时候,速度比StringBuffer快得多。(线程非安全)android
StringBuffer支持并发操做,线程安全,适合在多线程中使用;StringBuilder不支持并发操做,线程不安全,不适合在多线程中使用。web
http://www.open-open.com/lib/view/open1431569835951.html浏览器
基本使用:安全
1:在XML布局中添加WebView控件服务器
2:在Manifest文件中添加权限:<uses-permission android:name="android.permission.INTERNET"/>网络
3:在java代码中得到该WebView的一个引用,同时使用loadUrl()加载一个网址多线程
如:webView.loadUrl("http://www.baidu.com");并发
webView.loadUrl("file://android_asset/XX.html");
4:若是不想要打开一个系统浏览器,则须要为WebView设置一个WebViewClient,并重写方法
webView.setWebViewClient(new WebViewClient(){ public boolean shouldOverrideUrlLoading(WebView view,String url){ view.loadUrl(url); return true; } });5:设置Java脚本是否可用
webView.getSettings().setJavaScriptEnable(true);
webView.getSettings().setJavaScriptEnable(false);
利用隐式Intent打开浏览器并加载指定网页:
Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse("http://www.baidu.com")); startActivity(intent);
http://www.cnblogs.com/qianlifeng/archive/2011/03/26/1996407.html
http://www.cnblogs.com/youxilua/archive/2011/09/24/2189465.html
http://www.cnblogs.com/devinzhang/archive/2012/02/13/2350070.html
在Android中实现异步消息机制的方法:Handler和AsyncTask
execute():执行一个异步任务,须要咱们在代码中调用此方法,触发异步任务的执行。
onPreExecute():这个方法会在后台任务开始执行以前完成,用于进行一些界面的初始化操做,好比显示一个进度条对话框等。
doInBackground():这个方法中的全部代码都会在子线程中运行,咱们应该在这里去处理全部的耗时任务。
onProgressUpdate():当在后台任务中调用publishProgress()方法后,这个方法就会很快被调用,方法中携带的参数就是在后台任务中传递过来的。在这个方法中能够对UI进行操做,利用参数中的数值就能够对界面元素进行相应的更新。
onPostExecute():当后台任务执行完毕并经过return语句返回时,这个方法就很快会被调用。返回的数据会做为参数传递到此方法中,能够利用返回的数据来进行一些UI操做。
http://blog.csdn.net/itachi85/article/details/50982995
工做原理:客户端向服务器发出一条HTTP请求,服务器收到请求后返回一些数据给客户端,而后客户端再对这些数据进行解析和处理就能够了。
HTTP协议的主要特色:
1:支持C/S模式
2:简单快速(客户端向服务器请求时,只需传送请求方法和路径)
3:灵活(HTTP运行传送任意类型的数据对象)
4:无链接:(无链接的含义是每次链接请求只处理一个请求。服务端处理完客户请求后,并收到客户端的应答,即断开链接。采用这种方式能够节省传输时间)
5:无状态:HTTP协议是无状态的协议。无状态是指协议对于事物的处理没有记忆能力。缺乏状态意味着若是后续处理须要前面的信息,则必须重传,这样可能致使每次链接传达的数据量增大。另外一方面,服务器不须要先前先前信息时它的应答就快了。
在Android上发送HTTP请求的方式:HttpURLConnection和HttpClient
1:HttpURLConnection
a、首先得到HttpURLConnection实例
URL url = new URL("http://www.baidu.com"); HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection();b、设置HttpURLConnection的方法(GET/POST)
GET表示但愿从服务器那里得到数据,而POST则表示但愿提交数据给服务器&。
httpURLConnection.setRequestMethod("GET"); httpURLConnection.setRequestMethod("POST");c、得到服务器返回的输入输出流,对输入流/输出流进行读/写操做
d、调用disconnect()方法将这个http链接关闭掉
2:HttpClient(一个接口)
http://www.jb51.net/article/73371.htm
GET方式
a、建立一个DefaultHttpClient实例
HttpClient httpClient = new DefaultHttpClient();
b、建立一个HttpGet对象,并传入目标的网络地址,而后调用HttpClient的execute()方法
HttpGet httpGet = new HttpGet("http://www.baidu.com");
HttpResponse httpResponse = httpClient.execute(httpGet);
c、执行execute()方法后会返回一个HttpResponse对象,服务器所返回的全部信息就会包括在这里面。一般状况下咱们就会取出服务器返回的状态码,若是等于200就说明请求和响应都成功了。
if(httpResponse.getStatusLine().getStatusCode==200){
//请求和响应都成功了
}
POST方式
a、建立一个DefaultHttpClient的实例
HttpClient httpClient = new DefaultHttpClient();
b、建立一个HttpPost对象,并传入目标的网络地址
HttpPost httpPost = new HttpPost("http://www.baidu.com");
c、建立一个Entity对象,并将数据存入Enitity中。而后调用httpPost的setEntity()方法将构造好的Entity传进去。
httpPost.setEntity(xxxx);
HttpResponse httpResponse = httpClient.execute(httpPost);
d、执行execute()方法后悔返回一个HttpResponse对象,服务器所返回的全部信息就会包含在这里面。一般状况下咱们都会先取出服务器所返回的状态码,若是等于200就说明请求和响应都成功了
if(httpResponse.getStatusLine().getStatusCode()==200){
//请求和响应成功
}
三:选择题
1:WebView中能够用来处理js中警告、确认等对话框的是:WebChromeClient
2:LocalManager获取位置信息的途径下列说法正确的是:
a、 GPS定位更加精确,缺点是只能在户外使用。
b、获取用户位置信息,咱们能够同时使用其中一个,也能够同时使用两个
c、GPS定位耗电严重,而且返回用户位置信息的速度远不能知足用户须要
3:android的MVC模式
M是逻辑模型。
V是试图模型,对应XML文件
C是控制模型,对应Activity
4:Android的自动恢复功能可以完成:恢复备份设置和数据来从新安装程序。
5:android的动画类型
帧(Frame)动画、补间动画(Tween)、属性动画
6:关于ServiceConnection接口的onServiceConnected()方法的触发条件描述正确的是:
bindService()方法成功调用的同时onBind()方法返回IBinder对象。
7:DVM指dalivk的虚拟机,每个安卓应用程序都在它本身的进程中运行,都拥有一个独立的Dalivk虚拟机实例。而每个DVM都是Linux中的一个进程,因此说能够认为是同一个概念。
8:IntentService和Service的区别
IntentService是继承Service的,那么它包含了Sevice的所有特性,固然也包含Service的生命周期。IntentService与Service不一样的是,IntentService在执行onCreate()方法时,内部开了一个线程,去执行耗时操做。
9:Android系统对下列哪些对象提供了资源池:Messae与AsyncTask
10:下面哪条语句能够构造正确的对话框( B D)
B:AlertDialog.Builder builder = new AlertDialog.Builder(context);
.D:ProgressDialog dialog = new ProgressDialog(context);
11:下列哪些状况下系统会弹出Froce Close对话框
应用运行时抛出了OutOfMemoryError,
应用运行时抛出了RuntimeException