当前位置: 编程技术>移动开发
本页文章导读:
▪[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
最新技术文章: