Articles of networking

Android,NetworkInfo.getTypeName(),NullpointerException

我有一个活动,显示一些列表条目。 当我点击列表项时,我的应用程序通过NetworkInfo.getTypeName()检查哪种连接types可用(“WIF”或“MOBILE”)。 一旦我调用这个方法,我就会得到一个NullpointerException。 为什么? 我在模拟器上对此进行了测试,因为我的手机目前无法使用(它已损坏……)。 我认为这是问题所在? 这是我唯一的解释,如果不是这样,我不知道为什么这将是null。 这是一些代码片段: public class VideoList extends ListActivity{ … public void onCreate(Bundle bundle){ final ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); … listview.setOnItemClickListener(new OnItemClickListener(){ public void onItemClick(AdapterView parent, View view, int position, long id) { … NetworkInfo ni = cm.getActiveNetworkInfo(); String connex = ni.getTypeName(); //Nullpointer exception here if(connex.equals(“WIFI”)doSomething(); } }); } }

使用SOAP将图像从图库发送到Web服务

我已经拖网,找不到任何有关使用SOAP将图像(或任何附件)发送到Web服务的文档。 我一直在发送文本数据,但是现在我需要从图库中发送图像以及文本数据,这会带来另一个问题 – 一次完成两个或更多的asynchronous任务。 如果要发送的logging有附属图像,我将需要共打4个电话; 发送文本数据。 检查服务器上的文件是否已经存在。 发送文件。 使用从服务器发回的u_id将文件与服务器上的logging链接起来。 我被build议使用Base64方法将文件转换为一个string然后发送它,但我有一种更清洁的方式使用SOAP(没有双关语意图)。 任何反馈非常赞赏。 *请注意,我正在使用一个httpClient,但不得不改变使用SOAP,我也相对较新的Android,所以原谅我,如果我在这里说什么愚蠢的。

在Android中使用networking服务发现的内部错误

在使用开发者页面上的示例和教程的NSDManager的第一次实施期间,应用程序成功地开始了发现并find了设备。 不过现在好像被打破了… 当程序启动时,经过一些初始化,代码input以下方法并成功运行: public void discoverServices() { Log.d(TAG, "Initializing discovery on NSD"); mNsdManager.discoverServices( SERVICE_TYPE, NsdManager.PROTOCOL_DNS_SD, mDiscoveryListener); } 日志消息被接收。 经过一段时间(大约5分钟),这是从程序输出: 05-21 11:08:32.518: E/NsdCamera(12236): Discovery failed: Error code:0 05-21 11:08:32.518: W/dalvikvm(12236): threadid=12: thread exiting with uncaught exception (group=0x40c9c930) 05-21 11:08:32.518: E/AndroidRuntime(12236): FATAL EXCEPTION: NsdManager 05-21 11:08:32.518: E/AndroidRuntime(12236): java.lang.NullPointerException 05-21 11:08:32.518: E/AndroidRuntime(12236): at android.net.nsd.NsdManager$ServiceHandler.handleMessage(NsdManager.java:338) 05-21 11:08:32.518: E/AndroidRuntime(12236): at […]

带有NetworkRequest的Android运行时执行程序

我在我的Android应用程序中运行命令行参数,如: ProcessBuilder pb = new ProcessBuilder(cmds); Process process = pb.start(); process.waitFor(); cmds是要运行的参数列表。 我的命令通过http连接探测远程URL。 我的设备已连接到无法访问互联网的WiFinetworking,但却托pipe了我想要探测的url。 我的设备也有一个蜂窝连接,可以访问互联网,但不是url。 我的设备运行Android 6.0棉花糖。 通常在棒棒糖或以上,Android的默认networking连接到互联网。 要访问没有互联网的WiFinetworking,你需要使用NetworkRequest ,例如: https : //stackoverflow.com/a/27958106/1847734 。 我怎么能通过一个获得的Network上述Process ,以便连接通过我的WiFinetworking,而不是我的蜂窝networking? 我是否需要使用ConnectivityManager#bindProcessToNetwork ? 如何join使用此方法设置networking的过程? 似乎没有select给这个过程。

确保Web服务请求

我需要通过android应用程序向Web服务发出请求。 webservice可以根据需要进行devise。 在我看来,不pipe我select哪种方法,有人想要破解它,只需要逆向工程我的Android应用程序代码(这不是非常困难),并且可以看到我正在做什么,然后encryption数据,使用硬编码密码或任何其他解决scheme。 有没有一个解决scheme,将100%安全?

在android中的SCTP协议支持

如何在Android中使用SCTP协议? 我已经意识到Android系统默认不支持SCTP,但是可以通过插入SCTP内核模块来启用它,或者在模块configuration中启用SCTP来重build内核。 我需要一些关于这个问题的见解。 可能吗? 如何使Android支持该协议? 如何构build内核模块并正确插入? 如果我们能够成功地使系统支持它,我们如何使用协议呢? Android上的Java API支持SCTP吗?

如何在Android中的错误实现MediaPlayer重新启动?

我试图在Android中实现MediaPlayer的重启,当发生错误(连接服务器丢失,networking无法访问等)。 我见过很多代码示例,但都有些不符合标准。 我认为必须有一个标准的方式来重新启动相应的developer.android.com,但从这里不清楚,如何设置将重新启动播放器这样的错误的侦听器。 这里是我的代码的一部分: public class PlayerService extends Service implements OnErrorListener { …. //////////////////// this.mplayer = MediaPlayer.create(c, Uri.parse(url)); mplayer.setOnErrorListener(onErrorListener); //////////////////// MediaPlayer.OnErrorListener onErrorListener = new MediaPlayer.OnErrorListener() { @Override public boolean onError(MediaPlayer mp, int what, int extra) { Log.e(getPackageName(), String.format("Error(%s%s)", what, extra)); playlist="ERROR"; restart(); return true; } }; @Override public boolean onError(MediaPlayer player, int what, int extra) […]

移动应用程序的服务器端API

我是一个iPhone开发人员。 我创build了很多移动应用程序 其中一些需要一个服务器端后端来存储数据,然后我的iPhone应用程序访问它们。 通常,我需要使用PHP或RoR自己创build一个后端Web应用程序。 然而,他们是非常直截了当的Web应用程序与一些cruds(创build,更新,删除,编辑,..等) 这项工作有一些麻烦: 我需要创build非常简单的应用程序,并将其自己部署到服务器 如果我只是iPhone开发人员,不知道PHP或RoR,我要求其他Web开发人员的帮助。 是否有任何现有的Web应用程序,使我可以build立我的数据库架构,只是让我的API访问我的数据?

手机是否需要连接到互联网,以便networking提供商可以确定一个位置?

手机是否需要一直连接到互联网,以便networking供应商可以确定一个位置? 当我testing我的手机上的应用程序,并在Settings->Location只Use wireless network被检查,我没有通过Wi-Fi连接到互联网,我不能得到一个位置修复。 我知道有些东西是networking提供商使用手机信号塔的可用性,但我不知道这是如何工作的,我应该有完整的互联网接入。 请有人明确告诉我。

Android Wifi直接服务发现

我试图实现一个简单的android应用程序,在一个设备上广播WifiP2p bonjour服务,并有第二个设备发现并连接到它。 我几乎在这里跟着教程。 我有一个有效的Channel对象,一个DnsSdServiceResponseListener和一个DnsSdTxtRecordListener ,并通过这个调用来设置它们: mManager.setDnsSdResponseListeners(channel, servListener, txtListener); 到目前为止,这两个听众只是吐出一些debugging信息,以保持简单。 问题是我的DnsSdServiceResponseListener从来没有被调用,但DnsSdTxtRecordListener 确实被调用,并且所有传入的参数都是合法的。 一个人怎么可以叫,而不是另一个呢? 我正在testing使用两个实际的设备,都运行Android 4.2.2。 谢谢!