2015-05-19 4 views
2

, поэтому я пытался создать простое приложение для входа, подключенное к моему серверу wampserver, следуя учебному курсу в Интернете, и он отлично работает, но проблема возникает, когда мое устройство не подключено к Интернету, и я не могу объясните, почему, но я уверен, что проблема в моей асинтете. Мне так нужна помощь, спасибо.Ошибка приложения, когда нет подключения к Интернету

вот мой login.java

package id.wanda.smkkkristenimmanuelii; 

import java.util.ArrayList; 
import java.util.List; 

import org.apache.http.NameValuePair; 
import org.apache.http.message.BasicNameValuePair; 
import org.json.JSONException; 
import org.json.JSONObject; 

import android.app.Activity; 
import android.app.ProgressDialog; 
import android.content.Intent; 
import android.os.AsyncTask; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.Toast; 

public class Login extends Activity implements OnClickListener { 

    private EditText user, pass; 
    private Button mSubmit; 

    // Progress Dialog 
    private ProgressDialog pDialog; 

    // JSON parser class 
    JSONParser jsonParser = new JSONParser(); 

    private static final String LOGIN_URL = "http://192.168.1.110:80/smkkimmanuel2/login.php"; 


    // JSON element ids from repsonse of php script: 
    private static final String TAG_SUCCESS = "success"; 
    private static final String TAG_MESSAGE = "message"; 
    private static final String TAG_LEVEL_AKSES = "level_akses"; 
    private static final String TAG_JABATAN = "jabatan"; 

    public static String level_akses = "5", jabatan = "", namaUser = ""; 
    public static String login_status = "false"; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_login); 

     // setup input fields 
     user = (EditText) findViewById(R.id.username); 
     pass = (EditText) findViewById(R.id.password); 

     // setup buttons 
     mSubmit = (Button) findViewById(R.id.btnLogin); 

     // register listeners 
     mSubmit.setOnClickListener(this); 
    } 

    @Override 
    public void onBackPressed() { 
     Login.this.finish(); 
     startActivity(new Intent(this, MenuUtama.class)); 
    } 

    @Override 
    public void onClick(View v) { 
     switch (v.getId()) { 
     case R.id.btnLogin: 
      new AttemptLogin().execute(); 
      break; 
     default: 
      break; 
     } 
    } 

    class AttemptLogin extends AsyncTask<String, String, String> { 

     /** 
     * Before starting background thread Show Progress Dialog 
     * */ 
     boolean failure = false; 

     @Override 
     protected void onPreExecute() { 
      super.onPreExecute(); 
      pDialog = new ProgressDialog(Login.this); 
      pDialog.setMessage("Attempting login..."); 
      pDialog.setIndeterminate(false); 
      pDialog.setCancelable(true); 
      pDialog.show(); 
     } 

     @Override 
     protected String doInBackground(String... args) { 
      // TODO Auto-generated method stub 
      // Check for success tag 
      int success; 
      String levelaks, jabat; 
      String username = user.getText().toString(); 
      String password = pass.getText().toString(); 
      try { 
       // Building Parameters 
       List<NameValuePair> params = new ArrayList<NameValuePair>(); 
       params.add(new BasicNameValuePair("username", username)); 
       params.add(new BasicNameValuePair("password", password)); 

       Log.d("request!", "starting"); 
       // getting product details by making HTTP request 
       JSONObject json = jsonParser.makeHttpRequest(LOGIN_URL, "POST", 
         params); 

       // check your log for json response 
       Log.d("Login attempt", json.toString()); 

       // json success tag 
       success = json.getInt(TAG_SUCCESS); 
       if (success == 1) { 
        Log.d("Login Successful!", json.toString()); 

        levelaks = json.getString(TAG_LEVEL_AKSES); 
        jabat = json.getString(TAG_JABATAN); 

        level_akses = levelaks; 
        jabatan = jabat; 
        namaUser = username; 

        login_status = "true"; 

        Intent i = new Intent(Login.this, MenuUtama.class); 
        finish(); 
        startActivity(i); 
        return json.getString(TAG_MESSAGE); 
       } else { 
        Log.d("Login Failure!", json.getString(TAG_MESSAGE)); 
        return json.getString(TAG_MESSAGE); 

       } 
      } catch (JSONException e) { 
       e.printStackTrace(); 
      } 

      return null; 
     } 
    } 

    /** 
    * After completing background task Dismiss the progress dialog 
    * **/ 
    protected void onPostExecute(String file_url) { 
     // dismiss the dialog once product deleted 
     pDialog.dismiss(); 
     if (file_url != null) { 
      Toast.makeText(Login.this, file_url, Toast.LENGTH_LONG).show(); 
     } 

    } 


} 

и вот мой JSONParser.java:

package id.wanda.smkkkristenimmanuelii; 

import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStream; 
import java.io.InputStreamReader; 
import java.io.UnsupportedEncodingException; 
import java.util.List; 

import org.apache.http.HttpEntity; 
import org.apache.http.HttpResponse; 
import org.apache.http.NameValuePair; 
import org.apache.http.client.ClientProtocolException; 
import org.apache.http.client.entity.UrlEncodedFormEntity; 
import org.apache.http.client.methods.HttpGet; 
import org.apache.http.client.methods.HttpPost; 
import org.apache.http.client.utils.URLEncodedUtils; 
import org.apache.http.impl.client.DefaultHttpClient; 
import org.json.JSONException; 
import org.json.JSONObject; 

import android.util.Log; 

public class JSONParser { 

    static InputStream is = null; 
    static JSONObject jObj = null; 
    static String json = ""; 

    // constructor 
    public JSONParser() { 

    } 


    public JSONObject getJSONFromUrl(final String url) { 

     // Making HTTP request 
     try { 
      // Construct the client and the HTTP request. 
      DefaultHttpClient httpClient = new DefaultHttpClient(); 
      HttpPost httpPost = new HttpPost(url); 

      // Execute the POST request and store the response locally. 
      HttpResponse httpResponse = httpClient.execute(httpPost); 
      // Extract data from the response. 
      HttpEntity httpEntity = httpResponse.getEntity(); 
      // Open an inputStream with the data content. 
      is = httpEntity.getContent(); 

     } catch (UnsupportedEncodingException e) { 
      e.printStackTrace(); 
     } catch (ClientProtocolException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

     try { 
      // Create a BufferedReader to parse through the inputStream. 
      BufferedReader reader = new BufferedReader(new InputStreamReader(
        is, "iso-8859-1"), 8); 
      // Declare a string builder to help with the parsing. 
      StringBuilder sb = new StringBuilder(); 
      // Declare a string to store the JSON object data in string form. 
      String line = null; 

      // Build the string until null. 
      while ((line = reader.readLine()) != null) { 
       sb.append(line + "\n"); 
      } 

      // Close the input stream. 
      is.close(); 
      // Convert the string builder data to an actual string. 
      json = sb.toString(); 
     } catch (Exception e) { 
      Log.e("Buffer Error", "Error converting result " + e.toString()); 
     } 

     // Try to parse the string to a JSON object 
     try { 
      jObj = new JSONObject(json); 
     } catch (JSONException e) { 
      Log.e("JSON Parser", "Error parsing data " + e.toString()); 
     } 

     // Return the JSON Object. 
     return jObj; 

    } 


    // function get json from url 
    // by making HTTP POST or GET mehtod 
    public JSONObject makeHttpRequest(String url, String method, 
      List<NameValuePair> params) { 

     // Making HTTP request 
     try { 

      // check for request method 
      if(method == "POST"){ 
       // request method is POST 
       // defaultHttpClient 
       DefaultHttpClient httpClient = new DefaultHttpClient(); 
       HttpPost httpPost = new HttpPost(url); 
       httpPost.setEntity(new UrlEncodedFormEntity(params)); 

       HttpResponse httpResponse = httpClient.execute(httpPost); 
       HttpEntity httpEntity = httpResponse.getEntity(); 
       is = httpEntity.getContent(); 

      }else if(method == "GET"){ 
       // request method is GET 
       DefaultHttpClient httpClient = new DefaultHttpClient(); 
       String paramString = URLEncodedUtils.format(params, "utf-8"); 
       url += "?" + paramString; 
       HttpGet httpGet = new HttpGet(url); 

       HttpResponse httpResponse = httpClient.execute(httpGet); 
       HttpEntity httpEntity = httpResponse.getEntity(); 
       is = httpEntity.getContent(); 
      }   

     } catch (UnsupportedEncodingException e) { 
      e.printStackTrace(); 
     } catch (ClientProtocolException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

     try { 
      BufferedReader reader = new BufferedReader(new InputStreamReader(
        is, "iso-8859-1"), 8); 
      StringBuilder sb = new StringBuilder(); 
      String line = null; 
      while ((line = reader.readLine()) != null) { 
       sb.append(line + "\n"); 
      } 
      is.close(); 
      json = sb.toString(); 
     } catch (Exception e) { 
      Log.e("Buffer Error", "Error converting result " + e.toString()); 
     } 

     // try parse the string to a JSON object 
     try { 
      jObj = new JSONObject(json); 
     } catch (JSONException e) { 
      Log.e("JSON Parser", "Error parsing data " + e.toString()); 
     } 

     // return JSON String 
     return jObj; 

    } 
} 

вот мой отчет о сбое:

05-19 09:56:44.040: E/AndroidRuntime(24861): FATAL EXCEPTION: AsyncTask #1 
05-19 09:56:44.040: E/AndroidRuntime(24861): Process: id.wanda.smkkkristenimmanuelii, PID: 24861 
05-19 09:56:44.040: E/AndroidRuntime(24861): java.lang.RuntimeException: An error occured while executing doInBackground() 
05-19 09:56:44.040: E/AndroidRuntime(24861): at android.os.AsyncTask$3.done(AsyncTask.java:300) 
05-19 09:56:44.040: E/AndroidRuntime(24861): at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355) 
05-19 09:56:44.040: E/AndroidRuntime(24861): at java.util.concurrent.FutureTask.setException(FutureTask.java:222) 
05-19 09:56:44.040: E/AndroidRuntime(24861): at java.util.concurrent.FutureTask.run(FutureTask.java:242) 
05-19 09:56:44.040: E/AndroidRuntime(24861): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) 
05-19 09:56:44.040: E/AndroidRuntime(24861): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 
05-19 09:56:44.040: E/AndroidRuntime(24861): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 
05-19 09:56:44.040: E/AndroidRuntime(24861): at java.lang.Thread.run(Thread.java:841) 
05-19 09:56:44.040: E/AndroidRuntime(24861): Caused by: java.lang.NullPointerException 
05-19 09:56:44.040: E/AndroidRuntime(24861): at id.wanda.smkkkristenimmanuelii.Login$AttemptLogin.doInBackground(Login.java:138) 
05-19 09:56:44.040: E/AndroidRuntime(24861): at id.wanda.smkkkristenimmanuelii.Login$AttemptLogin.doInBackground(Login.java:1) 
05-19 09:56:44.040: E/AndroidRuntime(24861): at android.os.AsyncTask$2.call(AsyncTask.java:288) 
05-19 09:56:44.040: E/AndroidRuntime(24861): at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
05-19 09:56:44.040: E/AndroidRuntime(24861): ... 4 more 
05-19 09:56:44.040: W/ActivityManager(571): Force finishing activity id.wanda.smkkkristenimmanuelii/.Login 
05-19 09:56:44.050: E/IMGSRV(192): :0: PVRDRMOpen: TP3, ret = 107 
+2

Вы можете показать свой отчет об аварии? – Eoin

+0

catch (Exception e) попробуйте добавить это ко всем кодам обработки исключений. и проверить, что говорит printstacktrace? – Mox

+0

@Modge я добавил свой отчет о сбое, пожалуйста, посмотрите, спасибо. –

ответ

1

Лучший способ приблизиться к этому - использовать ConnectivityManager, чтобы узнать, подключено или нет ваше устройство в сети/имеет подключение к Интернету, прежде чем пытаться делать что-либо, что требует подключения.

Таким образом вы можете отображать экран, как таковой, когда он находится в автономном режиме, или пытаться запустить ваш код в режиме онлайн. С точки зрения пользователя это выгодно для вашего приложения, просто сбой, когда нет доступного соединения.

+0

Хорошо, я попробую этот метод, это учебник хорошо http://www.androidhive.info/2012/07/android-detect-internet-connection-status/ делать? –

+0

Похоже, что вам нужно начать хорошее, и как только вы адаптируете его к своим требованиям, вам следует избегать запускать «NullPointerException» при выполнении 'makeHttpRequest'. – Karl

+0

ОК, я попробую, спасибо @Karl –

0

Изменить private static final String LOGIN_URL = "http://192.168.1.110:80/smkkimmanuel2/login.php"; в private static final String LOGIN_URL = "http://127.0.0.1:80/smkkimmanuel2/login.php";

Причина этой проблемы заключается в том, что ваш IP-адрес связан с этим соединением, а когда вы не подключены, это больше не ваш IP-адрес.

+0

ну, я не уверен в этом, потому что я отлаживаю приложение с помощью своего устройства Android, и если я его сменил на localhost, это не сработает –

+0

Я немного изменился. Попробуй. – Eranda

+0

все равно, я не могу подключиться к mysql в wampserver, если я не использую свой локальный IP-адрес. Потому что я не использую эмулятор Android, поэтому он не будет работать, спасибо в любом случае. –

1

проблема makeHttpRequest возвращается нуль

// getting product details by making HTTP request 
JSONObject json = jsonParser.makeHttpRequest(LOGIN_URL, "POST", params); 

вы можете просто добавить дополнительный улов к вашему TRY/улова

catch (NullPointerException e) { 
    e.printStackTrace(); 
} 

Вероятно, лучше практика, чтобы проверить соединение с ConnectivityManager, прежде чем сделать запрос

+0

yup, это работает, мое приложение не терпит крах, спасибо @Modge, затем я добавлю ConnectivityManager, чтобы закончить его, я действительно ценю его, большое вам спасибо. –

+0

без проблем, рад помочь – Eoin

0

Лучший способ избежать краха - это просто проверить устройство, если оно подключено к Интернету.

*ifConnected * : Do your process 
*ifNotConnected *: Then display a dialog box to user that he/she is not connected to the internet. 

Это то, что я делаю в процессе разработки. Это может помочь вам: -

private boolean isNetworkAvailable() { 
ConnectivityManager connectivityManager 
     = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); 
return activeNetworkInfo != null && activeNetworkInfo.isConnected(); 
} 

Вам нужно добавить

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
0

Задача решается сейчас, благодаря @Karl и @Modge,

первый, благодаря @Modge, для предотвращения сбоя приложения, просто добавьте исключение catch в класс AttempLogin, метод doInBackground, который находится внутри Login.Java, и он будет продолжать показывать диалог процесса «Попытка Логин»:

protected String doInBackground(String... args) { 
 
\t \t \t // TODO Auto-generated method stub 
 
\t \t \t // Check for success tag 
 
\t \t \t int success; 
 
\t \t \t String levelaks, jabat; 
 
\t \t \t String username = user.getText().toString(); 
 
\t \t \t String password = pass.getText().toString(); 
 
\t \t \t try { 
 
\t \t \t \t // Building Parameters 
 
\t \t \t \t List<NameValuePair> params = new ArrayList<NameValuePair>(); 
 
\t \t \t \t params.add(new BasicNameValuePair("username", username)); 
 
\t \t \t \t params.add(new BasicNameValuePair("password", password)); 
 

 
\t \t \t \t Log.d("request!", "starting"); 
 
\t \t \t \t // getting product details by making HTTP request 
 
\t \t \t \t JSONObject json = jsonParser.makeHttpRequest(LOGIN_URL, "POST", 
 
\t \t \t \t \t \t params); 
 

 
\t \t \t \t // check your log for json response 
 
\t \t \t \t Log.d("Login attempt", json.toString()); 
 

 
\t \t \t \t // json success tag 
 
\t \t \t \t success = json.getInt(TAG_SUCCESS); 
 
\t \t \t \t if (success == 1) { 
 
\t \t \t \t \t Log.d("Login Successful!", json.toString()); 
 

 
\t \t \t \t \t levelaks = json.getString(TAG_LEVEL_AKSES); 
 
\t \t \t \t \t jabat = json.getString(TAG_JABATAN); 
 

 
\t \t \t \t \t level_akses = levelaks; 
 
\t \t \t \t \t jabatan = jabat; 
 
\t \t \t \t \t namaUser = username; 
 

 
\t \t \t \t \t login_status = "true"; 
 

 
\t \t \t \t \t Intent i = new Intent(Login.this, MenuUtama.class); 
 
\t \t \t \t \t finish(); 
 
\t \t \t \t \t startActivity(i); 
 
\t \t \t \t \t return json.getString(TAG_MESSAGE); 
 
\t \t \t \t } else { 
 
\t \t \t \t \t Log.d("Login Failure!", json.getString(TAG_MESSAGE)); 
 
\t \t \t \t \t return json.getString(TAG_MESSAGE); 
 

 
\t \t \t \t } 
 
\t \t \t } catch (JSONException e) { 
 
\t \t \t \t e.printStackTrace(); 
 
\t \t \t }catch (NullPointerException e) { 
 
\t \t \t \t e.printStackTrace(); 
 
             //THIS IS IT. 
 
\t \t \t } 
 

 
\t \t \t return null; 
 
\t \t }

и завершить приложение, я добавить ConnectivityManager как это было предложено @Karl, следуя учебник здесь http://www.androidhive.info/2012/07/android-detect-internet-connection-status/ , после создания класса ConnectionDetector, я настроить для входа в систему класса, и это будет так:

package id.wanda.smkkkristenimmanuelii; 
 

 
import java.util.ArrayList; 
 
import java.util.List; 
 

 
import org.apache.http.NameValuePair; 
 
import org.apache.http.message.BasicNameValuePair; 
 
import org.json.JSONException; 
 
import org.json.JSONObject; 
 

 
import android.app.Activity; 
 
import android.app.AlertDialog; 
 
import android.app.ProgressDialog; 
 
import android.content.Context; 
 
import android.content.DialogInterface; 
 
import android.content.Intent; 
 
import android.os.AsyncTask; 
 
import android.os.Bundle; 
 
import android.util.Log; 
 
import android.view.View; 
 
import android.view.View.OnClickListener; 
 
import android.widget.Button; 
 
import android.widget.EditText; 
 
import android.widget.Toast; 
 

 
public class Login extends Activity implements OnClickListener { 
 

 
\t private EditText user, pass; 
 
\t private Button mSubmit; 
 
\t 
 
    //ADDED 
 
\t // flag for Internet connection status 
 
    Boolean isInternetPresent = false; 
 
    // Connection detector class 
 
    ConnectionDetector cd; 
 

 
\t // Progress Dialog 
 
\t private ProgressDialog pDialog; 
 

 
\t // JSON parser class 
 
\t JSONParser jsonParser = new JSONParser(); 
 

 
\t // php login script location: 
 
\t private static final String LOGIN_URL = "http://192.168.1.110:80/smkkimmanuel2/login.php"; 
 

 

 
\t // JSON element ids from repsonse of php script: 
 
\t private static final String TAG_SUCCESS = "success"; 
 
\t private static final String TAG_MESSAGE = "message"; 
 
\t private static final String TAG_LEVEL_AKSES = "level_akses"; 
 
\t private static final String TAG_JABATAN = "jabatan"; 
 

 
\t public static String level_akses = "5", jabatan = "", namaUser = ""; 
 
\t public static String login_status = "false"; 
 

 
\t @Override 
 
\t protected void onCreate(Bundle savedInstanceState) { 
 
\t \t // TODO Auto-generated method stub 
 
\t \t super.onCreate(savedInstanceState); 
 
\t \t setContentView(R.layout.activity_login); 
 

 
\t \t // setup input fields 
 
\t \t user = (EditText) findViewById(R.id.username); 
 
\t \t pass = (EditText) findViewById(R.id.password); 
 
     
 
     //ADDED 
 
\t \t cd = new ConnectionDetector(getApplicationContext()); 
 

 
\t \t // setup buttons 
 
\t \t mSubmit = (Button) findViewById(R.id.btnLogin); 
 

 
\t \t // register listeners 
 
\t \t mSubmit.setOnClickListener(this); 
 
\t } 
 

 
\t @Override 
 
\t public void onBackPressed() { 
 
\t \t Login.this.finish(); 
 
\t \t startActivity(new Intent(this, MenuUtama.class)); 
 
\t } 
 

 
\t @Override 
 
\t public void onClick(View v) { 
 
\t \t switch (v.getId()) { 
 
\t \t case R.id.btnLogin: 
 
\t \t \t //ADDED 
 
      // get Internet status 
 
      isInternetPresent = cd.isConnectingToInternet(); 
 

 
      // check for Internet status 
 
      if (isInternetPresent) { 
 
       // Internet Connection is Present 
 
       // make HTTP requests 
 
       showAlertDialog(Login.this, "Internet Connection", 
 
         "You have internet connection", true); 
 

 
    \t \t \t /*new AttemptLogin().execute();*/ 
 
      } else { 
 
       // Internet connection is not present 
 
       // Ask user to connect to Internet 
 
       showAlertDialog(Login.this, "No Internet Connection", 
 
         "You don't have internet connection.", false); 
 
      } 
 
\t \t \t break; 
 
\t \t default: 
 
\t \t \t break; 
 
\t \t } 
 
\t } 
 
\t 
 
    //ADDED 
 
\t @SuppressWarnings("deprecation") 
 
\t public void showAlertDialog(Context context, String title, String message, Boolean status) { 
 
     AlertDialog alertDialog = new AlertDialog.Builder(context).create(); 
 
    
 
     // Setting Dialog Title 
 
     alertDialog.setTitle(title); 
 
    
 
     // Setting Dialog Message 
 
     alertDialog.setMessage(message); 
 
      
 
     // Setting alert dialog icon 
 
     alertDialog.setIcon((status) ? R.drawable.success : R.drawable.failed); 
 
    
 
     // Setting OK Button 
 
     alertDialog.setButton("OK", new DialogInterface.OnClickListener() { 
 
      public void onClick(DialogInterface dialog, int which) { 
 
      } 
 
     }); 
 
    
 
     // Showing Alert Message 
 
     alertDialog.show(); 
 
    } 
 

 
\t class AttemptLogin extends AsyncTask<String, String, String> { 
 

 
\t \t /** 
 
\t \t * Before starting background thread Show Progress Dialog 
 
\t \t * */ 
 
\t \t boolean failure = false; 
 

 
\t \t @Override 
 
\t \t protected void onPreExecute() { 
 
\t \t \t super.onPreExecute(); 
 
\t \t \t pDialog = new ProgressDialog(Login.this); 
 
\t \t \t pDialog.setMessage("Attempting login..."); 
 
\t \t \t pDialog.setIndeterminate(false); 
 
\t \t \t pDialog.setCancelable(true); 
 
\t \t \t pDialog.show(); 
 
\t \t } 
 

 
\t \t @Override 
 
\t \t protected String doInBackground(String... args) { 
 
\t \t \t // TODO Auto-generated method stub 
 
\t \t \t // Check for success tag 
 
\t \t \t int success; 
 
\t \t \t String levelaks, jabat; 
 
\t \t \t String username = user.getText().toString(); 
 
\t \t \t String password = pass.getText().toString(); 
 
\t \t \t try { 
 
\t \t \t \t // Building Parameters 
 
\t \t \t \t List<NameValuePair> params = new ArrayList<NameValuePair>(); 
 
\t \t \t \t params.add(new BasicNameValuePair("username", username)); 
 
\t \t \t \t params.add(new BasicNameValuePair("password", password)); 
 

 
\t \t \t \t Log.d("request!", "starting"); 
 
\t \t \t \t // getting product details by making HTTP request 
 
\t \t \t \t JSONObject json = jsonParser.makeHttpRequest(LOGIN_URL, "POST", 
 
\t \t \t \t \t \t params); 
 

 
\t \t \t \t // check your log for json response 
 
\t \t \t \t Log.d("Login attempt", json.toString()); 
 

 
\t \t \t \t // json success tag 
 
\t \t \t \t success = json.getInt(TAG_SUCCESS); 
 
\t \t \t \t if (success == 1) { 
 
\t \t \t \t \t Log.d("Login Successful!", json.toString()); 
 

 
\t \t \t \t \t levelaks = json.getString(TAG_LEVEL_AKSES); 
 
\t \t \t \t \t jabat = json.getString(TAG_JABATAN); 
 

 
\t \t \t \t \t level_akses = levelaks; 
 
\t \t \t \t \t jabatan = jabat; 
 
\t \t \t \t \t namaUser = username; 
 

 
\t \t \t \t \t login_status = "true"; 
 

 
\t \t \t \t \t Intent i = new Intent(Login.this, MenuUtama.class); 
 
\t \t \t \t \t finish(); 
 
\t \t \t \t \t startActivity(i); 
 
\t \t \t \t \t return json.getString(TAG_MESSAGE); 
 
\t \t \t \t } else { 
 
\t \t \t \t \t Log.d("Login Failure!", json.getString(TAG_MESSAGE)); 
 
\t \t \t \t \t return json.getString(TAG_MESSAGE); 
 

 
\t \t \t \t } 
 
\t \t \t } catch (JSONException e) { 
 
\t \t \t \t e.printStackTrace(); 
 
\t \t \t }catch (NullPointerException e) { 
 
\t \t \t \t e.printStackTrace(); 
 
\t \t \t } 
 

 
\t \t \t return null; 
 
\t \t } 
 
\t } 
 

 
\t /** 
 
\t * After completing background task Dismiss the progress dialog 
 
\t * **/ 
 
\t protected void onPostExecute(String file_url) { 
 
\t \t // dismiss the dialog once product deleted 
 
\t \t pDialog.dismiss(); 
 
\t \t if (file_url != null) { 
 
\t \t \t Toast.makeText(Login.this, file_url, Toast.LENGTH_LONG).show(); 
 
\t \t } 
 

 
\t } 
 
\t 
 

 
}

и он работает как шарм, спасибо за помощь, ребята. Я очень ценю это.

+0

Когда я вставляю два лома, он говорит, как удалить, что –