-1

Androidアプリを作成し、これにEclipseを使用したいと思います。これは私の最初のアプリであり、http://developer.android.comでアプリの作成方法などを読みました。

私のアプリケーションへ:

私は3つのアクティビティを使用します。

最初のアクティビティがメインです。2番目のアクティビティでは、文字列を入力してボタンを使用できます。3番目のアクティビティにはListViewがありますが、空です。ボタンの2番目のアクティビティをクリックすると、文字列が3番目のアクティビティのListViewに送信されます。

もう1つの質問は、Androidアプリに情報を保存する方法です。データベースを使用できますか、それとも正しい方法ですか。リストビューを保存したいのですが、メインアクティビティからアクティビティを開くと、情報付きのリストビューが表示されます。

MyCode:

FirstActivity:

public class MainActivity extends Activity {

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


    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }

    public void createPlan(View view)
    {
        Intent intent = new Intent(this,CreateActivity.class);

        startActivity(intent);

    }
}

2番目のアクティビティ:

public class CreateActivity extends Activity {

    public final static String ListViewMessage = "de.linde.KSDILLPlan";

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_create);

        FillSpinnerViews(); 
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.test, menu);
        return true;
    }

    public void FillSpinnerViews()
    {
        Spinner spinner = (Spinner)findViewById(R.id.spinner2);

        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.daysArray, android.R.layout.simple_spinner_item);

        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        spinner.setAdapter(adapter);


        Spinner Spinner2 = (Spinner)findViewById(R.id.spinner1);

        ArrayAdapter<CharSequence> adapter2 = ArrayAdapter.createFromResource(this, R.array.zeitArray, android.R.layout.simple_spinner_item);

        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        Spinner2.setAdapter(adapter2); 

    }

    public void createPlan(View view)
    {
        String PlanName;
        //String StundenZahl;
        //String Wochentag;
        //Boolean doppelstunde; 

        Intent intent = new Intent(this,OpenActivity.class);

        EditText planName = (EditText)findViewById(R.id.editText1);

        PlanName = planName.getText().toString();

        intent.putExtra(ListViewMessage, PlanName); 

        startActivity(intent);

    }

3番目のアクティビティ:ListView

public class OpenActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_open);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_open2, menu);
        return true;
    }
}
4

2 に答える 2

1

次のコードを使用して、インテントのバンドルから文字列を取得します。

public class OpenActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_open);
        String text = getIntent().getStringExtra( CreateActivity.ListViewMessage );
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_open2, menu);
        return true;
    }
}

永続ストレージに関する質問については、このリンクを参照してください。

于 2012-10-09T12:43:14.567 に答える
1

次のようにインテントを使用して、あるアクティビティから別のアクティビティにデータを渡すことができます。

ボタンのonclickの2番目のアクティビティでは、

Intent in=new Intent(currentclass.this,nextactivity.class);
in.putExtras("value_name",value);
startActivity(in);
finish();

3番目のアクティビティでは、

If(getIntent().getExtras!=null)
{
   String msg=getIntent().getStringExtra("value_name"); // value_name is the attribute given in second activity
}

データはデータベースまたはsharedpreferenceに保存できます。それはあなたのニーズに依存します。大量のデータを多数の個人の詳細として保存する場合は、SQLiteを使用してデータベースに保存できます。ログインの詳細などの小さなデータを保存する場合は、SharedPreferencesに保存できます。

データベースとSharedPreferencesのリンクを参照してください。

SQLite

SharedPreferences

于 2012-10-09T12:52:03.893 に答える