я думал, что это работает, но теперь его нет, просто предположит, чтобы загрузить затем открыть скачать в.в. добавлен некоторой СОюсохранения JSON внешней памяти в настоящее время не работает
public class MainActivity extends Activity {
String entityString = null;
String storyObj = "";
Object json = null;
HttpEntity entity = null;
InputStream is = null;
Integer responseInteger = null;
//external storage check
boolean storageAvailable = false;
boolean storageWriteable = false;
String state = Environment.getExternalStorageState();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button downloadBtn = (Button) findViewById(R.id.downloadButton);
downloadBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
saveToExternal();
}
});
Button loadBtn = (Button) findViewById(R.id.loadButton);
loadBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
loadExternal();
}
});
//end of onCreate()
}
public void saveToExternal(){
TextView test = (TextView) findViewById(R.id.textView);
try{
//connects to mySQL
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("http://10.0.2.2/textures_story_list.php");
HttpResponse response = client.execute(post);
//captures the response
entity = response.getEntity();
InputStream entityStream = entity.getContent();
StringBuilder entityStringBuilder = new StringBuilder();
byte [] buffer = new byte[1024];
int bytesReadCount;
while ((bytesReadCount = entityStream.read(buffer)) > 0) {
entityStringBuilder.append(new String(buffer, 0, bytesReadCount));
}
entityString = entityStringBuilder.toString();
//responseInteger = Integer.valueOf(entityString);
}catch(Exception e) {
Log.e("log_tag", "Error in http connection "+e.toString());
}
//writes as String from entityString to external memory
//first check storage state
try{
if (Environment.MEDIA_MOUNTED.equals(state)){
storageAvailable = storageWriteable = true;
} else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)){
storageAvailable = true;
storageWriteable = false;
} else storageAvailable = storageWriteable = false;
if(storageAvailable && storageWriteable) {
File extFile = new File(Environment.getExternalStorageDirectory(), "/android/data/com.game/story.json");
FileOutputStream out = new FileOutputStream(extFile);
out.write(entityString.getBytes());
out.flush();
out.close();
}
}catch(Exception e) {
Log.e("log_tag", "Error saving string "+e.toString());
}
//end of saveJson()
}
public void loadExternal(){
TextView test = (TextView) findViewById(R.id.textView);
//loads the files
try{
FileInputStream fileInput = openFileInput("/android/data/com.game/story.json");
BufferedReader inputReader = new BufferedReader(new InputStreamReader(fileInput, "UTF-8"), 8);
StringBuilder strBuilder = new StringBuilder();
String line = null;
while ((line = inputReader.readLine()) != null) {
strBuilder.append(line + "\n");
}
fileInput.close();
storyObj = strBuilder.toString();
}catch(IOException e){
Log.e("log_tag", "Error building string "+e.toString());
}
try{
JSONArray jArray = new JSONArray(storyObj);
String storyNames = "";
for(int i = 0;i<jArray.length();i++){
storyNames += jArray.getJSONObject(i).getString("story_name") +"\n";
}
test.setText(storyNames);
}catch(JSONException e) {
Log.e("log_tag", "Error returning string "+e.toString());
}
return;
//and of openJson()
}
//end of class body
}
ошибка говорит, что это не имеет никакого файл истории. json кто-нибудь знает, какие коды им не хватает, чтобы исправить это? моя ошибка теперь
Error saving string java.io.FileNotFoundException: /mnt/sdcard/android/data/com.game/story.json (No such file or directory)
Я думаю, что вы храните файл в externalStorage (/ Android/данные/com.your.package /) и попробуйте загрузить из пакета dir (/data/data/com.your.package) –
, так как я реализую это в этом коде, я все еще изучаю – daniel
это моя ошибка при сохранении файла. Ошибка при сохранении файла строка java.io.FileN otFoundException: /mnt/sdcard/android/data/com.game/story.json (Нет такого файла или каталога) – daniel