Android开发培训(10)--app网络连接

这篇文章教你如何进行网络链接,你会学习连接其它的设备,连接到网络,连接到云,以及同步你的app数据,还有其它的更多。

第一章 建立无线连接

第二章 网络连接操作

第三章 传递数据

第四章 使用同步适配器进行传递数据

第五章 使用Volley传递数据


第一章 建立无线连接

通过自己的app与周围的设备进行连接,p2p, Nearby Connections API.

第一节 注册你的设备服务

这个可以让别的设备连接上你的服务

有需要再学习,这个无线连接仅限于本地的局域网,作用范围有限,等有需要再学习相关文档。


第二章 网络操作

为了使用网络连接,app的manifest文件中必须包括这两个权限

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

第一节 建立安全的网络连接

在你为你的app添加网络功能之前,你需要保证你app里面的数据在进行网络传输的时候是安全的。下面的是基本的网络安全的建议:

最小化你可以通过网络传输的数据,就是能不传尽量不传。

通过ssl进行数据传输。

创建一个网络安全确认机制。

第二节 选择一个http客户端

很多网络连接都是通过http进行收发数据,android平台包括HttpURLConnection客户端,它支持TLS,流的上传和下载,配置超时时间,以及IPv6,和连接池。

第三节 创建一个独立的线程处理网络连接

为了避免网络部分block主了主UI,所以不要在主UI中进行网络操作,android 3.0以后强制这样做,否则会报出NetworkOnMainThreadException错误。

下面的Activity片段使用一个Fragment进行异步网络操作。后面你可以看到Fragment是如何实现的。你的Activity也需要实现DownloadCallback接口,这个接口允许fragment对Activity进行回调,比如这个它需要连接状态,需要将更新送到UI主线程中。

编写DownloadCallback接口

写得太好,自愧不如,后面的例子中需要应用,背后下载,如何实现。

/*
 * Copyright (C) 2016 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.example.android.networkconnect;

import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;

/**
 * Sample Activity demonstrating how to connect t
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值