精华内容
下载资源
问答
  • Android 网络通信机制

    2014-08-29 01:26:03
    android 从服务器下载文件有哪几种?都有什么区别?具体能有代码加解释,
  • socket介绍 http的用法 TCP/IP的原理

    1.1 什么是TCP协议?
    1.2 什么是socket
    1.3 多线程的概念

    展开全文
  • //这里执行网络请求 //返回请求回来的response -》runThreadActionSuccess()中 return null ; } @Override protected void runThreadActionSuccess ( Object result ) { super . ...

    AsyCallbackListener.java

    public class AsyCallbackListener
    {
    	public void run(Object result)
    	{
    
    	}
    
    	public void error(Exception ex)
    	{
    
    	}
    }
    

    AsyExecuteListener.java

    public class AsyExecuteListener
    {
    	public Object run() throws Exception
    	{
    		return null;
    	}
    }
    

    AsyHelper.java

    @SuppressLint("HandlerLeak")
    public class AsyHelper
    {
    	private final int Error = -1;
    	private final int Success = 0;
    
    	private Thread thread;
    	private AsyCallbackListener callback;
    	private AsyExecuteListener exelistener;
    
    	private Handler handler = new Handler()
    	{
    		@Override
    		public void handleMessage(Message msg)
    		{
    			super.handleMessage(msg);
    
    			if (msg.what == Success)
    			{
    				Object result = msg.obj;
    				callback.run(result);
    			} else
    			{
    				callback.error((Exception) msg.obj);
    			}
    		}
    	};
    
    	public void execute(AsyExecuteListener listener, AsyCallbackListener callback)
    	{
    		this.exelistener = listener;
    		this.callback = callback;
    		Runnable run = new Runnable()
    		{
    			@Override
    			public void run()
    			{
    				try
    				{
    					Object result = exelistener.run();
    					Message msg = new Message();
    					msg.what = Success;
    					msg.obj = result;
    					handler.sendMessage(msg);
    				} catch (Exception ex)
    				{
    					Message msg = new Message();
    					msg.what = Error;
    					msg.obj = ex;
    					handler.sendMessage(msg);
    				}
    			}
    		};
    		thread = new Thread(run);
    		thread.start();
    	}
    
    	public static void create(AsyExecuteListener listener, AsyCallbackListener callback)
    	{
    		AsyHelper asyHelper = new AsyHelper();
    		asyHelper.execute(listener, callback);
    	}
    }
    

    BaseActivity.java

    public class BaseActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView();// 设置布局
            initControls();// 初始化控件
            setListener();// 设置控件监听
            loadParams();// 加载传递的参数
        }
        protected void setContentView() {}
        protected void initControls() {}
        protected void setListener() {}
        protected void loadParams() {}
        public void showLoading() {}
        public void closeLoading() {}
        
        public void runThreadAction() {
            AsyHelper.create(new AsyExecuteListener() {
                                 public Object run() throws Exception {
                                     return runThreadActionExceute();
                                 }
    
                             },
    
                    new AsyCallbackListener() {
                        public void run(Object result) {
                            runThreadActionSuccess(result);
                        }
    
                        public void error(Exception ex) {
                            runThreadActionError(ex);
                        }
                    });
        }
          protected Object runThreadActionExceute() {
            showLoading();
            return null;
        }
    
        protected void runThreadActionSuccess(Object result) {
            closeLoading();
        }
    
        protected void runThreadActionError(Exception ex) {
            closeLoading();
            ToastUtil.showToast(BaseActivity.this, ex.getMessage(), 3000);
        }
    
        public void runThreadAction(String actionName) {
            final String name = actionName;
            AsyHelper.create(new AsyExecuteListener() {
                                 public Object run() throws Exception {
                                     return runThreadActionExceute(name);
                                 }
    
                                 ;
                             },
    
                    new AsyCallbackListener() {
                        public void run(Object result) {
                            runThreadActionSuccess(name, result);
                        }
    
    
                        public void error(Exception ex) {
                            runThreadActionError(name, ex);
                        }
                    });
        }
    
        protected Object runThreadActionExceute(String actionName) {
            showLoading();
            return null;
        }
    
        protected void runThreadActionSuccess(String actionName, Object result) {
            closeLoading();
        }
    
        protected void runThreadActionError(String actionName, Exception ex) {
            closeLoading();
            ToastUtil.showToast(BaseActivity.this, ex.getMessage(), 3000);
        }
        protected <T> T find(int resourceId) {
            return (T) findViewById(resourceId);
        }
    
    

    MainActivity.java

    public class MainActivityextends BaseActivity {
      
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            runThreadAction(); //调用
        }
    
        @Override
        protected void setContentView() {
            super.setContentView();
            setContentView(R.layout.main);
        }
    
        @Override
        protected void initControls() {
            super.initControls();
        }
    
    
    
        @Override
        protected void loadParams() {
            super.loadParams();
        }
    
        @Override
        protected void setListener() {
            super.setListener();
        }
    
        @Override
        public void runThreadAction() {
            super.runThreadAction();
        }
    
        @Override
        protected Object runThreadActionExceute() {
            super.runThreadActionExceute();
    		//这里执行网络请求
    		//返回请求回来的response -》runThreadActionSuccess()中
            return null;
        }
    
        @Override
        protected void runThreadActionSuccess( Object result) {
            super.runThreadActionSuccess( result);
           //请求成功,处理数据
    
        }
    
        @Override
        protected void runThreadActionError(, Exception ex) {
            super.runThreadActionError( ex);
             //请求失败
        }
    
    展开全文
  • android网络编程,网络通信机制

    千次阅读 2014-05-08 21:01:57
    android网络编程,网络通信机制待写
    android网络编程,网络通信机制待写
    
    展开全文
  • Android网络通信机制

    2017-07-19 09:55:55
    实现网络通信机的方式 1、HTTP通信 HTTP:超文本传输协议,主要用来传输网页和表单. 短连接:以注册登录为例,客户端注册或者登录,访问服务器成功,服务器一般会将客户端请求数据存储在数据库中,然后返回给...

    实现网络通信机的方式

    1、HTTP通信

    HTTP:超文本传输协议,主要用来传输网页和表单.
    短连接:以注册登录为例,客户端注册或者登录,访问服务器成功,服务器一般会将客户端请求数据存储在数据库中,然后返回给客户端注册或者登录成功的数据,最后会断开连接。等下次在登录的时候,会重新访问服务器请求数据,服务器返回数据,最后再断开。
    http通信实现:短连接
    第一步:建立连接
    URL url = new URL("http://www.qq.com");
    httpConnection = (HpptURLConnection)url.openConnection();
    第二步:发送数据给客户端
    outpuStream = httpConnection.getOutputStream();
    outpuStream.write("username=张三&"password=123456");
    第三步:接受服务器返回数据
    InputStream in = httpConnection.getInputStream();
    in.read(data);
    第四步:断开连接

    2、socket通信

    socket套接字,可以传输文本,音频等多种信息。一个连接做一件事,比如聊天和上传文件只能做一个。
    还是以注册和登录为例,客户端和服务器建立连接,此连接不关闭。注册和登录用第一次建立的连接。
    第一步:建立连接
    socket = new Socket("192.168.188.96",16888);
    第二步:发送数据给客户端
    outpuStream = socket.getOutputStream();
    outpuStream.write("username=张三&"password=123456");
    第三步:接受服务器返回数据
    InputStream in = socket.getInputStream();

    网络通信要解决的问题(部分)

    1.安全问题
    以银行客户端访问其服务端为例,比如在家访问用的电信网络,首先网络进入小区网络,然后小区网络连接电信运营商,最后该网络还要连接中国Internet主干网。所以访问过程中,这些信息有可能会泄密,而银行都有自己的证书,该证书就是以私钥对数据进行加密。银行用你的公钥对数据进行解密,成功则没有被修改。




    展开全文
  • Android通信机制网络(二)

    千次阅读 2013-10-10 15:05:01
    Android通信机制网络(一)中,以Servlet为例子,通过GET和POST两种传输方式完成了服务器与Android的通信,其主要是通过RUL对象以流的方式往服务器传输内容,这章主要是通过HTTP的方式完成其通信,此种方式...
  • Android网络通信机制

    2017-04-25 21:35:00
    1. Socket接口 不常用 2.HttpURLConnection接口 3. HttpClient接口 http://blog.csdn.net/ccc20134/article/details/39430229 转载于:https://www.cnblogs.com/genggeng/p/6764468.html
  • Android Binder通信机制

    2020-12-29 10:48:33
    Android为什么采用Binder作为IPC机制Android系统内核基于Linux内核,Linux现有的进程通信方式...套接字:作为更通用的接口,传输效率低,主要用于不通机器或跨网络通信; 信号量:常作为一种锁机制,防止某进程
  • Android中提供的HttpURLConnection和HttpClient接口可以用来开发HTTP程序。 2. HttpURLConnection接口 首先需要明确的是,Http通信中的POST和GET请求方式的不同。GET可以获得静态页面,也可以把参数放在URL字符串...
  • Android通信机制网络(一)

    千次阅读 2013-10-10 15:04:06
    此次主要以Servlet为列子,介绍Android与Servlet的通信,知道了这种传输机制,其他两种都是大同小异的。  前提:创建两个工程,一个是web project(上),一个是android project(下),如下图:  
  • android网络通信

    2013-10-21 20:00:14
    介绍了android开发中的网络通信机制
  • Android通信机制网络(三)

    千次阅读 2013-10-10 15:06:47
    我们知道,Java提供的Socket可以完成了两台PC机的通信。TCPServer需要客户端和...此章主要是通过TCPServer完成Android 与PC机的通信,首先来看我们熟悉的服务器程序:      上图用主方法main其他一个Thr
  • 此次主要以Servlet为列子,介绍Android与Servlet的通信,知道了这种传输机制,其他两种都是大同小异的。   前提:创建两个工程,一个是web project(上),一个是android project(下),如下图:   get方式...
  • android 通信机制 socket

    2019-09-26 02:38:55
    socket 作为一种通信机制,可以实现单机或者跨网络之间的通信,要有明确的server端和client端。 android里面最简单的socket 通信的demo: //1. IP 地址 InetAddress inetAddress = InetAddress.getByName("IP ...
  • 网络上,两台主机要进行通信,就必须互相知晓对方的IP地址,在Internet上,一台主机的IP地址可能是经常发生变化的,并且IP地址非常难以记忆,因此产生了将主机名(域名)解析为IP地址的DNS服务。在局域网内,往往...
  • Android多线程通信机制

    千次阅读 2018-04-10 11:32:40
    Android中我们把UI线程外的线程成为工作线程。我们不能再主线程中做...Androiod提供了两种线程间通信方式:一种是AsyncTask机制,另一种是Handler机制。 1.线程间通信方式之AsyncTask机制: AsyncTask异步任务...
  • Socket 网络通信机制

    热门讨论 2012-04-25 22:00:39
    android项目,很多都会用上的网络通信这一技术,常用的就是Socket网络通信。Socket通信,基于TCP/IP协议和其它的协议和Http协议之间的桥梁,本文档列举一个简单的android项目,介绍了下Socket在android系统中是怎样...
  • Android -- NetworkFactory与NetworkAgent的通信机制 转自write.blog.csdn.net/postedit 在上一篇博文中讲到,EthernetNetworkFactory包揽了Ethernet所有的网络管理操作,这其中就包含怎么样通知...
  • 在2013年Google I/O大会上,Android开发团队公布了一个新的网络通信框架:Volley。它适合处理通信频繁的网络操作,但对于每一次通信的数据量则有较为苛刻的限制。本文将介绍该通信框架的用法(包括使用现成和自定义...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 660
精华内容 264
关键字:

android网络通信机制