Я очень новичок в программировании, всего лишь увлекательное увлечение. Я хочу создать приложение, подобное интерактивному календарю, в основном это работает так.onsave/onpause сохранять данные, созданные из одной активности в другую
Основная активность показывает календарь, в котором вы можете нажать на дату, и будет запущено новое действие. В этом новом действии вы можете выбрать категорию для своего элемента, а ImageButton будет добавлен к календарной дате после выбора категории. После того, как кнопка была помещена, вы можете нажать на нее и установить дополнительную информацию (тревога, место, данные и т. Д.)
Я добрался до всего макета календаря, кнопок для различных действий и динамического добавления календаря date ImageButton, но я зашел в тупик о том, как сохранить данные (ImageButton), добавленные пользователем; «Нажатие кнопки1 в ActivityB (например, спортивная дата) создает кнопку динамического изображения бейсбола в макете activityA (calendar) , поэтому мой вопрос заключается в том, как я могу сохранить эти данные навсегда (может быть удален пользователем).
Я провел последние несколько дней, просматривая Onpause, onSaveinstancestate, onConfiguration, SQL, фрагменты и базу данных. Но я не могу сделать головы или хвосты о том, как применять это, не говоря уже о применении его к объекту активности, созданному из другого вида деятельности, я бы очень признателен за понимание.
Мой код активности с помощью кнопки, которая создает динамическую кнопку:
package org.iimed.www;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.LinearLayout;
import org.iimed.www.Sundayopen;
import android.widget.RelativeLayout;
import android.widget.TableLayout.LayoutParams;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
public class Penicillins extends Activity implements OnClickListener {
ImageButton addmed,ab;
RelativeLayout ll;
public void onCreate(Bundle SavedInstanceState){
super.onCreate(SavedInstanceState);
setContentView(R.layout.penicillin);
addmed =(ImageButton)findViewById(R.id.addmed);
addmed.setOnClickListener(this);
}
public void onClick(View v) {
switch (v.getId()){
case R.id.addmed:
setContentView(R.layout.sundayopen);
ll =(RelativeLayout) findViewById(R.id.sundayopen);
android.widget.LinearLayout.LayoutParams b = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
int i = 0;
ab = new ImageButton(this);
ab.setImageResource(R.drawable.adaba);
ab.setBackgroundColor(Color.TRANSPARENT);
ab.setLayoutParams(b);
ab.setId(i) ;
ab.getId();
ab.setTag(1);
ll.addView(ab);
}
}
}
My code for the activity the button appears in:
package org.iimed.www;
import java.util.ArrayList;
import android.R.string;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.View;
import android.widget.ImageButton;
import android.widget.RelativeLayout;
import android.view.View.OnClickListener;
public class Sundayopen extends Activity implements OnClickListener {
public static final Integer [] aba = {R.id.aba};
ImageButton ab;
public void onCreate(Bundle SavedInstanceState) {
super.onCreate(SavedInstanceState);
setContentView(R.layout.sundayopen);
ImageButton hb1 = (ImageButton) findViewById(R.id.homebutton1);
RelativeLayout ll =(RelativeLayout) findViewById(R.id.sundayopen);
ImageButton sbc = (ImageButton) findViewById(R.id.satlidopen);
ImageButton abb = (ImageButton) findViewById(R.id.abbutton);
sbc.setOnClickListener(this);
hb1.setOnClickListener(this);
abb.setOnClickListener(this);
}
public void onClick(View v){
switch (v.getId()) {
case R.id.homebutton1:
startActivity(new Intent(this, MainActivity.class));
break;
case R.id.satlidopen:
MediaPlayer media = MediaPlayer.create(Sundayopen.this, R.raw.openlid);
media.start();
startActivity(new Intent(this,Iimedja.class));
break;
case R.id.abbutton:
startActivity(new Intent(this, ImageTextListViewActivity.class));
}
}
}
Будет ли это сохранять динамически созданный ImageButton в activity1, созданном из Activity 2? да, я смотрел на этот пример раньше, но я просто не могу понять, как я могу применить его для получения/установки ImageButton, нет функции для этого, могу ли я каким-либо образом назначить строку или int динамической кнопке? также используя этот метод, как мне управлять параметрами кнопки? например, куда он идет? – ToeKnee
Нет простого способа сохранить компоненты, такие как кнопки. Все, что вы хотите сохранить, должно быть сохранено как примитивы (String, integers, ...). Я думаю, что подход БД имеет больше смысла в вашем случае, для сохранения одной из ваших кнопок потребуется сохранить все связанные данные, а затем, возвращаясь к активности 1, вы загрузите все кнопки из БД и создадите их. Как только вы загружаете эти данные, вы знаете, какая дата является этой кнопкой и какой значок отображать, вы также будете знать всю информацию (деталь и т. Д.), Которую вы хотите показать при нажатии, поэтому вы просто создаете слушателя, чтобы показать их. – momo
Спасибо, много приятель, я сейчас немного в голове, так смущен. Есть ли примеры использования базы данных, которую вы могли бы сослаться на меня? Или руководства для начинающих? или что-нибудь окончательное по методу, который мне нужен, или он действительно не работает так? – ToeKnee