Json对象与android集成

2024-01-07

我用过这个代码http://www.androidhive.info/2012/05/how-to-connect-android-with-php-mysql/ http://www.androidhive.info/2012/05/how-to-connect-android-with-php-mysql/对于 GCM 。但是每当我单击查看或创建新的产品按钮时都会遇到麻烦。我已经检查了教程下面描述的解决方案,但这并不能解决我的问题。这是我的

02-14 20:06:09.775: W/KeyCharacterMap(738): No keyboard for id 0
02-14 20:06:09.775: W/KeyCharacterMap(738): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
02-14 20:06:13.105: E/JSON Parser(738): Error parsing data org.json.JSONException: Value <!DOCTYPE of type java.lang.String cannot be converted to JSONObject
02-14 20:06:13.105: W/dalvikvm(738): threadid=9: thread exiting with uncaught exception (group=0x40015560)
02-14 20:06:13.115: E/AndroidRuntime(738): FATAL EXCEPTION: AsyncTask #1
02-14 20:06:13.115: E/AndroidRuntime(738): java.lang.RuntimeException: An error occured while executing doInBackground()
02-14 20:06:13.115: E/AndroidRuntime(738):  at android.os.AsyncTask$3.done(AsyncTask.java:200)
02-14 20:06:13.115: E/AndroidRuntime(738):  at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:274)
02-14 20:06:13.115: E/AndroidRuntime(738):  at java.util.concurrent.FutureTask.setException(FutureTask.java:125)
02-14 20:06:13.115: E/AndroidRuntime(738):  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:308)
02-14 20:06:13.115: E/AndroidRuntime(738):  at java.util.concurrent.FutureTask.run(FutureTask.java:138)
02-14 20:06:13.115: E/AndroidRuntime(738):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
02-14 20:06:13.115: E/AndroidRuntime(738):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
02-14 20:06:13.115: E/AndroidRuntime(738):  at java.lang.Thread.run(Thread.java:1019)
02-14 20:06:13.115: E/AndroidRuntime(738): Caused by: java.lang.NullPointerException
02-14 20:06:13.115: E/AndroidRuntime(738):  at com.example.androidhive.AllProductsActivity$LoadAllProducts.doInBackground(AllProductsActivity.java:130)
02-14 20:06:13.115: E/AndroidRuntime(738):  at com.example.androidhive.AllProductsActivity$LoadAllProducts.doInBackground(AllProductsActivity.java:1)
02-14 20:06:13.115: E/AndroidRuntime(738):  at android.os.AsyncTask$2.call(AsyncTask.java:185)
02-14 20:06:13.115: E/AndroidRuntime(738):  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
02-14 20:06:13.115: E/AndroidRuntime(738):  ... 4 more
02-14 20:06:14.213: E/WindowManager(738): Activity com.example.androidhive.AllProductsActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@405375e0 that was originally added here
02-14 20:06:14.213: E/WindowManager(738): android.view.WindowLeaked: Activity com.example.androidhive.AllProductsActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@405375e0 that was originally added here
02-14 20:06:14.213: E/WindowManager(738):   at android.view.ViewRoot.<init>(ViewRoot.java:258)
02-14 20:06:14.213: E/WindowManager(738):   at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148)
02-14 20:06:14.213: E/WindowManager(738):   at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
02-14 20:06:14.213: E/WindowManager(738):   at android.view.Window$LocalWindowManager.addView(Window.java:424)
02-14 20:06:14.213: E/WindowManager(738):   at android.app.Dialog.show(Dialog.java:241)
02-14 20:06:14.213: E/WindowManager(738):   at com.example.androidhive.AllProductsActivity$LoadAllProducts.onPreExecute(AllProductsActivity.java:117)
02-14 20:06:14.213: E/WindowManager(738):   at android.os.AsyncTask.execute(AsyncTask.java:391)
02-14 20:06:14.213: E/WindowManager(738):   at com.example.androidhive.AllProductsActivity.onCreate(AllProductsActivity.java:57)
02-14 20:06:14.213: E/WindowManager(738):   at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
02-14 20:06:14.213: E/WindowManager(738):   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
02-14 20:06:14.213: E/WindowManager(738):   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
02-14 20:06:14.213: E/WindowManager(738):   at android.app.ActivityThread.access$1500(ActivityThread.java:117)
02-14 20:06:14.213: E/WindowManager(738):   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
02-14 20:06:14.213: E/WindowManager(738):   at android.os.Handler.dispatchMessage(Handler.java:99)
02-14 20:06:14.213: E/WindowManager(738):   at android.os.Looper.loop(Looper.java:123)
02-14 20:06:14.213: E/WindowManager(738):   at android.app.ActivityThread.main(ActivityThread.java:3683)
02-14 20:06:14.213: E/WindowManager(738):   at java.lang.reflect.Method.invokeNative(Native Method)
02-14 20:06:14.213: E/WindowManager(738):   at java.lang.reflect.Method.invoke(Method.java:507)
02-14 20:06:14.213: E/WindowManager(738):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
02-14 20:06:14.213: E/WindowManager(738):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
02-14 20:06:14.213: E/WindowManager(738):   at dalvik.system.NativeStart.main(Native Method)
02-14 20:06:25.245: I/Process(738): Sending signal. PID: 738 SIG: 9

这是我的异步任务代码---

/**
     * Background Async Task to Load all product by making HTTP Request
     * */
    class LoadAllProducts extends AsyncTask<String, String, String> {

        /**
         * Before starting background thread Show Progress Dialog
         * */
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            pDialog = new ProgressDialog(AllProductsActivity.this);
            pDialog.setMessage("Loading products. Please wait...");
            pDialog.setIndeterminate(false);
            pDialog.setCancelable(false);
            pDialog.show();
        }

        /**
         * getting All products from url
         * */
        protected String doInBackground(String... args) {
            // Building Parameters
            List<NameValuePair> params = new ArrayList<NameValuePair>();
            // getting JSON string from URL
            JSONObject json = jParser.makeHttpRequest(url_all_products, "GET", params);

            // Check your log cat for JSON reponse
            Log.d("All Products: ", json.toString());

            try {
                // Checking for SUCCESS TAG
                int success = json.getInt(TAG_SUCCESS);

                if (success == 1) {
                    // products found
                    // Getting Array of Products
                    products = json.getJSONArray(TAG_PRODUCTS);

                    // looping through All Products
                    for (int i = 0; i < products.length(); i++) {
                        JSONObject c = products.getJSONObject(i);

                        // Storing each json item in variable
                        String id = c.getString(TAG_PID);
                        String name = c.getString(TAG_NAME);

                        // creating new HashMap
                        HashMap<String, String> map = new HashMap<String, String>();

                        // adding each child node to HashMap key => value
                        map.put(TAG_PID, id);
                        map.put(TAG_NAME, name);

                        // adding HashList to ArrayList
                        productsList.add(map);
                    }
                } else {
                    // no products found
                    // Launch Add New product Activity
                    Intent i = new Intent(getApplicationContext(),
                            NewProductActivity.class);
                    // Closing all previous activities
                    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    startActivity(i);
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }

            return null;
        }

        /**
         * After completing background task Dismiss the progress dialog
         * **/
        protected void onPostExecute(String file_url) {
            // dismiss the dialog after getting all products
            pDialog.dismiss();
            // updating UI from Background Thread
            runOnUiThread(new Runnable() {
                public void run() {
                    /**
                     * Updating parsed JSON data into ListView
                     * */
                    ListAdapter adapter = new SimpleAdapter(
                            AllProductsActivity.this, productsList,
                            R.layout.list_item, new String[] { TAG_PID,
                                    TAG_NAME},
                            new int[] { R.id.pid, R.id.name });
                    // updating listview
                    setListAdapter(adapter);
                }
            });

        }

    }

在做了本所说的事情之后......错误的长度减少了......现在只有这个错误 -

02-14 20:39:06.094: E/JSON Parser(1182): Error parsing data org.json.JSONException: Value <!DOCTYPE of type java.lang.String cannot be converted to JSONObject
02-14 20:39:06.094: W/dalvikvm(1182): threadid=9: thread exiting with uncaught exception (group=0x40015560)
02-14 20:39:06.104: E/AndroidRuntime(1182): FATAL EXCEPTION: AsyncTask #1
02-14 20:39:06.104: E/AndroidRuntime(1182): java.lang.RuntimeException: An error occured while executing doInBackground()
02-14 20:39:06.104: E/AndroidRuntime(1182):     at android.os.AsyncTask$3.done(AsyncTask.java:200)
02-14 20:39:06.104: E/AndroidRuntime(1182):     at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:274)
02-14 20:39:06.104: E/AndroidRuntime(1182):     at java.util.concurrent.FutureTask.setException(FutureTask.java:125)
02-14 20:39:06.104: E/AndroidRuntime(1182):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:308)
02-14 20:39:06.104: E/AndroidRuntime(1182):     at java.util.concurrent.FutureTask.run(FutureTask.java:138)
02-14 20:39:06.104: E/AndroidRuntime(1182):     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
02-14 20:39:06.104: E/AndroidRuntime(1182):     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
02-14 20:39:06.104: E/AndroidRuntime(1182):     at java.lang.Thread.run(Thread.java:1019)
02-14 20:39:06.104: E/AndroidRuntime(1182): Caused by: java.lang.NullPointerException
02-14 20:39:06.104: E/AndroidRuntime(1182):     at com.example.androidhive.AllProductsActivity$LoadAllProducts.doInBackground(AllProductsActivity.java:137)
02-14 20:39:06.104: E/AndroidRuntime(1182):     at com.example.androidhive.AllProductsActivity$LoadAllProducts.doInBackground(AllProductsActivity.java:1)
02-14 20:39:06.104: E/AndroidRuntime(1182):     at android.os.AsyncTask$2.call(AsyncTask.java:185)
02-14 20:39:06.104: E/AndroidRuntime(1182):     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
02-14 20:39:06.104: E/AndroidRuntime(1182):     ... 4 more

这是主要错误:

Caused by: java.lang.NullPointerException at 
com.example.androidhive.AllProductsActivity$LoadAllProducts.doInBackground(AllProductsActivity.java:130)

无论 doInBackground 方法第 130 行发生什么,都会导致 nullPointer。

请指出您的代码中哪一行是 130 。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Json对象与android集成 的相关文章

  • MutableStateflow 值、更新、发出

    假设我有一个可变状态流 https kotlin github io kotlinx coroutines kotlinx coroutines core kotlinx coroutines flow mutable state flow
  • WAMP 不显示目录列表中的图标

    过去 我通过 vmware 处理 PHP 代码 但最近我决定转而通过 WAMP 在 Windows 8 1 上 在本地进行处理 我创建了一个空文件夹tests in the www folder 然后在我的浏览器上输入http localh
  • 检测设备方向

    我需要检测 Android 设备方向变化 而无需手动处理传感器数据 同时保持活动方向坚持某个方向 onConfigurationChange不会起作用 因为会让我的活动不旋转 通过使用传感器数据来检测方向变化 我认为这是轮子的发明 因为 A
  • 何时调用 glMatrixMode()

    我所关注的大多数 Android OpenGL ES 教程都有其 onSurfaceChanged 函数 如下所示 public void onSurfaceChanged GL10 gl int width int height gl g
  • 添加 play-services-maps 依赖项自动添加 glEsVersion 2.0 要求

    我想融入Google Play Services Maps module 由于地图清单声明
  • 如何在 joomla 模块中通过 javascript 发送输入文件类型

    我想将带有 javascript 的文件发送到 php 文件 我的 php 文件中有这个表单
  • 疯狂的 crond 行为。不断使 bash 进程失效

    我有一个看起来像这样的 crontab SHELL bin bash PATH sbin bin usr sbin usr bin MAILTO root HOME 0 59 var www html private fivemin zda
  • 将压缩的json数据存储在本地存储中

    我想将 JSON 数据存储在本地存储中 有时存储的数据可能超过 5MB 每个域的浏览器允许的最大阈值 无论如何 我可以压缩或压缩数据并将其存储在本地存储中吗 如果对大数据进行每个 JS 函数的压缩和解压 会增加多少延迟 我正在使用这个 js
  • 在 MySQL 中搜索多个单词

    我使用 HTML 表单来允许用户查找数据库表中的条目
  • Fresco:滚动 RecyclerView 后图像消失

    我有一个 Horizo ntal RecyclerView 每个项目都有一个使用 Facebook Fresco 图像库加载到其中的图像 然而 虽然正确的图像最初是在屏幕上滚动一点时加载的 但当 RecyclerView 进一步滚动时 它就
  • 避免 SQLite3 中的 SQL 注入

    我正在尝试找出一种避免 SQL 注入的好简单方法 到目前为止我只能提出两个想法 对用户输入进行 Base64 编码 其实不想这样做 使用正则表达式删除不需要的字符 目前正在使用这个 不确定是否100 安全 这是我当前的代码
  • 无需下载整个文件即可读取 ID3 标签

    是否可以读取 MP3 文件的 ID3 标签 持续时间 艺术家 标题 而无需下载整个文件 我做了一些测试 只需下载 MP3 文件的几个字节就可以获得艺术家和标题标签 但我不确定持续时间和其他标签是否可能 Thanks 我刚刚发现 ffmpeg
  • DialogFragment 关闭事件

    我需要处理 DialogFragment 的结尾 在调用 dismiss 之后 例如 我会在关闭后 包含 片段的活动内显示一个 toast 我该如何处理该事件 覆盖onDismiss 在你的DialogFragment中 或者使用setOn
  • 用户通过 firebase 动态链接安装应用程序并在应用程序抽屉上打开应用程序后,如何获得深层链接?

    我正在使用 firebase 动态链接邀请朋友使用我的应用程序 一切都很好 单击邀请链接会将我带到 Playstore 当我安装应用程序并等待其完成时 Playstore 会向我显示 继续 按钮 当我单击此按钮时 应用程序将打开 并且我会收
  • PHP - 查找和比较日期

    你好 我有 foreach 我可以在其中获取数据库中的事件数据 我使用数据库中的日期名称 例如 event date 我需要在一个 div 中比较具有相同日期和输出的操作 例如我有这个事件 活动一 9 月 13 日 活动二 9 月 1 日
  • 如何以编程方式检测android中可用的底部软导航栏?

    我试图通过 android 程序确定软导航栏 我没有找到直接的方法来确定 有没有办法找到导航栏的可用性 软导航栏图像在这里 以下方法对我有用并在许多设备上进行了测试 public boolean hasNavBar Resources re
  • PHP 除法浮点值问题

    当我尝试获取余数时 它给出了无效值 我试图获得两位小数的余数 我得到 3 4694469519536E 18 我的价值观是 x 0 1 y 0 005 我尝试了以下方法 echo ed fmod 0 1 0 005 OutPut 3 469
  • FCM 主题是否适合更多用户?

    我对使用主题消息有点困惑 我的场景是根据通知触发一些作业 请帮助我更多地了解这一点 如果我们正在处理大量用户 则可以使用 FCM 主题向用户发送通知 我们可以只使用数据消息和主题消息吗 使用主题发送的消息是否保证送达 我在 FCM 文档中看
  • Retrofit 2.0:预期为 BEGIN_OBJECT,但在第 1 行第 1 列路径 $ [重复] 处为 STRING

    这个问题在这里已经有答案了 我在邮递员上传递了更新用户请求并获得了成功的响应 参见图片 现在当我尝试使用 Retrofit 2 在我的应用程序中执行相同操作时 出现错误 com google gson JsonSyntaxException
  • FCM(Firebase Cloud Messaging)如何发送到所有手机?

    我创建了一个小型应用程序 能够从 FCM 控制台接收推送通知 我现在想做的是向所有使用 API 安装应用程序的 Android 手机发送推送通知 这就是我完全迷失的地方 有没有办法在不收集所有注册ID的情况下将其发送到所有手机 这是否仅适用

随机推荐

  • 在 MATLAB for Mac 中启用选项键快捷键

    自 R2009b 以来 MATLAB 通过其出色的可自定义键盘快捷键键盘快捷键首选项 http blogs mathworks com desktop 2009 09 28 configurable keyboard shortcuts h
  • 边框阴影问题

    我面临的问题是仅在多个 div 的左侧和右侧添加框阴影 我已经尝试过这个方法了 这是一 例子 http jsfiddle net Qq5tQ 我想要的 但它只适用于单个 div 并没有帮助我 我的代码有几个主要块 IE div div cl
  • 在 VS Code 中构建 SQL Server 项目

    我创建了一个 SQL Server 项目 sqlproj 在 Visual Studio 中并已将其加载到 VS Code 中 使用MS SQL 扩展 https github com microsoft vscode mssql 我可以连
  • JavaFX 应用程序中出现意外的 ArrayIndexOutOfBoundsException,未引用任何数组

    我有以下代码 public void setContent Importer3D importer if DEBUG System out println Initialization of Mesh s arrays coords imp
  • 如何在 iOS 中打开系统字体的高易读性替代?

    我想使用 Swift 3 1 在 UITextView 中激活 San Francisco 字体的高易读性替代样式集 我设法找到了一种在 UITextView 中激活高易读性替代项的解决方案 TextViewController swift
  • 序列化列表的好方法? - JavaScript/AJAX

    只是想问这个问题 因为 stackoverflow 上总是会出现珠宝 我所拥有的是以下列表 list1 command arg1 arg2 command2 arg1 您建议如何将其转换为字符串以便作为 ONE GET 参数传递 e g h
  • 在 Visual Studio 中,如何设置整个文件夹的构建操作?

    我在 Visual Studio 中有一个项目 我需要将一些第三方文件与我的代码一起部署 通常 我会将此文件放在 资源 目录中 并将每个文件的 生成操作 设置为 内容 将 复制到输出目录 设置为 如果较新则复制 无论如何 我可以在文件夹级别
  • Struts2:国际化 s:date?

  • Azure CosmosDB:文档 ID 中存在非法字符

    我遇到的问题是 基于某些输入生成的 ID 包含字符 这会导致更新插入操作期间出现错误 因为文档 ID 中不允许使用 除此之外还有哪些字符是不允许的 遇到这样的情况有什么方法可以处理呢 非法字符是 see https learn micros
  • 从异常中获取异常类型

    我有一个应用程序将 SAP 与 RFC 调用连接起来 并且在尝试与 SAP 建立 RFC 调用时 我需要在连接失败时向用户显示通知 我收到以下异常 SAP Middleware Connector RfcCommunicationExcep
  • Woocommerce API 获取所有产品

    我尝试从 API 获取带有一些参数的产品 我用了WooCommerce API Java 包装器 https github com icoderman wc api java 带有 OAuth 1 0 的 REST API 简单的 getA
  • Xcode 中的色调是什么?

    非常基本的问题 我找不到答案 Xcode 中的色调是什么 为什么所有视图的默认色调都是蓝色 它有什么影响 我注意到这些视图中某些图像的颜色看起来不太正确 除非我将色调设置为白色 并且仅仅因为我不明白它的作用而必须将每个新视图的色调设置为白色
  • Android Studio 3.6 中的 Gradle 同步失败导致无效类型代码:85

    我刚刚将 Android Studio 从版本 3 5 3 更新到 3 6 现在我打开任何项目 我都会看到此错误 并且 gradle 不同步 我也有同样的问题 我通过更改我使用的 JDK 版本 JDK 13 解决了这个问题 Go to 文件
  • dplyr 从any_vars()过滤条件创建新的布尔变量

    我想根据多个变量的条件创建一个布尔变量 如第二个答案所示这个问题 https stackoverflow com questions 28233561 finding rows containing a value or values in
  • Spring Integration Kafka 与 Spring Kafka

    我们正在尝试在工作者 Spring 应用程序和消费者 Spring 应用程序之间实现消息通道 同一消费者在多个 JVM 上会有副本 使用 Java 配置 Spring 集成的文档有限 我能够找到 Spring Kafka 的文档 我不太确定
  • P 与 NP 澄清

    引自维基百科 P vs NP 问题 关于算法的时间复杂度 询问是否每一个其解决方案可以被计算机快速验证的问题也可以被计算机快速解决 我希望有人能澄清 验证问题 和 解决问题 之间的区别 我希望有人能澄清 验证问题 和 解决问题 之间的区别
  • 从 gridview 对象获取父列表视图

    在 WPF 应用程序的代码隐藏中 我有一个包含 GridView 的变量 我确信这个 GridView 是 ListView 的视图 有什么方法可以获取 ListView 的引用吗 Thanks http www hardcodet net
  • 如何在 Apache httpd 中将特定 URL 路由到 http 和 https,将其他 URL 路由到 https

    我需要路由特定的网址 gapp via http and https和其他网址 例如 aapp bapp capp其余的通过https 我已成功将所有内容路由到 https 但无法路由 gapp到http 下面是我的配置
  • 如何在仅垂直滚动窗格中布局组件?

    我有一个复杂的问题 我无法在任何地方找到答案 这是一个例子 public static void main final String args final JFrame frame new JFrame test final JPanel
  • Json对象与android集成

    我用过这个代码http www androidhive info 2012 05 how to connect android with php mysql http www androidhive info 2012 05 how to