アンドロイド用の指定パスのファイル削除方法

このQ&Aのポイント
  • アンドロイド用に指定パスのファイルを削除する方法についてご教授ください
  • 開発環境はEclipseを使用しており、ウィンドウを表示せずに処理のみを行うアプリを作成したいです
  • 現在どのウィザードを使用すれば良いのかわからない状態で、参考サイトも複数ありますがどこに何を書けば良いのか分かりません
回答を見る
  • ベストアンサー

アンドロイド用に指定パスのファイルの削除したいです

アンドロイド用に指定パスのファイルの削除したいです。 開発環境はEclipseを使っております。 起動したらウィンドウを表示せず、処理のみをおこなうようなアプリにしたいです。 導入を終え、HELLO WORLDの表示が終わった段階です。 JAVAを使うのは初めてです。 現在どのウィザードを使えばいいのかもわからない状態です。 以下のサイトを参考に開発しようと考えましたが、さまざまなクラスがあり、どこになにを書けばいいのかもわからない状態です。 http://it-trick-java.appspot.com/android/c2018/page25051.html http://www.my-notebook.net/10d38888-00d9-4fd0-8fe9-1fc60dfa4f5d.html ためしに上記のURLのコードをHELLO WORLDのJAVAファイルにコピペしてみたのですが、構文エラーがでました。 これからどうすればよいでしょうか。 どなたかご教授お願いできないでしょうか。

  • Java
  • 回答数4
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
  • OKTaro-
  • ベストアンサー率50% (36/72)
回答No.2

参考URLを拝見しました。 上のURLではthis.fileList()のメソッドを実装して削除したいファイルの一覧を返す処理を作らなければ動きません 下のURLではnew File("mydir")とあるのでこのファイルが無ければ何もおきません。 なので、delete(new File("/XXX")); // XXXは消したいファイル又はディレクトリのパス とすれば任意のファイルを削除出来るでしょう。 Activityクラスに以下のような感じで実装します protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); delete(new File("/XXX")); finish(); // 起動した画面を終了させます } Androidではファイル削除には権限が必要なのでAndroidManifest.xmlに <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> を追記して書き込み権限をアプリに与えてあげる必要があります。 ただ、ファイルの削除という行為は非常に危険なので、プログラムの基礎をしっかり理解してから実装する事をオススメします。 実機で実装してうっかり重要なファイルを壊して動かなくなった…! なんて事になったら大変ですからね… プログラムの作成にショートカットはありません。基礎をしっかり勉強する事が大事です。 逆に基礎以外はほぼ学ぶものは無いと言っても過言ではありません。後は全部応用みたいなものですから

maruboro007
質問者

お礼

ありがとうございます。

maruboro007
質問者

補足

回答ありがとうございます。 エラーなく実行することはできました。 権限も許可してあります。 ただ、削除したいファイルが削除できませんでした。 delete(new File("/XXX")); は使えませんでした。 アンドロイドだからかインポートがたりないのかわかりませんでした。 従って以下のものを採用しました。 File file = new File(("XXX); file.delete(); パスの指定の仕方が悪いのかと思い、以下のものも試してみましたが駄目でした。 どうすればよいでしょうか。 ("/data/data/jp.co/","data.bin"); ("/data/data/jp.co/data.bin"); 以下ソースコードになります。 package com.example.mrmr; import java.io.File; import android.app.Activity; import android.os.Bundle; public class MyAndroidApplActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); File file = new File(("/data/data/jp.co","data10.bin"); file.delete(); } }

その他の回答 (3)

  • OKTaro-
  • ベストアンサー率50% (36/72)
回答No.4

補足に回答します 他のアプリの管理下にあるファイルはセキュリティの仕様上消すことは出来ません OSの設定画面から見れるアプリ情報から「データ削除」で消すことは出来ますが、他のアプリからは不可能です 消したいアプリ側がそういう事ができる手段を提供していない限り。 root化すれば出来るかもしれませんがリスクもたくさんあるため普通はしないでしょう。

maruboro007
質問者

お礼

ありがとうございます。

maruboro007
質問者

補足

回答ありがとうございました。

  • OKTaro-
  • ベストアンサー率50% (36/72)
回答No.3

補足がありましたので再度回答します >delete(new File("/XXX")); は使えませんでした。 >アンドロイドだからかインポートがたりないのかわかりませんでした。 提示された参考URL http://www.my-notebook.net/10d38888-00d9-4fd0-8fe9-1fc60dfa4f5d.html に記載のある static private void delete(File f) のメソッドを実装していないからでしょう。 file.deleteとの違いはディレクトリを指定した場合に中身を削除する事ができるかどうかです。 で、実行してもファイルが削除出来なかった、という事についてですが もしや別のアプリで管理しているファイルを削除しようとしていらっしゃるのでしょうか? /data/data/の中にあるディレクトリはアプリ毎になっており、基本的にそのファイルに関しては”自分のアプリ領域のもの”しか触れないようになっています。 他のアプリが勝手に書き換えたりできては困るからです。 ブラウザでダウンロードした画像とか自分で自由に置いたものなどは削除出来るはずです。 消そうとしているファイルをよく確認してみてください。

maruboro007
質問者

お礼

ありがとうございます。

maruboro007
質問者

補足

回答ありがとうございます。 別のアプリで管理しているファイルを削除したいです。 なにか方法はないでしょうか。

  • y_shimizu
  • ベストアンサー率41% (27/65)
回答No.1

正直、何がわからないのかわからないです。 > アンドロイド用に指定パスのファイルの削除したいです ストレージ内のファイルを削除するアプリを作りたい、という意味でしょうか? > 現在どのウィザードを使えばいいのかもわからない状態です。 ただのEclipseですか?それともAndroid開発用のEclipse拡張IDEかなにかでしょうか? > 導入を終え、HELLO WORLDの表示が終わった段階です。 > JAVAを使うのは初めてです。 HELLO WORLDの表示とはコンソールアプリでですか?Androidのエミュレータでですか? Activityやライフサイクル云々とかの理解はありますか?またはそれ以前にJavaも拙いということでしょうか?

maruboro007
質問者

お礼

ありがとうございます。

maruboro007
質問者

補足

>ストレージ内のファイルを削除するアプリを作りたい、という意味でしょうか? はい、そうです。 >ただのEclipseですか?それともAndroid開発用のEclipse拡張IDEかなにかでしょうか? ANDROIDSDKを落として使っています。 >HELLO WORLDの表示とはコンソールアプリでですか?Androidのエミュレータでですか? >Activityやライフサイクル云々とかの理解はありますか?またはそれ以前にJavaも拙いと>いうことでしょうか? エミュレータです。 Activityの理解はありません。Javaもはじめて使います。

関連するQ&A

  • Androidエミュレーターでアプリが実行されない

    Androidに関して質問があります。 Androidエミュレーターでアプリが実行されません。 Eclipseで開発環境を構築し、本に書いてあった「Hello World」のソースコードの入力までは済みました。 しかし、エミュレータが起動するところまでしか、行きません。 成功すれば、「Hello World」が実行されるはずなのですが…。 Androidエミュレーターのアプリの画面にも、「Hello World」は見当たりません。 理由が分かる方、教えてください。 お願いします。

  • string.xmlで宣言した文字について

    お世話になります。 java eclipse でスマホアプリを作成しています。 string.xmlで、 <string name="hello_world">Hello world!</string> と記載し、 画面.xmlで android:hint="@string/hello_world" と記載すると、 Hello world! と表示されます。 これを画面.xmlではなく、.javaの方で記載したいのですが、 どのように記載すればよいでしょうか? ※@string/hello_worldと記載するとエラーになりました お手数ですがよろしくお願いします。

    • ベストアンサー
    • Java
  • Android画面レイアウトのエラーについて

    pleiadesを用いて、Eclipse4.4でAndroidの開発を始めました。 新規にAndroidアプリケーションを作成するとデフォルトでHello Worldが 表示されます。そこにグラフィカルレイアウトを用いて「Plain Text」を 追加すると以下のエラーが発生します。 「Exception raised during rendering: java.lang.System.arraycopy([CI[CII)V」 これは、「Plain Text」に限らず、テキストフィールドのどれでも発生します。 しかし、フォームウィジェットでは、エラーは発生しません。 また、activity_main.xmlを直接編集しても同様のエラーが発生してしまいます。 解決方法についてご教授のほどお願いいたします。

  • Androidのファイルのダウンロード等について

    開発・その他開発にも投稿しましたが・・・。 1.Androidアプリ開発入門教室(10日で覚える)の本で書いてある通りに、Eclipseを日本語化する   Pleiadesをダウンロードし、展開して以下のファイルをEclipseのインストールフォルダに上書き   する際に、Eclipseのインストールフォルダに同名のファイルが無いのですが、eclipse.exeに   上書きコピーすればいいのでしょうか?  ・eclipse.exe-clean.cmd  ・eclipse.exe startup.cmd 2.Android SDKをダウンロードし展開した時に、本ではSDK Manager.exeが載っていますが   SDK Managerの他に、AVD Managerも出てきました。2つ出てきたせいか、本には   エミュレーター作成の際に、Eclipseのウィンドウメニューから'Android SDK及びAVD   マネージャー'を選ぶとあるのですがそれが無く、'AVD Manager'を選ぶと、本にあるような   左欄のボックス(Virtual devices等が書いてあるボックス)みたいなのがありません。   本の通りにやっているつもりなのですが、何か間違っているのでしょうか? 上記1、2について分かる方や詳しい人がいれば教えて下さい。お願いします。

  • Androidアプリ開発

    こんにちは。 最近、Androidアプリ開発に興味を持っているんですが、参考になるサイトがありません。 SDKインストール済みのEclipseをこちらからダウンロードしたのですが。。。 http://developer.android.com/sdk/index.html 自分で探してみても、たいていのサイトでの講座は、黒い画面を中心としてボタンを配置したりチェックボックスを配置したりするような感じみたいですが、AMDを作ってプロジェクトを作成してみたんですが、講座の中の画面とは全く違う表示になっています。 どちらかというと白い画面を中心としていて、画面のどまんなかにいきなり「Hello World」と表示されています。 おそらく、開発しているAndroidのバージョンが新しいことが原因だと思いますが、詳しくはよくわかりません。 というのも、iPod touchを持っているので、本当ならiPhoneアプリを作成したいんですが、Macがないので勉強用にとセンサーを使わない範囲でAndroidアプリ開発をしてみようと思ったのです。 誰か、なるべく最新で参考になるAndroidアプリ開発の講座的なサイトがあれば教えてください!お願いします!

    • ベストアンサー
    • Java
  • eclipseでファイルがjavaだと認識されない

    eclipseでjavaを使って開発をしているのですが、突然多くのファイルがjavaと認識してくれず、outlineにも表示されない、補完もカラーリングもされないという状態になってしまいました。何が原因で、どのようにしたら直るでしょうか。 宜しくお願いします。

  • jarファイルが削除できない

    またまたお願いします、Javaの質問です。今度はjarファイルが削除できなくなりました・・・。 eclipseを使用し、jarファイルを作成してみたのですが、そのjarファイルが削除できません。削除しようとしても「Java(TM)Platform SE binaryによってファイルは開かれているため、操作を完了できません。」と警告が出ます。以前作成した他のjarファイルは普通に削除が出来るのですが、今回作成したjarファイルは削除できません。タスクマネージャを起動し確認してみてもソフトは起動しておらず、仕方なくセーフモードで起動し削除しました。 なぜ急に削除できなくなったんですかね・・・?ちなみに今回作成したファイルは単純なHello Worldプログラムです。

    • ベストアンサー
    • Java
  • Eclipseで修正したファイル名の背景色をつけるには?

    Eclipse3.4でjavaの開発をしています。 CVSでプロジェクトの共有をしていると 追加や変更したファイル名には「>」が付き、変更点が判りますが ファイル名の背景に色をつけている人を見かけました。 例) test ├─Hello.java └─>Test.java ※←の背景色を変えたい。 一目見て判りやすいなと思い、私も設定したいのですが Eclipseの設定なのか、pluginによるものなのか未だ分からず。 ご存知の方いらっしゃいませんか? ちなみにその人はもういらっしゃらないです。 ----------------- WindowsXP SP2 Professional Eclipse3.4 all-in-one java1.6

    • ベストアンサー
    • Java
  • eclipse(Helios)を用いてXperia アプリの開発を行お

    eclipse(Helios)を用いてXperia アプリの開発を行おうとしてます。 Android SDK r7を下記URLを参考にセットアップしました(参考URLで使用しているのはr5ですが…)。 ・http://start-android-sdk.blogspot.com/2010/04/android-windowsxp.html#android-install-eclipse Hello World~の前まで行ったのはよいものの、メニューから「Android SDK and ADV Manager」を選択すると「Location of the Android SDK has not been setup in the preferences.」と表示され、Managerが表示されません。 もう一度「Android SDK and ADV Manager」を選択するとManagerは表示されるのですが、eclipseのコンソールに以下が表示されます。 [2010-10-13 21:50:57 - SDK Manager] Warning: Error parsing 'D:\Dev\Java\android\android-sdk-r07\platforms\android-2\sdk.properties': java.io.FileNotFoundException: D:\Dev\Java\android\android-sdk-r07\platforms\android-2\sdk.properties (指定されたファイルが見つかりません。). [2010-10-13 21:50:57 - SDK Manager] Warning: Error parsing 'D:\Dev\Java\android\android-sdk-r07\platforms\android-5\sdk.properties': java.io.FileNotFoundException: D:\Dev\Java\android\android-sdk-r07\platforms\android-5\sdk.properties (指定されたファイルが見つかりません。). [2010-10-13 21:50:57 - SDK Manager] Warning: Error parsing 'D:\Dev\Java\android\android-sdk-r07\platforms\android-6\sdk.properties': java.io.FileNotFoundException: D:\Dev\Java\android\android-sdk-r07\platforms\android-6\sdk.properties (指定されたファイルが見つかりません。). そこで質問なのですが、コンソールに表示された3つのファイルは、入れないと問題あるのでしょうか? また、入れなければならない場合、どのようにすれば入れる事ができるのでしょうか? よろしくお願いします。

  • Eclipse エラーはでないのに実機実行できず…

    Androidアプリ開発を試みる初心者です。 無知な事を言っているかと思いますが、どなたかお優しい方回答をよろしくお願い致します。 Eclipse3.7・言語Java 1 EclipseでAndroidアプリケーションを新たに生成→src/example/MainActivity.Javaに、Hello World の文を表示させるべく public class HelloWorld { public static void main (String[] args) { System.out.println("Hello World !!"); } } を記述。 2 実機で実行→実機にアイコン表示はされるが「問題が発生したため○○を終了します」と表示が出て中身は見られない。 どこに問題があるのでしょうか? 素人の為検討もつかず、途方に暮れています。 ちなみに、res/layout/activity_main.xmlをいじるだけなら(ボタンを配置したり、文字を表示さたり)、実機実行は問題なくいき中身も見れるのですが、Javaをいじると中身が見られない。 エクリプスに×エラーが出てないのに何故なのでしょう? 調べても解決出来なかった為質問させて頂きます。 心の広い方、回答よろしくお願いしますm(_ _)m

    • ベストアンサー
    • Java

専門家に質問してみよう