おそらく検索すれば簡単に出てくると思いますが。
System.currentTimeMillis();
このメソッドを使うと本体の時刻をms単位で返してきます(long)。
10分程度で簡単なものを作りました。
ボタンがトグルしてスタート・ストップの役割をします。
ストップウォッチみたいな感じです
例)class名 TestCurrentTimeProjectActivity
-------------------------------
public class TestCurrentTimeProjectActivity extends Activity {
/** Called when the activity is first created. */
long startTime;
long currentTime;
long sec;
Button button1;
TextView time;
int scn = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
time = (TextView) findViewById(R.id.time);
button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
//ボタンをクリックしたらstartchek()のメソッドか呼ばれます
startchek();
}
});
}
private void startchek() {
if (scn == 0) {
//最初のボタンクリック時の現在の時刻を取得
startTime = System.currentTimeMillis();
scn = 1;
} else {
//2回目のボタンクリック時の時刻を取得
currentTime = System.currentTimeMillis();
//1回目と2回目の時刻を引いて1000ms秒(1秒)で割る。
sec=(currentTime - startTime)/1000;
//経過時間をテキストにセット
time.setText(String.valueOf(sec));
scn = 0;
}
}
}
-----------------------------------------------------
--------------------xml------------------------------
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/time"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="count" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</LinearLayout>
------------------------------------------------------
2012年2月23日木曜日
2012年2月21日火曜日
反射神経トレーニング-Training Reflexes-を公開しました。
反射神経トレーニング-Training Reflexes-を公開しました。
反射神経のトレーニングアプリです。
スタートボタンを押した後、赤い四角が青い四角に変わったら四角をおしてください。
マイランキングを共有しよう!
AndroidMarket
https://market.android.com/details?id=com.akasaka.reflexes1&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5ha2FzYWthLnJlZmxleGVzMSJd
Ver1.1から共有機能が使えるようになりました。
反射神経のトレーニングアプリです。
スタートボタンを押した後、赤い四角が青い四角に変わったら四角をおしてください。
マイランキングを共有しよう!
AndroidMarket
https://market.android.com/details?id=com.akasaka.reflexes1&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5ha2FzYWthLnJlZmxleGVzMSJd
Ver1.1から共有機能が使えるようになりました。
2012年2月17日金曜日
「今運おみくじ」を公開しました。
Android端末向けにアプリを公開しました。
↓↓↓AndroidMarket↓↓↓↓
現在、SE・BGM・振動等の機能が無い為、わかりにくくなっています。
次回以降のVerUPで少しずつ改善していきたいと思います。
同時並行で次のアプリも作成していきます。
アプリをみて、ここどうやってるの?とかあれば、ソースコード全開示まではいきませんが、助言できる範囲でソースコードを公開していこうと思います。
※※※※※※※※※※今回このアプリで使用した機能※※※※※※※※※※
Open-csvによるcsvファイルの読み込み
Random
Timer
Handler
加速度センサー
2012年2月10日金曜日
backを2回押してアプリ終了
マクドナルドアプリ等、backを1度押すとToastが表示され、Toast表示中にもう一度backを押すとアプリが終了するものを作成してみました。
-------------------------------------------
Toast finToast;
// backkeyで使うスレッド用////////////////////
Timer bTimer = null;
// 動いてるか動いてないかのチェック用
boolean bChk = false;
//バックを実行するかどうか
int bStar = 0;
//秒数かうんと
int bcount = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
finToast =Toast.makeText(this, "[戻る]をもう一度押すと終了", Toast.LENGTH_SHORT);
// ここ自由
}
@Override
protected void onResume() {
super.onResume();
bStar = 0;
}
protected void onPause() {
super.onPause();
backCountStop();
}
///////////////////Back///////////////////////////////////
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// なんのkeydownかを判断 今回はバックキー
if (keyCode == KeyEvent.KEYCODE_BACK) {
if(bStar == 0){
finToast.show();
bStar = 1;
backCountStart();
}else {
backCountStop();
finToast.cancel();
finish();
}
}
return false;
}
// //////////////////////タイマー/////////////
public void backCountStart() {
// 動いてたらそのまま
if (bChk) {
// 止まってたら起動
} else {
bTimer = new Timer(true);
bTimer.schedule(new TimerTask() {
@Override
public void run() {
if(bcount == 2){
bStar =0;
bcount = 0;
backCountStop();
}
bcount++;
}
}, 1000, 1000); // 初回起動の遅延と周期指定。単位はms
bChk = true;
}
}
public void backCountStop() {
// 動いてたら入る、止まってたらスルー
if (bChk) {
if (bTimer != null) {
bTimer.cancel();
bTimer = null;
}
bChk = false;
}
}
-------------------------------------------------
とりあえずこんな感じです。
後々デバッグで修正する可能性有りです
上記より良い方法があったら教えてください!
-------------------------------------------
Toast finToast;
// backkeyで使うスレッド用////////////////////
Timer bTimer = null;
// 動いてるか動いてないかのチェック用
boolean bChk = false;
//バックを実行するかどうか
int bStar = 0;
//秒数かうんと
int bcount = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
finToast =Toast.makeText(this, "[戻る]をもう一度押すと終了", Toast.LENGTH_SHORT);
// ここ自由
}
@Override
protected void onResume() {
super.onResume();
bStar = 0;
}
protected void onPause() {
super.onPause();
backCountStop();
}
///////////////////Back///////////////////////////////////
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// なんのkeydownかを判断 今回はバックキー
if (keyCode == KeyEvent.KEYCODE_BACK) {
if(bStar == 0){
finToast.show();
bStar = 1;
backCountStart();
}else {
backCountStop();
finToast.cancel();
finish();
}
}
return false;
}
// //////////////////////タイマー/////////////
public void backCountStart() {
// 動いてたらそのまま
if (bChk) {
// 止まってたら起動
} else {
bTimer = new Timer(true);
bTimer.schedule(new TimerTask() {
@Override
public void run() {
if(bcount == 2){
bStar =0;
bcount = 0;
backCountStop();
}
bcount++;
}
}, 1000, 1000); // 初回起動の遅延と周期指定。単位はms
bChk = true;
}
}
public void backCountStop() {
// 動いてたら入る、止まってたらスルー
if (bChk) {
if (bTimer != null) {
bTimer.cancel();
bTimer = null;
}
bChk = false;
}
}
-------------------------------------------------
とりあえずこんな感じです。
後々デバッグで修正する可能性有りです
上記より良い方法があったら教えてください!
2012年2月7日火曜日
Backボタンでアプリを終了させる方法について
わかりづらかったので一部書き換えます。
一般的にActivityを意図的に終了させる場合、「finish();」を使います。
※Home画面に戻る場合「moveTaskToBack(boolean nonRoot);」
しかし、Activityが2つ以上あり、2つ目のActivityに画面遷移した場合、そのActivityで「finish();」しても1つ目のActivityに戻ってしまいました。(1つ目のActivityが生きているので)
なので画面遷移する際の「Intent」後に「finish();」をしました。
例)
----------------------------------------------------
//ボタンの入れ物
Button button
//クリエイト
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.■■);
//ボタンにidを入れる
button = (Button) findViewById(R.id.▲▲);
//ボタンにリスナーとクリック処理をセットする
button.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
//●●classに画面遷移する。
startActivity(new Intent(▼▼, ●●.class));
//現在居るActivityを終了する。
finish();
}
});
----------------------------------------------------
※打ちなおしてるのでスペルミス有ったらすいません。
皆さんの悩みが解決すると幸いです。
一般的にActivityを意図的に終了させる場合、「finish();」を使います。
※Home画面に戻る場合「moveTaskToBack(boolean nonRoot);」
しかし、Activityが2つ以上あり、2つ目のActivityに画面遷移した場合、そのActivityで「finish();」しても1つ目のActivityに戻ってしまいました。(1つ目のActivityが生きているので)
なので画面遷移する際の「Intent」後に「finish();」をしました。
例)
----------------------------------------------------
//ボタンの入れ物
Button button
//クリエイト
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.■■);
//ボタンにidを入れる
button = (Button) findViewById(R.id.▲▲);
//ボタンにリスナーとクリック処理をセットする
button.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
//●●classに画面遷移する。
startActivity(new Intent(▼▼, ●●.class));
//現在居るActivityを終了する。
finish();
}
});
----------------------------------------------------
※打ちなおしてるのでスペルミス有ったらすいません。
皆さんの悩みが解決すると幸いです。
2012年2月5日日曜日
2012年2月4日土曜日
AndroidMarketにアップロードする際の注意
AndroidMarketに「Tag to Board」をアップロードした際に悩んだ点を1つご紹介します。
アプリをアップロードし、公開しましたが「このアプリケーションは 0 台以上の端末でご利用いただけます。」となり、公開したにも関わらず検索にかかりませんでした。
私の場合、「機能: android.hardware.screen.portrait」が原因でした。
AndroidManifest.xml内のActivityに対して
「android:screenOrientation="portrait"」
で画面を縦固定していました。
これを画面固定したいActivity内で
「setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);」
する事で解決しました。(上記は縦画面固定です。)
同じ内容で悩んでいる方の解決になれば幸いです。
Android端末向けアプリを公開しました。
2012年1月26日より、android端末向けアプリケーション「Tag to Board」を公開しました。
自己開発アプリ1作目の簡単なメモ帳です。
付箋をコルク板に張るイメージでつくりました。
よろしくお願いします。
要望・不具合がございましたらご報告お願いします。
検索時は「Tag to Board」か「Atushi Akasaka」
AndroidMarket
https://market.android.com/details?id=com.akasaka.tagtoboard&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5ha2FzYWthLnRhZ3RvYm9hcmQiXQ..
自己開発アプリ1作目の簡単なメモ帳です。
付箋をコルク板に張るイメージでつくりました。
よろしくお願いします。
要望・不具合がございましたらご報告お願いします。
検索時は「Tag to Board」か「Atushi Akasaka」
アプリ画面です |
AndroidMarket
https://market.android.com/details?id=com.akasaka.tagtoboard&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5ha2FzYWthLnRhZ3RvYm9hcmQiXQ..
登録:
投稿 (Atom)