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

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

Войти
Регистрация
Восстановить пароль
 
SherlockH
0 / 0 / 0
Регистрация: 29.08.2013
Сообщений: 32
#1

Как сохранять информацию о пользователе и использовать её в дальнейшем уведомлении? - Программирование Android

14.10.2013, 23:05. Просмотров 617. Ответов 6
Метки нет (Все метки)

Форумчане, позвольте спросить: как сохранять имя и фамилию пользователя и использовать их в уведомлении?
Ранее Java не занимался всерьёз... Вот и не знаю. Литературу читал искал на форумах в учебниках... Ну, не получилось реализовать...
Вот код для считывания данных:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
package ru.project.testinfomats;
 
import android.app.Activity;
import android.os.Bundle;
 
public class CInfo extends Activity {
    
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.custom);
    }  
}
Разметка с EditText:
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
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textSize="16sp"
        android:textStyle="bold"
        android:text="Фамилия:" />
    <EditText
        android:id="@+id/surname"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textSize="16sp"
        android:hint="Введите фамилию..." />
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textSize="16sp"
        android:textStyle="bold"
        android:text="Имя:" />
    <EditText
        android:id="@+id/name"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textSize="16sp"
        android:hint="Введите имя..." />
 
</LinearLayout>
Код уведомления:
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
package ru.project.testinfomats;
 
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
 
import android.annotation.SuppressLint;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.os.IBinder;
 
@SuppressLint("SimpleDateFormat")
public class NotificationService extends Service {
 
    public IBinder onBind(Intent intent) {
        return null;
    }
 
    @SuppressWarnings("deprecation")
    public void onCreate() {
        final int NOTIFY_ID = 1101;
        
        long when = System.currentTimeMillis();
        
        Date now = new Date();
        DateFormat formatter = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
        String date = formatter.format(now);
                            
                    NotificationManager mNotificationManager = (NotificationManager)
                        getSystemService(Context.NOTIFICATION_SERVICE);
            
                    int icon = R.drawable.ic_launcher;
                    CharSequence contentText = "Просим вас оплатить коммунальные услуги";
                                
                    Notification ntf = new Notification(icon, null, when);
                    @SuppressWarnings("unused")
                    Context context = getApplicationContext();
                    ntf.defaults = Notification.DEFAULT_SOUND;
                                        
                    Intent i = new Intent(this, NotificationDialog.class);
                    @SuppressWarnings("unused")
                    PendingIntent contentIntent = PendingIntent.getActivity(this, 0, i, 0);
                    ntf.setLatestEventInfo(this, date, contentText, PendingIntent.getActivity(this, 1, i, 0));
                    mNotificationManager.notify(NOTIFY_ID, ntf);
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.10.2013, 23:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как сохранять информацию о пользователе и использовать её в дальнейшем уведомлении? (Программирование Android):

Загрузить данные один раз с MySQL таблицы в память приложения, и в дальнейшем использовать ее - Программирование Android
Всем добрый вечер, Есть ли возможность загрузить данные один раз с MYSQL таблицы в память приложения, и в дальнейшем использовать ее....

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

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

Как сохранять информацию о вошедшем пользователе? - Python
Здравствуйте. Скажите, пожалуйста, как реализовать такой функционал? - Запись IP, вошедшего на сайт, url, с которого зашел, и...

Как вывести информацию о пользователе? - Bash
можете сказать как вывести инф-ию о польз-ле работающем в сист.(имя, время входа в сист, время простоя и тд.) пробовала W но это не то что...

Как скрыть информацию о пользователе - MS Word
Добрый день. Подскажите, пожалуйста, существует ли возможность в Word (Excel и т.п.) скрыть информацию о пользователе, который работает с...

6
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
15.10.2013, 00:55 #2
Добавь кнопку, по нажатию на которую будут считываться значения из полей, далее можно сохранить результат в SharedPreferences и доставать оттуда когда и где душе угодно.
1
SherlockH
0 / 0 / 0
Регистрация: 29.08.2013
Сообщений: 32
15.10.2013, 21:08  [ТС] #3
Спасибо. Нашёл тему про SharedPreferences, и сохранил имя и фамилию.
Теперь как их достать и поставить в заголовок уведомления?
Прилагаю код Activity с сохранением(в нём названия строк с данными) и код уведомления(в нём я уже пытался вызвать строку в заголовок уведомления(titleText)). Но ничего не заработало...
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
package ru.project.testinfomats;
 
import android.app.Activity;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.widget.EditText;
 
public class CInfo extends Activity {
    
    EditText surname;
    EditText name;
    SharedPreferences sPref;
    final String SURNAME = "surname";
    final String NAME = "name";
    
    protected void onDestroy() {
    saveText();
    super.onDestroy();
    }
    
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.custom);
        
        surname = (EditText) findViewById(R.id.surname);  
        name = (EditText) findViewById(R.id.name);
        loadText();
    }
    
    void saveText() {
        sPref = getPreferences(MODE_PRIVATE);
        Editor ed = sPref.edit();
        ed.putString(NAME, name.getText().toString());
        ed.putString(SURNAME, surname.getText().toString());
        ed.commit();
    }
    
    void loadText() {   
        sPref = getPreferences(MODE_PRIVATE);
        String surnm = sPref.getString(SURNAME, "");
        String nm = sPref.getString(NAME, "");
        surname.setText(surnm);
        name.setText(nm);
    }
}
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
package ru.project.testinfomats;
 
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
 
import android.annotation.SuppressLint;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.IBinder;
 
@SuppressLint("SimpleDateFormat")
public class NotificationService extends Service {
 
    SharedPreferences sPref;
    
    public IBinder onBind(Intent intent) {
        return null;
    }
 
    @SuppressWarnings("deprecation")
    public void onCreate() {
        final int NOTIFY_ID = 1101;
        
        long when = System.currentTimeMillis();
        
        Date now = new Date();
        DateFormat formatter = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
        String date = formatter.format(now);
                            
                    NotificationManager mNotificationManager = (NotificationManager)
                        getSystemService(Context.NOTIFICATION_SERVICE);
            
                    int icon = R.drawable.ic_launcher;
                    CharSequence titleText = "Уважаемый(ая) " + sPref.getString(SURNAME);
                    CharSequence contentText = "Просим вас оплатить коммунальные услуги";
                                
                    Notification ntf = new Notification(icon, null, when);
                    @SuppressWarnings("unused")
                    Context context = getApplicationContext();
                    ntf.defaults = Notification.DEFAULT_SOUND;
                                        
                    Intent i = new Intent(this, NotificationDialog.class);
                    @SuppressWarnings("unused")
                    PendingIntent contentIntent = PendingIntent.getActivity(this, 0, i, 0);
                    ntf.setLatestEventInfo(this, titleText, contentText, PendingIntent.getActivity(this, 1, i, 0));
                    mNotificationManager.notify(NOTIFY_ID, ntf);
    }
}
Что не так???
0
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
15.10.2013, 22:40 #4
что то не нашел где в сервисе инициализируется sPref.
а лучше всего используйте для таких целей хелперы.

Кликните здесь для просмотра всего текста
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
/* 
 * License: GPLv3 ([url]http://www.gnu.org/licenses/gpl-3.0.html[/url])
 * Start: 01.02.2012
 */
 
package ru.helpers;
 
import android.content.Context;
import android.content.SharedPreferences;
 
public class SPHelper {
    public static final String  SHARED_PREFS    = "SHARED_PREFS";
    private Context             mContext;
 
    public SPHelper(Context context) {
        mContext = context;
    }
 
    // SAVE TO PREFS
    public void saveToPrefsString(String _key, String _value) {
        SharedPreferences prefs = mContext.getSharedPreferences(SHARED_PREFS, 0);
        SharedPreferences.Editor prefsEdit = prefs.edit();
 
        prefsEdit.putString(_key, _value);
        prefsEdit.commit();
    }
 
    public void saveToPrefsInt(String _key, int _value) {
        SharedPreferences prefs = mContext.getSharedPreferences(SHARED_PREFS, 0);
        SharedPreferences.Editor prefsEdit = prefs.edit();
 
        prefsEdit.putInt(_key, _value);
        prefsEdit.commit();
    }
 
    public void saveToPrefsLong(String _key, long _value) {
        SharedPreferences prefs = mContext.getSharedPreferences(SHARED_PREFS, 0);
        SharedPreferences.Editor prefsEdit = prefs.edit();
 
        prefsEdit.putLong(_key, _value);
        prefsEdit.commit();
    }
 
    public void saveToPrefsFloat(String _key, float _value) {
        SharedPreferences prefs = mContext.getSharedPreferences(SHARED_PREFS, 0);
        SharedPreferences.Editor prefsEdit = prefs.edit();
 
        prefsEdit.putFloat(_key, _value);
        prefsEdit.commit();
    }
 
    public void saveToPrefsBoolean(String _key, boolean _value) {
        SharedPreferences prefs = mContext.getSharedPreferences(SHARED_PREFS, 0);
        SharedPreferences.Editor prefsEdit = prefs.edit();
 
        prefsEdit.putBoolean(_key, _value);
        prefsEdit.commit();
    }
 
    // GET FROM PREFS
    public String getFromPrefsString(String _key) {
        SharedPreferences prefs = mContext.getSharedPreferences(SHARED_PREFS, 0);
        String value = prefs.getString(_key, "");
 
        return value;
    }
 
    public String getFromPrefsString(String _key, String _default) {
        SharedPreferences prefs = mContext.getSharedPreferences(SHARED_PREFS, 0);
        String value = prefs.getString(_key, _default);
 
        return value;
    }
 
    public int getFromPrefsInt(String _key) {
        SharedPreferences prefs = mContext.getSharedPreferences(SHARED_PREFS, 0);
        int value = prefs.getInt(_key, 0);
 
        return value;
    }
 
    public int getFromPrefsInt(String _key, int _default) {
        SharedPreferences prefs = mContext.getSharedPreferences(SHARED_PREFS, 0);
        int value = prefs.getInt(_key, _default);
 
        return value;
    }
 
    public long getFromPrefsLong(String _key) {
        SharedPreferences prefs = mContext.getSharedPreferences(SHARED_PREFS, 0);
        long value = prefs.getLong(_key, 0);
 
        return value;
    }
 
    public long getFromPrefsLong(String _key, long _default) {
        SharedPreferences prefs = mContext.getSharedPreferences(SHARED_PREFS, 0);
        long value = prefs.getLong(_key, _default);
 
        return value;
    }
 
    public float getFromPrefsFloat(String _key) {
        SharedPreferences prefs = mContext.getSharedPreferences(SHARED_PREFS, 0);
        float value = prefs.getFloat(_key, 0);
 
        return value;
    }
 
    public float getFromPrefsFloat(String _key, float _default) {
        SharedPreferences prefs = mContext.getSharedPreferences(SHARED_PREFS, 0);
        float value = prefs.getFloat(_key, _default);
 
        return value;
    }
 
    public boolean getFromPrefsBoolean(String _key) {
        SharedPreferences prefs = mContext.getSharedPreferences(SHARED_PREFS, 0);
        boolean value = prefs.getBoolean(_key, false);
 
        return value;
    }
 
    public boolean getFromPrefsBoolean(String _key, boolean _default) {
        SharedPreferences prefs = mContext.getSharedPreferences(SHARED_PREFS, 0);
        boolean value = prefs.getBoolean(_key, _default);
 
        return value;
    }
}
0
SherlockH
0 / 0 / 0
Регистрация: 29.08.2013
Сообщений: 32
16.10.2013, 06:26  [ТС] #5
На 40-ой строке во втором коде. Хотел склеять в заголовок, типа: "Уважаемый(ая) Ф. И."...
0
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
16.10.2013, 06:29 #6
это я понял, просто не понятно где вы инициализируете sPref
0
SherlockH
0 / 0 / 0
Регистрация: 29.08.2013
Сообщений: 32
16.10.2013, 06:56  [ТС] #7
Простите, по-подробнее... Как это сделать?
З. Ы.: Я - новичок...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2013, 06:56
Привет! Вот еще темы с ответами:

Как считать информацию о пользователе системы - в ячеку EXCEL'а - VBA
Уважаемые господа профи! Существует-ли возможность, чтобы, при открытии файла EXCEL'а, в его конкретную ячейку (скажем A1) автоматически...

Как просмотреть информацию о подключенном пользователе к точке доступа - Wi-Fi
У меня есть моя точка доступа. Есть модем роутер D-Link 2640U + Wi-Fi. так вот как просмотреть на какие сайты заходят подключенные...

Как получить значение параметра и использовать его в дальнейшем - Delphi
Здравствуйте. Помогите пожалуйста , очень срочно нужно, хотя бы,где инфу про это поискать, конечно хорошо если есть пример. Проверяю текст...

Как и где запоминать информацию для ее обработки в дальнейшем при обновлении страницы - C# ASP.NET
Здраствуйте! Есть две таблицы в них данные из базы, первая таблица(грубо говоря в ней данные такие- название салатов ) каждое название...


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

Или воспользуйтесь поиском по форуму:
7
Yandex
Объявления
16.10.2013, 06:56
Ответ Создать тему
Опции темы

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