Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JSONArray无法获取Android SDK的所有值_Android_Json - Fatal编程技术网

JSONArray无法获取Android SDK的所有值

JSONArray无法获取Android SDK的所有值,android,json,Android,Json,我正在尝试将所有已安装的应用程序列表(包名)放入Android中的JSONArray中。arrar无法获取所有应用程序,并且正在被com截断 以下是我正在使用的代码: //get apps list from phone and populate <br> final PackageManager packageManager = getPackageManager(); <br> //get a list of installed apps. <b

我正在尝试将所有已安装的应用程序列表(包名)放入Android中的JSONArray中。arrar无法获取所有应用程序,并且正在被com截断

以下是我正在使用的代码:

//get apps list from phone and populate <br>
    final PackageManager packageManager = getPackageManager(); <br>
    //get a list of installed apps. <br>
    List<ApplicationInfo> installedApplications = packageManager.getInstalledApplications(PackageManager.GET_META_DATA); <br>
    int count= 0; <br>
    JSONArray jarr_appname = new JSONArray(); <br>
    JSONArray jarr_packagename = new JSONArray(); <br>
    for (ApplicationInfo appInfo : installedApplications) { <br>
        jarr_appname.put(appInfo.loadLabel(packageManager)); <br>
        Log.d("OUTPUT", "Package name : " + appInfo.packageName); <br>
        jarr_packagename.put(appInfo.packageName); <br>
        Log.d("OUTPUT", "Name: " + appInfo.loadLabel(packageManager)); <br>
        count += 1; <br>
        System.out.println("Total Apps count " + count); <br>
        } <br>
    System.out.println("App Name in json array" + jarr_appname); <br>
    System.out.println("Package Name in json array" + jarr_packagename); <br>
//从手机获取应用列表并填充
最终PackageManager PackageManager=getPackageManager()
//获取已安装应用程序的列表
列出已安装的应用程序=packageManager.getInstalledApplications(packageManager.GET_元数据)
整数计数=0
JSONArray jarr_appname=new JSONArray()
JSONArray jarr_packagename=新的JSONArray()
对于(ApplicationInfo appInfo:installedApplications){
jarr_appname.put(appInfo.loadLabel(packageManager));
Log.d(“输出”,“包名称:”+appInfo.packageName);
jarr_packagename.put(appInfo.packagename);
Log.d(“输出”,“名称:”+appInfo.loadLabel(packageManager));
计数+=1;
System.out.println(“应用程序总数”+计数);
}
System.out.println(“json数组中的应用程序名”+jarr_appname)
System.out.println(“json数组中的包名”+jarr_packagename)
输出:


07-22 15:05:09.566:I/System.out(17395):应用程序总数173
07-22 15:05:09.566:I/System.out(17395):json数组中的应用程序名称[“棍棒网球”、“BBC媒体”、“所有剩余的*/、“我的网络”]
07-22 15:05:09.566:I/System.out(17395):json数组中的包名[“air.com.sticksports.sticktennis”,“air.uk.co,bbc.android.mediaplayer”,“所有剩余的*/,“com.paypal.android.p2mobile”,“com”

请注意,“json数组中的包名”中的最后一个包名以“com”开头,之后没有其他名称。 有谁能告诉我我遗漏了什么吗


如果您正在使用eclipse,请立即使用 窗口>首选项,转到运行/调试>控制台部分,然后您将看到一个选项“限制控制台输出”。在这里您可以更改大小


另一种方法是使用调试模式并找到json变量的值…它会为您提供完整的json。

请检查json。我想单个日志有一个限制(长度)。您的意思是Sys.out日志有限制吗?我不确定Sys.out,但我想我在某处读到了关于
log.i
的内容。我能够获得所有应用程序名称列表(173)jarr_appname。所以我不明白在同一个文件中显示包名有什么问题Sysout@JPro--我想Raghunandan想说的是,日志可以打印的字符数是有限制的。它与包名或其他无关。