Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.61
ALSHA
0 / 0 / 0
Регистрация: 27.01.2013
Сообщений: 15
#1

Подскажите, как лучше сделать (справочник организаций) - Программирование Android

09.05.2013, 22:37. Просмотров 2430. Ответов 3
Метки нет (Все метки)

Здравствуйте уважаемые!
В программировании для Android я новичок. Заинтересовал вопрос разработки справочника организаций.
Создал массив сфер деятельности (cat.xml)
XML
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="UTF-8"?>
<resources>
 <string-array name="cat">  
        <item>Машиностроение и металлообработка</item>
        <item>Черная и цветная металлургия</item>
        <item>Горнодобывающая промышленность</item>
</string-array>
</resources>
и для каждого значения массива сфер деятельности - массив организаций (subcat.xml)

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?xml version="1.0" encoding="UTF-8"?>       
       <resources>
       <string-array name="subcat_1">
       <item>ЗАО "1"</item>
       <item>ЗАО "2"</item>
       <item>ОАО "3"</item>
        </string-array>
        <string-array name="subcat_2">
       <item>"Вагоноремонтный завод "</item>
       <item>ЗАО "4"</item>
       <item>ЗАО "6"</item>
       <item>ЗАО "7" </item>
         </string-array>
        <string-array name="subcat_3">
       <item>ЗАО "8"</item>
       <item>ООО "9"</item>
       <item>ООО "10"</item>
         </string-array>
 </resources>
+++++++++++++++++++++++

Layout catalog.xml

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
    android:gravity="center_horizontal" 
    android:orientation="vertical" 
    android:id="@+id/catalog" 
    android:background="@color/list_two" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"
  xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout 
        android:gravity="center_vertical" 
        android:id="@+id/linearLayout1" 
        android:background="@color/background" 
        android:padding="2.0dip" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content">
        <ImageView android:id="@+id/title_back" 
            android:clickable="true" 
            android:layout_width="48.0dip" 
            android:layout_height="48.0dip" 
            android:src="@drawable/titel_back_button" 
            android:scaleType="fitXY" />
        <TextView 
            android:textSize="18.0dip" 
            android:textStyle="bold" 
            android:textColor="@color/black" 
            android:ellipsize="end" 
            android:gravity="center" 
            android:id="@+id/title_text" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:text="TextView" 
            android:maxLines="2" 
            android:lines="2" 
            android:layout_weight="1.0" />
 
        <ImageView
            android:id="@+id/title_home"
            android:layout_width="48.0dip"
            android:layout_height="48.0dip"
            android:clickable="true"
            android:scaleType="fitXY"
            android:src="@drawable/titel_home_button" />
 
    </LinearLayout>
     
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</ListView>
 
</LinearLayout>
Layout sub.xml

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
     xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"
    xmlns:app="http://schemas.android.com/tools">
 
    <LinearLayout
        android:id="@+id/LinearLayout3"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:background="@color/background"
        android:gravity="center_vertical"
        android:orientation="horizontal" >
 
        <ImageView
            android:id="@+id/title_back1"
            android:layout_width="48.0dip"
            android:layout_height="48.0dip"
            android:clickable="true"
            android:scaleType="fitXY"
            android:src="@drawable/titel_back_button"
            app:ignore="ContentDescription" />
 
        <TextView
            android:id="@+id/title_text1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1.0"
            android:ellipsize="end"
            android:gravity="center"
            android:lines="2"
            android:maxLines="2"
            android:text="СПРАВОЧНИК"
            android:textColor="@color/black"
            android:textSize="18.0dip"
            android:textStyle="bold"
            app:ignore="InefficientWeight,HardcodedText" />
 
        <ImageView
            android:id="@+id/title_home1"
            android:layout_width="48.0dip"
            android:layout_height="48.0dip"
            android:clickable="true"
            android:scaleType="fitXY"
            android:src="@drawable/titel_home_button"
            app:ignore="ContentDescription" />
    </LinearLayout>
 
    <ListView
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
 
    </LinearLayout>
В основном Activity (CatalogActivity) загружаю массив сфер деятельности и по нажатию на элемент списка
вызываю другое Activity (SubActivity) в которое надо загружать массив организаций.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package com.sample.org;
import android.os.Bundle;
import android.app.ListActivity;
import android.content.Intent;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
 
public class CatalogActivity extends ListActivity {
    private ImageView mTitleBack;
      private ImageView mTitleHome;
      private TextView mTitleText;
      
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.catalog);
         String[] cat = getResources().getStringArray(R.array.cat);
        setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,cat));
    }
 
    protected void onListItemClick(ListView l,View v,int position,long id) 
 
    {
        super.onListItemClick(l, v, position, id);
        TextView textView = (TextView) v;
        String strText = textView.getText().toString(); // получаем текст нажатого элемента
        
        if(strText.equalsIgnoreCase("Машиностроение и металлообработка")) {
                
       // Запускаю активность, связанную с определенной сферой деятельности
            startActivity(new Intent(CatalogActivity.this, SubActivity.class));
        }
      }
    };
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package com.sample.org;
import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.TextView;
 
 
public class SubActivity extends ListActivity
{
    private ImageView mTitleBack;
      private ImageView mTitleHome;
      private TextView mTitleText;
 
 
  protected void onCreate(Bundle paramBundle)
  {
    super.onCreate(paramBundle);
    setContentView(R.layout.sub);
 String[] subcat_1 = getResources().getStringArray(R.array.subcat_1);
    setListAdapter(new ArrayAdapter(this, android.R.layout.simple_list_item_1, this.subcat_1));
  }
 
  protected void onListItemClick(ListView paramListView, View paramView, int paramInt, long paramLong)
  {
  //  
//   
  }
}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

И все бы хорошо, но возник вопрос. Как сделать так чтобы не создавать количество SubActivity, равное
количеству сфер деятельности, а подтягивать (по необходимости) в одно SubActivity тот массив организаций
который соответствует выбранной сфере деятельности.
Ну и потом пока не отработан вопрос о выводе информации об организации (то-ли хранить в текстовом файле,
то-ли в HTML с иконками....).

Пожалуйста, подскажите.
Заранее благодарен
Al_Sha
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2013, 22:37     Подскажите, как лучше сделать (справочник организаций)
Посмотрите здесь:

Подскажите план на прогу, как лучше написать и реализовать - Программирование Android
Недавно посетила идея написать пока только для себя прогу с взаимодействием сайта. Собственно хочу реализовать такое. Есть сайт lostfilm...

Как лучше сделать? - Программирование Android
Всем доброго времени суток. Интересует Ваше мнение как лучше реализовать. Есть приложение, по типу справочника (Life-Hacks). Что лучше...

Ошибка при парсинге или как лучше сделать? - Программирование Android
Ребята помогите пожалуйста. В папке assets у меня 7 txt. файлов.7 вопросов. По нажатию на кнопку, происходит парсинг каждого файла и...

Подскажите как сделать разметку - Программирование Android
Доброго, помогите с разметкой главного экрана как на картинке, нужно именно так, просто в андроид Студио у меня не получается

Подскажите как сделать Slide меню - Программирование Android
День добрый коллеги и соклубники! Хочу для себя сделать лаунчер на планшет. Основная проблема как сделать вот такое меню которое...

Подскажите как сделать подобное меню - Программирование Android
Здравствуйте, подскажите как реализовать данное меню в toolbar.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
09.05.2013, 22:57     Подскажите, как лучше сделать (справочник организаций) #2
при запуске второй активити вы можете поместить инфу об выборе в Intent
Java
1
intent.putExtra(name,value);
а во второй активити достать информацию
Java
1
getIntent.getExtra(name);
и судя по ней выводить те или иные данные.
dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
12.05.2013, 22:37     Подскажите, как лучше сделать (справочник организаций) #3
Если речь идет о справочнике, то я бы посоветовал использовать SQLite. И при помощи обычного ListView можно организовать любую вложенность и интерфейс сделать понятным и красивым. Да и всю информацию проще хранить и получать из БД.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2014, 12:24     Подскажите, как лучше сделать (справочник организаций)
Еще ссылки по теме:

Подскажите как сделать кнопку для секундомера - Программирование Android
Добрый день! Какой использовать код для кнопки, если я хочу сделать следующее: секундомер, я хочу на одну кнопку посадить старт, стоп...

Подскажите как сделать разметку для разных экранов - Программирование Android
У меня есть recyclerview в него устанавливается GridLayoutManager в 3 колонки, есть разметка itemа для этого списка. Item внутри себя...

Подскажите, как сделать ограничение, чтобы поля проверялись на пустоту - Программирование Android
Подскажите, как сделать ограничение, чтобы поля проверялись на пустоту, и если поля не заполнены то выводилась ошибка? import...

Подскажите на каком языке лучше писать - Программирование Android
Доброго времени суток дамы и господа) У меня такой вопрос, в компании, в которой я работаю, стоит задача написать мобильное приложение,...

Подскажите как сделать свою "форму" в xml, вверху ScrollView, внизу что-то другое - Программирование Android
Нужно сделать форму в xml. Новичок, разбираюсь. Экран поделить на 2 части, нижняя часть фиксированно занимает процентов 20 от всего экрана,...

Как лучше поступить? - Программирование Android
Есть уже законченное приложение. Принцип которого вэб приложение, грузящее основную часть через инет. Но не суть - тут всё работает. Есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
yourfanat
5 / 5 / 0
Регистрация: 30.10.2013
Сообщений: 177
16.10.2014, 12:24     Подскажите, как лучше сделать (справочник организаций) #4
Вот тут расписано как создать справочник телефонов с встроенной БД - http://yourfanat.com/android/spravoc...ndroid-part-1/
Yandex
Объявления
16.10.2014, 12:24     Подскажите, как лучше сделать (справочник организаций)
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru