Differences

This shows you the differences between two versions of the page.

Link to this comparison view

dapm:laboratoare:05 [2018/03/23 15:20]
ioana_maria.culic
dapm:laboratoare:05 [2021/04/10 21:03] (current)
ioana_maria.culic
Line 1: Line 1:
-===== Laboratorul 05. =====+===== Lab 06 - Lists =====
 === LISTS === === LISTS ===
  In android, an adapter is a bridge between UI component and data source that helps us to fill data in the UI component. It holds the data and send the data to adapter view then view can takes the data from the adapter view and shows the data on different views like as list view, grid view, spinner etc\\  In android, an adapter is a bridge between UI component and data source that helps us to fill data in the UI component. It holds the data and send the data to adapter view then view can takes the data from the adapter view and shows the data on different views like as list view, grid view, spinner etc\\
Line 15: Line 15:
  
  
-**Ex 0** Make a new project and do not generate a xml file. \\ +====== ​Exercises ======
-Add the next image into the project\\ +
-{{:​dapm:​laboratoare:​lab5_car_icon.png?​150|}} +
- +
-**Ex 1** (If you have generated a xml file in the ex 0, delete it) Add a new xml file named activity_main.xml and make it a LinearLayout with __width match_parent__ and__ height wrap_content__ with the __orientation vertical__. In it, add a **ListView** with __width and height match_parent__ and an id android:id="​@+id/​lv_list_cars"​\\ +
- +
-**Ex 2** Create another xml file (a LinearLayout ) named list_item.xml. The __orientation__ shoud be __horizontal__ and the __width and the height__ shoud be wrap___content__.\\ +
-In the LinearLayout,​ add an **ImageView**(with id iv_image_element) and a **TextView**(with id tv_name_element),​ both with width and height wrap_content. +
- +
-\\ +
-**Ex 3** In the MainActivity.java file create another 2 classes (not in class MainActivity):​ __class Car__ with a String name, and a int imageResource and another __class__ named __TagCar__ with a TextView name and a ImageView image. +
-\\ +
- +
-**Ex 4** Create a new java file named CarAdapter which extends BaseAdapter. In it, add an __Activity object named context__, and an __ArrayList of Car named cars.__\\ +
-Create a constructor which receive an Activity and initializate the context, and the cars arrayList, also add the next function addCar: +
- +
-    Activity context; +
-    ArrayList<​Car>​ cars; +
-     +
-    public CarAdapter (Activity context) { +
-       //​TODO +
-    } +
-     +
-    public void addCar(String nameCar, int resource){ +
-        Car car new Car(); +
-        car.name ​nameCar; +
-        car.imageResource ​resource; +
-        cars.add(car);​ +
-        this.notifyDataSetChanged();​ +
-    } +
-     +
-\\ +
-**Ex 5** **Implement** the 4 methods, and in the getView function add this text: +
-    public View getView(int i, View view, ViewGroup viewGroup) { +
-        View element; +
-         +
-        LayoutInflater layoutInflater ​context.getLayoutInflater();​ +
-        element ​layoutInflater.inflate(R.layout.list_item,​ null); +
-        TagCar car new TagCar(); +
-        car.name ​element.findViewById(R.id.tv_name_element);​ +
-        car.image ​element.findViewById(R.id.iv_image_element);​ +
-        element.setTag(car);​ +
-             +
-        TagCar tag (TagCar) element.getTag();​ +
-        tag.name.setText(cars.get(i).name);​ +
-        tag.image.setImageResource(cars.get(i).imageResource);​ +
-        return element; +
-    } +
-     +
- +
-**Look in Course 4 - List, adapters, recylcing slides 29-31 and tell the teaching assistant if this method is efficient or not (if it's not, make it efficient).** +
-\\ +
- +
- +
-**Ex 6** In MainActivity class, in the onCreate function, connect the ListView from the java to the xml (TODO 1)\\ +
-TODO 2: initializate the object carAdapter(2)\\ +
-TODO 3: set the carAdapter adapter for list of cars (3).\\ +
-TODO 4: in the carAdapter, add 4 cars (with addCar function).\\ +
- +
-    public class MainActivity extends Activity { +
-        private ListView listOfCars;​ +
-        CarAdapter carAdapter;​ +
-        private EditText addNewCar;​ +
-        private Button addButton;​ +
-         +
-        @Override +
-        protected void onCreate(Bundle savedInstanceState) { +
-            super.onCreate(savedInstanceState);​ +
-            setContentView(R.layout.activity_main);​ +
-            // TODO 1, 2, 3,4 +
-        } +
-    } +
-\\ +
- +
-RUN THE APP +
-\\ +
-**Ex 7** In the activity_main.xml,​ in the linearLayout , add another LinearLayout (width match parent and height wrap_content,​ orientation horizontal) and add in it an EditText (with id ed_new_car, height wrap_content and width 200dp) and a Button (id b_add_car, width and height wrap_content) +
- +
-**Ex 8** In MainActivity,​in onCreate function, connect the EditText and the Button from the java to the xml file. Set an onClickListener on the button: when clicked, get the Text from the editText and convert it to String, and add a new car in the carAdapter using the name from the editText. After that, set the editText'​s text to ""​ +
- +
-BONUS : http://​abhiandroid.com/​ui/​baseadapter-tutorial-example.html+
  
 +Create a new project and follow the next tutorial http://​abhiandroid.com/​ui/​baseadapter-tutorial-example.html.
dapm/laboratoare/05.1521811255.txt.gz · Last modified: 2018/03/23 15:20 by ioana_maria.culic
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0