2016-05-26 2 views
-2

Я новичок в создании приложения для Android.Как сохранить значения в android?

Я попытался создать приложение для преобразования температуры, используя онлайн-руководство. (http://www.vogella.com/tutorials/Android/article.html#tutorialtemperature)

Я хотел бы знать, можно ли сохранить значения, введенные мной в качестве входных данных ранее на шаге 18.8, а затем отобразить значения в формате таблицы на другой странице приложения.

Если возможно, не могли бы вы посоветовать мне, как хранить значения?

спасибо.

(я поясню, если какая-либо дополнительная информация необходима.)

Edit:

Я намерен написать значения температуры (которые введенные) в текстовый файл.

Следующие коды взяты с веб-сайта.

MainActivity.class

package com.vogella.android.temperatureconverter; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.EditText; 
import android.widget.RadioButton; 
import android.widget.Toast; 

public class MainActivity extends Activity { 
    private EditText text; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    text = (EditText) findViewById(R.id.inputValue); 

    } 

    // this method is called at button click because we assigned the name to  the 
    // "OnClick" property of the button 
    public void onClick(View view) { 
    switch (view.getId()) { 
    case R.id.button1: 
     RadioButton celsiusButton = (RadioButton) findViewById(R.id.radio0); 
     RadioButton fahrenheitButton = (RadioButton)   findViewById(R.id.radio1); 
     if (text.getText().length() == 0) { 
     Toast.makeText(this, "Please enter a valid number", 
     Toast.LENGTH_LONG).show(); 
    return; 
    } 

    float inputValue = Float.parseFloat(text.getText().toString()); 
    if (celsiusButton.isChecked()) { 
    text.setText(String 
     .valueOf(ConverterUtil.convertFahrenheitToCelsius(inputValue))); 
    celsiusButton.setChecked(false); 
    fahrenheitButton.setChecked(true); 
    } else { 
    text.setText(String 
     .valueOf(ConverterUtil.convertCelsiusToFahrenheit(inputValue))); 
    fahrenheitButton.setChecked(false); 
    celsiusButton.setChecked(true); 
    } 
    break; 
    } 
    } 

} 

Utility.class

package com.vogella.android.temperatureconverter; 

public class ConverterUtil { 
    // converts to celsius 
    public static float convertFahrenheitToCelsius(float fahrenheit) { 
    return ((fahrenheit - 32) * 5/9); 
    } 

    // converts to fahrenheit 
    public static float convertCelsiusToFahrenheit(float celsius) { 
    return ((celsius * 9)/5) + 32; 
    } 
} 
public void writedata(String data) { 
      //BufferedWriter out = null; 

     try{ 

      FileOutputStream out = new FileOutputStream(new File("outputfile.txt")); 
      out.write(ConverterUtil.convertFahrenheitToCelsius(inputValue.getBytes()); 
      out.close(); 

      } 
} 

(я изменил код утилиты с сайта включить метод записи файла.)

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

Я новичок в написании текстовых файлов. Надеюсь, ты меня проведешь. Благодарю.

+0

Если вы храните каждый вход в базе данных SQL, то можете. –

+1

Существует несколько способов сделать это. В идеале вам нужно попробовать несколько, а затем вернуться, если у вас есть проблемы. –

+0

@ durgadevi1 Опубликовать то, что вы пробовали до сих пор, чтобы получить дополнительную помощь. – Gandhi

ответ

0

Вы можете отправить данные из одной активности в другую деятельность с использованием намерения.

Intent otherActivityIntent = new Intent(this,OtherActivity.class); 
otherActivityIntent.putExtra("key","tempratureValue"); 
startActivity(otherActivityIntent); 

В другой деятельности:

в OnCreate()

String temprature = getIntent().getStringExtra("key"); 
+0

Спасибо за ваш ответ – durgadevi1

1

Для постоянного хранения значений вы можете хранить его в SQLite-базе данных, которая поддерживается в базе данных или вы можете написать его память устройства с использованием входного потока или вы можете сохранить его в общих предпочтениях, но в вашем случае вы хотите только передать вход пользователя без сохранения его, чтобы вы могли поместить float в намерение, используемое для вызова такой операции:

intent.putExtra("tag",value) 

затем в следующей деятельности получить этот результат в позвонив по телефону

getIntent().getFloatExtra("tag", float defaultValue); 

где «метка» = ключ переменной и DefaultValue это значение, используемое при для ключа «метки» не будет никакого результата ,

+0

Спасибо за ваш ответ – durgadevi1

Смежные вопросы