百度云存储sdk
① 百度云推送服务端SDK怎么用
把从官网下载的服务端sdk做成jar包,导入你的web工程里,你可以写一段测试代码,直接调用下面这个方法,应该就可以推送消息了
//向所有客户端推送消息
public static int pushBroadcastMessage(String Content)
{
BaiChannelClient channelClient = initPushClient();
try{
// 4. 创建请求类对象
PushBroadcastMessageRequest request = new PushBroadcastMessageRequest();
request.setDeviceType(3);
// device_type => 1: web 2: pc 3:android
// 4:ios 5:wp
request.setMessage(Content);
// 5. 调用pushMessage接口
PushBroadcastMessageResponse response = channelClient
.pushBroadcastMessage(request);
// 6. 认证推送成功
System.out.println("push amount : " + response.getSuccessAmount());
return response.getSuccessAmount();
}
catch (ChannelClientException e)
{
// 处理客户端错误异常
e.printStackTrace();
return 1;
}
catch (ChannelServerException e)
{
// 处理服务端错误异常
System.out.println(String.format(
"request_id: %d, error_code: %d, error_message: %s",
e.getRequestId(), e.getErrorCode(), e.getErrorMsg()));
return 2;
}
}
// 初始化
private static BaiChannelClient initPushClient()
{
//这两个key自己申请
String apiKey = "****************";
String secretKey = "************************";
// 1. 设置developer平台的ApiKey/SecretKey
ChannelKeyPair pair = new ChannelKeyPair(apiKey, secretKey);
// 2. 创建BaiChannelClient对象实例
BaiChannelClient channelClient = new BaiChannelClient(pair);
// 3. 若要了解交互细节,请注册YunLogHandler类
channelClient.setChannelLogHandler(new YunLogHandler()
{
@Override
public void onHandle(YunLogEvent event)
{
System.out.println(event.getMessage());
}
});
return channelClient;
}
② 百度云存储 创建bucket 怎么创建不成功
原因:您的网络版本错误,并没有使用正确方法建立;
如何正确创建bucket:
第一步:成为网络云开发者
要想利用网络云提供的接口和服务,理所当然,先成为网络开发者,实际上只要有网络账号(网络帖吧,网络网盘共用的一个号)就够了。
点击右方链接,上面有图文详解:http://jingyan..com/article/25648fc1defccd9190fd004f.html
第二步:在网络云平台上创建应用
参考官方文档:
点击http://developer..com/wiki/index.php?title=docs/pcs/guide/app_create打开链接
第三步:如何利用云存储
分三步来说明问题:
1.要实现代码和网络云的连接,总有一个东西作为桥梁,网络提供了一个bucket(木桶)其带有两个密码:AK和SK,
可以在代码中加入对应的bucket(附带Ak和Sk)实现与网络云存储的连接,实现上传和下载的功能。
下面说一下如何在存储里创建bucket,先看一下官方文档的步骤如下连接:
http://developer..com/wiki/index.php?title=docs/cplat/bcs/console2.0
但会发现无法创建bucket!!!!!!!!!!!!!!
其实网络云官方给的步骤是对的。
一定要在旧版控制台界面创建bucket!因为新版网络云平台没有这个功能,旧版的所有功能还没有完全搬迁到新界面上!!!!!!!!!
打开旧版控制中心链接:http://developer..com/bae/bcs/bucket/
一定要在此按照官方步骤创建bucket!
2.获取java-sdk的jar包,导入eclipse
跨过上一步网络云比较坑的坎,接下来相信都是很简单的了。
点击获取Java-sdk-jar包,获取下载成功后,导入eclipse工程即可,这里不再详细展开。
http://developer..com/wiki/index.php?title=docs/cplat/bcs/sdk
3.编写代码,实现自己写的Java代码和网络云存储的bucket的连接,上传下载文件。
java代码:
<span style="font-size:14px;"> import java.io.ByteArrayInputStream;
import java.io.IOException;
import com..inf.iis.bcs.BaiBCS;
import com..inf.iis.bcs.auth.BCSCredentials;
import com..inf.iis.bcs.model.ObjectMetadata;
import com..inf.iis.bcs.model.X_BS_ACL;
import com..inf.iis.bcs.request.CreateBucketRequest;
import com..inf.iis.bcs.request.PutObjectRequest;
public class CloudStorage {
<pre name="code" class="java" style="font-size:18px;"> private final static String BUCKET = "photo-bucket"; //一定是你的bucket名称
private final static String AK = "AK"; //你的bucket的附带的AK和SK码
private final static String SK = "SK";
private final static String HOST = "bcs.app.com"; //网络云存储的主机名称
private final static BaiBCS BAIDU_BCS = new BaiBCS(new BCSCredentials(AK,SK),HOST);
public static void upload(String fileName, byte[] contents) throws IOException {
ObjectMetadata objectMetadata = new ObjectMetadata();
objectMetadata.setContentEncoding("utf-8");
objectMetadata.setContentLength(contents.length);
PutObjectRequest request = new PutObjectRequest(BUCKET, fileName,
new ByteArrayInputStream(contents), objectMetadata);
boolean isExist = BAIDU_BCS.doesObjectExist(BUCKET, fileName);
if(isExist){
System.out.println("文件已经存在!");
return;
}
BAIDU_BCS.putObject(request);
}
public static void main(String[] args) throws IOException {
String fileName = "/aaaa/我是中文";
for(int i = 0; i < 10;i++){
upload(fileName+"_"+i+".txt","测试一下中文1111".getBytes());
}
}
} </span>
③ 把安卓应用连上百度云数据库可能吗
网络云存储,即BCS(Bai Cloud Storage),提供object网络存储服务,旨在利用网络在分布式以及网络方面的优势为开发者提供安全、简单、高效的存储服务。
网络云存储提供了一系列简单易用的REST API接口、SDK、工具和方案,使得开发者通过网络即可随时、随地存储任何类型的数据、进行安全分享及灵活的资源访问权限管理。
通过使用网络云存储服务,开发者可以轻松地开发出扩展性强、稳定性好、安全快速的分布式网络服务;通过使用云存储服务提供的API、SDK及管理平台,开发者也可以迅速开发出适合各种业务的网络程序。
网络云存储可以支持文本、多媒体、二进制等任何类型的数据,支持签名认证及ACL权限设置进行资源访问控制,开发者可以通过管理控制台直接进行页面上传、下载或通过REST API、Shell Tool、SDK、curl等方式实现上传、下载。
像ES文件浏览器也是用这个做的,如果你只是做一个简单应用不建议用这个,自己电脑搭建一个服务也可以,因为这个服务现在已经收费了
具体可以去网络开放云的文档中看一下云服务的帮助文档
④ 做pc程序,如何获取百度云开放平台的API
使用云存储服务,需要首先创建应用并获取应用密钥对。操作步骤如下:
1. 在管理中心创建一个应用
2. 在应用基本信息页,获取相应的“API key 及 Secret Key”
注:access_token不能泄露,否则会直接封禁应用。
创建Bucket,可通过以下三种方式来实现:
1. 通过云存储管理控制台创建bucket。可以把bucket看成是命名空间,您的数据就存储在这个bucket里面。
2. 通过调用 REST API接口 Put_Bucket实现
3. 通过SDK,调用相关接口来实现
使用云存储服务上传文件有以下四种途径:
1. 使用Shell Tool上传
2. 使用SDK进行上传
3. 直接使用curl命令上传
4. 通过云存储管理控制台上传
使用shell tool上传
了解使用shell tool上传文件的详细内容及下载shell tool,请参考Shell Tool相关介绍。
使用SDK上传
目前网络云存储服务已为广大开发者提供了以下SDK:
PHP SDK
Java SDK
Python SDK
C/C++(linux版本)SDK
如需下载相应的SDK,请点击这里。
直接使用curl上传
1. 获取上传链接:
上传地址:
bcs.app.com
获取上传链接:
通过云存储管理控制台的“URL签名”工具直接计算签名
填写以下信息:
Host: bcs.app.com
API Key: (“应用的基本信息页面”中查看)
Secret Key:
Method: PUT
Bucket: 在云存储管理平台中查看自己的bucket信息
Object:/testobject
点击“签名”按钮:签名后的地址已经全部列出来了,拷贝put操作对应的地址即可。
其实其他操作的签名也都算好了。
2. 上传文件:
例如:要上传本地文件bs.txt到云存储,并且命名为:testobject。
curl -T bs.txt -v
“http://bcs.app.com/bucket/testobject?sign=MBO:f:PVaOdaf%2BxNoC7aXRqL%2FJq5Kp7a4%3D"
直接通过管理控制台上传
通过云存储管理控制台,选择页面的“上传”即可。
没有bucket的情况下,需先创建bucket;
已创建bucket的情况下,选择并点击要上传文件的bucket名称,进入该bucket页面后再选择“上传文件”进行文件上传操作。
通过ACL设置bucket或object的访问权限。
创建bucket及上传文件时,默认是“私有”状态,通过ACL设置接口,可将其状态设置为公开或自定义访问权限。
设置为公开读(public-read)时,访问链接可不带签名,默认为所有人都可访问该资源。
设置为私有(private)时,访问链接需带签名,默认只有获取相关AK&SK的用户才可访问该资源。
⑤ 百度云推送服务端SDK怎么用
使用方法如下:1、先成为这个服务端的开发者,然后建一个立应用;
2、创建好应用之后,点击打开开发者服务管理,进入工程管理页面,然后点击左侧云推送,进入云推送功能页面;
3、进入云推送详细页面之后,在点击推送设置,设置好应用的包名,然后点击快速实例,将系统产生的示例代码下载下来进行了;
4、将下载好的代码导入Eclipse,开始准备整合;
5、经过整合之后,就得到的Demo代码;
6、这样,后台发送推送信息的时候,客户端就可以自动收到来自后台的推送了。
但是相比较来说,深圳极光会要好一点。创立于2011年,其团队核心成员来自腾讯、摩根士丹利、豆瓣、Teradata和中国移动等公司。2012年,公司旗下核心产品极光推送(JPush)正式问世,这是国内首个为移动应用开发者提供专业、高效的消息推送服务的产品。
⑥ 百度云推送java服务器怎么弄
网络云(Bai Cloud)是网络推出的一项云存储服务,首次注册即有机会获得2T的空间,已覆盖主流PC和手机操作系统,包含Web版、Windows版、Mac版、Android版、iphone版和Windows Phone版,用户将可以轻松将自己的文件上传到网盘上,并可跨终端随时随地查看和分享。
网络云推送
网络提供了完整的Demo帮助开发者集成云推送服务,推送服务SDK通过.jar包和.so文件的方式可以集成到我们自己的工程中。在此之前,需要到网络开发者中心进行应用注册并获取API Key,这个作为使用推送服务应用的唯一标示,具体流程我就不赘述了,需要使用的话可以直接访问网络开发者中心进行查看。
下面主要看看Android_SDK的整体概览和内部运行机制:
上图是网络云推送Android_SDK的框架图,通过SDK可以绕过复杂的Push HTTP/HTTPS API直接和Push服务器进行交互,主要提供如下功能:
Push服务初始化以及Client注册绑定
创建或删除标签(Tag)
接收Push Server的通知并提供自定义展现消息方式
推送统计分析功能,包括通知的点击和删除统计以及应用使用情况统计
富媒体推送
在Android端,总共实现了三个Receiver和一个Service,其中,一个Receiver是用来处理注册绑定后接收服务端返回的channelID等信息:
<receiver android:name="com..android.pushservice.RegistrationReceiver" android:process=": bdservice_v1"> <intent-filter> <action android:name="com..android.pushservice.action.METHOD " /> <action android:name="com..android.pushservice.action.BIND_SYNC " /> </intent-filter> <intent-filter> <action android:name="android.intent.action.PACKAGE_REMOVED"/> <data android:scheme="package" /> </intent-filter> </receiver>
第二个Receiver是用于接收系统消息以保证PushService正常运行:
<receiver android:name="com..android.pushservice.PushServiceReceiver" android:process=": bdservice_v1"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> <action android:name="com..android.pushservice.action.notification.SHOW" /> <action android:name="com..android.pushservice.action.media.CLICK" /> </intent-filter> </receiver>
第三个Receiver就是开发者自己实现的用来接收并处理推送消息:
<receiver android:name="your.package.PushMessageReceiver"> <intent-filter> <!-- 接收 push 消息 --> <action android:name="com..android.pushservice.action.MESSAGE" /> <!-- 接收 bind、setTags 等 method 的返回结果 --> <action android:name="com..android.pushservice.action.RECEIVE" /> </intent-filter> </receiver>
一个Service就是在后台运行的用于保障与Push Server维持长连接并做相关处理的后台服务:
<service android:name="com..android.pushservice.PushService" android:exported="true" android:process=" bdservice_v1"/> <!-- push service end -->
在开发者自己需要处理的广播接收器中,可以对接收到的推送消息进行处理,Push消息通过 action为com..android.pushservice.action.MESSAGE的Intent把数据发送给客户端your.package.PushMessageReceiver,消息格式由应用自己决定,PushService只负责把服务器下发的消息以字符串格式透传给客户端。接口调用回调通过action为com..android.pushservice.action.RECEIVE的Intent 返回给your.package.PushMessageReceiver。
PushMessageReceiver.java
/** * Push消息处理receiver * @Author Ryan * @Create 2013-8-6 下午5:59:38 */ public class PushMessageReceiver extends BroadcastReceiver { public static final String TAG = PushMessageReceiver.class.getSimpleName(); @Override public void onReceive(final Context context, Intent intent) { if (intent.getAction().equals(PushConstants.ACTION_MESSAGE)) { //获取消息内容 String message = intent.getExtras().getString( PushConstants.EXTRA_PUSH_MESSAGE_STRING); //消息的用户自定义内容读取方式 Log.i(TAG, "onMessage: " + message); } else if (intent.getAction().equals(PushConstants.ACTION_RECEIVE)) { //处理绑定等方法的返回数据 //PushManager.startWork()的返回值通过PushConstants.METHOD_BIND得到 //获取方法 final String method = intent .getStringExtra(PushConstants.EXTRA_METHOD); //方法返回错误码。若绑定返回错误(非0),则应用将不能正常接收消息。 //绑定失败的原因有多种,如网络原因,或access token过期。 //请不要在出错时进行简单的startWork调用,这有可能导致死循环。 //可以通过限制重试次数,或者在其他时机重新调用来解决。 final int errorCode = intent .getIntExtra(PushConstants.EXTRA_ERROR_CODE, PushConstants.ERROR_SUCCESS); //返回内容 final String content = new String( intent.getByteArrayExtra(PushConstants.EXTRA_CONTENT)); //用户在此自定义处理消息,以下代码为demo界面展示用 Log.d(TAG, "onMessage: method : " + method); Log.d(TAG, "onMessage: result : " + errorCode); Log.d(TAG, "onMessage: content : " + content); } } }
通过在入口Activity的onCreate方法中进行推送服务的注册绑定后,即可在推送管理后台或是自己的应用服务器上进行消息推送的操作了。
PushManager.startWork(getApplicationContext(),PushConstants.LOGIN_TYPE_API_KEY, "you_api_key");
另外,云推送提供php、java等Server端的SDK供开发者在自己的服务器上实现推送服务进行定制化管理和操作。
四、单服务单通道机制
网络云推送实现了单服务单通道的机制,如果在一台Device上安装了多款Push SDK的应用,不会为每个应用都创建PushService,而是会采用多应用共享一个PushService的模式。这样既能减少资源消耗也能降低网络流量。PushService运行于一个独立进程,没有和主进程运行于同一进程,所以主进程不需要常驻内存,当有新的Push消息时,PushService会通过Intent发送消息给主进程进行处理。通过Intent,以指定目标应用包名的方式,发送私有消息给应用。应用即不能接收不属于自己的消息,也不能截取别人的消息,同时又降低了消耗,如下为示意图:
后记:如今,国内提供Android推送服务的还有很多家,例如个推和极光推送等,实现的原理大同小异,开发者可以根据自身需要进行选择。
⑦ Android应用百度云存储环境怎么建立
网络个人云存储(PCS)
免费大空间、海量存储。
支持文件、目录及缩略图管理。
支持结构化数据存储 。
多终端自动同步。
轻松的文件分享功能。
专业的技术支持团队。
基于多种平台提供丰富的SDK。
PCS提供了多种SDK和Demo样例,帮助您快速进行应用开发。
⑧ 百度云推送服务端SDK怎么用
你直接下载网络云推送,服务端SDK 然后看 sample
那里有直接调用服务端的例子,实际就是你告诉网络云,把数据推送给哪个客户端
看官网例子吧
⑨ 百度云存储SDK有源码吗 java的
没有源代码,只有reference,而且Java SDK还有其他依赖包