当前位置: 编程技术>移动开发
本页文章导读:
▪[AnyShare] UDP局域网发现 广播方式实现札记 [AnyShare] UDP局域网发现 广播方式实现笔记
文件传输部分:
侦听端口:2999,这只是一个建议端口,有可能被其他程序占用,如果占用,就用一个for循环一次向后查询,取得第一个没有被.........
▪ 三星s7572无法显示toast的有关问题解决 三星s7572无法显示toast的问题解决
a. 该手机上安装了360手机助手,它检测到本app内部使用了umeng统计代码,后者需要获取设备码信息。 360手机助手自动做了屏蔽处理。所以在360中设置允.........
▪ jQuery-easyui将validatebox提示信息改成中文 jQuery-easyui将validatebox提示信息改为中文
谁有别的办法吗?http://blog.csdn.net/micheal_scofield/article/details/11022041
......
[1][AnyShare] UDP局域网发现 广播方式实现札记
来源: 互联网 发布时间: 2014-02-18
[AnyShare] UDP局域网发现 广播方式实现笔记
文件传输部分:
侦听端口:2999,这只是一个建议端口,有可能被其他程序占用,如果占用,就用一个for循环一次向后查询,取得第一个没有被占用的端口。
///////////////////////////////////////////////
为什么ap+wifi模式要分成 ClientMessageChannel和ServerMessageChannell,而PeerMessageChannell只有一种。
ap+wifi,client端可以知道ap得ip,而不能知道其他client得ip,这样ap端就是一个中介,去分发这些数据。
局域网模式就不一样了,他通过UDP广播包,所有用户都可以收到消息,所以不用区分client和server。每个点都启动一个serverPipe就行了。
////////////////////////
分成两个部分
接收端:起了一个while循环,等待接收广播
超时时间 1000ms
缓冲区大小 1024
端口号 55526
广播端:简单实现单个消息得发送逻辑
Ip 255.255.255.255 //发送给所有网络内得主机
为了保证消息可以送到,重复发送三次,每次间隔100ms
局域网发现得管理者:
上线或者下线都会发送广播,但意外下线没有广播,这里引入了一个心跳机制
作为client,每隔20s发送一个心跳包
作为server,每隔20s检测一次设备得超时状态,并将超时超过60s得设备踢走。
[2] 三星s7572无法显示toast的有关问题解决
来源: 互联网 发布时间: 2014-02-18
三星s7572无法显示toast的问题解决
a. 该手机上安装了360手机助手,它检测到本app内部使用了umeng统计代码,后者需要获取设备码信息。
360手机助手自动做了屏蔽处理。所以在360中设置允许本app获取设备码信息;
b. 本手机是android4.1.2版本,对于toast等信息提示做了更加严格的设置。如果需要显示toast信息,则要进行相关设置。进入设置/应用软件管理/xxapp/勾选显示通知框;
c. 为了避免toast被拦截的问题,可以考虑试用alert dialog来显示需要的信息,当然这个可能会降低用户体验,这个时候需要拿捏功能需求和用户体验的重要性。根据我的经验,功能需求的实现已经高于用户体验;
a. 该手机上安装了360手机助手,它检测到本app内部使用了umeng统计代码,后者需要获取设备码信息。
360手机助手自动做了屏蔽处理。所以在360中设置允许本app获取设备码信息;
b. 本手机是android4.1.2版本,对于toast等信息提示做了更加严格的设置。如果需要显示toast信息,则要进行相关设置。进入设置/应用软件管理/xxapp/勾选显示通知框;
c. 为了避免toast被拦截的问题,可以考虑试用alert dialog来显示需要的信息,当然这个可能会降低用户体验,这个时候需要拿捏功能需求和用户体验的重要性。根据我的经验,功能需求的实现已经高于用户体验;
public static void forceUpdate()
{
Log.i(TAG, "forceUpdate");
// UmengUpdateAgent.forceUpdate(mActivity);
UmengUpdateAgent.update(mActivity);
UmengUpdateAgent.setUpdateAutoPopup(false);
UmengUpdateAgent.setUpdateListener(new UmengUpdateListener() {
@Override
public void onUpdateReturned(int updateStatus,UpdateResponse updateInfo) {
switch (updateStatus) {
case 0: // has update
UmengUpdateAgent.showUpdateDialog(mActivity, updateInfo);
Log.i(TAG, "forceUpdate1");
break;
case 1: // has no update
// Toast.makeText(mActivity, "当前已是最新版本", Toast.LENGTH_SHORT)
// .show();
BaseHelper.showAlert(mActivity,"", "当前已是最新版本","确定");
Log.i(TAG, "forceUpdate2");
break;
case 2: // none wifi
// Toast.makeText(mActivity, "没有wifi连接, 只在wifi下更新", Toast.LENGTH_SHORT)
// .show();
break;
case 3: // time out
// Toast.makeText(mActivity, "超时", Toast.LENGTH_SHORT)
// .show();
BaseHelper.showAlert(mActivity,"", "版本检查超时,请稍候重试","确定");
Log.i(TAG, "forceUpdate3");
break;
}
}
});
}
public static void showAlert(Context context,String title, String message,String confirmStr) {
new AlertDialog.Builder(context)
.setIcon(R.drawable.icon)
.// 图标
setTitle(title)
.// 标题
setMessage(message)
.// 提示内容
setPositiveButton(confirmStr, new DialogInterface.OnClickListener() {// 确定
@Override
public void onClick(DialogInterface arg0, int arg1) {
// yes to do
}
}).show();
}
[3] jQuery-easyui将validatebox提示信息改成中文
来源: 互联网 发布时间: 2014-02-18
jQuery-easyui将validatebox提示信息改为中文
谁有别的办法吗?
http://blog.csdn.net/micheal_scofield/article/details/11022041
谁有别的办法吗?
http://blog.csdn.net/micheal_scofield/article/details/11022041
最新技术文章: