我是靠谱客的博主 专一芝麻,最近开发中收集的这篇文章主要介绍2016.2 Android 项目开发总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

相关网盘免费资源下载...

 

1.  当使用以下方式从一个主activity中打开摄像机拍摄,拍摄后按确认键并在onActivityResult返回结果时, 一定要注意主activity的lauchModel 为standard,不能为singIetask  :

  @Override  
            public void onClick(View v) {  
                // TODO Auto-generated method stub  
                Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);  
                
                
                String mPicName = getPictureName();//获取照片名称
                mPicPath = cachePath + mPicName;//照片存储路径
              //  intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(mPicPath)));
                startActivityForResult(intent, 5);  
            }

 

   @Override  
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
        // TODO Auto-generated method stub  
        super.onActivityResult(requestCode, resultCode, data);  
        if (resultCode == Activity.RESULT_OK) {  

      ............

 

2.  http 与 Socket 区别
HTTP:超文本传输协议,首先它是一个协议,并且是基于TCP/IP协议基础之上的应用层协议。TCP/IP协议是传输层协议,主要解决数据如何在网络中传输,HTTP是应用层协议,主要解决如何包装数据。HTTP协议详细规定了浏览器与服务器之间相互通信的规则,是万维网交换信息的基础。HTTP是基于请求-响应形式并且是短连接,并且是无状态的协议。针对其无状态特性,在实际应用中又需要有状态的形式,因此一般会通过session/cookie技术来解决此问题。


Socket:Socket不属于协议范畴,而是一个调用接口(API),Socket是对TCP/IP协议的封装,通过调用Socket,才能使用TCP/IP协议。Socket连接是长连接,理论上客户端和服务器端一旦建立连接将不会主动断开此连接。Socket连接属于请求-响应形式,服务端可主动将消息推送给客户端。

 

Socket实现服务器与客户端之间的物理连接,并进行数据传输。主要有TCP/UDP两个协议。Socket处于网络协议的传输层。
TCP:传输控制协议,面向连接的的协议,稳定可靠。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。
UDP:广播式数据传输,UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。
优点:1.传输数据为字节级,传输数据可自定义,数据量小。相应的移动端开发,手机费用低
  2.传输数据时间短,性能高
  3.适合C/S之间信息实时交互
  4.可以加密,数据安全性高
缺点: 1.需要对传输的数据进行解析,转化为应用级的数据
             2.对开发人员的开发水平要求高
             3.相对于Http协议传输,增加了开发量

Http请求主要有http协议,基于http协议的soap协议,常见的http数据请求方式有get和post,web服务

优点:1.基于应用级的接口使用方便
  2.要求的开发水平不高,容错性强
缺点: 1.传输速度慢,数据包大。
   2.如实现实时交互,服务器性能压力大
   3.数据传输安全性差

Socket适用场景:网络游戏,银行交互,支付。
http适用场景:公司OA服务,互联网服务。

 

3.在Android中的 网络操作,比如新建  http请求,新建socket等都要放入新的线程中进行操作,如下所示:

     new Thread() {
                 public void run(){              
                 try {
socket = new Socket(ip, port);
//handlerSocket.sendEmptyMessage(1);  //如果为1  表示soket建立成功
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}  
                }
               }.start();

 

5. 要在手机上使用http协议访问局域网的pc机,要架设webservice(如tomcat或者  iis),但是使用socket就直接可以只用tcp/udp   来进行访问,http协议相当于把socket进行了二次封装(应用层的封装)

 

相关网盘免费资源下载...

最后

以上就是专一芝麻为你收集整理的2016.2 Android 项目开发总结的全部内容,希望文章能够帮你解决2016.2 Android 项目开发总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部