Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to get Spinning Progress Bar at starting of Application
    text
    copied!<p>i am new in android. I managed to parse JSON file to my application. Now i want to use AsyncTask to get Spinning progressBa untill application starts and load data. I tried to read many things, but they only give how to get progressbar on onclick events or for downloading events. </p> <p>This is my code...</p> <p>I just confused about how to start progressbar at starting of your application and which part of following code goes to which method of asycTask class....</p> <pre><code>package com.demojson; import java.util.ArrayList; import java.util.HashMap; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import android.os.AsyncTask; import android.os.Bundle; import android.view.Gravity; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ListAdapter; import android.widget.ListView; import android.widget.SimpleAdapter; import android.widget.TextView; import android.widget.Toast; import android.app.ListActivity; public class MainActivity extends ListActivity { private static String url = "http://timepasssms.com/webservices/ws.php?type=category"; private static final String TAG_DATA = "DATA"; private static final String TAG_0 = "0"; private static final String TAG_ID = "id"; private static final String TAG_1 = "1"; private static final String TAG_NAME = "name"; private static final String TAG_2 = "2"; private static final String TAG_DESCRIPTION = "description"; private static final String TAG_3 = "3"; private static final String TAG_NEW_NAME = "new_name"; private static final String TAG_4 = "4"; private static final String TAG_STATUS = "status"; JSONArray jArray = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ArrayList&lt;HashMap&lt;String, String&gt;&gt; contents = new ArrayList&lt;HashMap&lt;String, String&gt;&gt;(); JSONMethod metObj = new JSONMethod(); JSONObject jOb = metObj.getUrl(url); try { jArray = jOb.getJSONArray(TAG_DATA); for (int i = 0; i &lt; jArray.length(); i++) { JSONObject child = jArray.getJSONObject(i); String tag_0 = child.getString(TAG_0); String id = child.getString(TAG_ID); String tag_1 = child.getString(TAG_1); String name = child.getString(TAG_NAME); String tag_2 = child.getString(TAG_2); String description = child.getString(TAG_DESCRIPTION); String tag_3 = child.getString(TAG_3); String new_name = child.getString(TAG_NEW_NAME); String tag_4 = child.getString(TAG_4); String status = child.getString(TAG_STATUS); HashMap&lt;String, String&gt; map = new HashMap&lt;String, String&gt;(); map.put(TAG_NAME , name); contents.add(map); } } catch (JSONException e) { e.printStackTrace(); } ListAdapter adapter = new SimpleAdapter(this, contents, R.layout.list_items, new String[] { TAG_NAME }, new int[] { R.id.tvName }); setListAdapter(adapter); // --To get listview set...-- ListView lv = getListView(); lv.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView&lt;?&gt; parent, View view, int position, long id) { String item = ((TextView)view.findViewById(R.id.tvName)).getText().toString(); Toast toast = Toast.makeText(getApplicationContext(), item , Toast.LENGTH_SHORT); toast.setGravity(Gravity.CENTER, 0, 0); toast.show(); } }); } } </code></pre> <p>and JSONMethod Class...</p> <pre><code>package com.demojson; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.json.JSONObject; import android.util.Log; public class JSONMethod { InputStream is = null; JSONObject jObj=null; String json = ""; public JSONObject getUrl(String url){ try{ DefaultHttpClient httpClient = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(url); HttpResponse httpRespone = httpClient.execute(httpPost); HttpEntity httpEntity = httpRespone.getEntity(); is = httpEntity.getContent(); }catch(UnsupportedEncodingException ue){ }catch(ClientProtocolException ce){ }catch(IOException ie){ } try{ BufferedReader br = new BufferedReader(new InputStreamReader(is)); StringBuilder sb = new StringBuilder(); String line=null; while((line=br.readLine())!= null){ sb.append(line + "/n"); } is.close(); json = sb.toString(); }catch(Exception e){ Log.e("JSONMethod", "Error converting result" + e.toString()); } try{ jObj = new JSONObject(json); }catch(Exception e){ Log.e("JSONMethod", "Error parsing data" + e.toString()); } return jObj; } } </code></pre> <p>here is xml files... activity_main.xml</p> <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"&gt; &lt;!-- Main ListView Always give id value as list(@android:id/list) --&gt; &lt;ImageView android:id="@+id/imageView1" android:layout_width="fill_parent" android:layout_height="60dp" android:src="@drawable/timepasssms" /&gt; &lt;ListView android:id="@android:id/list" android:layout_width="fill_parent" android:layout_gravity="center" android:layout_height="wrap_content"/&gt; &lt;/LinearLayout&gt; </code></pre> <p>and list_item.xml</p> <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/round_edge" android:orientation="vertical" &gt; &lt;TextView android:id="@+id/tvName" android:layout_width="fill_parent" android:layout_height="45dp" android:layout_marginLeft="10dp" android:gravity="left" android:padding="5dp" android:textColor="#DF7401" android:textSize="20dp" /&gt; &lt;/LinearLayout&gt; </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload