夢追い人

"It takes a dreamer to make a dream come true."―Vincent Willem van Gogh

ベータ版アプリ二個リリース。実機試験者募集中…

こんにちは。

この二日間で簡単なAndroidアプリ(初めてのオリジナル♪)を二つリリースしました。
Custom Roulet災害ったーです。


前者はまぁ前々から作りたいと思っていたものです。
後者は東日本大震災とそれに対する日本Androidの会の動きをうけて作った災害用アプリです。まだまだ実用段階には程遠いですが(^_^;)
それぞれapkファイルを倉庫にあげているのでよろしくお願いします(ダウンロードした場合は、どの機種では正常に動きましたなどコメいただければ幸いです。)

アプリ詳細はhttp://beta.touyoubuntu.zatunen.com/app.htmlまで。

こっからはソースコードです。
まずはCustom Rouletから
// import文、package文省略

public class RouletActivity extends Activity {

private Button mSetBtn;
private Button mDoBtn;
private Button mClearBtn;
private EditText mNumET;
private TextView mResultTV;
int limit;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mSetBtn = (Button)findViewById(R.id.set_btn);
mDoBtn = (Button)findViewById(R.id.do_btn);
mClearBtn = (Button)findViewById(R.id.clear_btn);
mNumET = (EditText)findViewById(R.id.num_et);
mResultTV = (TextView)findViewById(R.id.result_tv);
mSetBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
String limitStr = mNumET.getText().toString();
limit = Integer.parseInt(limitStr);
}
});
mDoBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Random rand = new Random();
int result = rand.nextInt(limit)+1;
String resultStr = String.valueOf(result);
mResultTV.setText(resultStr);
}
});
mClearBtn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
mResultTV.setText(" ");
}
});
}


}
そして災害ったーの二つのアクティビティ。
main
// import, package省略

public class SaigaiActivity extends Activity {

private static final int REQUEST_CODE = 0;

private CheckBox JishinCK;
private CheckBox CareCK;
private CheckBox AnpiCK;
private CheckBox SpotCK;
private CheckBox HinanCK;
private CheckBox HelpCK;
private EditText NameET;
private EditText MesET;
private Button OkBTN;
private Button CancelBTN;

private boolean[] checked = new boolean[6];

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
for (int i = 0; i < 6; i++) {
checked[i] = false;
}

super.onCreate(savedInstanceState);
setContentView(R.layout.main);

JishinCK = (CheckBox)findViewById(R.id.jishin_ck);
CareCK = (CheckBox)findViewById(R.id.care_ck);
AnpiCK = (CheckBox)findViewById(R.id.anpi_ck);
SpotCK = (CheckBox)findViewById(R.id.spot_ck);
HinanCK = (CheckBox)findViewById(R.id.hinan_ck);
HelpCK = (CheckBox)findViewById(R.id.help_ck);
NameET = (EditText)findViewById(R.id.name_et);
MesET = (EditText)findViewById(R.id.mes_et);
OkBTN = (Button)findViewById(R.id.ok_btn);
CancelBTN = (Button)findViewById(R.id.cancel_btn);
JishinCK.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
CheckBox checkBox = (CheckBox) v;
checked[0] = checkBox.isChecked();
}
});
CareCK.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
CheckBox checkBox = (CheckBox) v;
checked[1] = checkBox.isChecked();
}
});
AnpiCK.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
CheckBox checkBox = (CheckBox) v;
checked[2] = checkBox.isChecked();
}
});
SpotCK.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
CheckBox checkBox = (CheckBox) v;
checked[3] = checkBox.isChecked();
}
});
HinanCK.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
CheckBox checkBox = (CheckBox) v;
checked[4] = checkBox.isChecked();
}
});
HelpCK.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
CheckBox checkBox = (CheckBox) v;
checked[5] = checkBox.isChecked();
}
});
OkBTN.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
String name = NameET.getText().toString();
String message = MesET.getText().toString();
if (message.length() >= 50) {
char[] mes = message.toCharArray();
message = new String(mes, 0, 47) + "...";
}
if (checked[0]) message += " #jishin";
if (checked[1]) message += " #311care";
if (checked[2]) message += " #anpi";
if (checked[3]) message += " #311sppt";
if (checked[4]) message += " #hinan";
if (checked[5]) message += " #j_j_helpme";
String result = name+message;
Intent it = new Intent();
it.putExtra("content", result);
startActivityForResult(it, REQUEST_CODE);
}
});
CancelBTN.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
NameET.setText("");
MesET.setText("");
JishinCK.setChecked(false);
CareCK.setChecked(false);
AnpiCK.setChecked(false);
SpotCK.setChecked(false);
HinanCK.setChecked(false);
HelpCK.setChecked(false);
}
});
}

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == Activity.RESULT_OK && requestCode == REQUEST_CODE) {
int num = data.getIntExtra("num", 0);
if (num <= 140) {
NameET.setText("");
MesET.setText("");
JishinCK.setChecked(false);
CareCK.setChecked(false);
AnpiCK.setChecked(false);
SpotCK.setChecked(false);
HinanCK.setChecked(false);
HelpCK.setChecked(false);
}
}
}
}
result
// import, package省略

public class ResultActivity extends Activity implements OnClickListener {
private EditText resultET;
private String mText;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent it = getIntent();
mText = it.getStringExtra("text");
setContentView(R.layout.result);
resultET = (EditText)findViewById(R.id.result_et);
resultET.setText(mText);
Button btn = (Button)findViewById(R.id.done_btn);
btn.setOnClickListener(this);
}

public void onClick(View v) {
int num = mText.length();
Intent it = new Intent();
it.putExtra("num", num);
setResult(Activity.RESULT_OK, it);
finish();
}
}

バグ、修正点あればお願いします。