无法使用JSON连接到连接和Android应用程序到sqlserver

编程入门 行业动态 更新时间:2024-10-28 10:33:17
本文介绍了无法使用JSON连接到连接和Android应用程序到sqlserver的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

大家好我是Android的新手,但我的安卓问题连接我的Android应用程序使用JSON..i加载模拟器我在调用认证功能时遇到这些错误..

07-20 20:55:48.871:D / AndroidRuntime(2082):关闭VM 07-20 20:55:48.872:E / AndroidRuntime(2082):致命异常:主 07-20 20:55:48.872:E / AndroidRuntime(2082):进程:com.example.tropical,PID:2082 07-20 20:55:48.872:E / AndroidRuntime(2082):java .lang.NullPointerException:尝试在空对象引用上调用虚拟方法'android.content.res.Resources android.content.Context.getResources()' 07-20 20:55:48.872:E / AndroidRuntime( 2082):在android.widget.Toast。< init>(Toast.java:101) 07-20 20:55:48.872:E / AndroidRuntime(2082):在android.widget.Toast.makeText( Toast.java:250) 07-20 20:55:48.872:E / AndroidRuntime(2082):at com.example.tropical.Login $ AsyncLogin.onPreExecute(Login.java:87) 07 -20 20:55:48.872:E / AndroidRuntime(2082):在android.os.AsyncTask.executeOnExecutor(AsyncTask.java:587) 07-20 20:55:48.872:E / AndroidRuntime(2082):在android.os.AsyncTask.execute(AsyncTask) .java:535) 07-20 20:55:48.872:E / AndroidRuntime(2082):at com.example.tropical.Login $ 1.onClick(Login.java:49) 07-20 20:55:48.872:E / AndroidRuntime(2082):在android.view.View.performClick(View.java:4756) 07-20 20:55:48.872:E / AndroidRuntime(2082):at android .view.View $ PerformClick.run(View.java:19749) 07-20 20:55:48.872:E / AndroidRuntime(2082):at android.os.Handler.handleCallback(Handler.java:739) 07-20 20:55:48.872:E / AndroidRuntime(2082):在android.os.Handler.dispatchMessage(Handler.java:95) 07-20 20:55:48.872:E / AndroidRuntime(2082):在android.os.Looper.loop(Looper.java:135) 07-20 20:55:48.872:E / AndroidRuntime(2082):在android.app.ActivityThread.main(ActivityThread) .java:5221) 07-20 20:55:48.872:E / AndroidRuntime(2082):at java.lang.reflect.Method.invoke(Nati ve方法) 07-20 20:55:48.872:E / AndroidRuntime(2082):at java.lang.reflect.Method.invoke(Method.java:372) 07-20 20:55 :48.872:E / AndroidRuntime(2082):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:899) 07-20 20:55:48.872:E / AndroidRuntime(2082) :at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 07-20 20:55:51.497:D / gralloc_goldfish(2101):未检测到GPU仿真的仿真器。 07-20 20:55:59.339:I / Choreographer(2101):跳过54帧!应用程序可能在其主线程上做了太多工作。

这是我的代码。 。

受保护 void onCreate(Bundle) savedInstanceState){ super .onCreate(savedInstanceState); setContentView(R.layout.activity_login); etUserName =(EditText)findViewById(R.id.txtUserID); etPassword =(EditText)findViewById(R.id.txtpswd); btnLogin =(Button)findViewById(R.id.btnlogin); // etUserName =(EditText)findViewById(R.id。) btnLogin.setOnClickListener( new View.OnClickListener(){ @ Override public void onClick(查看v){ // TODO自动生成的方法存根 String username = etUserName.getText()。toString(); String password = etPassword.getText()。toString(); // 执行AsyncLogin类 // 新的AsyncLogin()。执行(用户名,密码); AsyncLogin xx = new AsyncLogin(); xx.execute(用户名,密码); } }); } protected class AsyncLogin extends AsyncTask< string,> { String userName = null; @覆盖 protected 布尔值doInBackground( String ... params){ RestAPI api = new RestAPI(); boolean userAuth = false; 尝试 { // 在API中调用用户身份验证方法 JSONObject jsonObj = api.UserAuthetication(params [ 0 ], params [ 1 ]); // 将JSON对象解析为boolean JSONParser解析器= new JSONParser(); userAuth = parser.parseUserAuth(jsonObj); userName = params [ 0 ]; } catch (例外e){ // TODO自动生成的catch块 Log.d( AsyncLogin ,e.getMessage()); } 返回 userAuth;

} JSONObject java类中的代码

public JSONObject UserAuthetication( String UserName, String Pin) throws 异常{ JSONObject result = null; JSONObject o = new JSONObject(); JSONObject p = new JSONObject(); o.put( interface, RestAPI); o.put( method, UserAuthetication); p.put( UserName,mapObject(UserName)); p.put( Pin,mapObject(Pin)); o.put( parameters,p); String s = o.toString(); 字符串 r = load(s); result = new JSONObject(r); 返回结果; }

解决方案

AsyncLogin.onPreExecute(Login.java:87) 07-20 20:55:48.872:E / AndroidRuntime(2082):在android.os.AsyncTask.executeOnExecutor(AsyncTask.java:587) 07-20 20:55:48.872:E / AndroidRuntime(2082):at android .os.AsyncTask.execute(AsyncTask.java:535) 07-20 20:55:48.872:E / AndroidRuntime(2082):at com.example.tropical.Login

1.onClick(Login.java:49) 07-20 20:55:48.872:E / AndroidRuntime(2082):at android.view.View.performClick(View.java:4756) 07-20 20:55:48.872:E / AndroidRuntime(2082):在android.view.View

PerformClick.run(View.java:19749) 07- 20 20:55:48.872:E / AndroidRuntime(2082):在android.os.Handler.handleCallback(Handler.java:739) 07-20 20:55:48.872:E / AndroidRuntime(2082):at android.os.Handler.dispatchMessage(Handler.java:95) 07-20 20:55:48.872:E / AndroidRuntime(2082):在android.os.Looper.loop(Looper.java:135) 07-20 20:55:48.872:E / AndroidRuntime(2082):在android.app.ActivityThread.main(ActivityThread.java:5221) 07-20 20:55:48.872:E / AndroidRuntime( 2082):at java.lang.reflect.Method.invoke(Native Method) 07-20 20:55:48.872:E / AndroidRuntime(2082):at java.lang.reflect.Method.invoke(Method。 java:372) 07-20 20:55:48.872:E / AndroidRuntime(2082):at com.android.internal.os.ZygoteInit

Hello guys am new to android but am having problem connection my android app to sqlServer using JSON..i load the emulator i get these errors when am invoking the authetication function..

07-20 20:55:48.871: D/AndroidRuntime(2082): Shutting down VM 07-20 20:55:48.872: E/AndroidRuntime(2082): FATAL EXCEPTION: main 07-20 20:55:48.872: E/AndroidRuntime(2082): Process: com.example.tropical, PID: 2082 07-20 20:55:48.872: E/AndroidRuntime(2082): java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference 07-20 20:55:48.872: E/AndroidRuntime(2082): at android.widget.Toast.<init>(Toast.java:101) 07-20 20:55:48.872: E/AndroidRuntime(2082): at android.widget.Toast.makeText(Toast.java:250) 07-20 20:55:48.872: E/AndroidRuntime(2082): at com.example.tropical.Login$AsyncLogin.onPreExecute(Login.java:87) 07-20 20:55:48.872: E/AndroidRuntime(2082): at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:587) 07-20 20:55:48.872: E/AndroidRuntime(2082): at android.os.AsyncTask.execute(AsyncTask.java:535) 07-20 20:55:48.872: E/AndroidRuntime(2082): at com.example.tropical.Login$1.onClick(Login.java:49) 07-20 20:55:48.872: E/AndroidRuntime(2082): at android.view.View.performClick(View.java:4756) 07-20 20:55:48.872: E/AndroidRuntime(2082): at android.view.View$PerformClick.run(View.java:19749) 07-20 20:55:48.872: E/AndroidRuntime(2082): at android.os.Handler.handleCallback(Handler.java:739) 07-20 20:55:48.872: E/AndroidRuntime(2082): at android.os.Handler.dispatchMessage(Handler.java:95) 07-20 20:55:48.872: E/AndroidRuntime(2082): at android.os.Looper.loop(Looper.java:135) 07-20 20:55:48.872: E/AndroidRuntime(2082): at android.app.ActivityThread.main(ActivityThread.java:5221) 07-20 20:55:48.872: E/AndroidRuntime(2082): at java.lang.reflect.Method.invoke(Native Method) 07-20 20:55:48.872: E/AndroidRuntime(2082): at java.lang.reflect.Method.invoke(Method.java:372) 07-20 20:55:48.872: E/AndroidRuntime(2082): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 07-20 20:55:48.872: E/AndroidRuntime(2082): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 07-20 20:55:51.497: D/gralloc_goldfish(2101): Emulator without GPU emulation detected. 07-20 20:55:59.339: I/Choreographer(2101): Skipped 54 frames! The application may be doing too much work on its main thread.

And this is my code..

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); etUserName = (EditText) findViewById(R.id.txtUserID); etPassword = (EditText) findViewById(R.id.txtpswd); btnLogin = (Button) findViewById(R.id.btnlogin); //etUserName =(EditText)findViewById(R.id.) btnLogin.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub String username=etUserName.getText().toString(); String password=etPassword.getText().toString(); // Execute the AsyncLogin class //new AsyncLogin().execute(username,password); AsyncLogin xx = new AsyncLogin(); xx.execute(username,password); } }); } protected class AsyncLogin extends AsyncTask<string,> { String userName=null; @Override protected Boolean doInBackground(String... params) { RestAPI api = new RestAPI(); boolean userAuth = false; try { // Call the User Authentication Method in API JSONObject jsonObj = api.UserAuthetication(params[0], params[1]); //Parse the JSON Object to boolean JSONParser parser = new JSONParser(); userAuth = parser.parseUserAuth(jsonObj); userName=params[0]; } catch (Exception e) { // TODO Auto-generated catch block Log.d("AsyncLogin", e.getMessage()); } return userAuth;

} code in the JSONObject java class

public JSONObject UserAuthetication(String UserName,String Pin) throws Exception { JSONObject result = null; JSONObject o = new JSONObject(); JSONObject p = new JSONObject(); o.put("interface","RestAPI"); o.put("method", "UserAuthetication"); p.put("UserName",mapObject(UserName)); p.put("Pin",mapObject(Pin)); o.put("parameters", p); String s = o.toString(); String r = load(s); result = new JSONObject(r); return result; }

解决方案

AsyncLogin.onPreExecute(Login.java:87) 07-20 20:55:48.872: E/AndroidRuntime(2082): at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:587) 07-20 20:55:48.872: E/AndroidRuntime(2082): at android.os.AsyncTask.execute(AsyncTask.java:535) 07-20 20:55:48.872: E/AndroidRuntime(2082): at com.example.tropical.Login

1.onClick(Login.java:49) 07-20 20:55:48.872: E/AndroidRuntime(2082): at android.view.View.performClick(View.java:4756) 07-20 20:55:48.872: E/AndroidRuntime(2082): at android.view.View

PerformClick.run(View.java:19749) 07-20 20:55:48.872: E/AndroidRuntime(2082): at android.os.Handler.handleCallback(Handler.java:739) 07-20 20:55:48.872: E/AndroidRuntime(2082): at android.os.Handler.dispatchMessage(Handler.java:95) 07-20 20:55:48.872: E/AndroidRuntime(2082): at android.os.Looper.loop(Looper.java:135) 07-20 20:55:48.872: E/AndroidRuntime(2082): at android.app.ActivityThread.main(ActivityThread.java:5221) 07-20 20:55:48.872: E/AndroidRuntime(2082): at java.lang.reflect.Method.invoke(Native Method) 07-20 20:55:48.872: E/AndroidRuntime(2082): at java.lang.reflect.Method.invoke(Method.java:372) 07-20 20:55:48.872: E/AndroidRuntime(2082): at com.android.internal.os.ZygoteInit

更多推荐

无法使用JSON连接到连接和Android应用程序到sqlserver

本文发布于:2023-11-01 17:28:01,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1549949.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:连接到   应用程序   JSON   sqlserver   Android

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!