Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
JenQoscha
0 / 0 / 0
Регистрация: 26.04.2018
Сообщений: 3
1

Приложение не сохраняет данные

26.04.2018, 11:53. Просмотров 300. Ответов 2
Метки нет (Все метки)

Добрый день хочу спросить, почему у меня не происходит сохранение данных в приложении, все перепробовал не получается.
Вот код :
Main.java
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
149
150
151
152
153
154
155
156
157
158
159
160
161
package com.example.diplom;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Color;
import android.graphics.Typeface;
import android.os.Environment;
import android.preference.PreferenceManager;
import android.support.v7.app.AlertDialog;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.EditText;
import android.widget.Toast;
 
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
 
public class Main extends AppCompatActivity{
    public EditText editText;
    public String filename = null;
    private String path = Environment.getExternalStorageDirectory().toString()+"/files/";
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        editText = (EditText) findViewById(R.id.editText);
    }
    @Override
    protected void onResume() {
        super.onResume();
        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
 
        float fSize = Float.parseFloat(sharedPreferences.getString(getString(R.string.pref_size),"20"));
        editText.setTextSize(fSize);
 
        String regular = sharedPreferences.getString(getString(R.string.pref_style),"");
        int typeface = Typeface.NORMAL;
 
        if(regular.contains("Полужирный"))
            typeface += Typeface.BOLD;
 
        if(regular.contains("Курсив"))
            typeface += Typeface.ITALIC;
 
        editText.setTypeface(null, typeface);
 
 
        int color = Color.BLACK;
        if(sharedPreferences.getBoolean(getString(R.string.pref_color_red), false))
            color += Color.RED;
 
        if(sharedPreferences.getBoolean(getString(R.string.pref_color_green), false))
            color += Color.GREEN;
 
        if(sharedPreferences.getBoolean(getString(R.string.pref_color_blue), false))
            color += Color.BLUE;
 
        editText.setTextColor(color);
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main_menu, menu);
        return super.onCreateOptionsMenu(menu);
    }
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.action_clear:
                editText.setText("");
                Toast.makeText(getApplicationContext(), "Очищено", Toast.LENGTH_SHORT).show();
                return true;
            case R.id.action_open:
                AlertDialog.Builder builder = new AlertDialog.Builder(this);
                builder.setTitle("имя файла");
                builder.setMessage("Введите имя файла для открытия");
                final EditText input = new EditText(this);
                builder.setView(input);
                builder.setPositiveButton("Открыть", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        editText.setText("");
                        String value = input.getText().toString();
                        filename = value;
                        File file = new File(path+ filename);
                        if(file.exists()&& file.isFile()){
                            editText.setText(openFile(filename));
                        } else{
                            Toast.makeText(Main.this,"Файла не существует", Toast.LENGTH_SHORT).show();
                        }
                    }
                });
                builder.show();
                return true;
                case R.id.action_save:
                AlertDialog.Builder alert = new AlertDialog.Builder(this);
                alert.setTitle("Имя файла");
                alert.setMessage("Введите имя файла для сохранения");
                final EditText input2 = new EditText(this);
                alert.setView(input2);
                alert.setPositiveButton("Сохранить", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                    String value = input2.getText().toString();
                    filename = value;
                    saveFile(filename, editText.getText().toString());
                    }
                });
                alert.setNegativeButton("Отмена", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(Main.this,"Вы нажали отмена", Toast.LENGTH_SHORT).show();
                    }
                });
                 alert.show();
                return true;
              case R.id.action_settings:
                  Intent i = new Intent(Main.this,SettingsActivity.class);
                  startActivity(i);
        }
            return super.onOptionsItemSelected(item);
        }
        private void saveFile (String filename, String body) {
        try {
            File root = new File(this.path);
            if(!root.exists()){
                root.mkdirs();
            }
            File file = new File(root, filename);
            FileWriter writer = new FileWriter(file);
            writer.append(body);
            writer.flush();
            writer.close();
            Toast.makeText(Main.this,"Сохранено", Toast.LENGTH_SHORT).show();
 
        } catch (Exception e){
            e.printStackTrace();
        }
    }
 
        private String openFile(String filename){
        StringBuilder text = new StringBuilder();
        try{
            File file = new File(this.path, filename);
            BufferedReader br = new BufferedReader(new FileReader(file));
            String line;
            while ((line= br.readLine())!=null){
                text.append(line + "\n");
 
            }
        } catch (Exception e){
            e.printStackTrace();
        }
        return  text.toString();
        }
}
Androidmainfest.xml
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.diplom">
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".Main">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".SettingsActivity">
        </activity>
    </application>
</manifest>
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2018, 11:53
Ответы с готовыми решениями:

Программа не сохраняет данные в файл. Записи. Консольное приложение
Как и сказано в заголовке моя программа не сохраняет записи в файл. Сохранить нужно в текстовый...

Не сохраняет данные в БД
Добрый день, не могу второй день решить проблему. При попытки добавить новую запись в БД, она...

Скрипт не сохраняет данные в бд.
Здравствуйте. Пытаюсь заставить работать скрипт-хостинг картинок. Пока на локалхост. Скрипт...

Dbgrid не сохраняет данные
Всем привет! подскажите пожалуйста...уже дня 3 сижу и понять не могу что не так не сохраняет и...

Неправильно сохраняет данные
Не могу понять в чем проблема. Каждый раз при вводе новых данных, изменяются старые. Вот код:...

2
Pablito
2821 / 2241 / 758
Регистрация: 12.05.2014
Сообщений: 7,842
Завершенные тесты: 1
26.04.2018, 12:27 2
должны быть логи ошибок, 100% должны быть
0
JenQoscha
0 / 0 / 0
Регистрация: 26.04.2018
Сообщений: 3
26.04.2018, 13:05  [ТС] 3
Я не шарю, где посмотреть?) как бы оно фурычит нормально,но не сохраняет приложение без ошибок компилируется
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.04.2018, 13:05

Не сохраняет данные в базе Access
Добрый вечер, Замечаю неоднократно, что после ввода данных в базу, не сохраняются данные. Сначала...

Не сохраняет данные после записи
Добрый вечер форумчани. Не могу понять в чем проблема. Есть связь с БД (SQL) и программная оболочка...

JPA persistence не сохраняет данные в бд
Имеется dao: @Repository public abstract class JpaDao&lt;T extends Serializable&gt; implements...


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

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

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