android程序。
两个几乎相同的函数,一个出错,一个正常。下面是源码:出错的函数:public static User searchUserInfo(String UriPath,String id) throws StreamCorruptedException, IOException, ClassNotFoundException
{
StringBuilder sb=new StringBuilder(UriPath);
sb.append('?').append("id=").append(id);
String realUriPath=sb.toString();
Log.i("realUriPath", realUriPath);
URL url=new URL(realUriPath);
HttpURLConnection conn=(HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setDoInput(true);
conn.connect();//报错指向这条语句
ObjectInputStream in=new ObjectInputStream(conn.getInputStream());
User user=(User)in.readObject();
in.close();
conn.disconnect();
Global.flagSearchUserInfo=1;
return user;
}
报错信息:
10-29 13:13:38.035: E/AndroidRuntime(8356): FATAL EXCEPTION: Thread-3433
10-29 13:13:38.035: E/AndroidRuntime(8356): java.lang.NullPointerException
10-29 13:13:38.035: E/AndroidRuntime(8356): at libcore.net.http.HttpConnection$Address.hashCode(HttpConnection.java:343)
10-29 13:13:38.035: E/AndroidRuntime(8356): at java.util.HashMap.get(HashMap.java:298)
10-29 13:13:38.035: E/AndroidRuntime(8356): at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:67)
10-29 13:13:38.035: E/AndroidRuntime(8356): at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
10-29 13:13:38.035: E/AndroidRuntime(8356): at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:308)
10-29 13:13:38.035: E/AndroidRuntime(8356): at libcore.net.http.HttpEngine.connect(HttpEngine.java:303)
10-29 13:13:38.035: E/AndroidRuntime(8356): at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:282)
10-29 13:13:38.035: E/AndroidRuntime(8356): at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:232)
10-29 13:13:38.035: E/AndroidRuntime(8356): at libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:80)
10-29 13:13:38.035: E/AndroidRuntime(8356): at libcore.net.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:188)
10-29 13:13:38.035: E/AndroidRuntime(8356): at com.quanquan.transmit.TransmitTool.searchUserInfo2(TransmitTool.java:361)
10-29 13:13:38.035: E/AndroidRuntime(8356): at com.example.quanquan.UserInfoActivity$2.run(UserInfoActivity.java:134)
10-29 13:13:38.035: E/AndroidRuntime(8356): at java.lang.Thread.run(Thread.java:856)
10-29 13:13:38.040: E/android.os.Debug(2098): !@Dumpstate > dumpstate -k -t -n -z -d -o /data/log/dumpstate_app_error
10-29 13:13:38.040: W/ActivityManager(2098): Force finishing activity com.example.quanquan/.UserInfoActivity
另一个相似的函数,调用正常:/*
* 注册时,检测id是否已被注册,未注册则进行注册操作
* 输入:请求路径,账号,密码发送至服务器
* 输出:是否1/0注册成功
* */
public static int regIdCheck(String UriPath,String id,String pwd) throws IOException, ClassNotFoundException
{
int flag;//id是否被注册的标志,0表示未被注册,1表示已注册
StringBuilder sb=new StringBuilder(UriPath);
sb.append('?').append("id=").append(id).append('&').append("pwd=").append(pwd);
String realUriPath=sb.toString();
Log.i("realUriPath", realUriPath);
URL url=new URL(realUriPath);
HttpURLConnection conn=(HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setDoInput(true);
conn.connect();
BufferedReader in=new BufferedReader(new InputStreamReader(conn.getInputStream()));
flag=in.read();
Log.i("quanquan",String.valueOf(flag));
Global.flagReg=1;
in.close();
conn.disconnect();
return flag;
}
求解呀大大们
两个几乎相同的函数,一个出错,一个正常。下面是源码:出错的函数:public static User searchUserInfo(String UriPath,String id) throws StreamCorruptedException, IOException, ClassNotFoundException
{
StringBuilder sb=new StringBuilder(UriPath);
sb.append('?').append("id=").append(id);
String realUriPath=sb.toString();
Log.i("realUriPath", realUriPath);
URL url=new URL(realUriPath);
HttpURLConnection conn=(HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setDoInput(true);
conn.connect();//报错指向这条语句
ObjectInputStream in=new ObjectInputStream(conn.getInputStream());
User user=(User)in.readObject();
in.close();
conn.disconnect();
Global.flagSearchUserInfo=1;
return user;
}
报错信息:
10-29 13:13:38.035: E/AndroidRuntime(8356): FATAL EXCEPTION: Thread-3433
10-29 13:13:38.035: E/AndroidRuntime(8356): java.lang.NullPointerException
10-29 13:13:38.035: E/AndroidRuntime(8356): at libcore.net.http.HttpConnection$Address.hashCode(HttpConnection.java:343)
10-29 13:13:38.035: E/AndroidRuntime(8356): at java.util.HashMap.get(HashMap.java:298)
10-29 13:13:38.035: E/AndroidRuntime(8356): at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:67)
10-29 13:13:38.035: E/AndroidRuntime(8356): at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
10-29 13:13:38.035: E/AndroidRuntime(8356): at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:308)
10-29 13:13:38.035: E/AndroidRuntime(8356): at libcore.net.http.HttpEngine.connect(HttpEngine.java:303)
10-29 13:13:38.035: E/AndroidRuntime(8356): at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:282)
10-29 13:13:38.035: E/AndroidRuntime(8356): at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:232)
10-29 13:13:38.035: E/AndroidRuntime(8356): at libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:80)
10-29 13:13:38.035: E/AndroidRuntime(8356): at libcore.net.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:188)
10-29 13:13:38.035: E/AndroidRuntime(8356): at com.quanquan.transmit.TransmitTool.searchUserInfo2(TransmitTool.java:361)
10-29 13:13:38.035: E/AndroidRuntime(8356): at com.example.quanquan.UserInfoActivity$2.run(UserInfoActivity.java:134)
10-29 13:13:38.035: E/AndroidRuntime(8356): at java.lang.Thread.run(Thread.java:856)
10-29 13:13:38.040: E/android.os.Debug(2098): !@Dumpstate > dumpstate -k -t -n -z -d -o /data/log/dumpstate_app_error
10-29 13:13:38.040: W/ActivityManager(2098): Force finishing activity com.example.quanquan/.UserInfoActivity
另一个相似的函数,调用正常:/*
* 注册时,检测id是否已被注册,未注册则进行注册操作
* 输入:请求路径,账号,密码发送至服务器
* 输出:是否1/0注册成功
* */
public static int regIdCheck(String UriPath,String id,String pwd) throws IOException, ClassNotFoundException
{
int flag;//id是否被注册的标志,0表示未被注册,1表示已注册
StringBuilder sb=new StringBuilder(UriPath);
sb.append('?').append("id=").append(id).append('&').append("pwd=").append(pwd);
String realUriPath=sb.toString();
Log.i("realUriPath", realUriPath);
URL url=new URL(realUriPath);
HttpURLConnection conn=(HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setDoInput(true);
conn.connect();
BufferedReader in=new BufferedReader(new InputStreamReader(conn.getInputStream()));
flag=in.read();
Log.i("quanquan",String.valueOf(flag));
Global.flagReg=1;
in.close();
conn.disconnect();
return flag;
}
求解呀大大们
解决方案 »
- 如何以程序的方式加载adobe reader阅读器
- 现在android kernel 还能下载么?
- 如何更改程序默认打开方式
- 求教 android popupwindow播放视频问题
- android如何访问自定义包中的类
- progressbar 怎么 不会动态刷新进度??
- 跪求android手机的驱动和middleware开发的相关资料
- 国内发布应用一般发布在那个应用商店
- [求教]singletask的activity接收到错误的intent
- 求大佬救命!用Service播放音乐时,如何根据其他页面传输过来的字符串指定播放哪首音乐?
- 求解!!Android拍照和剪切功能不能使用
- android怎么调用系统自带的图库打开指定目录的相册
这个好像是一个bug!