歡迎訂閱杜仲教學頻道: https://www.youtube.com/channel/UCElwt6s8Ea_V-gnu9sZZT5g?sub_confirmation=1 杜仲教學部落格: https://derekcctu.blogspot.com/
2020年11月28日 星期六
2020年11月27日 星期五
2020年11月20日 星期五
[Android]_ch7.1_shared preferences:存取偏好檔案的內容
教材訂閱頻道:杜仲教學YouTube
杜仲教學部落格:
[Android]_ch7.1_shared preferences:存取偏好檔案的內容
存取偏好設定檔案的說明如下:
呼叫Context的getSharedPreferences()取得SharedPreferences
getSharedPreferences settings=getSharedPreferences(String name, int mode)
呼叫SharedPreferences的edit()以取得SharedPreferences.Editor物件,方可編輯內容
settings.edit()
.putString(“key1", stringValue)
.putBoolean(“key2", booleanValue)
.putInt(“key3", intValue)
.commit();
呼叫SharedPreferences對應的getter方法取得對應資料
String fileName = settings.getString("key1", default_fileName);
呼叫SharedPreferences.Editor的remove()將指定資料移除
settings.edit()
.remove(key1)
.commit();
檔案儲存於 data/data/專案套件名稱/shared_prefs/prefSet.xml
package com.derek.ch21_sharepreference;
import android.R.integer;
import android.app.Activity;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.Toast;
public class MainActivity extends Activity {
Button btn1,btn2,btn3;
RadioButton rb1,rb2;
EditText et1,et2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et1=(EditText)findViewById(R.id.editText1);
et2=(EditText)findViewById(R.id.editText2);
rb1=(RadioButton)findViewById(R.id.radioButton1);
rb2=(RadioButton)findViewById(R.id.radioButton2);
btn1=(Button)findViewById(R.id.button1);
btn2=(Button)findViewById(R.id.button2);
btn3=(Button)findViewById(R.id.button3);
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String fileName=et1.getText().toString();
boolean isAuto=false;
if(rb1.isChecked())
isAuto=true;
else
isAuto=false;
int sec=Integer.parseInt(et2.getText().toString());
SharedPreferences sp=getSharedPreferences("Gjun2019", MODE_PRIVATE);
Editor editor=sp.edit();
editor.putString("1", fileName);
editor.putBoolean("2", isAuto);
editor.putInt("3", sec);
editor.commit();
Toast.makeText(MainActivity.this, "1.儲存成功...", Toast.LENGTH_SHORT).show();
}
});
btn2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
SharedPreferences sp=getSharedPreferences("Gjun2019", MODE_PRIVATE);
String fileName= sp.getString("1", "找不到檔案");
et1.setText(fileName);
boolean isAuto=sp.getBoolean("2", true);
if(isAuto)
rb1.setChecked(true);
else
rb2.setChecked(true);
int sec=sp.getInt("3", 120);
et2.setText(Integer.toString(sec));
Toast.makeText(MainActivity.this, "2.載入成功...", Toast.LENGTH_SHORT).show();
}
});
btn3.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
et1.setText("Gjun.txt");
rb2.setChecked(true);
et2.setText(Integer.toString(100));
Toast.makeText(MainActivity.this, "3.回復預設...", Toast.LENGTH_SHORT).show();
}
});
}
}
2020年11月14日 星期六
2020年11月13日 星期五
2020年11月7日 星期六
2020年11月6日 星期五
2020年10月31日 星期六
2020年10月30日 星期五
2020年10月24日 星期六
[Android]_ch6.1_使用意圖物件啟用其他活動
[Android]_ch6.1_使用意圖物件啟用其他活動
package com.derek.ch18_intent;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class Act01 extends Activity {
Button btn1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.act01);
btn1=(Button)findViewById(R.id.button1);
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent();
intent.setClass(Act01.this, Act02.class);
startActivity(intent);
}
});
}
}
package com.derek.ch18_intent;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class Act02 extends Activity{
Button btn2_1;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.act02);
btn2_1=(Button)findViewById(R.id.button2_1);
btn2_1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(Act02.this,Act01.class);
startActivity(intent);
}
});
}
}
2020年10月23日 星期五
2020年10月17日 星期六
2020年10月16日 星期五
2020年10月9日 星期五
[Android]ch5.14_Gallery相簿元件2
歡迎訂閱頻道:杜仲教學YouTube
https://www.youtube.com/channel/UCElwt6s8Ea_V-gnu9sZZT5g?sub_confirmation=1
杜仲教學部落格:
https://derekcctu.blogspot.com/
https://developer.android.com/reference/android/R.styleable杜仲教學部落格:
https://derekcctu.blogspot.com/
[Android]ch5.13_Gallery相簿元件1
[Android]ch5.13_Gallery相簿元件1
歡迎訂閱頻道:杜仲教學YouTube
https://www.youtube.com/channel/UCElwt6s8Ea_V-gnu9sZZT5g?sub_confirmation=1
杜仲教學部落格:
https://derekcctu.blogspot.com/
杜仲教學部落格:
https://derekcctu.blogspot.com/
2020年10月3日 星期六
[Android]_ch5.8_TimePickerDialog時間挑選元件
[Android]_ch5.8_TimePickerDialog時間挑選元件
[Android]_ch5.8_TimePickerDialog時間挑選元件
package com.example.ch1_datepickerdialog;
import java.util.Calendar;
import android.R.integer;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.DatePickerDialog.OnDateSetListener;
import android.app.Dialog;
import android.app.TimePickerDialog;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;
import android.widget.TimePicker;
public class MainActivity extends Activity {
Button btn1,btn2;
TextView tv1;
int Y,M,D,H,Min;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1=(Button)findViewById(R.id.button1);
btn2=(Button)findViewById(R.id.button2);
tv1=(TextView)findViewById(R.id.textView1);
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
showDialog(1);
}
});
btn2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
showDialog(2);
}
});
Calendar calendar=Calendar.getInstance();
Y=calendar.get(Calendar.YEAR);
M=calendar.get(Calendar.MONTH);
D=calendar.get(Calendar.DAY_OF_MONTH);
H=calendar.get(Calendar.HOUR_OF_DAY);
Min=calendar.get(Calendar.MINUTE);
tv1.setText("當前日期: "+Y+"-"+(M+1)+"-"+D+" "+H+":"+Min);
}
@Override
@Deprecated
protected Dialog onCreateDialog(int id, Bundle args) {
switch (id) {
case 1:
return new DatePickerDialog(MainActivity.this, new OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth) {
tv1.setText("挑選日期:"+year+"-"+(monthOfYear+1)+"-"+dayOfMonth);
}
}, Y, M, D);
case 2:
return new TimePickerDialog(MainActivity.this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
tv1.setText("挑選時間: "+hourOfDay+" : "+minute);
}
}, H, Min, true);
}
return super.onCreateDialog(id, args);
}
}
[Android]_ch5.7_DatePickerDialog日期挑選元件
[Android]_ch5.7_DatePickerDialog日期挑選元件
歡迎訂閱頻道:杜仲教學YouTube
https://www.youtube.com/channel/UCElwt6s8Ea_V-gnu9sZZT5g?sub_confirmation=1
杜仲教學部落格:
https://derekcctu.blogspot.com/
https://www.youtube.com/channel/UCElwt6s8Ea_V-gnu9sZZT5g?sub_confirmation=1
杜仲教學部落格:
https://derekcctu.blogspot.com/
[Android]_ch5.7_DatePickerDialog日期挑選元件
package com.example.ch1_datepickerdialog;
import java.util.Calendar;
import android.R.integer;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.DatePickerDialog.OnDateSetListener;
import android.app.Dialog;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;
public class MainActivity extends Activity {
Button btn1;
TextView tv1;
int Y,M,D;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1=(Button)findViewById(R.id.button1);
tv1=(TextView)findViewById(R.id.textView1);
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
showDialog(1);
}
});
Calendar calendar=Calendar.getInstance();
Y=calendar.get(Calendar.YEAR);
M=calendar.get(Calendar.MONTH);
D=calendar.get(Calendar.DAY_OF_MONTH);
tv1.setText("當前日期: "+Y+"-"+(M+1)+"-"+D);
}
@Override
@Deprecated
protected Dialog onCreateDialog(int id, Bundle args) {
switch (id) {
case 1:
return new DatePickerDialog(MainActivity.this, new OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth) {
tv1.setText("挑選日期:"+year+"-"+(monthOfYear+1)+"-"+dayOfMonth);
}
}, Y, M, D);
}
return super.onCreateDialog(id, args);
}
}
[Android]ch5.9_ProgressDialog進度方塊
[Android]ch5.9_ProgressDialog進度方塊
歡迎訂閱頻道:杜仲教學YouTubehttps://www.youtube.com/channel/UCElwt6s8Ea_V-gnu9sZZT5g?sub_confirmation=1
杜仲教學部落格:
https://derekcctu.blogspot.com/
2020年10月2日 星期五
[Android]ch5.8_AlertDialog複選方塊
[Android]ch5.8_AlertDialog複選方塊
歡迎訂閱頻道:杜仲教學YouTubehttps://www.youtube.com/channel/UCElwt6s8Ea_V-gnu9sZZT5g?sub_confirmation=1
杜仲教學部落格:
https://derekcctu.blogspot.com/
[Android]ch5.5_AlertDialog單選方塊
[Android]ch5.5_AlertDialog單選方塊
歡迎訂閱頻道:杜仲教學YouTubehttps://www.youtube.com/channel/UCElwt6s8Ea_V-gnu9sZZT5g?sub_confirmation=1
杜仲教學部落格:
https://derekcctu.blogspot.com/
2020年9月18日 星期五
[Android]_ch4.2_ContextMenu元件介紹
[Android]_ch4.2_ContextMenu元件介紹
歡迎訂閱頻道:杜仲教學YouTube
[Android]_ch4.2_ContextMenu元件介紹
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
getMenuInflater().inflate(R.menu.context_menu, menu);
super.onCreateContextMenu(menu, v, menuInfo);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
StringBuilder sb=new StringBuilder("選擇:");
switch(item.getItemId()){
case R.id.item10:
sb.append(getString(R.string.s10));
break;
case R.id.item11:
sb.append(getString(R.string.s11));
break;
case R.id.item12:
sb.append(getString(R.string.s12));
break;
case R.id.item13:
sb.append(getString(R.string.s13));
break;
case R.id.item14:
sb.append(getString(R.string.s14));
break;
}
Toast.makeText(MainActivity.this, sb, Toast.LENGTH_SHORT).show();
return super.onContextItemSelected(item);
}
[Android]_ch3.7_ScrollView元件介紹1
[Android]_ch3.7_ScrollView元件介紹1
歡迎訂閱頻道:杜仲教學YouTube
[Android]_ch3.7_ScrollView元件介紹1
package com.derek.ch9_scrollview;
import android.R.integer;
import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.LinearLayout;
public class MainActivity extends Activity {
LinearLayout layout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
layout=(LinearLayout)findViewById(R.id.LinearLayout2);
for(int i=1;i<=10;i++){
LinearLayout.LayoutParams btnParams=new LinearLayout.LayoutParams(200, 100);
LinearLayout.LayoutParams etParams=new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
LinearLayout.LayoutParams cbParams=new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
Button btn=new Button(MainActivity.this);
btn.setText("按鈕"+i);
btn.setTextColor(Color.BLUE);
btn.setTextSize(20);
EditText et=new EditText(MainActivity.this);
et.setHint("輸入方塊"+i);
CheckBox cb=new CheckBox(MainActivity.this);
cb.setText("選項"+i);
layout.addView(btn, btnParams);
layout.addView(et, etParams);
layout.addView(cb, cbParams);
}
}
}
2020年8月15日 星期六
杜仲教學: [Android]_ch2.6_購買課程OnClick事件處理
杜仲教學: [Android]_ch2.6_購買課程OnClick事件處理:
歡迎訂閱頻道:杜仲教學YouTube https://www.youtube.com/channel/UCElwt6s8Ea_V-gnu9sZZT5g?sub_confirmation=1
杜仲教學部落格: http...
歡迎訂閱頻道:杜仲教學YouTube https://www.youtube.com/channel/UCElwt6s8Ea_V-gnu9sZZT5g?sub_confirmation=1
杜仲教學部落格: http...
2020年8月8日 星期六
2020年8月7日 星期五
[Android]ch2.1_EditText輸入元件OnClickListener
[Android]ch2.1_EditText輸入元件OnClickListener
歡迎訂閱頻道:杜仲教學YouTube
歡迎訂閱頻道:杜仲教學YouTube
2020年6月13日 星期六
2020年6月6日 星期六
2020年5月30日 星期六
2020年5月23日 星期六
2020年5月17日 星期日
2020年5月10日 星期日
2020年5月9日 星期六
2020年5月3日 星期日
訂閱:
文章 (Atom)
Ether.fi Cash Card 一張所有人必備的加密貨幣信用卡 [Ether.fi Cash Card] : https://www.ether.fi/app/cash/sign-up?ref_code=d27f8523 ------國際交易所------ [Bitg...
-
22.Hamster Kombat Daily Combo倉鼠戰鬥_DailyCombo0620 ------國際交易所------ [Bitget 交易所]: https://partner.bitget.com/bg/DCA888 邀請碼:DCA888 [Bybit交...
-
[CATS coin每日任務(Ton區塊鏈游戲伏擊百倍幣)] https://t.me/catsgang_bot/join?startapp=FXvTt0OIdo7NJ4jxDutEV ------國際交易所------ [Bitget 交易所]: https://partn...