сбой приложения при использовании Sharedpreference с GSON в Android - PullRequest
0 голосов
/ 27 июня 2018

Приложение зависает, когда бы ни нажимали на кнопку «Сохранить». Я использовал 2 действия в этой программе, используя общие настройки и GSON. В первом упражнении я использовал 4 EditText и одну кнопку (Подтвердить), что приведет к 1-му действию ко 2-му действию, в котором я сделал 2 Кнопки (Сохранить) (Загрузить). Во время 1-го действия все нормально, но во 2-м действии всякий раз, когда я в конце концов нажимаю на кнопку сохранения ошибка появляется как app_Closed .. Я новичок в мире разработки Android .. Старший, пожалуйста, помогите мне !!

package com.example.rc.sharprejson;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class Main2Activity extends AppCompatActivity {

EditText Name, Profession, ProfId, Role;
Button Save;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main2);

    Name = (EditText) findViewById(R.id.editText);
    Profession = (EditText) findViewById(R.id.editText2);
    ProfId = (EditText) findViewById(R.id.editText3);
    Role = (EditText) findViewById(R.id.editText4);
    Save = (Button) findViewById(R.id.button);

    Save.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            Intent intent = new Intent( 
Main2Activity.this,MainActivity.class);
            startActivity(intent);
        }
    });

}

}

2-е задание

package com.example.rc.sharprejson;

import android.content.Context;
import android.content.SharedPreferences;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.TextView;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

import java.lang.reflect.Type;
import java.util.Arrays;

public class MainActivity extends AppCompatActivity {


private static final String TAG = MainActivity.class.getSimpleName();
private TextView txvDisplay;



@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    txvDisplay = (TextView) findViewById(R.id.txvdisplay);


}

public void saveObjectType(View view) {




    Main2Activity employee = getEmployee();

    SharedPreferences sharedPreferences = getPreferences(Context.MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPreferences.edit();

    Gson gson = new Gson();

    String jsonString =  gson.toJson( employee, Main2Activity.class);
    Log.i(TAG + " Save", jsonString);

    editor.putString("employee_key", jsonString);
    editor.apply();




}

public void loadObjectType(View view) {

    SharedPreferences sharedPreferences = getPreferences(Context.MODE_PRIVATE);
    String jsonString = sharedPreferences.getString("employee_key","N/A");
    Log.i(TAG + " Load", jsonString);

    Gson gson = new Gson();
    Main2Activity employee = gson.fromJson(jsonString,Main2Activity.class);

    String Displaytext = employee.Name.getText().toString() + " \n " + employee.Profession.getText().toString() + " \n "
                      +  employee.ProfId.getText().toString();

    txvDisplay.setText(Displaytext);


}


public  Main2Activity getEmployee(){

    Main2Activity employee = new  Main2Activity();

     employee.Name.getText().toString();
     employee.Profession.getText().toString();
     employee.ProfId.getText().toString();

    return employee;
}   `
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...