0
我想在android應用程序中顯示json內容,但它沒有讀取它。 我希望它獲得第一頁上的json文件中的「statusmessage」,並將它發送到下一頁並使用共享衝突顯示。 ,但它將返回「anon」作爲值而不是「Hi +2348055550055,爲了訪問此平臺將收取N20.00的訪問費用」。在mainactivity.java的對話框中。我沒有錯誤消息,它不是隻是返回值。在android中顯示json數據?
這是JSON文件
{headers:
[{
id: "4",
name: "GLO",
code: "GLO",
status: "Inactive",
statusMessage: "Hi +2348055550055, an ACCESS FEE of N20.00 will be charged in order to access this Platform"
}]
}
這是我的主要的java類
package com.mall.first;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.preference.PreferenceManager;
import android.util.Log;
import android.view.Window;
import android.widget.ImageView;
import android.widget.Toast;
import com.squareup.picasso.Picasso;
import org.apache.http.NameValuePair;
import org.json.JSONArray;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;
public class ActivitySplash extends Activity {
private ProgressDialog pDialog;
int flag=0;
JSONParser jsonParser = new JSONParser();
private static final String api = "http://10.0.2.2/angl/com.php";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().requestFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.splash);
ImageView image = (ImageView)findViewById(R.id.image1);
Picasso.with(getBaseContext()).load("http://api.dobox.tv/img/gloSplashScreen.png").into(image);
new CountDownTimer(5000,1000) {
@Override
public void onFinish() {
new loginAccess().execute();
Intent intent = new Intent(getBaseContext(), MainActivity.class);
startActivity(intent);
finish();
}
@Override
public void onTick(long millisUntilFinished) {
}
}.start();
}
class loginAccess extends AsyncTask<String, String, Boolean> {
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(ActivitySplash.this);
pDialog.setMessage("Login...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}
@Override
protected Boolean doInBackground(String... arg0) {
// TODO Auto-generated method stub
// Check for success tag
int success;
try {
List<NameValuePair> params = new ArrayList<NameValuePair>();
Log.d("request!", "starting");
JSONObject json = jsonParser.getJSONFromUrl(api);
// check your log for json response
Log.d("Login attempt", json.toString());
JSONArray categories = json.getJSONArray("headers");
for (int i = 0; i < categories.length(); i++) {
String state = categories.getJSONObject(i).getString("state");
String status = categories.getJSONObject(i).getString("status");
SharedPreferences sp = PreferenceManager
.getDefaultSharedPreferences(ActivitySplash.this);
SharedPreferences.Editor edit = sp.edit();
edit.putString("state", state);
edit.putString("status", status);
edit.commit();
// Close all views
}
}catch (Throwable e){
e.printStackTrace();
}
return true;
}
protected void onPostExecute(Boolean file_url) {
pDialog.dismiss();
if(flag==1)
Toast.makeText(ActivitySplash.this,"Please Enter Correct informations", Toast.LENGTH_LONG).show();
}
}
}
這是我的第二類
做了你的建議,它不再改變,因爲它不再移動到其他類 – arinze