Hatena::Groupandroid

lnzntの Android 日記 このページをアンテナに追加 RSSフィード

2012年04月14日(土)

DatePickerDialog と ProgressDialog と PreferenceActivity

22:40 | DatePickerDialog と ProgressDialog と PreferenceActivity - lnzntの Android 日記 を含むブックマーク はてなブックマーク - DatePickerDialog と ProgressDialog と PreferenceActivity - lnzntの Android 日記 DatePickerDialog と ProgressDialog と PreferenceActivity - lnzntの Android 日記 のブックマークコメント

DatePickerDialog と ProgressDialog と PreferenceActivity を書いてみました。

特にトピックありません。ソースの覚え書き。

DatePickerDialog

src/.../DialogTestActivity.java

package com.example.dialogtest;

import android.app.Activity;
import android.os.Bundle;
import android.app.DatePickerDialog;
import android.view.View;
import android.widget.DatePicker;
import android.util.Log;
import java.util.Calendar;

public class DialogTestActivity extends Activity {
	private Activity activity = DialogTestActivity.this;
	private static final String logTag = "DialogTest";
	
	private DatePickerDialog.OnDateSetListener listener;
	
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        listener = new DatePickerDialog.OnDateSetListener() {
        	public void onDateSet(DatePicker view, int year, int month, int day) {
        		Log.d(logTag, String.format("%04d/%02d/%02d", year, (month+1), day));
        	}
        };
    }
    
    private DatePickerDialog dialog;
    
    @Override
    public void onResume() {
    	super.onResume();
    	
    	Calendar now = Calendar.getInstance();
    	int initYear  = now.get(Calendar.YEAR);
    	int initMonth = now.get(Calendar.MONTH);
    	int initDay   = now.get(Calendar.DAY_OF_MONTH);
    	
    	dialog = new DatePickerDialog(activity, listener, initYear, initMonth, initDay);
    	Log.d(logTag, "dialog created.");	
    }
    
    @Override
    public void onPause() {
    	super.onPause();
    	
    	dialog.dismiss();
    	dialog = null;
    	Log.d(logTag, "dialog dismissed.");
    }
    
    public void onClick(View v) {
      	dialog.show();
      	Log.d(logTag, "dialog show.");
    }    	
}

f:id:lnznt:20120414223705j:image

f:id:lnznt:20120414223704j:image

Android の Language の設定を切り替えるとメニューの言語も切り替わります。

ProgressDialog

ハリボテです。バーは進捗しません。

src/.../ProgressDialogSampleActivity.java

package com.example.progressdialogsample;

import android.app.Activity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.view.View;
import android.util.Log;

public class ProgressDialogSampleActivity extends Activity {
	private static final String logTag = "ProgressDialogSampleActivity";
	private ProgressDialog dialog;
	
	/** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);      
    }     
    
    @Override
    public void onResume() {
    	super.onResume();
    	
    	dialog = new ProgressDialog(this);
    	dialog.setTitle("Progress Bar");
    	dialog.setMessage("progress");
    	dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); // 水平バー形式
    	//dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);  // スピンナ形式
    	
    	dialog.incrementProgressBy(30);          // 決め打ちで 30% 進行
    	dialog.incrementSecondaryProgressBy(50); // 決め打ちで 50% 進行
    	
     	Log.d(logTag, "dialog created.");
    }
    
    @Override
    public void onPause() {
    	super.onPause();
    	
    	dialog.dismiss();
    	Log.d(logTag, "dialog dismissed.");
    }
    
    public void onClick(View view) {
    	dialog.show();
    	Log.d(logTag, "dialog show.");
    }
}

f:id:lnznt:20120414223707j:image

f:id:lnznt:20120414223706j:image

PreferenceActivity
package com.example.preferenceactivitysample;

//import android.app.Activity;
import android.os.Bundle;
import android.preference.PreferenceActivity;

public class PreferenceActivitySampleActivity extends PreferenceActivity {
    @SuppressWarnings("deprecation")
	@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        addPreferencesFromResource(R.xml.settings);
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<PreferenceScreen
        xmlns:android="http://schemas.android.com/apk/res/android">

    <PreferenceCategory
            android:title="@string/inline_preferences">

        <CheckBoxPreference
                android:key="checkbox_preference"
                android:title="@string/title_checkbox_preference"
                android:summary="@string/summary_checkbox_preference" />

    </PreferenceCategory>
</PreferenceScreen>

f:id:lnznt:20120414223708j:image

addPreferencesFromResource は deprecated です。。。。(正しくは、どう書く?)