2017-03-12 6 views
0

Androidスタジオ2.3でAndroidアプリを書く方法を学習しています。 Javaをやっているよりも100倍に見えます。私は3つのEditTextのStringを.txtファイルに書きたいと思っています。私の変数は非常に悪いことが分かっています。私は最後の変更を取り戻しましたが、私はクラッシュの後にとても疑わしいので、新しいボタンがそこにあるかどうかを確認するだけで、ちょうどいくつかの行を追加した後、クラッシュせずにアプリケーションが非常に頻繁に走った。単純な変更がうまくいかないたびにAndroid Studioプロジェクトをコピーするソリューションにはなりません。簡単なアプリがまだ再構築された後にクラッシュする

package com.example.markus.myapplication3; 

import android.app.Activity; 
import android.os.Bundle; 
import android.os.Environment; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 

import java.io.BufferedReader; 
import java.io.File; 
import java.io.FileInputStream; 
import java.io.FileNotFoundException; 
import java.io.FileOutputStream; 
import java.io.IOException; 
import java.io.InputStreamReader; 
import java.text.ParseException; 
import java.util.ArrayList; 

public class ArtHin extends Activity { 
    Button ok; 
    EditText editText; 
    EditText editText2; 
    EditText editText3; 
    public String path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/test"; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_art_hin); 
     ok = (Button) findViewById(R.id.button3); 
     editText = (EditText) findViewById(R.id.editText); 
     editText2 = (EditText) findViewById(R.id.editText2); 
     editText3 = (EditText) findViewById(R.id.editText3); 
     File dir = new File(path); 
     dir.mkdirs(); 

     File file = new File(path + "/bestand.txt"); 
    } 

    public void buttonSave(View view){ 
     File file = new File(path + "/bestand.txt"); 
     String zeile = editText.getText().toString()+"@"+editText2.getText().toString()+">"+editText3.getText().toString(); 
     String [] transfer = zeile.split(""); 
     editText.setText(""); 
     editText2.setText(""); 
     editText3.setText(""); 
     Save (file, transfer); 
} 

public static void Save(File file, String[] data) 
{ 
    FileOutputStream fos = null; 
    try 
    { 
     fos = new FileOutputStream(file); 
    } 
    catch (FileNotFoundException e) {e.printStackTrace();} 
    try 
    { 
     try 
     { 
      for (int i = 0; i<data.length; i++) 
      { 
       fos.write(data[i].getBytes()); 
       if (i < data.length-1) 
       { 
        fos.write("\n".getBytes()); 
       } 
      } 
     } 
     catch (IOException e) {e.printStackTrace();} 
    } 
    finally 
    { 
     try 
     { 
      fos.close(); 
     } 
     catch (IOException e) {e.printStackTrace();} 
    } 
} 
} 

エラー:

03-12 17:26:20.470 2306-2306/com.example.markus.myapplication2 E/AndroidRuntime: FATAL EXCEPTION: main 
                       java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.markus.myapplication2/com.example.markus.myapplication.MainActivity2}: java.lang.ClassNotFoundException: Didn't find class "com.example.markus.myapplication.MainActivity2" on path: /data/app/com.example.markus.myapplication2-1.apk 
                        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2106) 
                        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) 
                        at android.app.ActivityThread.access$600(ActivityThread.java:141) 
                        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) 
                        at android.os.Handler.dispatchMessage(Handler.java:99) 
                        at android.os.Looper.loop(Looper.java:137) 
                        at android.app.ActivityThread.main(ActivityThread.java:5041) 
                        at java.lang.reflect.Method.invokeNative(Native Method) 
                        at java.lang.reflect.Method.invoke(Method.java:511) 
                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) 
                        at dalvik.system.NativeStart.main(Native Method) 
                        Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.markus.myapplication.MainActivity2" on path: /data/app/com.example.markus.myapplication2-1.apk 
                        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:65) 
                        at java.lang.ClassLoader.loadClass(ClassLoader.java:501) 
                        at java.lang.ClassLoader.loadClass(ClassLoader.java:461) 
                        at android.app.Instrumentation.newActivity(Instrumentation.java:1054) 
                        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097) 
                        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)  
                        at android.app.ActivityThread.access$600(ActivityThread.java:141)  
                        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)  
                        at android.os.Handler.dispatchMessage(Handler.java:99)  
                        at android.os.Looper.loop(Looper.java:137)  
                        at android.app.ActivityThread.main(ActivityThread.java:5041)  
                        at java.lang.reflect.Method.invokeNative(Native Method)  
                        at java.lang.reflect.Method.invoke(Method.java:511)  
                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)  
                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)  
                        at dalvik.system.NativeStart.main(Native Method)  
+0

クラッシュログを含める必要があります。 – Booger

答えて

0

ClassNotFoundException: Didn't find class "com.example.markus.myapplication.MainActivity2" on path

これはあなたが示したクラスの名前ではありません。

public class ArtHin extends Activity 

AndroidManifest.xmlを開いて、実際にクラスが正しいことを確認してください。

+0

アプリを開いたときの動作です。ボタンをクリックするとArtHinにアクセスします。それが3部目の間違いだったら私を驚かせてくれません。 –

+0

あなたのエラーに従って、 'MainActivity2'を作成しようとしたときにエラーが発生しましたが、それは存在しません。私はArtHin自体に何か問題があったと言っていた –

+1

MainActivity2は私の3番目のバージョンの名前でした。なぜASがそのバージョンで動いているのか分かりません。今、APKは正常に生成されましたが、アプリがクラッシュしないという兆候はありません。それはアンドロイドのプログラミングと恋に落ちるのは難しいです:編集:あなたは本当に速いです。素晴らしいコミュニティ。 –

0

だけ設定からあなたのAndroidスタジオでインスタント実行を無効にします。そしてあなたのアプリを再構築してみてください。 Androidスタジオ2.3にインスタント・ランで問題があります。

無効にインスタント実行:

ファイル]> [設定]> [ビルドし、実行、配備>インスタントファイル名を指定して実行し、チェックを外しインスタントファイル名を指定して実行を有効にします。

Androidスタジオを更新した後、同じ問題に直面しています。

+0

このメッセージが表示されます: IllegalStateException:ConnectorServiceRegistryが閉じられているため、DefaultGradleConnector型のオブジェクトのファクトリを見つけることができません。 ここにその回答があることを確信しています –

関連する問題