我正在使用一个宁静的网络服务,它将数据从sql server返回到我的Android应用程序,如果我得到100条记录就可以了,但是如果得到1,000条记录,我的日志会显示不完整和破坏的json。
@Override
public ArrayList<CRM_table> doInBackground(Void... params) {
RestAPI api = new RestAPI();
RestAPI api = new RestAPI();
try {
Log.e( "In background try block","yee");
JSONObject jsonObj = api.GetDoctors(num);
JSONParser parser = new JSONParser();
Log.e( "doc list", jsonObj.toString());
//table = parser.parseCrmTable(jsonObj);
int itemCount = table.size();
Log.d("total records",Integer.toString(itemCount));
} catch (Exception e) {
Log.e( "bg error", e.getMessage());
}
return table;
}
答案 0 :(得分:1)
在您的代码&#34; doc list&#34;日志可能被截断。 &#34;总记录&#34;是一个整数,所以它被截断了。
记录&#34; jsonObj&#34;唯一的方法是将其存储在一个文件中。 您必须添加写入外部存储的权限:
<manifest ...>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
...
</manifest>
然后将您的对象放入文件中:
// Get the directory for the app's private pictures directory.
File file = new File(context.getExternalFilesDir(
Environment.DIRECTORY_xxxxxx), fileName);
if (!file.mkdirs()) {
Log.e(LOG_TAG, "Directory not created");
}
BufferedWriter writer = null;
try
{
writer = new BufferedWriter( new FileWriter( file));
writer.write( yourstring);
}
catch ( IOException e)
{
}
finally
{
try
{
if ( writer != null)
writer.close( );
}
catch ( IOException e)
{
}
}