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进行了二次封装(应用层的封装)

 

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值