मैं gson का उपयोग कर की जरूरत है json स्ट्रिंग deserialize करने के लिए एक Android ऐप्लिकेशन लिख रहा हूँ जारी:Gson नल पॉइंटर deserialize apk
{
"reply_code": 001,
"userinfo": {
"username": "002",
"userip": 003
}
}
तो मैं दो वर्गों बनाने के लिए:
public class ReturnData {
public String reply_code;
public userinfo userinfo;
}
public class userinfo {
public String username;
public String userip;
}
अंत में, मेरे जावा MainActivity.java में कोड:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Context context= MainActivity.this;
//Test JSON
String JSON="{\"reply_code\": 001,\"userinfo\": {\"username\": \"002\",\"userip\": 003}}";
Gson gson = new Gson();
ReturnData returnData=gson.fromJson(JSON,ReturnData.class);
if(returnData.reply_code==null)
Toast.makeText(context,"isNULL",Toast.LENGTH_SHORT).show();
else
Toast.makeText(context,"notNULL",Toast.LENGTH_SHORT).show();
}
क्या मुझे उलझन में बनाई गई है, जब मैं अनुप्रयोग डिबग, यह अच्छी तरह से भाग गया और उत्पादन "notNULL" मैं सीए n देखें कि ऑब्जेक्ट के प्रत्येक एट्रिब्यूशन को ठीक से deserialized किया गया है। हालांकि, जब मैंने एंड्रॉइड स्टूडियो से एपीके जारी किया और फोन पर एपीके चलाया, तो यह आउटपुट "आईएसएनयूएलएल" था, जेसन रिज़ॉल्यूशन असफल रहा!
मुझे कौन बता सकता है कि क्या हुआ ?!
पुनश्च: build.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 19
buildToolsVersion "19.1"
defaultConfig {
applicationId "com.padeoe.autoconnect"
minSdkVersion 14
targetSdkVersion 21
versionCode 1
versionName "2.1.4"
}
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile files('src/gson-2.3.1.jar')
}
प्रोजेरड फ़ाइल दिखाएं। –
@No नाम क्या आपका मतलब build.gradle है? मैंने अभी अपलोड किया है। – padeoe
कोई शो 'proguard-android।txt 'file –