Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 24, средняя оценка - 4.79
Hanty86
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 33
#1

Чтение из файла (отображение и изменение данных) - Программирование Android

22.10.2012, 19:45. Просмотров 3096. Ответов 17
Метки нет (Все метки)

Есть текстовый файл следующего содержания:

Volume=0
Mic=1
.....=0
.....=1
.....=2

Нужно прочитать параметры из файла и отобразить их визуально. (оптимально думаю в RadioGroup).
(Приложил файл с изображением.)
И также можно было изменить параметры (Через тот же RadioGroup) и сохранить/перезаписать их в этот же текстовый файл.

Можно ли передать состояние checked="true" RadioButton из файла?
Как реализовать еще возможно?
Что бы попроще.

Извиняюсь, начинаю изучать и много вопросов возникает.
Если можно пример.
Спасибо.
0
Миниатюры
Чтение из файла (отображение и изменение данных)  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2012, 19:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Чтение из файла (отображение и изменение данных) (Программирование Android):

TableLayout - чтение данных из строк, изменение данных в строках - Программирование Android
Заполнить TableLayout довольно просто. А вот прочитать ... И примеры есть в интернете, и клипса не ругается, и методы эти существуют...

Чтение данных из файла - Программирование Android
Пытаюсь считать текст из файла, который находится по пути assets\teams\realmadrid.txt , но вываливается ошибка. В чем дело? ...

Постолбцовое отображение данных из базы данных SQLite - Программирование Android
Уважаемые форумчане, помогите пожалуйста. Необходимо вывести данные из таблицы базы данных в TextView. Вот код, когда в TextView...

Чтение из текстового файла и отображение содержимого - Delphi
Как прочитать данные из текстового файла и чтобы то, что прочиталось отобразилось в текстовом файле.

Чтение и изменение файла - C++
В общем, у меня есть книга в текстовом файле (ну, file1.txt), но порой там встречаются строки "текст... текст... Начало Комментария...

Чтение файла, чтение названия папки где находится файл, запись данных на PHP - PHP
Допустим у нас есть структура с папками типа Large -> Vehicles -> Firetruck_0 В этой папке лежит файл формата .dat Что нужно сделать? ...

17
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
22.10.2012, 20:36 #2
checkBox.isChecked();
checkBox.setChecked(boolean);
radioGroup.getCheckedRadioButtonId();
radioGroup.check(id);
Чтение и запись файла - http://dumpz.org/97352/
data storage - http://developer.android.com/guide/topics/data/data-storage.html
1
Hanty86
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 33
23.10.2012, 19:56  [ТС] #3
V0v1k, Спасибо!
Дело понемножку продвигается.
А как бы компактнее и как можно проще разместить RadioGroup на форме?
Будет около 20 групп.
Вариант 1.
Можно все их поместить в ScrollView?
Вариант 2.
Вывести их наименование в ListView и по щелчку открывать ListPreference нужный RadioGroup?
Вариант 3.
Разместить с помощью snipper'ов?

Есть еще варианты?
Спасибо!
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
23.10.2012, 20:17 #4
я бы в ListView поместил наименование и по щелчку открывал бы диалог (http://developer.android.com/guide/topics/ui/dialogs.html#AddingAList)

а как это открывать ListPreference по щелчку на ListView?

Добавлено через 2 минуты
или имелся ввиду PreferenceActivity?
1
Hanty86
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 33
23.10.2012, 20:17  [ТС] #5
Цитата Сообщение от V0v1k Посмотреть сообщение
я бы в ListView поместил наименование и по щелчку открывал бы диалог
Диалог нужен с RadioGroup, чтобы при его открытии можно было "видеть" текущее состояние RadioButton , состояние которое зацепится из файла.
Такая схема возможна?

а как это открывать ListPreference?
Спросил. Сам не знаю.

Спасибо.
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
23.10.2012, 20:25 #6
Цитата Сообщение от Hanty86 Посмотреть сообщение
Диалог нужен с RadioGroup, чтобы при его открытии можно было "видеть" текущее состояние RadioButton
смотрите по ссылке приведенной выше раздел "Adding a persistent multiple-choice or single-choice list", там на рисунку multiple-choice для примера, думаю single-choice это именно то, что вам нужно.

а еще почитайте про PreferenceActivity
http://developer.android.com/referen...eActivity.html
может это лучше подойдет, зависит от ситуации.
1
Hanty86
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 33
24.10.2012, 09:11  [ТС] #7
Есть рабочий пример с ListView и Activity по клику на списке ListView.
Как добавить для каждого пункта в ListView свой Dialog?
Можно в примере показать?
Спасибо.
0
Вложения
Тип файла: zip AndroidListView.zip (50.4 Кб, 12 просмотров)
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
24.10.2012, 11:42 #8
я вам дал ссылку где показано как создавать диалог, в вашем проекте показано как обрабатывать клик по пункту списка. что еще вам не хватает?
0
Hanty86
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 33
24.10.2012, 15:27  [ТС] #9
С синтаксисом проблема.
Вот кусок кода:
Java
1
2
3
4
5
6
7
8
9
10
11
OnItemClickListener itemListener = new OnItemClickListener() {
 
            
            public void onItemClick(AdapterView<?> parent, View v,
                    int position, long id) {
                // TODO Auto-generated method stub
                showDialog(IDD_DIALOG_1);
                Toast.makeText(getApplicationContext(), "Вы выбрали "
                + position, Toast.LENGTH_SHORT).show();
            }
        };
Toast вывод мне выбранную позицию.
А как написать если выбранная позиция = 0 то показываем showDialog(IDD_DIALOG_1);
если выбранная позиция равна =1 то показываем showDialog(IDD_DIALOG_1);
Спасибо.
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
24.10.2012, 17:09 #10
showDialog(position);

думаю можно обойтись 1 диалогом наполняя его каждый раз нужными айтемами.
1
Hanty86
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 33
24.10.2012, 18:34  [ТС] #11
Класс! Работает, и не нужно case использовать.
Получилось вот что:
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
package com.example.testlisrview;
 
import java.util.ArrayList;
import java.util.Arrays;
 
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.ListActivity;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.Toast;
 
public class MainActivity extends ListActivity {
    
    AlertDialog.Builder ad;
    Context context;
    
    //индентификатор диалогового окна
    private final int IDD_DIALOG_1 = 0;
    private final int IDD_DIALOG_2 = 1;
    private final int IDD_DIALOG_3 = 2;
 
    // определяем массив типа String
    final String[] catnames = new String[] { "Вопрос №1", "Вопрос №2", "Вопрос №3"};
 
    private ArrayAdapter<String> adapter;
 
    /** Called when the activity is first created. */
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        OnItemClickListener itemListener = new OnItemClickListener()
        {
            @SuppressWarnings("deprecation")
            public void onItemClick(AdapterView<?> parent, View v,int position, long id) 
            {
                // TODO Auto-generated method stub
                showDialog(position);
                Toast.makeText(getApplicationContext(), "Вы выбрали "
                + position, Toast.LENGTH_SHORT).show();
            }
        };
        ArrayList<String> list = new ArrayList<String>(Arrays.asList(catnames));
        adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, list);
        // присваиваем адаптер списку
        setListAdapter(adapter);
        getListView().setOnItemClickListener(itemListener);
    }
    
    
    @Override
    protected Dialog onCreateDialog(int id) 
    {
        switch (id) 
        {
            case 0:
                AlertDialog.Builder builder = new AlertDialog.Builder(this);
                final String[] mChooseCats = { "Мурзик", "Барсик", "Пушок" };
                builder = new AlertDialog.Builder(this);
                builder.setTitle("Ваше любимое имя кота?")
                .setCancelable(false)
 
                // добавляем одну кнопку для закрытия диалога
                .setNeutralButton("Назад",new DialogInterface.OnClickListener() 
                    {
                        public void onClick(DialogInterface dialog, int id) 
                        {
                            dialog.cancel();
                        }
                    })
 
                // добавляем переключатели
                .setSingleChoiceItems(mChooseCats, -1, new DialogInterface.OnClickListener() 
                    {
                        public void onClick(DialogInterface dialog,int item) 
                        {
                            Toast.makeText(getApplicationContext(),"Любимое имя кота: "
                            + mChooseCats[item],Toast.LENGTH_SHORT).show();
                        }
                    });
            return builder.create();
            
            
        case 1:
            AlertDialog.Builder builder_2 = new AlertDialog.Builder(this);
            final String[] mChooseCats_2 = { "Шарик", "Тузик", "Бобик" };
            builder_2 = new AlertDialog.Builder(this);
            builder_2.setTitle("Ваше любимое имя собаки?")
            .setCancelable(false)
 
            // добавляем одну кнопку для закрытия диалога
            .setNeutralButton("Назад",new DialogInterface.OnClickListener() 
            {
                public void onClick(DialogInterface dialog, int id) 
                {
                    dialog.cancel();
                }
            })
 
            // добавляем переключатели
            .setSingleChoiceItems(mChooseCats_2, -1,new DialogInterface.OnClickListener() 
            {
                public void onClick(DialogInterface dialog,int item)
                {
                    Toast.makeText(getApplicationContext(),"Любимое имя собаки: "+ mChooseCats_2[item],
                    Toast.LENGTH_SHORT).show();
                }
            });
                    
            return builder_2.create();
        
        case 2:
            AlertDialog.Builder builder_3 = new AlertDialog.Builder(this);
            final String[] mChooseCats_3 = { "1", "2", "Больше двух" };
            builder_3 = new AlertDialog.Builder(this);
            builder_3.setTitle("Сколько у Вас домашних питомцев?")
            .setCancelable(false)
 
            // добавляем одну кнопку для закрытия диалога
            .setNeutralButton("Назад",new DialogInterface.OnClickListener() 
            {
                public void onClick(DialogInterface dialog, int id) 
                {
                    dialog.cancel();
                }
            })
 
            // добавляем переключатели
            .setSingleChoiceItems(mChooseCats_3, -1,new DialogInterface.OnClickListener() 
            {
                public void onClick(DialogInterface dialog,int item)
                {
                    Toast.makeText(getApplicationContext(),"У Вас домашних питомцев: "+ mChooseCats_3[item],
                    Toast.LENGTH_SHORT).show();
                }
            });
                    
            return builder_3.create();
        }
        return null;
    }
 
}
Как можно оптимизировать и использовать в данном случае 1 диалог и наполнять его разными айтемами?
Таких диалогов планируется использовать около 20-25.
Спасибо.
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
24.10.2012, 19:15 #12
ну, например можно попробовать засунуть в метод setSingleChoiceItems ListAdapter, потом в адаптер вставлять нужные данные.
0
Hanty86
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 33
25.10.2012, 09:19  [ТС] #13
Спасибо. Буду пробовать.
А как при открытии диалога включить один radiobutton?
setSingleChoiceItems?

Добавлено через 10 минут
Разобрался.
0
Hanty86
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 33
29.10.2012, 09:49  [ТС] #14
С ListView и диалогами разобрался.
Теперь с файлами воюю.
Есть текстовый файл с содержанием:
Audio = 1
Mic = 2
Video = 0
Как можно найти эти записи и заменить их на свои:
Audio = 0
Mic = 1
Video = 1
Спасибо.

Добавлено через 6 минут
Просто найти эти значения:
Audio = 1
Mic = 2
Video = 0
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
29.10.2012, 14:06 #15
построчно читать и парсить.
потом записать обновленные данные.
я бы в json-e например держал бы эту инфу.
1
29.10.2012, 14:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.10.2012, 14:06
Привет! Вот еще темы с ответами:

Отображение файла на память (чтение и запись информации) - C++ WinAPI
Короче нужно из одного файла переписать в другой используя отображение на память а у меня почему то создаётся пустой файл такого же...

Чтение данных из MySQL и отображение в DataGrid - C#
Люди добрые помогите! Нужно написать программу на C# чтобы она читала данные с БД MySQL и отабражало в DataGrid. Если кто можете...

Чтение и изменение XML файла - C#
Подскажите пожалуста как можно осуществить чтение всех атрибутов из всех элементов XML файла, затем изменить некоторые из них и обратно...

Чтение массивов из файла и изменение их - Pascal
Выручайте плиз. 1,5 дня осталось( Pascal ( Вариант 4. Дан файл h1, компонентами которого являются целочисленные массивы ....


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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