이것은 위치를 가져와 arraylist에서 추가/제거하고 클릭 버튼에 목록을 저장하고 다른 저장 방법이 아닌 SharedPreferences를 사용해야하는 간단한 앱입니다. 어떤 이유로 든 아무 것도 저장하지 않습니다. 내가 관련이없는 것들의 일부를 제거 ..버튼의 클릭으로 ArrayList를 저장할 수 없습니다
package com.example.pearls1;
import java.util.ArrayList;
import android.app.ListActivity;
import android.content.Context;
import android.content.SharedPreferences;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.util.Log;
import android.util.SparseBooleanArray;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends ListActivity {
ArrayList<String> list = new ArrayList<String>();
ArrayAdapter<String> adapter;
SharedPreferences sharedPreferences;
public int ItemCounter = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LocationManager locManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
LocationListener locListener = new MyLocationListener();
locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0,
locListener);
Button buttonAdd = (Button) findViewById(R.id.buttonAdd);
Button buttonDelete = (Button) findViewById(R.id.buttonDelete);
Button buttonSave = (Button) findViewById(R.id.buttonSave);
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, list);
// Opening the sharedPreferences object
sharedPreferences = getSharedPreferences("SaveListItem", 0);
SharedPreferences mypreferences = getSharedPreferences(
"myPrefs", Context.MODE_PRIVATE);
for (int Counter=0; Counter< sharedPreferences.getInt("Count", 0); Counter++)
{
list.add(sharedPreferences.getString("Item" + Integer.toString(Counter), ""));
}
OnClickListener listenerAdd = new OnClickListener() {
@Override
public void onClick(View v) {
EditText edit = (EditText) findViewById(R.id.PearlNumber);
EditText edit1 = (EditText) findViewById(R.id.txtLatitude);
EditText edit2 = (EditText) findViewById(R.id.txtLongitude);
list.add("Pearl Number:" + edit.getText().toString() + " X:"
+ edit1.getText().toString() + " Y:"
+ edit2.getText().toString());
// adapter.notifyDataSetChanged();
SaveItem(edit.getText().toString(), edit1.getText().toString(),
edit2.getText().toString());
};
};
OnClickListener listenerDel = new OnClickListener() {
@Override
public void onClick(View v) {
SparseBooleanArray checkedItemPositions = getListView()
.getCheckedItemPositions();
int itemCount = getListView().getCount();
for (int i = itemCount - 1; i >= 0; i--) {
if (checkedItemPositions.get(i)) {
adapter.remove(list.get(i));
}
}
checkedItemPositions.clear();
adapter.notifyDataSetChanged();
}
};
OnClickListener listenerSave = new OnClickListener() {
@Override
public void onClick(View v) {
sharedPreferences = getSharedPreferences("SaveListItem", 0);
SharedPreferences mypreferences = getSharedPreferences(
"myPrefs", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = mypreferences.edit();
editor.putInt("Count", list.size());
for (int i = 0; i < ItemCounter; i++) {
editor.putString("Item" + Integer.toString(i), list.get(i));
}
editor.commit();
}
};
buttonAdd.setOnClickListener(listenerAdd);
buttonDelete.setOnClickListener(listenerDel);
buttonSave.setOnClickListener(listenerSave);
setListAdapter(adapter);
}
private void SaveItem(String pearl, String Anumber, String Bnumber) {
sharedPreferences = getSharedPreferences("SaveListItem", 0);
ItemCounter++;
/** Opening the editor object to write data to sharedPreferences */
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("pearl" + Integer.toString((ItemCounter - 1)), pearl);
editor.putString("Anumber" + Integer.toString((ItemCounter - 1)),
Anumber);
editor.putString("Bnumber" + Integer.toString((ItemCounter - 1)),
Bnumber);
// Storing the count of Item count
editor.putInt("ItemCounter", ItemCounter);
/** Saving the values stored in the shared preferences */
editor.commit();
}
package com.example.pearls1;
import java.util.ArrayList;
import android.app.ListActivity;
import android.content.Context;
import android.content.SharedPreferences;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.util.Log;
import android.util.SparseBooleanArray;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends ListActivity {
ArrayList<String> list = new ArrayList<String>();
ArrayAdapter<String> adapter;
SharedPreferences sharedPreferences;
public int ItemCounter = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LocationManager locManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
LocationListener locListener = new MyLocationListener();
locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0,
locListener);
Button buttonAdd = (Button) findViewById(R.id.buttonAdd);
Button buttonDelete = (Button) findViewById(R.id.buttonDelete);
Button buttonSave = (Button) findViewById(R.id.buttonSave);
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, list);
// Opening the sharedPreferences object
sharedPreferences = getSharedPreferences("SaveListItem", 0);
SharedPreferences mypreferences = getSharedPreferences(
"myPrefs", Context.MODE_PRIVATE);
for (int Counter=0; Counter< sharedPreferences.getInt("Count", 0); Counter++)
{
list.add(sharedPreferences.getString("Item" + Integer.toString(Counter), ""));
}
OnClickListener listenerAdd = new OnClickListener() {
@Override
public void onClick(View v) {
EditText edit = (EditText) findViewById(R.id.PearlNumber);
EditText edit1 = (EditText) findViewById(R.id.txtLatitude);
EditText edit2 = (EditText) findViewById(R.id.txtLongitude);
list.add("Pearl Number:" + edit.getText().toString() + " X:"
+ edit1.getText().toString() + " Y:"
+ edit2.getText().toString());
// adapter.notifyDataSetChanged();
SaveItem(edit.getText().toString(), edit1.getText().toString(),
edit2.getText().toString());
};
};
OnClickListener listenerDel = new OnClickListener() {
@Override
public void onClick(View v) {
SparseBooleanArray checkedItemPositions = getListView()
.getCheckedItemPositions();
int itemCount = getListView().getCount();
for (int i = itemCount - 1; i >= 0; i--) {
if (checkedItemPositions.get(i)) {
adapter.remove(list.get(i));
}
}
checkedItemPositions.clear();
adapter.notifyDataSetChanged();
}
};
OnClickListener listenerSave = new OnClickListener() {
@Override
public void onClick(View v) {
sharedPreferences = getSharedPreferences("SaveListItem", 0);
SharedPreferences mypreferences = getSharedPreferences(
"myPrefs", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = mypreferences.edit();
editor.putInt("Count", list.size());
for (int i = 0; i < ItemCounter; i++) {
editor.putString("Item" + Integer.toString(i), list.get(i));
}
editor.commit();
}
};
buttonAdd.setOnClickListener(listenerAdd);
buttonDelete.setOnClickListener(listenerDel);
buttonSave.setOnClickListener(listenerSave);
setListAdapter(adapter);
}
private void SaveItem(String pearl, String Anumber, String Bnumber) {
sharedPreferences = getSharedPreferences("SaveListItem", 0);
ItemCounter++;
/** Opening the editor object to write data to sharedPreferences */
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("pearl" + Integer.toString((ItemCounter - 1)), pearl);
editor.putString("Anumber" + Integer.toString((ItemCounter - 1)),
Anumber);
editor.putString("Bnumber" + Integer.toString((ItemCounter - 1)),
Bnumber);
// Storing the count of Item count
editor.putInt("ItemCounter", ItemCounter);
/** Saving the values stored in the shared preferences */
editor.commit();
}
나는 그것이 마지막 항목을 저장하는 것 같은데요? – codeMagic
문제가 발생한 곳을 누군가가 알아야 할 코드로 줄일 수 있습니까? 여러 파일 코드는 구문 분석 및 문제를 찾기가 어려울 수 있습니다. – Zyerah
아무 것도 저장하지 않습니다. 오류가 없으므로 항목이 추가 된 것을 보여주고 일단 앱을 다시 열면 아무 것도 나타나지 않습니다. –